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


9

Aparentemente es importante agregar puntos de anclaje en los extremos horizontal y vertical de sus caminos al diseñar los glifos de una fuente. La mayoría de los editores de fuentes tienen funciones para agregarlos por usted y le darán un error si los 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 camino mejor, pero si está comenzando con algo como la primera imagen, entonces 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:


7

Como ya se mencionó, los extremos son necesarios para el renderizado de fuentes y en particular las sugerencias.

Para entender esto, veamos primero lo que sucede aproximadamente cuando se apunta automáticamente un glifo con extremos como anclas (verde) en una cuadrícula de píxeles regular¹: para que una fuente se vea agradable 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 para 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 que están sucediendo muchas cosas después de lo cual no debemos preocuparnos por esta pregunta.

Ahora, supongamos primero que no solo hemos usado 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 estos anclajes excedentes es una fuente considerable de error, en particular si los anclajes 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 un 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 está construido sobre ellos para que el renderizador no tenga que adivinar.

Citas

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

El enfoque algorítmico descrito a continuación intenta unir nudos explícitos en curva utilizando características como la dirección del contorno y la presencia de extremos.

Del Wiki de FontForge sobre sugerencias :

Los contornos deben tener la dirección correcta, de lo contrario, el ajuste a las zonas azules se ve afectado. 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. No es elegante si ese punto es "implícito".


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


3

Aquí hay tres razones por las cuales "puntos en extremos" es el método preferido cuando se trabaja con curvas bezier. De hecho, cuando trabajo en letras en particular, lo he visto descrito como esencial :

  1. Mejora (en gran medida) la sugerencia automática y la interpretación PostScript . De hecho, establecer puntos en extremos es uno de los primeros pasos al configurar una sugerencia manual.
  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 extremos. Mover puntos en extremos tiende a mantener las curvas bonitas con un mínimo esfuerzo adicional.
  3. Menos puntos en general . 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 diseño de software de fuentes tienen herramientas para resaltar y fijar puntos que no están en los máximos y mínimos (los extremos).

Dicho todo esto, he trabajado mucho para establecer todos mis puntos en extremo, y nunca he tenido éxito, ¡pero no me considero un Bezier Ninja!


Me dan pistas, aunque mi lectura de las especificaciones me hace creer que es un problema de redondeo simétrico. En noticias no relacionadas, uno debe 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, entonces los elementos rotados tienen diferentes manejadores óptimos de Bezier, lo que parece falso dado que el objeto es constante en todas las orientaciones. Por lo tanto, estos puntos son realmente defectos en las herramientas de autor y / o fallas en el cerebro humano.
joojaa

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

@Wrzlprmft, sí, estoy de acuerdo, ya que los puntos de inflexión son globales a la forma. Además, a los motores de fuentes no les gustan las curvas que inviflexan, por lo que mata a 2 pájaros al mismo tiempo.
joojaa
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.