Skip to content

Latest commit

 

History

History
240 lines (178 loc) · 11.4 KB

LEEME.md

File metadata and controls

240 lines (178 loc) · 11.4 KB

Fira Code: la fuente monoespaciada con ligaduras gratuita para programación

Fira Code

Leer en English | 简体中文 | 日本語

El problema

Los programadores usamos muchos símbolos, frecuentemente codificados con varios caracteres. Para el cerebro humano, sucesiones como ->, <= o := son unidades lógicas individuales, incluso si requieren dos o más caracteres en pantalla. Nuestros ojos utilizan una cantidad no nula de energía para leer, analizar y unir caracteres mútiples en una sola unidad lógica. Idealmente, todos los lenguajes de programación deberían estar diseñados para representar los operadores con símbolos Unicode; pero ese no es el caso aún.

La solución

Fira Code es una fuente monoespaciada gratuita que contiene ligaduras para combinaciones multicaracter comunes en programación. Esta es simplemente una característica del renderizado de la fuente: el código subyacente permanece compatible con el estándar ASCII. Esto ayuda a leer y comprender más rápido el código. Para algunas sucesiones comunes, como .. o //, las ligaduras nos permiten hacer correcciones en el espaciado.

Descarga e instalación

Fira_Code_v6.2.zip - Diciembre 6 de 2021 - 2.5 MB

Recursos adicionales (en inglés):

Contribuyendo

Contribuye

Fira Code es un proyecto personal desarrollado en mi tiempo libre, sin financiamiento y con una enorme lista de solicitudes. Si el resultado es de tu agrado, por favor considera apoyar a su desarrollo por medio de GitHub Sponsors o Patreon. ¡Cualquier ayuda cuenta!

¿Qué ofrece?

Izquierda: ligaduras renderizadas en Fira Code. Derecha: las mismas secuencias de caracteres sin ligaduras.

Fira Code viene con una gran variedad de flechas. Mejor aun, ¡estas pueden hacerse tan largas como se desee y se pueden combinar los fragmentos incial/medio/final de la forma que se quiera!

Fira Code no solo se trata de las ligaduras. Algunos ajustes se han hecho a la puntuación y a pares de letras frecuentes.

Fira Code viene con algunas variantes de caracteres, de manera que cada uno puede escoger lo que mejor le convenga. Cómo activar (en inglés)

Algunas ligaduras pueden alterarse o activarse usando conjuntos estilísticos/variantes de caracteres:

Siendo una fuente para programación, Fira Code tiene un soporte fantástico para dibujos ASCII/de cajas, powerline y otras formas de interfaz de usuario para terminal:

Fira Code es la primera fuente para programación en ofrecer glifos dedicados al dibujo de barras de progreso:

En acción:

Esperamos que más fuentes adopten esta convención y definan sus propias versiones.

La covertura del estándar Unicode hace de Fira Code una gran elección para la escritura matemática:

¿Cómo luce?

Lista de compatibilidad con editores

Funciona No funciona
Abricotine Arduino IDE
Android Studio (2.3+, instrucciones) Adobe Dreamweaver
Anjuta (excepto con EOF) Delphi IDE
AppCode (2016.2+, instrucciones) Emacs por sí solo (solución alternativa)
Atom 1.1 o más nuevo (instrucciones) Godot (reporte)
BBEdit (14.6+, instrucciones) IDLE
Brackets (con este plugin) KDevelop 4
Chocolat Monkey Studio IDE
CLion (2016.2+, instrucciones) UltraEdit
Cloud9 (instrucciones)
Coda 2
CodeLite
CodeRunner
CotEditor
Eclipse
elementary Code
Geany (1.37+)
gEdit / Pluma
GNOME Builder
GoormIDE (instrucciones)
gVim (Windows, GTK)
IntelliJ IDEA (2016.2+, instrucciones)
Kate, KWrite
KDevelop 5+
Komodo
Leafpad
LibreOffice
LightTable (instrucciones)
LINQPad
MacVim 7.4 o más nuevo (instrucciones)
Mancy
MATLAB (instrucciones)
Meld
Mousepad
NeoVim-gtk
NetBeans
Notepad (Windows)
Notepad++ (con una solución alternativa)
Notepad3 (instrucciones)
Nova
PhpStorm (2016.2+, instrucciones)
PyCharm (2016.2+, instrucciones)
QOwnNotes (21.16.6+)
QtCreator
Rider
RStudio (instrucciones)
RubyMine (2016.2+, instrucciones)
Scratch
Scribus (1.5.3+)
SublimeText (3146+)
Spyder IDE (solamente con Qt5)
SuperCollider 3
TeXShop
TextAdept (Linux, macOS)
TextEdit
TextMate 2
VimR (instrucciones)
Visual Studio (2015+, instrucciones)
Visual Studio Code (instrucciones)
WebStorm (2016.2+, instrucciones)
Xamarin Studio/Monodevelop
Xcode (8.0+, alternativamente con este plugin)
Xi
Probablemente: Smultron, Vico En duda: Code::Blocks IDE

Lista de compatibilidad con terminales

Plataforma Funciona No funciona
macOS Hyper (ver #3607)
iTerm 2
Kitty
Terminal.app
ZOC
Alacritty
Windows Hyper (ver #3607)
Mintty
Token2Shell
Windows Terminal
Alacritty
Cmder
ConEmu
PuTTY
Windows Console
ZOC
Linux Hyper (ver #3607)
Kitty
Konsole
QTerminal
Termux
st (parche)
Alacritty
GNOME Terminal
Terminales basadas en libvte (reporte):
  • gtkterm
  • guake
  • LXTerminal
  • sakura
  • Terminator
  • xfce4-terminal
mate-terminal
rxvt
terminology
xterm
ChromeOS crosh (instrucciones)

Soporte en el navegador web

<!-- HTML -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/firacode@6.2.0/distr/fira_code.css">
/* CSS */
@import url(https://cdn.jsdelivr.net/npm/firacode@6.2.0/distr/fira_code.css);
/* Especificar en el CSS */
code { font-family: 'Fira Code', monospace; }

@supports (font-variation-settings: normal) {
  code { font-family: 'Fira Code VF', monospace; }
}
  • IE 10+, Edge Legacy: activar con font-feature-settings: "calt";
  • Firefox
  • Safari
  • Navegadores basados en Chromium (Chrome, Opera)
  • ACE
  • CodeMirror (activar con font-variant-ligatures: contextual;)

Proyectos que usan Fira Code

Alternativas

Fuentes monoespaciadas con ligaduras gratuitas:

Fuentes monoespaciadas con ligaduras no gratuitas:

Compilando Fira Code localmente

En caso que se quiera modificar el código en FiraCode.glyphs y compilar archivos OTF/TTF/WOFF propios, estas son las instrucciones que uso en macOS:

# instalar las herramientas requeridas para la compilación
./script/bootstrap_macos.sh

# compilar los archivos de la fuente
./script/build.sh

# instalar los OTFs en ~/Library/Fonts
cp distr/otf/*.otf ~/Library/Fonts

Alternativamnete, se puede compilar Fira Code usando Docker:

# instalar las dependencias en un contenedor y compilar los archivos de la fuente
make

# comprimir los archivos de la fuente en dist/ a un zip
make package

Créditos