La lógica de las clases de interletraje

Soy un principiante con FontForge y me gustaría saber:

Whit es la mejor lógica para crear clases. Quiero decir: tengo que kern, digamos, VA pero Va también. Obviamente, tengo que interletar muchos otros glifos con  un . Pero la primera clase que creé está compuesta por todos los glifos a kern junto con  V , y la segunda por otros glifos, incluyendo  a , a kern con otros glifos y con diferentes características. ¿Cuál es la lógica más eficiente para crear estas clases?

  1. Creo una clase (izquierda) con FP , y una clase de emparejamiento (derecha) con algunos otros glifos como a , or con cierto interletraje. Después, creo otra clase (izquierda) con T , y una clase de emparejamiento (derecha) con algunos otros glifos como u , y y nuevamente r con diferente interletraje. Pero FontForge me dice que r ya está en uso y debo eliminarlo de una de las dos clases. Entonces, ¿tengo que eliminar  r de las dos clases anteriores y crear una nueva tercera clase solo con  r para emparejarla con las dos clases restantes de diferentes maneras?

  2. ¿Lo mismo para algunos glifos seguidos de coma? Es evidente que n. generalmente está bien sin interletraje, mientras que r., w. o y. necesita un espacio diferente. Lo mismo para un guión entre oo y nn : si el espaciado es el mismo, se ve bien entre las dos  o, pero no entre las dos  n. ¿Cuál es la forma más económica de manejar estas situaciones?

  3. Porque el apóstrofe en mi fuente generalmente tiene un espacio demasiado grande a la derecha, ¿cuál es la forma de aplicar el interletraje a todos los glifos que siguen al apóstrofo? ¿Hay un comodín como *en Bash?

Bienvenido a Diseño Gráfico SE. Eliminé una de sus preguntas porque preferimos una pregunta por pregunta aquí. Siéntete libre de preguntarlo por separado. Sin embargo, antes de hacerlo, sería útil que incluyera algunas capturas de pantalla para que tengamos una idea de lo que intentó y dónde le salió mal. También puede ser que una respuesta a esta pregunta resuelva su segundo problema automáticamente.
Por favor, vea las ediciones a mi respuesta. Además, absténgase de hacer preguntas de seguimiento en la misma pregunta en el futuro. Más bien haz nuevas preguntas.
está bien, lo siento. Sólo que me parece que las preguntas se refieren al mismo complejo de problemas. En cualquier caso, en el futuro dividiré una sola pregunta compleja en varias preguntas diferentes.

Respuestas (1)

La idea detrás de las clases de kerning es que deben contener glifos que se kernen de manera similar o idealmente idéntica en una dirección (izquierda o derecha). Al agruparlos, evita el trabajo redundante, ya que solo tiene que decidir cómo se intercala uno de los miembros de la clase y luego los demás se comportarán automáticamente de la misma manera.

Por ejemplo, en la mayoría de los tipos de letra, intercalaría las combinaciones Tc, Td, Te, Tq y To. ¹ En muchas tipografías, el kerning (más específicamente el espacio que eliminas) sería el mismo o muy similar para todas estas letras, ya que la forma del cuenco izquierdo es la misma o similar para ellas. Al poner c, d, e, q y o en la misma clase de interletraje a la izquierda, solo tiene que establecer el interletraje para estas combinaciones una vez, y lo mismo se aplica a todos los demás interletrajes a la izquierda de estas letras, por ejemplo, Lc, Ld , Le, Lq y Lo. Además, también podría poner la T en una clase de interletraje con otras letras que tienen un lado derecho similar, como Ţ y Ť.

Sin embargo, lo primero que describe ("la primera clase que creé está compuesta por todos los glifos para kern junto con V ") no tiene sentido, ya que, por ejemplo, mientras que VA y Va pueden kern similar, LALa kern diferente y por lo tanto, Aa no deben estar en la misma clase de interletraje.

Desde un punto de vista matemático, un interletraje ideal de n glifos se describe mediante una enorme matriz n×n . Determinar todas las entradas de esta matriz individualmente es una gran cantidad de trabajo. Las clases de interletraje aprovechan que para algunos grupos de glifos, puede predecir que todas las filas (o columnas) serán idénticas y reducen el problema de determinar el interletraje entre todos los pares de glifos para determinar el interletraje entre todos los pares de clases.

Por ejemplo, un subconjunto de su tabla de interletraje que cubra los ejemplos anteriores podría verse así (con y sin clases de interletraje):

ejemplo de clases de interletraje

Tenga en cuenta cómo el uso de clases de interletraje reduce drásticamente la cantidad de números que tiene que determinar.

¹ ignorando por un segundo que algunos de estos probablemente no sean relevantes en ninguna ortografía existente.

Sus problemas específicos

Creo una clase (izquierda) con F y P , y una clase de emparejamiento (derecha) con algunos otros glifos como a , o y r con cierto interletraje. Después, creo otra clase (izquierda) con T , y una clase de emparejamiento (derecha) con algunos otros glifos como u , y y nuevamente r con diferente interletraje. Pero FontForge me dice que r ya está en uso y debo eliminarlo de una de las dos clases. Entonces, ¿tengo que eliminar r de las dos clases anteriores y crear una nueva tercera clase solo con r para emparejarla con las dos clases restantes de diferentes maneras?

Sí. Me parece que desea que las clases de kerning contengan pares de glifos (que kernen lo mismo). Este no es el caso y tampoco tendría sentido, ya que tendría que tomar tantas decisiones como para el interletraje simple sin clase. En su lugar, las clases de interletraje contienen glifos que interlevan de la misma manera (en una dirección) que todos los demás glifos.

¿Lo mismo para algunos glifos seguidos de coma? Es evidente que n. generalmente está bien sin interletraje, mientras que r., w. o y. necesita un espacio diferente. Lo mismo para un guión entre oo y nn : si el espaciado es el mismo, se ve bien entre las dos o, pero no entre las dos n. ¿Cuál es la forma más económica de manejar estas situaciones?

Este puede ser un caso para tener diferentes tablas de kerning usando diferentes tablas de kerning para diferentes situaciones. Por ejemplo, en su ejemplo podría tener una tabla de interletraje para letra-puntuación y otra diferente para letra-letra. En su tabla de puntuación de letras , d y q estarían en la misma clase de interletraje a la izquierda, mientras que, por ejemplo, estarían en diferentes clases de interletraje a la izquierda para letra-letra porque dj y qj interletraje diferente.

Porque el apóstrofe en mi fuente generalmente tiene un espacio demasiado grande a la derecha, ¿cuál es la forma de aplicar el interletraje a todos los glifos que siguen al apóstrofo? ¿Hay un comodín como *en Bash?

Si desea interletraje comodín, debe ajustar el rumbo en su lugar (seleccione un glifo y luego use Establecer L Bearing o Set R Bearing en el menú Métricas ). En su ejemplo específico, reduzca el rumbo correcto del apóstrofe hasta que sienta que no necesita interletraje con la mayoría de los otros glifos. Luego use kerning para mejorar el espaciado con los glifos restantes.

Otras lecturas

También puede leer esta respuesta mía sobre otras técnicas para acelerar el interletraje.