Crea una fuente variable

Tutorial
by Rainer Erich Scheichelbauer

8 marzo 2018

Variable Fonts open a whole new world of possibilities. Creating them is a breeze in Glyphs.

Traducción española: Carolina Giovagnoli. Colaboradores: Muk Monsalve, Florencia Yacante Biassoni, Angelina Sánchez, Jaime Díaz.

¡Bienvenido a Glyphs Variable Fonts o a las «Fuentes Variables» en Glyphs! Este tutorial es para workflows que se realicen con las últimas versiones de Glyphs. Por tal motivo, recomendamos instalar las últimas actualizaciones beta del software. Para hacerlo, ve a Glyphs > Preferencias > Actualizaciones, activa las dos casillas de verificación en el cuadro de diálogo y presiona el botón Check now. Ten en cuenta que, si bien Glyphs puede exportar Variable Fonts, la implementación se encuentra aún en su versión beta. A lo largo de este tutorial, señalaré en qué puntos debes tener cuidado.

¿Qué son Fuentes Variables?

Si no has leído el excelente artículo introductorio de John Hudson, pon en pausa lo que estés haciendo y léelo. Hablo en serio.

Paso 1: Definir ejes (Axes)

En Archivo > Información de la fuente > Fuente, agrega un parámetro customizado llamado Axes. Luego haz doble clic en su campo Valor. En la siguiente ventana, haz click en el engranaje y agrega un eje, elije uno de los predefinidos (Weight, Width, Italic, Slant, Optical Size) o establece un nuevo eje.

Pro tip: Si creas tus propios ejes «privados» (private axis / Hide), sigue el estándar de la nomenclatura para evitar una posible colisión con las actualizaciones, por lo tanto define una etiqueta de cuatro letras, se recomienda mantener las etiquetas privadas en mayúsculas, por ejemplo, SMIL para Smile o ROTN para Rotación o BALR para Bailarín. Esto se debe a que las etiquetas de mayúsculas están reservadas oficialmente para uso privado y los ejes predefinidos siempre estarán en minúsculas.

Puedes redefinir los ejes en cualquier momento. En la versión actual, puedes establecer hasta 6 ejes. En este ejemplo, trabajaré con un eje, Peso (Weight), con la etiqueta wght:

Puedes administrar tus ejes con el menú que se despliega haciendo click en el engranaje, abajo a la izquierda de la ventana de diálogo.

Paso 2: Configuración de los Másteres

En Archivo > Información de la fuente > Máster agrega un máster con el botón + que se encuentra en la esquina inferior izquierda de la ventana, como lo harías para un proyecto de Multiple Masters. En nuestro ejemplo, agregaremos dos másteres, Light y Bold.

Para cada máster, selecciona la siguiente configuración:

  1. Asegúrate de elegir un nombre de máster apropiado para cada máster. En nuestro caso, los nombres serán Light y Bold. Los nombres de los máster no se exportan en el archivo final de la fuente, pero son muy importantes para tu propia orientación cuando trabajas en Glyphs.

  2. Aquí lo más importante: define las coordenadas de los ejes en cada máster. Para nuestro ejemplo, he establecido 50 para el máster Light y 200 para el máster Bold. A muchos diseñadores les gusta usar el ancho del bastón como valor del eje de peso wght, pero puedes ingresar el valor que quieras, siempre que los valores sean bien diferentes, de modo que Glyphs pueda calcular instancias intermedias. Las instancias intermedias entre 50 y 200 podrían ser 75, 120, 182, etc.

  3. Opcional, elige un icono para identificar cada máster, en la esquina superior derecha de la ventana máster Archivo > Información de la fuente > Másteres. Allí puedes seleccionar entre un rango de n minúsculas que representan todo tipo de combinaciones de peso y ancho. También puedes agregar el nombre de un glifo a tu elección en la parte inferior de esta ventana emergente y Glyphs usará la imagen de ese glifo como icono del máster seleccionado. Nuevamente, esto es solo para tu orientación, por lo tanto elige algo que tenga sentido para ti.

Por supuesto, si te desplazas un poco hacia abajo en la ventana Máster, encontrarás muchos más valores para configurar: zona de alineación, trazo, parámetros customizados. Puedes configurarlos según tus objetivos de diseño. Solo asegúrate de que los valores ingresados sean compatibles. Esto significa que si agregas un valor en un máster, debes agregar su valor correspondiente en todos los demás máster. Por ejemplo, si has declarado valores verticales y horizontales en la sección Stems (bastón) en un máster, los otros máster también deberán tener la misma cantidad de valores y en el mismo orden. Puedes encontrar más información sobre cómo configurar Multiple Masters en este link

