Como mejorar el renderizado de tipografías en Java y Ubuntu

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_Comparison.png

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,

atareao@trusty: -home-atareao_494.png

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,

infinality-settings.sh (-etc-profile.d) - gedit_495.png

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,

MyWeatherIndicator - [~-Copy-PROGRAMACION-Android-MyWeatherIndicator] - [myweatherindicator] - ...-myweatherindicator-src-main-java-es-atareao-myweatherindicator-CurrentWeatherFragment2.java - Android Studio 1.0.2_496.png

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,

Settings_497.png

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,

2 comentarios en “Como mejorar el renderizado de tipografías en Java y Ubuntu

  1. CR
    Cristian Berlingó hace 9 años

    Muchas gracias, me resulto muy util para netbeans y eclipse!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *