SVG Font
El formato de fuente vectorial original — XML legible por humanos que mapea trayectos SVG a glifos de fuente.
¿Qué es SVG Font?
Las fuentes SVG se definieron como parte de la especificación SVG 1.1, publicada por el W3C. A diferencia de los formatos de fuente binarios tradicionales, las fuentes SVG incorporan los contornos de los glifos como datos de trayecto SVG dentro de un elemento <font>. Cada glifo está representado por un elemento <glyph> cuyo atributo d contiene el trayecto vectorial que describe la forma.
En esencia, las fuentes SVG son dibujos SVG empaquetados como una fuente. La misma sintaxis de trayecto que se usa para dibujar formas en un archivo SVG se reutiliza para definir las formas de las letras y los contornos de los iconos. Esto las hace únicas en cuanto a inspección — puede abrir una fuente SVG en cualquier editor de texto y leer la geometría real de cada glifo.
Cómo funciona
Un archivo de fuente SVG encapsula los trayectos de glifos dentro de una estructura XML estándar. A continuación se muestra un ejemplo simplificado:
Estructura de una fuente SVG<font id="MyIcons">
<font-face font-family="MyIcons" units-per-em="1024"/>
<glyph glyph-name="home" unicode=""
d="M512 0L0 448h128v576h256V640h256v384h256V448h128z"/>
<glyph glyph-name="search" unicode=""
d="M..."/>
</font>
El elemento <font-face> declara el nombre de la familia de fuentes y el sistema de coordenadas (units-per-em). Cada <glyph> asigna un punto de código Unicode a un trayecto vectorial. El atributo d usa exactamente la misma sintaxis de trayecto que un elemento SVG <path> ordinario.
Este es el formato intermedio en el pipeline de Bobcorn. Los iconos SVG individuales se ensamblan primero en esta estructura de fuente SVG, que luego se convierte a formatos binarios: SVG Font → TTF → WOFF / WOFF2 / EOT.
Ventajas e inconvenientes
- Legible por humanos — se abre en cualquier editor de texto
- Fácil depuración de trayectos de glifos y metadatos
- Totalmente vectorial, escalabilidad infinita
- No se necesita compilación para ver el código fuente
- Mayor tamaño de archivo de todos los formatos de fuente
- Obsoleto en Chrome, Firefox y Edge
- Sin ningún tipo de compresión
- Sin soporte de hinting
- Mala calidad de renderizado en Windows
Compatibilidad con navegadores
La compatibilidad con fuentes SVG ha sido eliminada de la mayoría de los navegadores principales. Chrome eliminó el soporte para fuentes SVG en la versión 38 (2014). Firefox nunca lo implementó. Edge (basado en Chromium) tampoco lo soporta. El único navegador restante es Safari e iOS Safari, que aún renderiza fuentes SVG.
Para el uso web práctico, la fuente SVG es esencialmente un formato heredado. No debe depender de él como formato de entrega para usuarios finales. Use WOFF2 en su lugar.
Cuándo usar SVG Font
- Depuración de problemas de generación de fuentes — como es XML plano, puede leer los datos del trayecto directamente y compararlos con los iconos SVG originales para diagnosticar problemas.
- Como formato fuente en pipelines de compilación — muchas herramientas de generación de fuentes (incluida Bobcorn) usan SVG Font como representación intermedia antes de convertir a formatos binarios.
- Soporte heredado iOS < 5 — extremadamente raro hoy en día, pero los dispositivos iOS más antiguos anteriores al soporte de WOFF solo podían usar fuentes SVG para fuentes web.