Versión beta: Nota sobre las coordenadas de los ejes: Técnicamente, cada eje se define por una escala con una semántica específica, por ej. la escala de peso (Weight) debe ser compatible con usWeightClass para poder trabajar y funcionar correctamente con CSS y permitir el intercambio entre fuentes manteniendo el mismo estilo relativo. Por lo tanto, 400 debe ser el valor para el peso Regular y 700 para la Bold, etc. La clase ancho debe ser compatible [usWidthClass], esta clase utiliza una escala de porcentaje, por lo tanto 100 (%) será la coordenada para el ancho normal y el valor utilizado en los otros máster deben ser un porcentaje relativo al ancho normal, generalmente 75 (%) para un ancho condensado, o 125 (%) para un extendido.

El eje de peso (axis Weight) es un poco complicado en la versión actual. Tienes dos opciones: Puedes usar los rangos definidos por las especificaciones siguiendo las sugerencias de la usWeightClass en lugar del ancho de bastón, o agregar parámetros de ubicación del eje Axis location (ver más abajo) para remapear los máster. Ambas opciones tienen el inconveniente de que es poco probable que los pesos predefinidos entre sus másteres se distribuyan de la manera uniforme que asume usWeightClass. En otras palabras, si tienes un máster Regular en 400 y un máster extraBold en 800, es más probable que ganes la lotería a que tus instancias intermedias encajen perfectamente en 500 para la Medium, 600 para la SemiBold y 700 para la Bold.

Teóricamente, podrías evitar esto insertando tus instancias como máster. Puedes hacer esto desde Archivo > Información de la fuente > Instancias, seleccionando una instancia tras otra y eligiendo la opción «instancia como máster» desde el botón + en la esquina inferior izquierda de la ventana, y luego cambias a la pestaña Máster y restableces las coordenadas de peso según la tabla de usWeightClass.

Nuevamente en la pestaña Instances, puedes eliminar y re-insertar las instancias desde el pequeño botón +, agregar instancia para cada máster.

Por ahora, recomendamos hacer esto solo para una fuente de envío real, no te preocupes demasiado por ello mientras estás experimentando o si estás viendo alguna implementación específica.

Paso 3: Dibujo de glifos compatibles

En este punto veremos cual es la lógica de dibujo o de trazado para evitar superposiciones de contornos o ángulos cerrados que luego generan «chichones» o efectos no deseados. Para hacerlo de manera simple y breve, utilizaremos una A mayúscula como ejemplo, esta lógica de dibujo puedes aplicarla a cualquier signo.

He dibujado una A light con un bastón de un ancho aproximado de 50 unidades, y una A negrita con un bastón de 200 unidades:

Es importante mantener todos los contornos, componentes, anclas compatibles, dirección del trazo tal como lo haría en cualquier Multiple master.

  • Pro tip: Puedes verificar la compatibilidad entre másteres en Ver > Mostrar compatibilidad de másteres (Ctrl-Opt-Cmd-N), pero si no haz definido instancias (consulta el paso 4), Glyphs tolerará incompatibilidades entre másteres. En Archivo > Información de la fuente > Fuente puedes agregar un parámetro customizado llamado Enforce Compatibility Check y Glyphs conectará los másteres incluso si no hay instancias entre ellos:

Paso 4: Agregar instancias predefinidas

Aunque nuestra fuente es una Variable font y ya tenemos una cantidad infinita de instancias, podemos elegir algunos puntos específicos en la escala y definirlos como instancias para que el usuario pueda seleccionar en el submenú de la fuente en la aplicación con la que esté trabajando. En Archivo > Información de la fuente > Instancias puedes agregar tantas instancias como desees. Simplemente agrega nuevas instancias con el botón + en la esquina inferior izquierda o puedes duplicar las instancias existentes.

Todo lo que necesitas hacer en cada instancia es lo siguiente:

