TrueType/ClearType - improved subpixel rendering em Fedora 17

Ketheriel

Power Member
Para aqueles que utilizam Fedora 17, gostaria de deixar aqui que existe um repositório para o FreeType-Infinality com o software necessário para melhorar a renderização das fontes; Com este software instalado a renderização de fontes da Microsoft, Ubuntu e todas as outras que suportam sub-pixel rendering (fontes como a DejaVu, Cantarell e afins, comuns no GNOME não suportam a 100% estas features).

Para instalar o repositório basta correr:
Código:
 $ sudo rpm -Uvh http://www.infinality.net/fedora/linux/infinality-repo-1.0-1.noarch.rpm

E instalar os pacotes necessário com:
Código:
 $ sudo yum install freetype-infinality fontconfig-infinality

Não é necessário um reboot, mas é necessário fazer relog na sessão. Nota-se logo ao inicio a diferença... Recomendado.
 
É este tipo de coisas que devia vir de origem em distribuíções onde o desktop é o alvo principal. :)

O Cleartype apareceu no XP e já era algo que tinha sido desenvolvido anteriormente, mas que a equipa do Office não permitia que incorporassem no Windows (uma história interessante....).
10 anos depois, em Linux ainda andamos a falar sobre fontes.
 
Ainda há pouco estive a falar sobre isto com o Rex Dieter e é sempre a mesma história... Código que tem patentes, não entra nas distros... Enfim... Não vale a pena sequer tentar mudar o mundo... screw them :)
 
Ainda há pouco estive a falar sobre isto com o Rex Dieter e é sempre a mesma história... Código que tem patentes, não entra nas distros... Enfim... Não vale a pena sequer tentar mudar o mundo... screw them :)

Quando tiveste uma equipa (Office) a proíbir o uso do código por parte de outra (Windows), dentro da mesma empresa, algo está (ou estava) errado dentro da Microsoft.

E se isto acontece dentro da mesma empresa, imagino o que será com outras empresas a usarem semelhantes.
O problema é isto gerar um sentimento de medo no resto de empresas/individuos que trabalham na mesma área.

Se o gajo que descubriu a roda ou o fogo tivesse criado uma patente sobre isso, estavamos lixados e o Cleartype não tem essa importancia, mas qualquer empresa ao minimo movimento acha-se no direito de achar que todo o mundo lhe deve milhões.
Enfim.
 
Há uns zum zuns por aí que alguém está a preparar uma proposta de lei para que as patentes tenham o máximo de duração de 5 anos (actualmente penso que sao 70, mas nao estou certo); isto sim seria um avanço :)

De qualquer forma as bibliotecas da freetype já trazem algum suporte, o problema que resulta da renderização da freetype pura é não contemplar pequenos aspectos como aplicar anti-aliasing, daí as fontes parecerem grosseiras. Existe também um outro pequeno pormenor... As fontes com caracteres latinos nao sofrem de bugs, mas se o utilizador utilizar fontem com glifos em cirilico surgem uns pequenos bugs...

Mas isto era só para deixar uma nota mental para o pessoal, porque é um dos add-ons que deve ser aplicado ;)
 
Pelos vistos o site tem repositórios para Fedora 14 a 17, mas e repositórios para CentOS/SL/RHEL?
No limite tão lá as SRPMS.

Edit:
Repositórios / pacotes para outras distros: http://www.infinality.net/forum/viewtopic.php?f=2&t=133

Não sei se existe grante utilidade em CentOS, RHEL, Oracle e SL, uma vez que para a maior parte das pessoas não são sistemas de desktop; eu em RHEL uso um repo que existe no OBS e que está nos forums do Scientific Linux.
 
Instalei hoje o Fedora 17 XFCE e testei isto. Notou-se logo a diferença.
Não é apenas um pequeno melhoramento, é uma melhoria bastante significativa.
 
Instalei hoje o Fedora 17 XFCE e testei isto. Notou-se logo a diferença.
Não é apenas um pequeno melhoramento, é uma melhoria bastante significativa.

Se quiseres uma cena mais proxima do Ubuntu em consola:

Código:
 $ sudo yum install terminus-fonts

De seguida editas o /etc/sysconfig/i18n, comentas a linha do SYSFONT e acrescentas:

Código:
 SYSFONT="Lat2-Terminus16"

Finalmente tens que editar o grub.conf ou grub2.conf (o que usares) e mudas na linha do kernel a SYSFONT como disse em cima... reboot e ficas com a fonte da consola muito identica (senão igual) à do Ubuntu :)

