¿Se puede diseñar un tipo de letra para que los caracteres dependan de los caracteres anteriores dentro de una palabra escrita?

13

Me embarco en un proyecto para diseñar mi propia fuente para un proyecto personal que se parecerá a mi letra. He leído algunas buenas guías para tener una visión amplia de lo que se necesitará para lograr esto, esta fue una muy buena que encontré.

Parece que no puedo encontrar ningún lugar que sugiera que es posible hacer lo que me gustaría; ¿Se puede hacer que una letra dentro de una fuente tenga diferentes apariencias dependiendo de qué letras la preceden?

Mi objetivo sería hacer que las letras se conectaran como lo hacen en mi escritura a mano, pero para hacerlo, cambio su forma a medida que escribo para conectarme entre sí según la letra que he escrito antes que otra. ¿Se puede programar una fuente para que cada letra se adapte en función de la escrita anteriormente?

Fiztban
fuente
3
No sé nada sobre las técnicas involucradas en caracteres alternativos, pero un punto de referencia que puede ser interesante de investigar es el tipo de letra Sigmund Freud. Fue diseñado para cambiar dependiendo de la materia escrita. Este es un buen artículo y menciona algo llamado Sustitución polialfabética, que puede ser lo que buscas smashingmagazine.com/2014/06/…
johnp
¡Este es un material excelente que ayuda mucho con mi objetivo! Gracias por compartir. Es interesante ver más de la técnica involucrada, es posible que desee incluir la información de su comentario en una respuesta para que gane más visibilidad cuando alguien más vea esta publicación.
Fiztban

Respuestas:

15

Sí, tú puedes hacerlo. Lo haces a través de una función OpenType llamada Alternativas contextuales (calt).

Código de muestra:

feature calt { 
    lookup calt1 { 
       sub a' b  by a.ss01 ; 
       } calt1; 
    }

Básicamente, le dice a la fuente: sustituya a + b con a.ss01 + b

Esta es una buena descripción general de las características de sustitución de OpenType .

espiral
fuente
Gracias por tu ayuda. El artículo es realmente interesante y útil, ya que muestra cómo comenzar a lograrlo. Si tiene otras fuentes que conozca, le agradecería que las agregue a su respuesta. Feliz Navidad / Felices Fiestas para ti.
Fiztban
10

Si, esto se puede hacer. Existen varios estándares de fuentes inteligentes, a saber, AAT, Graphite y OpenType, que permiten hacer esto. Este último parece ser el siguiente.

Aquí hay un ejemplo que creé usando tales técnicas. Observe cómo la letra s se representa de manera diferente en función de la letra anterior y siguiente:

Ejemplo para una característica contextual

La forma exacta en que logra mejor su objetivo depende de sus detalles, pero es casi seguro que quiera trabajar con clases de búsqueda y formularios contextuales.

Wrzlprmft
fuente
Gracias por su respuesta, es exactamente lo que estaba buscando y si requiere algo de programación, no solo puedo programarlo para que tenga alternativas basadas en una búsqueda, sino que también puedo tratar de incluir algunas variaciones aleatorias, ya que la escritura a mano nunca es perfecta. Pero esa es otra parte del proyecto. Deseo marcar esto como la respuesta, pero la respuesta a continuación también incluyó un método para comenzar, así que me inclino a aceptarla, ¿podría ampliar la suya para que pueda aceptarla?
Fiztban
Y felices fiestas / feliz navidad para ti!
Fiztban
3
No sé mucho sobre METAFONT (el motor de fuentes creado por el autor de TeX, Donald E. Knuth), pero estoy bastante seguro de que también puede hacerlo.
Jörg W Mittag
Interesante, ¡ciertamente lo buscaré!
Fiztban