Setting up the instances
  1. Es importante definir correctamente en nuestro ejemplo el nombre de cada estilo: Light, Regular, Medium, SemiBold, Bold, ExtraBold.
  2. Elige un peso y ancho en el menú desplegable debajo del nombre del estilo. Lo importante es que los números al lado de los menúes estén en el orden correcto, esta numeración hace que al desplegarse el submenú fuente en las aplicaciones de Adobe, el orden de aparición de los estilos sea coherente al peso y no, por ejemplo, alfabéticamente. En nuestro ejemplo, todas las fuentes tienen el mismo Ancho (Medio/normal, 5), pero el Peso es ascendente (de Light a ExtraBold: 300, 400, 500, 600, 700, 800). Para instancias intermedias, también puedes agregar los parámetros weightClass y widthClass con números intermedios. Puede leer más sobre este tema en el tutorial Naming.
  3. Linkeo de estilo (style linking): Al setear el linkeo de estilos, el usuario de la fuente podrá cambiar de Regular a Itálica, de Regular a Bold o de Bold a Bold Itálica desde el menú general de la aplicación que esté utilizando en lugar de tener que ir a la paleta de tipografía y hacer el cambio correspondiente. Para más información sobre este punto, puedes leer el tutorial Naming.
  4. Definir las coordenadas de eje en la escala. Para más información sobre este tema, puedes leer el tutorial Multiple Masters, part 3.
  5. Y, odio decirlo, pero muchos parámetros customizados no funcionan en las instancias de las OTVar (OpenType Variable fonts), especialmente los filtros de «post-procesamiento». Si tienes alguno de estos filtros en tus instancias, el software los ignorará y listo. ¿Por qué? Porque ponen en riesgo la compatibilidad de la fuente si es utilizada en diferentes aplicaciones.

Paso 5: Exportar y testear la variable font

Ve a Archivo > Exportar y haz click en la pestaña Variable fonts:

Si tienes la última versión de Adobe Illustrator o de Adobe Photoshop (CC2018), puedes exportar la fuente dentro de la carpeta Adobe Fonts, selecciona la fuente en la paleta de tipografía y se abrirá una pequeña ventana emergente donde podrás experimentar con el eje peso, siguiendo con nuestro ejemplo, o con otros ejes, según hayas diseñado tu proyecto.

Si prefieres testear la OTVar en otras aplicaciones alternativas, puedes intentar con algunas de las fantásticas páginas de testeo de variable fonts. Mis sitios favoritas son: Wakamai Fondue de Roel Niesken, Dinamodarkroom Font Gauntlet de ABC Dinamo (que incluso te permitirá animar tus variable fonts) y
Axis Praxis de Laurence Penney:

O puedes instalar los scripts mekkablue (instrucciones de instalación incluidas) y utilizar Variable Font Test HTML. Una vez descargado el script podrás testear tu variable font, encontrarás el Script > mekkablue > Test > Variable Font Test HTML, al hacerle click exportará dos archivos: un HTML y la fuente OTVar; lo único que necesitas hacer es arrojar el archivo HTML a tu navegador y se abrirá una página similar a la que ves en la imagen:

Notas: Al momento de escribir este tutorial, considero que las mejores opciones de navegador son Chrome o Safari, siempre y cuando estés utilizando macOS High Sierra o posterior, o iOS 11 o posterior. Safari no funcionará en versiones anteriores del sistema operativo. Firefox y Edge también deberían funcionar, pero asegúrate de tener la última versión de los mismos.

Si deseas utilizar otro navegador, ya sea diferente o anterior, o probar una versión previa del sistema operativo, echa un vistazo al blog de Axis Praxis, allí Laurence Penney explica dónde descargar y cómo configurar las versiones preliminares de los navegadores más populares. Cada vez más navegadores están soportando Fuentes Variables, o ya las admiten, pero necesitas habilitar algunas configuraciones. Laurence lo explica todo en su publicación.

Evitando «inconvenientes, situaciones no deseadas, bugs»

La implementación de las OTVar en Adobe presenta algunos errores. Por lo tanto, si la fuente no se interpola correctamente en Illustrator o Photoshop, puede que no sea culpa de la fuente. Los indicadores son diversos: puede ser un glifo que permanece estático y no reacciona a los cambios de posición que indicamos a través del manejador de la ventana de animación de las OTVar, o pueden aparecer pequeños pliegues o chichones durante el deslizamiento de una posición a otra, por ejemplo, así:

Si eso sucede, puedes intentar establecer diferentes puntos de inicio en el dibujo del contorno en cuestión: Declarar cuál es el primer nodo del dibujo y en qué dirección se desarrollará.

