Reductor de fuentes (subsetting)
Reduce una fuente a los caracteres que necesitas con HarfBuzz, en tu navegador. Obtén un TTF/OTF y un WOFF más ligeros y una regla @font-face con unicode-range.
Comprueba primero la licencia de la fuente
El subsetting modifica el archivo de la fuente. Muchas licencias comerciales prohíben modificar o convertir las fuentes, o solo lo permiten para uso web con condiciones. Las licencias abiertas como la SIL Open Font License (OFL) y Apache 2.0 lo permiten (con la OFL, un subconjunto que conserve un Reserved Font Name debe cambiar de nombre). Lee la licencia de tu fuente antes de publicar el resultado.
Fuente original
- Familia
- Formato
- Tamaño del archivo
- Glifos
- Caracteres
Caracteres seleccionados: 0
Resultado
- Antes
- Después (TTF/OTF)
- Después (WOFF)
- Ahorro
- Glifos
- Caracteres conservados
La salida en WOFF2 no está disponible (el navegador no tiene codificador Brotli). WOFF es compatible con todos los navegadores actuales; tu servidor también puede comprimir el TTF/OTF con gzip o Brotli.
Vista previa del subconjunto
Los caracteres eliminados se muestran con otra fuente.
CSS @font-face
Cómo reducir una fuente
- Comprueba la licencia. El subsetting crea una copia modificada de la fuente. Las licencias abiertas como la SIL Open Font License (OFL) y Apache 2.0 lo permiten; muchas licencias comerciales de escritorio y web no, o solo con condiciones. Lee antes la licencia de tu fuente.
- Suelta un archivo TTF, OTF o WOFF en la zona indicada o haz clic en ella para elegir uno. El panel Fuente original muestra la familia, el formato, el tamaño del archivo, el número de glifos y el número de caracteres que contiene la fuente.
- Elige los Caracteres que conservar: puedes combinar Latín básico, Latin-1, Latín, como en Google Fonts, Francés y Dígitos y signos numéricos. No hay un ajuste específico para el español, pero Latin-1 ya incluye todas sus letras y signos (á, é, í, ó, ú, ü, ñ, ¿, ¡, «»). Añade tus propios caracteres en Caracteres de un texto (se conservan todos los caracteres distintos del texto) o en Rangos Unicode, escritos como en CSS:
U+0020-007E, U+2013, U+04??. - Marca Eliminar el hinting si quieres el archivo más pequeño posible.
- Pulsa Reducir fuente. El motor (unos 650 KB) se carga la primera vez y después la fuente se procesa en tu dispositivo.
- Compara los tamaños en Resultado, revisa la Vista previa del subconjunto, usa Descargar TTF (u OTF) y Descargar WOFF, y copia la regla CSS @font-face.
El archivo de la fuente nunca sale de tu ordenador: se lee, se reduce y se vuelve a empaquetar en el navegador.
Qué hace el subsetting
Una fuente suele contener cientos o miles de glifos: cirílico, griego, vietnamita, símbolos, variantes. Una página escrita en español o en inglés solo usa una parte. Esta herramienta ejecuta hb-subset, el reductor del motor de texto HarfBuzz (el mismo código que usan Google Fonts y muchas herramientas de compilación), compilado a WebAssembly. Conserva los glifos de los caracteres que has seleccionado, más los que necesitan las funciones OpenType para mostrarlos (ligaduras como «fi», versalitas y formas acentuadas cuando se puede llegar a ellas desde tus caracteres), y elimina el resto. El kerning y las demás tablas de composición se recortan en consecuencia.
Resultados típicos: una fuente completa latín + cirílico + griego de 300 KB puede quedarse en 20 o 30 KB para un texto en francés o en español, y una fuente de logotipo reducida a las letras de una sola palabra suele pesar unos pocos kilobytes.
La línea No están en la fuente enumera los caracteres que has pedido y que la fuente no tiene. Los navegadores los dibujarán con una fuente alternativa.
Formatos de salida y unicode-range
- TTF/OTF: el subconjunto mantiene el tipo de contornos del original (TrueType o CFF).
- WOFF: la misma fuente con cada tabla comprimida con zlib. La leen todos los navegadores actuales. Si subes un WOFF, primero se descomprime.
- WOFF2 no está disponible: su compresión Brotli y sus transformaciones de tablas no tienen codificador en el navegador, y tampoco se pueden leer archivos WOFF2 aquí. Convierte antes el WOFF2 a TTF (por ejemplo con fontTools). Tu servidor también puede comprimir el TTF/OTF con gzip o Brotli sobre la marcha.
La regla CSS @font-face enumera primero el archivo WOFF, fija font-display: swap y añade un unicode-range generado a partir de los caracteres presentes en el subconjunto. Con unicode-range, el navegador solo descarga el archivo cuando la página usa alguno de esos caracteres, así que puedes dividir una familia en varios archivos (por ejemplo, latín y cirílico) y que cada visitante cargue solo lo que necesita. Edita el Nombre de font-family para que coincida con el que usas en tu hoja de estilos.
Preguntas frecuentes
¿Es legal reducir una fuente?
Depende de la licencia, no de la herramienta. La SIL Open Font License permite expresamente las modificaciones; si la fuente declara un Reserved Font Name, la versión modificada debe distribuirse con otro nombre. Muchas licencias comerciales prohíben modificar, convertir o autoalojar la fuente. Si tienes dudas, pregunta a la fundición.
¿Por qué el subconjunto pesa más de lo que esperaba?
Las funciones de composición OpenType añaden glifos extra (ligaduras, variantes, versalitas), y las instrucciones de hinting pueden ocupar mucho en las fuentes TrueType. Prueba Eliminar el hinting y comprueba que no hayas marcado por error un ajuste grande.
¿Debo eliminar el hinting?
El hinting mejora la representación en tamaños pequeños en Windows con rasterizadores antiguos. En macOS, iOS, Android y un Windows moderno a tamaños normales, la diferencia es pequeña. Para títulos y logotipos, eliminarlo no suele dar problemas.
¿Puedo reducir una fuente variable?
Sí. Los ejes de variación se conservan, así que el subconjunto sigue siendo variable; solo se reducen los caracteres.
¿Y las colecciones de fuentes (.ttc)?
Solo se reduce la primera fuente de la colección.
Herramientas relacionadas
- Combinador de fuentes tipográficas Prueba combinaciones de fuentes para títulos y texto con 20 tipografías de licencia abierta, ajusta tamaño e interlineado y copia el font-family en CSS.
- Conversor de PX a REM Convierte px a rem y em con cualquier tamaño de fuente raíz, crea una tabla de conversión y pasa a rem todos los px de un fragmento de CSS con un clic.
- Formateador y minificador CSS Embellece CSS desordenado con una indentación limpia o minifícalo con csso, y compara el tamaño antes y después. Funciona en tu navegador, no se sube nada.