Hasta ahora creía ingenuamente que las fuentes monoespaciadas no necesitaban de características OpenType avanzadas, pero el siguiente proyecto me ha hecho cambiar de idea:
FiraCode | Monospaced font with programming ligatures
Antes de pasar a mostrar la fuente en cuestión, un poco de contexto.
Los programadores utilizan muchas combinaciones de caracteres simples para marcar la sintaxis de los lenguajes que utilizan. Cosas como
==> := !=
etcétera, son comunes… pero generalmente se ven muy mal. Difícilmente unicode agregue cada una de estas combinaciones como símbolos propios, por lo que la gente del proyecto FiraCode ha creado una solución sumamente ingeniosa: utilizar ligaduras tipográficas y alternativas contextuales en una fuente monoespaciada para mejorar así el aspecto de estas combinaciones de caracteres, ¡y vaya que lo han logrado!
Esta fuente funciona a la perfección con varios editores de texto y diferentes emuladores de terminal como Konsole, pero no con todos. En la página del proyecto hay una lista de compatibilidad.
A continuación una captura de pantalla de Kate utilizando FiraCode. Para mostrar el cambio he agregado espacios entre los caracteres a la primera parte de cada línea, que en Kate no se pueden desactivar opciones tipográficas:
FiraCode está basada en Fira Mono y se inspira en Hasklig (que a su vez extiende Source Code Pro… ¡la belleza del software libre en acción!).
Lo dicho, un proyecto sumamente ingenioso que hará las delicias de muchos programadores.
Solo hay una que no me gusta, la antepenultima… por que lo uno no es igual que lo otro.
Un abrazo
Es verdad, a un golpe de vista rápido se confunde con la primera… Habría que ver de hacer una propuesta en el proyecto: es bastante activo y parece que responden a los reportes de error.
Un abrazo.
Probé las fuentes con ligaduras que aparecen en esta página https://www.hanselman.com/blog/MonospacedProgrammingFontsWithLigatures.aspx pero no me convecieron ninguna.
Firacode fue la que estuve usndo más tiempo, pero no acabé por acostumbrarme a ellas, el ‘–‘ y el ‘==’ me parecen bastante confusos, con los distintos en java » y en c ‘!=’ me equivocaba bastante. Supongo que será cuestión de usarlas más a menudo : )