Descubrimos que esto a veces ayuda a evitar el error de renderizado en Illustrator. En cualquier caso, si ves que la misma falla no aparece en los navegadores, puedes confirmar que el problema no está en la fuente. En este caso, puedes enviar el archivo de la fuente junto con un archivo .ai que contenga el bug en cuestión al soporte de Adobe.

Encontramos otro error molesto de implementación en el procesador CoreText de Apple. Aquí los componentes se desarticulan cuando los LSB Left Side Bearings o métrica izquierda (en español) están modificados. Observa cómo se comporta correctamente a, mientras que la a-diéresis cambia más de lo deseado:

Esto afecta a todos los entornos o ambientes que utilizan el motor de render de CoreText, lo cual incluye a casi todos los navegadores Mac. En ese caso, lo recomendado es que te asegures de que todos los componente se hayan «descompuesto» al exportar la fuente. La forma más segura y rápida de hacer esto es agregar en los parámetros customizados de la fuente la instrucción: Decompose Components in Variable Font. Ve a Archivo > Información de la fuente > Fuente y en la sección parámetros customizados, allí debes hacer click en el botón + y tipear Decompose Components in Variable Font, en la columna de valores el casillero debe estar tildado.

No está demás recordar que el TTF resultante será mucho más grande y no apto para el uso web hasta que Apple solucione el problema.

Update: Apple ha solucionado este problema. Asegúrate de tener la versión correspondiente de macOS 10.13, o el nuevo macOS.

También hay algunos problemas de renderizado ocasionados por el overlap, la superposición de partes en el dibujo de los signos, que tienen las variables fonts. Esto no es realmente un problema pero ante nuestros ojos lo es. Si una forma está dibujada por dos segmentos con secciones (parcialmente) superpuestas, el suavizado (anti-aliasing) hará que el borde (el contorno) donde hay superposición parezca más oscuro que las otras secciones del contorno donde no hay superposición:

La solución a esto es volver a dibujar esa forma de tal manera que el contorno exterior sea siempre «limpio y llano», es decir, que esté dibujado en un solo trazo. La forma en que me gusta dibujar estas situaciones es:

En algunos casos podrás resolver esto a través del filtro de Remover superposiciones (Remove Overlaps) y luego aplicando Abrir Las Esquinas (Open Corners) o Reconectar Nodos (Reconnect Nodes). Ambas funciones puedes encontrarlas en el menú contextual de cada nodo, o cada par de nodos, seleccionados respectivamente: Para reconectar nodos: selecciona los dos puntos, haz click derecho, Reconectar Nodos (Reconnect Nodes). Para abrir las esquinas, selecciona el vértice, haz clic derecho, Abrir Esquina (Open Corners).

Si utilizas estas funciones frecuentemente, puedes designar un shortcut en las Preferencias del Sistema > Teclado >Funciones rápidas > Funciones rápidas de….

Opcional: Agregar un master virtual

Imagina que necesita un eje que solo afecte la apariencia de algunos glifos, por ejemplo, la altura de la barra transversal de A, E, F, H pero este eje no aplica a S, D, J, O, etc., ni tampoco a los signos que están fuera de la categoría letras (letters) como las figuras, los signos de puntuación y los símbolos. En este caso no tendría sentido generar un nuevo máster con todos los signos cuando solo queremos modificar un par de glifos. Lo más lógico (y económico) sería introducir un máster adicional solo para esos glifos que tienen, siguiendo nuestro ejemplo, una barra transversal. Bueno, para estos casos tenemos algo llamado Máster Virtual o Virtual Master.

(Pude que hayas visto algo similar a esto en el tutorial «Additional master for indivual glyphs, the brace trick», o en español, «Agregar un máster individual, el truco de las capa Brace»)

  1. En Archivo > Información de la fuente > Fuente agrega un nuevo eje (axis) a los ejes ya declarados en los parámetros customizados haciendo click en el botón +. Como el eje que queremos agregar no está listado dentro de los ejes predeterminados, el nombre puede ser arbitrario. En este ejemplo, sugiero que el nombre Crossbar Height y su forma corta en 4 letras (mayúsculas) sea CRSB:
     

     

  2. En esa misma pestaña Fonts de la ventana Font info agrega el parámetro customizado Virtual Masters y en la columna valores definimos que para eje Weight (peso) el valor sea el mismo que el utilizado en el máster light, siguiendo nuestro ejemplo sería 50 y como valor mínimo de altura de la barra definiremos 0.
     

     

  3. Ahora pasamos a la pestaña Máster (Archivo > Información de la fuente > Másteres). Allí debes revisar todos los máster y asegúrate que la coordenada del eje para Crossbar Height no sea cero, los ejes que vayas agregando se irán listando debajo de título Axes coordinantes, en nuestro ejemplo ya teníamos el eje Weight, ahora se agrega Crossbar Height. La idea es que de alguna manera los valores tengan sentido semántico. En nuestro caso, cero representa la posición más baja posible de barra transversal y 100 la posición más alta posible.