E sim, as fontes ficam brutais com o Infinality, bem superior ao 'freetype-freeworld'...
 
As fontes estão brutais. No entanto, não consigo ter a mesma qualidade nas fontes das legendas.
Tentei no parole e as fontes estão más que nem me apetece ver os vídeos. Prefiro Reiniciar em Windows e ver lá.
Pensei que se instalasse o VLC isso is melhorar. Não melhorou.

Sabes como posso fazer para ter legendas em condições?
 
As fontes estão brutais. No entanto, não consigo ter a mesma qualidade nas fontes das legendas.
Tentei no parole e as fontes estão más que nem me apetece ver os vídeos. Prefiro Reiniciar em Windows e ver lá.
Pensei que se instalasse o VLC isso is melhorar. Não melhorou.

Sabes como posso fazer para ter legendas em condições?

Possivelmente não são renderizadas pela freetype e usam outro engine... convém veres isso com um:
Código:
 $ ldd /usr/bin/vlc

Se nao tiveres um link à freetype é porque é essa a razao... Eu de cabeça nao sei, mas posso perguntar a um bacano que faz o packaging do VLC para o VLC (openSUSE), ele saberá isso com toda a certeza. No Totem isso acontece ?
 
Código:
$ ldd /usr/bin/vlc
    linux-vdso.so.1 =>  (0x00007fff18587000)
    /usr/lib64/freetype-infinality/libfreetype.so.6 (0x0000003e56600000)
    libvlc.so.5 => /lib64/libvlc.so.5 (0x00000035c0800000)
    libvlccore.so.5 => /lib64/libvlccore.so.5 (0x00000035c0400000)
    libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x0000003e56e00000)
    librt.so.1 => /lib64/librt.so.1 (0x0000003e50200000)
    libm.so.6 => /lib64/libm.so.6 (0x0000003e4fe00000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003e4fa00000)
    libdl.so.2 => /lib64/libdl.so.2 (0x0000003e4f600000)
    libc.so.6 => /lib64/libc.so.6 (0x0000003e4f200000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003e54200000)
    /lib64/ld-linux-x86-64.so.2 (0x0000003e4ee00000)

No Totem não testei porque não vem em XFCE e não me dei ao trabalho de instalar.
O que vem de origem é o Parole.
Entretanto estive e modificar aqui o VLC nos settings das legendas e ficaram melhores mas ainda não estão ao nível do resto das fontes do Fedora.
Também estão muito longe da qualidade que consigo ter em Windows em vários programas diferentes incluindo o VLC.
 
Pois, nao utiliza a freetype. Windows é outra história e sinceramente nao me interessa... Do totem (3ª linha):

