1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

TrueType/ClearType - improved subpixel rendering em Fedora 17

Discussão em 'Novidades GNU/Linux & *nix World' iniciada por Ketheriel, 22 de Junho de 2012. (Respostas: 14; Visualizações: 2492)

  1. Ketheriel

    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.
     
  2. Nemesis11

    Nemesis11 Power Member

    É 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.
     
  3. Ketheriel

    Ketheriel Power Member

    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 :)
     
  4. Nemesis11

    Nemesis11 Power Member

    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.
     
  5. Ketheriel

    Ketheriel Power Member

    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 ;)
     
  6. tangram

    tangram Power Member

    Última edição: 23 de Junho de 2012
  7. Ketheriel

    Ketheriel Power Member

    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.
     
  8. Berde

    Berde Power Member

    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.
     
  9. Ketheriel

    Ketheriel Power Member

    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'...
     
  10. Berde

    Berde Power Member

    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?
     
  11. Ketheriel

    Ketheriel Power Member

    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 ?
     
  12. Berde

    Berde Power Member

    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.
     
  13. Ketheriel

    Ketheriel Power Member

    Pois, nao utiliza a freetype. Windows é outra história e sinceramente nao me interessa... Do totem (3ª linha):

    Código:
    [[email protected] ~]$ 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)
    
     
  14. Berde

    Berde Power Member

    Instalei o Totem para testar. É ainda pior que o Parole ou o VLC.
     
  15. Ketheriel

    Ketheriel Power Member

    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
    
    
     

Partilhar esta Página