Ahora que el máster virtual ya está declarado y configurado, podemos entonces dibujar este máster virtual en los glifo que necesiten la modificación de la altura de la barra, A, E, F, H:

  1. Abre alguno de estos glifos en el editor.
  2. En la paleta Capas (Layers), duplica el layer Light con el botón Copiar (Copy), esta capa particular se denomina brace layer
  3. Cambia el nombre del layer duplicado a {50, 0}, es decir, escribe entre llaves {} y separadas por una coma la coordenada del eje Weight (50 que representa el máster light en nuestro ejemplo) y la coordenada del eje Crossbar Height (0 que indica la altura más baja de la barra transversal).
  4. Ahora puedes modificar el dibujo en este nuevo layer, cambiando la posición de la barra a la altura que desees, esa será la posición 0 de nuestro ejemplo:

Nota: A menos que desees realizar ajustes finos, no necesitarás agregar una brace layer en el máster Bold. En las Variable fonts los deltas (el indicador de movimiento de un punto) de los dos ejes se complementan entre sí y se pueden sumar para formar el máster Bold con la barra transversal baja.

Eso es todo, ahora todo lo que necesitas hacer es exportar la fuente y probarla en Illustrator, Axis Praxis o el script de testeo de Variable Font HTML y et voilà: un segundo eje de variación está disponible y puedes bajar la barra transversal a la posición que desees.

Efectivamente, hemos agregado una segunda dimensión a nuestro espacio de diseño. Si lo hace, es aconsejable mantener los máster circunscritos en una forma rectangular, o incluso sería más conveniente mantener la idea de un desplazamiento vertical u horizontal con respecto al máster de origen. En nuestro ejemplo la dirección de movimiento del máster Bold {100, 0} hacia el Light {50, 0} es horizontal (la diferencia se encuentra solo en la primera coordenada), y en el máster con la barra baja el movimiento es vertical (la diferencia se encuentra en la segunda coordenada), Light {50, 0}, Bold {50, 100}). De esta manera tienes un mayor control porque puede alcanzar cualquier punto circunscripto en el espacio de diseño simplemente agregando los deltas verticales y horizontales que se crearon organizadamente en cada máster.

Opcional: punto de partida

Al exportar una variable font obtenemos un solo archivo, o sea, solo se guarda un set de contornos de la fuente. En este caso, un software no compatible con OTVar (variable fonts) solo podrá mostrar ese set de contornos que hemos exportado. Ese set predeterminado suele ser el que corresponde al máster 1. No obstante podemos definir un set, un máster, diferente. Para hacerlo, debes ir a Archivo > Información de la fuente > Fuente y agrega un parámetro customizado llamado variable font origin, y como valor selecciona el nombre del máster que consideras que debe ser el predeterminado.

Nota: Recordemos que máster es el signo que dibujas e instancia es la fuente que se exporta, en este caso debemos seleccionar un máster, y este máster se comporta como instancia, pues es la fuente que exportamos y el usuario utiliza.

Sí, debe ser un máster. Si deseas que alguna de las instancias sea el origen, deberás agregar esa instancia como un máster adicional de la siguiente manera:

  1. ve a Archivo > Información de la fuente > Instancias,
  2. selecciona la instancia que quieres definir como origen (la que debes transformar en máster),
  3. haz click en el botón + en la esquina inferior izquierda de la ventana y
  4. selecciona Instancia como máster (Instance as Master) en el menú emergente.

Ahora tienes un máster adicional en la solapa Másteres (Archivo > Información de la fuente > Másteres), y puedes configurarlo como Origen de la variable font.

