Introducción
Desde siempre me he quejado de lo mal que se ven las fuentes en aplicaciones desarrolladas con Java, no solamente cuando corren bajo Linux, sino que también cuando corren en otros sistemas operativos. Existen diferentes métodos para mejorar la renderización de las tipografías, pero en particular existe una solución que no solo se refiere a Java sino que se aplica a todo las aplicaciones que corren bajo Linux, me refiero en particular a Infinality.
Infinality
Infinality proporciona un conjunto de parches Freetype que intentan proporcionar una mejor renderización de tipografías en Linux a la vez que facilitan la configuración para que los distintos usuarios la adapten a su gusto. Con este sistema es muy sencillo configurar las fuentes para emular OSX, Windows XP o Windows 7 o simplemente utilizar los estilos personalizados para Linux.
Aunque la renderización de fuentes en Ubuntu es bastante buena, con Infiality aún es mejor, o por lo menos es lo que parece desprenderse de las capturas de pantalla que puedes ver en diferentes medios en internet. El problema, como sucede en otros casos, es que esto es posible que lo aprecies inicialmente, pero con el paso del tiempo (y en este caso, es muy poco tiempo), no notas nada, salvo en lo que se refiere a Java por supuesto.
Instalación y configuración de Infinality
Por supuesto esto no se encuentra en los repositorios oficiales de Ubuntu, pero lo puedes instalar para las siguientes versiones de 12.04, 13.10, 14.04 y 14.10, es necesario añadir un repositorio y actualizar. Para ello, abre un emulador de terminal, y ejecuta los siguientes comandos,
sudo add-apt-repository ppa:no1wantdthisname/ppa sudo apt-get update sudo apt-get upgrade sudo apt-get install fontconfig-infinality
El siguiente paso es configurar las fuentes para adecuarlo a tu sistema o a tu gusto, para ello, tienes que ejecutar el siguiente comando,
sudo bash /etc/fonts/infinality/infctl.sh setstyle
Esto te presentará una serie de opciones para que elijas la que prefieras,
Elige la opción que consideres, cierra la sesión y autotentifícate de nuevo (no es necesario reiniciar el PC, tan solo tienes que cerrar y abrir la sesión, que es sensiblemente más rápido). Si lo que ves no te gusta, prueba otra.
Opcionalmente también puedes personalizar el resultado editanto el archivo /etc/profile.d/infinality-settings.sh. Para ello, abrelo con un editor de textos como administrador,
sudo -H gedit /etc/profile.d/infinality-settings.sh
busca USE_STYLE en el archivo, que lo deberías encontrar como USE_STYLE=”DEFAULT” y cambialo a algunos de los estilos que puedes ver a continuación,
Mejorando las fuentes en aplicaciones Java/Swing en Linux
El siguiente paso es mejorar la renderización de las tipografías en las aplicaciones Java/Swing, para ello, utilizaremos otro parche para OpenJDK7 que realiza estas labores. De esta forma, utilizando este parche, verás las fuentes con un aspecto prácticamente igual al de las fuentes nativas.
Para mi el cambio es radical, utilizando este parche el resultado es impresionante. No tengo ninguna captura de antes de realizar estos cambios, pero puedes ver el resultado final, y tu mismo podrás darte cuenta de ello,
Instalación y configuración
Este parche no está disponible en los repositorios oficiales de Ubuntu, y solo está disponible para las versiones 14.04 y 14.10. Para instalarlo, abre un emulador de terminal, y ejecuta los siguientes comandos,
sudo add-apt-repository ppa:no1wantdthisname/openjdk-fontfix sudo apt-get update sudo apt-get upgrade
Configurando Android-Studio
Para conseguir tener Android-Studio tal y como has podido ver en la captura de pantalla que te he mostrado anteriormente, todavía tienes que hacer algún trabajo adicional. Para ello ves a File > Settings, después en el panel lateral en IDE Settings selecciona Editor > Colors & Fonts > Font y selecciona la fuente que mas te guste. En mi caso me he decantado por Ubuntu Mono con un tamaño 16 y un interlineado de 1.1, como puedes ver en la siguiente imagen,
Devolviendo todo a su estado original
Si lo que has visto no te ha gustado, siempre puedes volver donde te encontrabas, siguiendo los pasos en sentido inverso, para ello, abre un emulador de terminal, y ejecuta los siguientes comandos,
sudo apt-get install ppa-purge sudo ppa-purge ppa:no1wantdthisname/openjdk-fontfix sudo apt-get purge fontconfig-infinality sudo ppa-purge ppa:no1wantdthisname/ppa
Conclusiones
Si le dedicas tiempo a desarrollar aplicaciones utilizando Android Studio vale la pena que pierdas algunos momentos a personalizar y configurar las fuentes para conseguir un resultado óptimo con el que no dejarte los ojos, o por lo menos que sea agradable a la vista. Lo cierto es que de otra manera es un sacrificio.
En cuanto al uso de Infinality para Ubuntu no termino de ver un cambio tan radical en el aspecto, pero problamente sea por lo que he comentado anteriormente, en seguida nos acostumbramos a lo nuevo, y no recordamos como estaba anteriormente.
Mi recomendación es que si utilizas Android Studio u otras aplicaciones desarrolladas en Java o Swing instales estos parches que mejoraran considerablemente el aspecto, en otro caso, yo no lo instalaría si no fuera por otra cosa que no sea probarlo.
Más información,
- infinality
- WebUpd8
- netz.kinder
- stackoverflow
Muchas gracias, me resulto muy util para netbeans y eclipse!
Gracias Cristian. Un saludo