Instalar tipos de letra de Windows en Ubuntu y derivados

A pesar de que las fuentes que traen las distribuciones de GNU/Linux suelen ser variadas, es algo bastante común necesitar las fuentes de Microsoft para poder, por ejemplo, abrir documentos con LibreOffice y que se vean con las mismas fuentes que en Windows.

Para instalar los tipos de letra de Microsoft en Ubuntu y derivados (como elementary OS o Linux Mint) debemos seguir los siguientes pasos:

1. Instalar msttcorefonts

Para ello abrimos una terminal y ejecutamos esta orden:

sudo apt-get install msttcorefonts

Esta orden en realidad lo que instala son los paquetes cabextract y ttf-mscorefonts-installer. Durante la instalación se nos abrirá un menú que ocupa toda la ventana de la terminal con el que debemos aceptar los términos de la licencia. Para aceptar los términos debemos pulsar las teclas de flechas del teclado, para seleccionar el botón «Aceptar» y luego pulsar Intro (es algo poco intuitivo puesto que lo normal es pulsar Intro sólo, tras lo cual no sucede nada si no hemos hecho lo que digo).

Una vez aceptados los términos se descargan e instalan en el sistema estas fuentes de Microsoft:

  • Andale Mono
  • Arial
  • Arial Black
  • Comic Sans MS
  • Courier New
  • Georgia
  • Impact
  • Times New Roman
  • Trebuchet
  • Verdana
  • Webdings

2. Instalar otras fuentes

Si queremos instalar otras fuentes de Windows no incluidas en el anterior paquete, como es el caso de Tahoma, debemos sacarlas de un equipo con Windows. Para ello podemos ir a otro ordenador con Windows, entrar en otra partición de nuestro equipo en la que tengamos Windows, o utilizar una máquina virtual con dicho SO instalado.

Estando dentro del SO de Microsoft debemos buscar y copiar los archivos de las fuentes deseadas. Para ello, por ejemplo si queremos buscar la fuente Tahoma, podemos buscar los archivos tahoma*.ttf en el explorador de Windows, o podemos abrir una consola de Windows (Ejecutar > cmd.exe) y lanzar estos comandos:

cd c:\
dir /s tahoma*.ttf

De una forma o de otra veremos que los archivos que buscamos están en c:\Windows\Fonts, por lo que copiamos los que queramos y nos los llevamos a nuestro sistema Linux. Sólo hay que tener en cuenta que una fuente puede estar formada por varios archivos (uno para la fuente normal, otro para negrita, otro para cursiva, etc.), por lo que si queremos la fuente entera debemos copiarlos todos (de ahí que busquemos tahoma*.ttf y no sólo tahoma.ttf).

Una vez en Linux, copiamos los archivos de las fuentes en la ruta /usr/share/fonts para que estén disponibles para todos los usuarios.

3. Refrescar la caché de fuentes

El último paso consiste en refrescar la caché en la que el sistema guarda el registro de fuentes disponibles. Para ello, en la terminal ejecutamos:

sudo fc-cache -fv

Con esto nos evitamos tener que reiniciar, porque a partir de este momento ya tenemos las fuentes disponibles en cualquier programa de nuestro sistema GNU/Linux.

tahoma
Captura de pantalla del listado de fuentes en LibreOffice

Desactivar la división de palabras con guiones en WordPress

En las últimas versiones de WordPress podemos ver que a veces se dividen con guiones las palabras al final de las líneas y continúan en las líneas siguientes, para ajustar mejor el texto al ancho disponible. Esto es una característica experimental de CSS3 de la que hacen uso las plantillas de WordPress.

Si por algún motivo queremos desactivar esta característica, debemos editar la plantilla que estemos usando (o mejor, editar un child theme) buscando en el archivo style.css  la siguiente etiqueta:

word-wrap: break-word;

Y sustituir todas las veces que aparezca el valor break-word por normal, dejándolo así:

word-wrap: normal;

También debemos buscar líneas como las siguientes:

-webkit-hyphens: auto;
-moz-hyphens:    auto;
-ms-hyphens:     auto;
hyphens:         auto;

Y sustituir los valores auto por none:

-webkit-hyphens: none;
-moz-hyphens:    none;
-ms-hyphens:     none;
hyphens:         none;

Con estos cambios ya no debería dividirse ninguna palabra, aunque si sólo queremos desactivar la división de palabras en algunas zonas del blog y no en todas, debemos prestar atención a los elementos a los que pertenecen los valores que estamos cambiando. Por ejemplo, para la plantilla de 2013, twentythirteen, debemos aplicar estos cambios al apartado .entry-content si queremos desactivar la división por guiones sólo para el contenido de los posts, o a .widget para hacer lo mismo con los widgets.

Más información:

Python más rápido que C, Conferencia Campus Party Colombia

Python y C son dos lenguajes de programación. Mientras que C es un lenguaje clásico utilizado en multitud de programas por su alto rendimiento, Python es un lenguaje que está adquiriendo cada vez más popularidad debido a su claridad, su limpieza, su legibilidad y sus altas prestaciones. C es más rápido que Python, pero en esta conferencia Facundo Batista nos explica que para medir la rapidez de un lenguaje no hay que atender sólo a la velocidad de ejecución de unas determinadas instrucciones, sino que hay que contabilizar también otros factores externos más relacionados con los programadores y la gestión humana del software, que con la ejecución de órdenes en un procesador.

Conclusiones:

  • C es más rápido que Python en tiempo de ejecución, y mucho más rápido que Python en tiempo de ejecución para unos tipos específicos de procesos.
  • Python es más rápido que C en tiempo de desarrollo del programa, testeo, solución de problemas, mantenimiento… Todas las tareas que requieren recursos humanos.
  • Es más fácil optimizar código que funciona, que corregir y hacer que funcione código optimizado.
  • Hay que optimizar los programas en la parte en la que más tarden, una vez terminado el programa, y sólo en caso de que necesitemos que el programa tarde menos de lo que tarda.
  • Al final una aplicación en C en condiciones normales va a ser un poco más rápida, pero si queremos hacer una aplicación para tareas comunes (acceso a base de datos, interfaces de escritorio, tareas de CMS…) y la programamos en C estamos haciendo optimización prematura. Es más inteligente hacer esa aplicación en Python, ya que lo más probable es que sea lo suficientemente rápida, pero si no lo es se puede optimizar un poco. Sin embargo el tiempo de programación y la cantidad de código será mucho menor programando en Python que programando en C.