Dos puntos a considerar:

  1. La apariencia predeterminada (default appearance): una de las ideas fundamentales detrás de las variable font es que puedes elegir la instancia más utilizada como predeterminada, generalmente esta instancia es la Regular. En Multiple Masters, diseñas los extremos (es decir, tus instancias menos utilizadas) e interpolas todo lo demás. Una fuente variable puede ir en la dirección opuesta: solo almacena los contornos más importantes en algún lugar en el medio y todas las demás instancias se derivan de ese medio. Por lo tanto, para las desktop fonts, se recomienda elegir la instancia Regular como origen, o lo que el usuario espera ver como la "apariencia predeterminada" de esa fuente. Si todo falla, este es el peso que el usuario podrá utilizar.
  2. Tamaño del archivo: Elegir un máster del medio probablemente aumente el número de puntos deltas, por lo tanto también aumentará el tamaño del archivo final. En una configuración de un solo eje, es posible que el número de deltas se duplique, o tal vez más. En otras palabras, para webfonts, tiene más sentido elegir uno de los máster extremos, para mantener bajo el tamaño del archivo y los tiempos de carga.

Opcional: Axis Location

Aquí buscamos unificar los criterios numéricos de las escalas de movimiento de los diferentes ejes. En la ventana Archivo > Información de la fuente > Máster puedes agregar el parámetro llamado Axis Location. Con este parámetro puedes cambiar las coordenadas del eje. Esto tiene sentido si necesitas ofrecer a los usuarios diferentes valores de interpolación que los valores ingresados en los máster e instancias.

Siguiendo con nuestro ejemplo, puedes argumentar que si la barra de desplazamiento va de 50 a 200 podría confundir a los usuarios, por lo tanto haremos que el controlador cubra un rango de 0 a 100 similar a una escala de porcentaje. Para esto, agregaremos el parámetro Axis Location en ambos máster, donde weight = 0 en el master Light y weight = 100 en el master Bold.

Nota: Si agregas el parámetro Axis Location, estarás cambiando los ejes exportados en tu variable font. Eso significa que también debes mantener la coherencia con las coordenadas del eje afectado en el parámetro Virtual Master, si tiene uno. No cambies los números en las capas Brace y Bracket, ya que estos están atados al espacio de diseño creado por los valores de interpolación originales.

Limitaciones

Hay algunas cosas a las que ya te has acostumbrado y que no funcionan como esperas en una fuente variable.

  1. Como ya mencioné brevemente los parámetros customizados de post-procesamiento que declaremos en la ventana Archivo > Información de la fuente > Instancias serán ignorados, ya que este proceso probablemente genere incompatibilidad e inconsistencia entre los glifos. Eso incluye filtros y los parámetros de Rename.
  2. Los Corner Components funcionarán. Pero funciona de manera diferentes: en las fuentes variables se aplican antes de la interpolación, en una configuración clásica de Multiple Master se insertan después.
  3. Las capas Brace y Bracket funcionan, pero no funcionarán si un glifo tiene las dos, o sea, una de cada una. Puedes tener glifos con Brace y otros glifos con Bracket en una fuente; pero no puedes tener en un mismo glifo ambos layers. Disculpa, estamos trabajando para solucionar esto.

Esto no es opcional: tabla STAT

En las nuevas tecnologías de fuentes, que incluyen a las variable fonts, la información del nombre se almacena en una tabla llamada STAT. STAT es la abreviatura de Style Attributes e incluye, entre otras cosas, información sobre ejes/axis, instancias y algo llamado cadenas de visualización (display strings) o cadenas de nombre (name strings): por ejemplo, hay nombres por secciones de ejes, un eje de peso se puede subdividirse en Light, Regular, Medium, SemiBold, Bold; y un eje ancho puede subdividirse en Condensed, Regular, Extended.

La idea detrás de esto es que una aplicación puede nombrar la instancia que el usuario utiliza en ese momento, independientemente de la configuración de las opciones disponibles en la correspondiente ventana. Efectivamente, en una fuente que posee múltiples ejes (multiple-axis) puedes tener una cantidad n de posibilidades de nombres.

Por ejemplo, si la fuente tiene un eje de peso y un eje de ancho, obtendrás una columna weight y una fila width, cómo puedes ver en la tabla a continuación de este párrafo. Para definir el nombre de la combinación resultante de la intersección entre la sección Bold en el weight con la sección condensed en el width, la aplicación puede combinar las nombre de visualización y nombrar esa instancia, así tendremos "Bold Condensed":

Hay nombres en esta tabla de nomenclaturas que se consideran omisibles, que se puede omitir (el término en inglés es elidable).

