Uma das coisas que eu sempre gostei do ubuntu, foi o modo como as fontes são renderizadas, eu sempre tentei configurar distros diferentes para que a renderização de fontes fica-se exatamente como as do ubuntu, porém muitas vezes não tive sucesso pois apesar de existir um vasto material na internet para melhorar a fonte em determinadas distros sempre precisava de muita alteração, compilação e nem sempre dava certo por vezes até quebrando outros aplicativos como leitor de pdf, openoffice etc.
Felizmente no fedora não precisamos compilar, alterar o cairo nem nada disso. Precisamos apenas habilitar o repositório RPM Fusion, instalar o pacote freetype-freeworld e adicionar algumas linhas no arquivo /etc/X11/Xresources.
Colocarei passo a passo como proceder porém caso deseje poderá utilizar o script que criei no final do post para facilitar a instalação =D.
Primeiramente habilite o repositório do RPM Fusion.
Para o Fedora 13/14/15 use o comando abaixo e informe a senha de root
Para o fedora 16 que atualmente está em beta ou alguma versão alpha
Após habilitar o repositório instale o pacote freetype-freeworld
Agora vamos adicionar algumas linhas no arquivo /etc/X11/Xresources , caso deseje em vez de alterar o arquivo Xresources no diretório /etc/X11 você pode simplismente criar um arquivo .Xresources em seu diretório home, porém as fontes só estarão melhores para o seu usuário, por isso recomendo a alteração do arquivo Xresources que fica em /etc/X11
Edite o arquivo
E adicione o seguinte conteúdo no final do arquivo
Xft.lcdfilter: lcddefault
Xft.hintstyle: hintfull
Xft.hinting: 1
Xft.antialias: 1
Xft.dpi: 96
Xft.rgba: rgb
Agora basta Reiniciar o X ou efetue logoff que ao efetuar login no sistema novamente você percebera como a renderização de fontes está melhor e claramente parecidada com a do ubuntu.
Para passar o tempo eu criei um script em python que habilita os repositórios RPM Fusion, instala o pacote e adiciona as linhas no Xresource
#!/usr/bin/env python #-*- coding: utf-8 -*- """ This script improves font rendering on Fedora, basically it installs the package freetype-freeworld and adds a patch on file /etc/X11/Xresources . """ import os import subprocess def check_login(): login = subprocess.Popen(["whoami"], shell=True, stdout=subprocess.PIPE) login = login.stdout.read().strip("\n") if login == "root": return True return False def verify_packages(): process = subprocess.Popen(["rpm -qa | grep freetype-freeworld"], stdout = subprocess.PIPE, shell=True) process = process.stdout.read() if len(process) > 0: return True return False def verify_repos(): process = subprocess.Popen(["ls /etc/yum.repos.d | grep rpmfusion"], shell=True, stdout = subprocess.PIPE) process = process.stdout.read() if len(process) > 0: return True return False def enable_rpmfusion(): process = subprocess.Popen(["yum localinstall --nogpgcheck http://download1\ .rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://down\ load1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm"\ ], shell=True) while process.poll() is None: pass def install_package(): print("Instalando o Pacote 'freetype-freeworld'") process = subprocess.Popen(["yum -y install freetype-freeworld"], shell = True) while process.poll() is None: pass def apply_patch(): os.chdir("/etc/X11") os.rename("Xresources", "Xresources"+".backup") old_file = open("Xresources.backup", "r") new_file = open("Xresources", "w") for line in old_file: new_file.write(line) new_file.write(""" ! Patch to Improve Fonts Xft.autohint: 0 Xft.lcdfilter: lcddefault Xft.hintstyle: hintfull Xft.hinting: 1 Xft.antialias: 1 Xft.dpi: 96 Xft.rgba: rgb """) old_file.close() new_file.close() print("Done! Restart X or logoff for the changes take effect!") def main(): if check_login(): if verify_repos(): if verify_packages(): apply_patch() else: install_package() apply_patch() else: enable_rpmfusion() install_package() apply_patch() else: print("Run the script as root!") if __name__ == "__main__": main()
Caso queira utilizar o script, baixe o mesmo aqui e execute como root
Após executar o script basta reiniciar o X ou fazer logoff =)!
Não funciounou! :/
[Responder comentário]Eu executei o script, reiniciei o X mas ainda continuou no mesmo!
Olhei o arquivo /etc/X11/Xresources e o conteúdo abaixo já está lá:
Xft.autohint: 0
Xft.lcdfilter: lcddefault ...
...
Olá Daniel,
[Responder comentário]Qual versão do fedora você está utilizando ? pergunto pois a partir da versão 16 o sistema esta ignorando as configurações adicionais no arquivo /etc/X11/Xresources
mas você pode criar o arquivo .Xresources (NÂO esqueça o "ponto" no início do nome arquivo) no seu diretório home (/home/usuario/.Xresources) e colocar o conteúdo:
Xft.autohint: 0 Xft.lcdfilter: lcddefault Xft.hintstyle: hintfull Xft.hinting: 1 Xft.antialias: 1 Xft.dpi: 96 Xft.rgba: rgb
Dessa forma o sistema irá utilizar a configuração do arquivo em seu diretório home e irá melhorar a renderização das fontes, atualmente utilizo o fedora 16 e desse modo funciona perfeitamente.
Infelizmente desse modo a melhora na aparência das fontes só funciona para o usuário que tenha o arquivo .Xresources em seu diretório home
Qualquer dúvida fique a vontade para perguntar.