Código:
[nmarques@kampfhund ~]$ ldd /usr/bin/totem	linux-vdso.so.1 =>  (0x00007fff642a6000)
	/usr/lib64/freetype-infinality/libfreetype.so.6 (0x0000003165200000)
	libtotem.so.0 => /lib64/libtotem.so.0 (0x00007f77837fe000)
	libclutter-gst-1.0.so.0 => /lib64/libclutter-gst-1.0.so.0 (0x00007f77835e9000)
	libmx-1.0.so.2 => /lib64/libmx-1.0.so.2 (0x00007f7783351000)
	libgstbase-0.10.so.0 => /lib64/libgstbase-0.10.so.0 (0x0000003715a00000)
	libgstinterfaces-0.10.so.0 => /lib64/libgstinterfaces-0.10.so.0 (0x0000003716200000)
	libgstvideo-0.10.so.0 => /lib64/libgstvideo-0.10.so.0 (0x000000371ac00000)
	libgstaudio-0.10.so.0 => /lib64/libgstaudio-0.10.so.0 (0x000000371bc00000)
	libgstpbutils-0.10.so.0 => /lib64/libgstpbutils-0.10.so.0 (0x0000003716a00000)
	libm.so.6 => /lib64/libm.so.6 (0x00000036fac00000)
	libpeas-gtk-1.0.so.0 => /lib64/libpeas-gtk-1.0.so.0 (0x00007f7783140000)
	libSM.so.6 => /lib64/libSM.so.6 (0x000000370c800000)
	libICE.so.6 => /lib64/libICE.so.6 (0x000000370bc00000)
	libtotem-plparser.so.17 => /lib64/libtotem-plparser.so.17 (0x0000003963400000)
	libgsttag-0.10.so.0 => /lib64/libgsttag-0.10.so.0 (0x000000371f200000)
	libgstreamer-0.10.so.0 => /lib64/libgstreamer-0.10.so.0 (0x0000003711400000)
	libxml2.so.2 => /lib64/libxml2.so.2 (0x00000036ffc00000)
	libclutter-gtk-1.0.so.0 => /lib64/libclutter-gtk-1.0.so.0 (0x00007f7782f32000)
	libclutter-1.0.so.0 => /lib64/libclutter-1.0.so.0 (0x00007f7782c05000)
	libgtk-3.so.0 => /lib64/libgtk-3.so.0 (0x00007f7782585000)
	libcogl-pango.so.0 => /lib64/libcogl-pango.so.0 (0x0000003167e00000)
	libjson-glib-1.0.so.0 => /lib64/libjson-glib-1.0.so.0 (0x0000003714e00000)
	libXi.so.6 => /lib64/libXi.so.6 (0x0000003700400000)
	libcogl.so.9 => /lib64/libcogl.so.9 (0x000000371b000000)
	libdrm.so.2 => /lib64/libdrm.so.2 (0x0000003712a00000)
	libXext.so.6 => /lib64/libXext.so.6 (0x00000036fe400000)
	libXdamage.so.1 => /lib64/libXdamage.so.1 (0x0000003703000000)
	libXcomposite.so.1 => /lib64/libXcomposite.so.1 (0x0000003702c00000)
	libXfixes.so.3 => /lib64/libXfixes.so.3 (0x0000003701400000)
	libgdk-3.so.0 => /lib64/libgdk-3.so.0 (0x00007f7782305000)
	libatk-1.0.so.0 => /lib64/libatk-1.0.so.0 (0x0000003701c00000)
	libpangocairo-1.0.so.0 => /lib64/libpangocairo-1.0.so.0 (0x0000003165600000)
	libgdk_pixbuf-2.0.so.0 => /lib64/libgdk_pixbuf-2.0.so.0 (0x0000003701800000)
	libcairo-gobject.so.2 => /lib64/libcairo-gobject.so.2 (0x00007f77820fb000)
	libpango-1.0.so.0 => /lib64/libpango-1.0.so.0 (0x0000003703800000)
	libcairo.so.2 => /lib64/libcairo.so.2 (0x0000003165e00000)
	libX11.so.6 => /lib64/libX11.so.6 (0x00000036fdc00000)
	libpeas-1.0.so.0 => /lib64/libpeas-1.0.so.0 (0x000000370c000000)
	libgio-2.0.so.0 => /lib64/libgio-2.0.so.0 (0x00000036fd000000)
	libgirepository-1.0.so.1 => /lib64/libgirepository-1.0.so.1 (0x0000003718400000)
	libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x00000036fc400000)
	libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x00000036fcc00000)
	libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x00000036fc000000)
	librt.so.1 => /lib64/librt.so.1 (0x00000036fa800000)
	libffi.so.5 => /lib64/libffi.so.5 (0x00000036fc800000)
	libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00000036fb800000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00000036fa000000)
	libc.so.6 => /lib64/libc.so.6 (0x00000036f9c00000)
	libXrandr.so.2 => /lib64/libXrandr.so.2 (0x00000036ff400000)
	libstartup-notification-1.so.0 => /lib64/libstartup-notification-1.so.0 (0x0000003718000000)
	libdbus-glib-1.so.2 => /lib64/libdbus-glib-1.so.2 (0x0000003705400000)
	libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x00000036fec00000)
	libdl.so.2 => /usr/lib64/libdl.so.2 (0x00000036fa400000)
	liborc-0.4.so.0 => /lib64/liborc-0.4.so.0 (0x0000003717200000)
	libuuid.so.1 => /lib64/libuuid.so.1 (0x0000003703c00000)
	libsoup-gnome-2.4.so.1 => /lib64/libsoup-gnome-2.4.so.1 (0x0000003715200000)
	libsoup-2.4.so.1 => /lib64/libsoup-2.4.so.1 (0x000000370f000000)
	libgmime-2.6.so.0 => /lib64/libgmime-2.6.so.0 (0x0000003713600000)
	libquvi.so.7 => /lib64/libquvi.so.7 (0x0000003963000000)
	libarchive.so.12 => /lib64/libarchive.so.12 (0x0000003710000000)
	libgcrypt.so.11 => /lib64/libgcrypt.so.11 (0x0000003706c00000)
	libgpg-error.so.0 => /lib64/libgpg-error.so.0 (0x0000003705000000)
	libz.so.1 => /lib64/libz.so.1 (0x00000036fb000000)
	libpangoft2-1.0.so.0 => /lib64/libpangoft2-1.0.so.0 (0x0000003165a00000)
	libfontconfig.so.1 => /lib64/libfontconfig.so.1 (0x0000003164e00000)
	libXinerama.so.1 => /lib64/libXinerama.so.1 (0x00000036ff000000)
	libXcursor.so.1 => /lib64/libXcursor.so.1 (0x0000003703400000)
	libpng15.so.15 => /lib64/libpng15.so.15 (0x00000036ff800000)
	libpixman-1.so.0 => /usr/lib64/libpixman-1.so.0 (0x0000003702800000)
	libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00000036fe800000)
	libxcb.so.1 => /lib64/libxcb.so.1 (0x00000036fd400000)
	libselinux.so.1 => /lib64/libselinux.so.1 (0x00000036fb400000)
	libresolv.so.2 => /lib64/libresolv.so.2 (0x00000036fbc00000)
	/lib64/ld-linux-x86-64.so.2 (0x00000036f9800000)
	libxcb-util.so.0 => /lib64/libxcb-util.so.0 (0x0000003715e00000)
	libX11-xcb.so.1 => /lib64/libX11-xcb.so.1 (0x000000370d400000)
	libsqlite3.so.0 => /lib64/libsqlite3.so.0 (0x000000370a000000)
	libgnome-keyring.so.0 => /lib64/libgnome-keyring.so.0 (0x000000370b400000)
	libcurl.so.4 => /lib64/libcurl.so.4 (0x0000003962c00000)
	liblua-5.1.so => /lib64/liblua-5.1.so (0x0000003712000000)
	libacl.so.1 => /lib64/libacl.so.1 (0x000000370e400000)
	libattr.so.1 => /lib64/libattr.so.1 (0x000000370b800000)
	liblzma.so.5 => /lib64/liblzma.so.5 (0x000000370d000000)
	libbz2.so.1 => /lib64/libbz2.so.1 (0x000000370e000000)
	libcrypto.so.10 => /lib64/libcrypto.so.10 (0x0000003708c00000)
	libexpat.so.1 => /lib64/libexpat.so.1 (0x0000003700000000)
	libXau.so.6 => /lib64/libXau.so.6 (0x00000036fd800000)
	libidn.so.11 => /lib64/libidn.so.11 (0x000000370cc00000)
	liblber-2.4.so.2 => /lib64/liblber-2.4.so.2 (0x0000003711800000)
	libldap-2.4.so.2 => /lib64/libldap-2.4.so.2 (0x0000003711c00000)
	libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x0000003961c00000)
	libkrb5.so.3 => /lib64/libkrb5.so.3 (0x0000003961800000)
	libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x0000003962000000)
	libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00000035f3c00000)
	libssl3.so => /lib64/libssl3.so (0x0000003708000000)
	libsmime3.so => /lib64/libsmime3.so (0x0000003708400000)
	libnss3.so => /lib64/libnss3.so (0x0000003707800000)
	libnssutil3.so => /lib64/libnssutil3.so (0x0000003707400000)
	libplds4.so => /lib64/libplds4.so (0x0000003707000000)
	libplc4.so => /lib64/libplc4.so (0x0000003706000000)
	libnspr4.so => /lib64/libnspr4.so (0x0000003706800000)
	libssh2.so.1 => /lib64/libssh2.so.1 (0x0000003962800000)
	libsasl2.so.2 => /lib64/libsasl2.so.2 (0x000000370d800000)
	libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x0000003961400000)
	libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x0000003709400000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00000036fe000000)
	libssl.so.10 => /lib64/libssl.so.10 (0x0000003962400000)
	libcrypt.so.1 => /lib64/libcrypt.so.1 (0x0000003705c00000)
	libfreebl3.so => /lib64/libfreebl3.so (0x0000003705800000)
 
Instalei o Totem para testar. É ainda pior que o Parole ou o VLC.

O Totem por default utiliza a Sans e nao as definições do sistema (stupid thing, I know)... Como eu disse no post inicial, a fonte tem que suportar na totalidade os enhancements, razão pela qual eu sugeri utilizarem as fontes do Ubuntu ou as da Microsoft (as verdadeiras que veem com o windows).

Se nao sabes como as meter no linux, é simples:

Código:
 $ sudo mkdir -p /usr/share/fonts/microsoft
 
 <COPIAR AS FONTS TTF DA MS para /usr/share/fonts/microsoft>

 $ sudo cd /usr/share/fonts/microsoft && mkfontdir && mkfontscale
 
Back
Topo