Esto es cuando, por ejemplo, los nombres de algún eje se cruzan con nombres de estilos predeterminados como Regular, Normal o similar. Si el peso semiBold se combina con el ancho Normal generalmente se llama "SemiBold", no se llama "SemiBold Regular"; o si el peso Regular se combina con el estilo en Italic simplemente se llama "Italic", no la nombramos "Italic Regular". Por lo tanto, el nombre para mostrar "Regular" se considera omisible.

Por lo general, Glyphs se encarga de esto de manera bastante inteligente analizando los nombres de tus instancias predefinidas. Sin embargo, si encuentras que en las entradas de la tabla STAT, las cadenas de visualización no están correctamente establecidas en el archivo, puedes redefinir esto con los siguientes parámetros en la ventana Archivo > Información de la fuente > Instancias:

  • Style Name as STAT entry (Nombre de estilo como una entrada STAT): toma el nombre de estilo de instancia como una cadena de visualización combinable para un rango de eje. Como valor, debes utilizar la etiqueta de cuatro letras del eje al que se aplica la cadena de visualización. Utiliza esto solo en instancias que no sean normales en un eje y que sean normales en todos los demás. Esto se debe a que los atributos normales tienen nombres que se pueden omitir y no aparecen en el nombre del estilo (por ejemplo, "SemiBold" o "Condensado"). Ejemplo: en la instancia de Light, utiliza este parámetro con el valor whgt, porque Light es un valor en el eje de peso.

  • Elidable STAT Axis Value Name: este parámetro declara el nombre de estilo de instancia como omisible para el eje que hayas especificado en el valor del parámetro. Como valor, utiliza la etiqueta de cuatro letras del eje correspondiente. Por lo general, este parámetro se agrega al estilo Regular y luego a cada eje cuyo nombre es omisible. Ejemplo: una instancia llamada Regular tiene dos parámetros omisibles, uno con wght (weight, peso) y otro con wdth (width, ancho) como valores de parámetros.

Pro tip: la tabla STAT está tomando cada vez importantancia. En un futuro no muy lejano, muchas aplicaciones tomarán esta tabla como requerimiento para poder cargar una fuente. No me preguntes dónde lo oí, pero déjame decirte que si desea que tus fuentes puedan ser utilizadas en Windows, debes equiparlas bajo esta normativa. Sugerencia para el eje italic (ital): para diferenciar entre la variable upright (itálica vertical) e italic (itálica inclinada), se utilizan los valores 0 y 1, respectivamente.

Script super-útiles

En el directorio que mekkablue ha publicado en GitHub pueden encontrar un buen surtido de scripts que facilitarán tu trabajo de desarrollar variables fonts. En el link a Github hay un instructivo de como instalar este set de scripts.

  • Interpolation > Compound Variabler: este script (Script > mekkablue> Interpolation > Compound Variabler) reduplica los layers Brace y Bracket de los glifos componentes en los glifos que utilizan esos componentes, de esta manera, los glifos con componentes funcionarán correctamente.

  • Kerning > Zero Kerner: este script (Script > mekkablue > Kerning > Zero Kerner) agrega grupos de kerning con valor cero a los pares que no se encuentran en un máster pero sí están en otros. Ayuda a conservar la coherencia de interpolación de kerning en las OTVar. Utiliza este script si en tu fuente se presenta esta situación de pares que existen solo en uno de los máster.

Recursos adicionales

¿Quieres profundizar en este tema y aprender más sobre Variable Fonts? En estos links que proponemos encontrarás más información:


STAT table sample font: Plantago by Viktor Solt-Bittner and Schriftlabor.
Many thanks to Rob McKaughan for his commentary and advice on this tutorial.

Update 2018-03-16: Corrected some typos (thx Jeff Kellem).
Update 2018-06-22: Clarified wording for the example values (thx Karl).
Update 2018-11-20: Updated naming of Variable Font Origin parameter.
Update 2019-02-15: Added links for Font Gauntlet and Wakamai Fondue. Updated test script and browser support info. Added Circumventing Bugs.
Update 2019-03-13: Added Additional resources.
Update 2019-03-04: Corrected typos and replaced Variation Fonts by Variable Fonts of the Export window (thx Nathalie Dumont).
Update 2019-03-20: Corrected typos, replaced Add Instance as Master for Instance as Master, and modified link to Nick Sherman's V-Fonts (thx Nathalie Dumont).