¿Por qué agregar puntos extremos al diseñar fuentes?

Aparentemente, es importante agregar puntos de anclaje en los extremos horizontales y verticales de sus rutas al diseñar los glifos de una fuente. La mayoría de los editores de fuentes tienen funciones para agregarlas por usted y le darán un error si las omite.

Pero a veces es más fácil y más natural dibujar caminos como este:

ingrese la descripción de la imagen aquí

Observe los ángulos variados y la falta de puntos en la mayoría de los extremos.

El siguiente es un mejor camino, pero si está comenzando con algo como la primera imagen, llegar a esto significa un paso adicional en el proceso (a veces tener que volver sobre el original):

ingrese la descripción de la imagen aquí

Entonces, ¿por qué necesitamos agregar puntos extremos y qué problemas prácticos enfrentaré si no lo hago?

Respuestas (2)

Como ya se mencionó, los extremos son necesarios para la representación de fuentes y, en particular, para las sugerencias.

Para entender esto, primero veamos lo que sucede aproximadamente cuando se autoapunta un glifo con extremos como anclas (verde) en una cuadrícula de píxeles normal¹: para que una fuente se vea bien y nítida, los trazos verticales y horizontales deben caer exactamente en la cuadrícula de píxeles. Un glifo² colocado arbitrariamente generalmente no cumplirá este criterio y, por lo tanto, el renderizador lo distorsionará ligeramente con ese fin, es decir, moviendo los extremos, ya que definen los trazos verticales y horizontales:

ilustración de la parte crucial del proceso de insinuación

Este proceso requiere conjeturas por parte del renderizador, por lo que el diseñador puede definir un montón de cosas (tallos marcados, valores azules) que ayudan al renderizador en este proceso. Tenga en cuenta que este es solo uno de los primeros pasos y hay muchas cosas que suceden después de eso, que no es necesario que nos preocupemos por esta pregunta.

Ahora, primero supongamos que no solo usamos los extremos para definir el glifo, sino también algunos anclajes diagonales en el medio. Luego, estos anclajes tendrían que moverse gradualmente cuando se mueven los extremos, lo que nuevamente requiere conjeturas, pero a diferencia de mover los extremos, el diseñador de fuentes no puede hacer mucho para ayudar con esto debido a la complejidad de la situación. Por lo tanto, mover este exceso de anclas es una fuente considerable de error, en particular si las anclas están cerca de los extremos.

Finalmente, podemos volver a la pregunta y considerar qué sucede si no definimos ningún ancla en los extremos. En este caso, el renderizador tiene que determinar automáticamente los extremos (lo que puede hacer fácilmente) antes de moverlos junto con todos los demás anclajes. Dado que lo que elegiría naturalmente como ancla está cerca de los extremos para muchos tipos de tipografías, esto conlleva el riesgo de malas conjeturas debido a las razones explicadas anteriormente.

Para resumir un poco lo anterior: Extrema juega un papel crucial al renderizar de todos modos y, por lo tanto, es mejor si su glifo se basa en ellos para que el renderizador no tenga que adivinar.

Cotizaciones

De la patente US 7068276 B2 - Métodos y sistemas para fuentes indirectas :

El enfoque algorítmico que se describe a continuación intenta hacer coincidir los nudos explícitos en la curva utilizando características como la dirección del contorno y la presencia de extremos.

De Wiki de FontForge sobre insinuaciones :

Los contornos deben tener la dirección correcta; de lo contrario, se perjudicará el ajuste a las zonas azules. Cuantos menos puntos formen la forma (precisa), mejor. Pero las curvas insinuadas con tallos H/V deben tener puntos en los extremos, de lo contrario, no se romperán. Es poco elegante si tal punto es 'implícito'.


¹ no es muy diferente para las sugerencias de subpíxeles
², que es una gran simplificación, ya que la ubicación de los glifos con sugerencias es más compleja; pero es suficiente para este ejemplo

Aquí hay tres razones por las que "puntos en extremos" es el método preferido cuando se trabaja con curvas de Bézier. De hecho, al trabajar en letras en particular, lo he visto descrito como esencial :

  1. Mejora (en gran medida) la interpretación automática de sugerencias y PostScript . De hecho, establecer puntos en extremos es uno de los primeros pasos cuando se configuran sugerencias manuales.
  2. Mucho más fácil editar la forma más tarde . Editar las curvas más tarde es mucho más fácil con puntos en los extremos. Mover puntos en los extremos tiende a mantener bonitas las curvas con un mínimo esfuerzo adicional.
  3. Menos puntos en total . Los puntos extremos también tienden a lograr las mismas formas con menos puntos adicionales... lo que también da como resultado tamaños de archivo más pequeños.

Por estas razones, muchos programas de software de diseño de fuentes tienen herramientas para resaltar y fijar puntos que no están en los máximos y mínimos (los extremos).

Habiendo dicho todo eso, he trabajado durante mucho tiempo para establecer todos mis puntos en extremos, y nunca lo he logrado, ¡pero no me considero un Bezier Ninja!

Entiendo la pista, aunque mi lectura de las especificaciones me hace creer que es un problema de redondeo simétrico. En noticias no relacionadas se deben evitar los puntos de inflexión. Sin embargo, no entiendo las otras 2 razones. A menudo se citan, pero aún así. Si esto fuera cierto, los elementos girados tendrían diferentes manejadores Bézier óptimos, lo que parece no ser cierto dado que el objeto es constante en todas las orientaciones. Entonces, estos puntos son realmente defectos en las herramientas de creación o fallas en los cerebros humanos.
Si elige 2 y 3, preferiría usar puntos de inflexión y posiblemente puntos de mayor curvatura (vea esta respuesta mía ). (CC @joojaa)
@Wrzlprmft, sí, estoy de acuerdo, ya que los puntos de inflexión son globales para la forma. Además, a los motores de fuentes realmente no les gustan las curvas que se doblan, por lo que matan 2 pájaros al mismo tiempo.