Pourquoi ajouter des points extrema lors de la conception de polices?

9

Il est apparemment important d'ajouter des points d'ancrage aux extrémités horizontales et verticales de vos chemins lors de la conception des glyphes d'une police. La plupart des éditeurs de polices ont des fonctions pour les ajouter et vous donneront une erreur si vous les omettez.

Mais il est parfois plus facile et plus naturel de tracer des chemins comme celui-ci:

entrez la description de l'image ici

Remarquez les angles variés et le manque de points sur la plupart des extrema.

Ce qui suit est un meilleur chemin, mais si vous commencez avec quelque chose comme la première image, arriver à cela signifie une étape supplémentaire dans le processus (devant parfois retracer l'original):

entrez la description de l'image ici

Alors pourquoi avons-nous même besoin d'ajouter des points extrema et à quels problèmes pratiques vais-je faire face si je ne le fais pas?

Cai
la source

Réponses:

7

Comme déjà mentionné, des extrema sont nécessaires pour le rendu des polices et en particulier les indications.

Pour comprendre cela, examinons d'abord ce qui se passe approximativement lors de l'auto-indication d'un glyphe avec des extrema comme ancres (vertes) dans une grille de pixels régulière¹: Pour donner à une police une apparence agréable et nette, les traits verticaux et horizontaux doivent exactement tomber dans la grille de pixels. Un glyphe² placé arbitrairement ne remplira généralement pas ce critère, et donc le rendu le déformera légèrement à cette fin, à savoir en déplaçant les extrema, car ils définissent les traits verticaux et horizontaux:

illustration de la partie cruciale du processus d'indication

Ce processus nécessite des devinettes de la part du moteur de rendu, c'est pourquoi le concepteur peut définir un tas de choses (tiges marquées, valeurs bleues) qui aident le moteur de rendu dans ce processus. Notez que ce n'est qu'une des premières étapes et qu'il se passe beaucoup de choses après cela, dont nous n'avons pas besoin de nous préoccuper de cette question.

Supposons maintenant que nous ayons non seulement utilisé des extrema pour définir le glyphe, mais aussi quelques ancres diagonales entre les deux. Ensuite, ces ancres devraient être déplacées progressivement lorsque les extrema sont déplacés, ce qui nécessite à nouveau des suppositions, mais contrairement au déplacement des extrema, le concepteur de polices ne peut pas faire grand-chose pour y remédier en raison de la complexité de la situation. Par conséquent, le déplacement de ces ancres excédentaires est une source d'erreur considérable, en particulier si les ancres sont proches des extrémités.

Enfin, nous pouvons revenir à la question et considérer ce qui se passe si nous ne définissons pas d'ancrage au niveau des extrema. Dans ce cas, le moteur de rendu doit déterminer automatiquement les extrema (ce qu'il peut faire facilement) avant de les déplacer ainsi que toutes les autres ancres avec lui. Étant donné que ce que vous choisiriez naturellement comme ancre est proche des extrema pour de nombreux types de polices de caractères, cela comporte un risque de mauvaise supposition pour les raisons développées ci-dessus.

Pour résumer quelque peu ce qui précède: les extrema jouent un rôle crucial lors du rendu de toute façon et il est donc préférable que votre glyphe soit construit dessus afin que le moteur de rendu n'ait pas à deviner.

Citations

Du brevet US 7068276 B2 - Méthodes et systèmes pour suggérer des polices :

L'approche algorithmique décrite ci-dessous tente de faire correspondre des nœuds explicites sur la courbe en utilisant des caractéristiques telles que la direction du contour et la présence d'extrêmes.

Du Wiki de FontForge sur les indices :

Les contours doivent avoir la bonne direction, sinon l'accrochage aux zones bleues est altéré. Moins les points forment la forme (précise), mieux c'est. Mais les courbes faisant allusion à des tiges H / V devraient avoir des points aux extrémités, sinon elles ne seront pas cassées. Ce n'est pas élégant si un tel point est «implicite».


¹ ce n'est pas très différent pour les indications de sous-pixels
², ce qui est une simplification générale, car le placement des glyphes avec les indications est plus complexe; mais cela suffit pour cet exemple

Wrzlprmft
la source
3

Voici trois raisons pour lesquelles les «points dans les extrémités» sont la méthode préférée lorsque vous travaillez avec des courbes de Bézier. En fait, lorsque je travaille sur le lettrage en particulier, je l'ai vu comme essentiel :

  1. Il améliore (considérablement) l'auto-suggestion et l'interprétation PostScript . En effet, la définition de points sur extrema est l'une des premières étapes lors de la configuration de l'indication manuelle.
  2. Il est beaucoup plus facile de modifier la forme ultérieurement . La modification des courbes plus tard est beaucoup plus facile avec des points dans les extrema. Déplacer des points dans les extrema a tendance à garder les courbes belles avec un minimum d'effort supplémentaire.
  3. Moins de points dans l'ensemble . Les points extrêmes ont également tendance à obtenir les mêmes formes avec moins de points supplémentaires ... ce qui entraîne également des tailles de fichier plus petites.

Pour ces raisons, de nombreux programmes de conception de logiciels de polices ont des outils pour mettre en évidence et fixer des points qui ne sont pas aux maxima et aux minima (les extrema).

Cela dit, j'ai longtemps travaillé pour mettre tous mes points en extrema, et je n'ai jamais tout à fait réussi, mais je ne me considère pas comme un Bézier Ninja!

mayersdesign
la source
J'obtiens l'indication, bien que ma lecture des spécifications me fasse croire que c'est un problème d'arrondi symétrique. Dans les nouvelles non liées, il faut éviter les points d'inflexion. Cependant, je n'ai pas les 2 autres raisons. Ils sont souvent cités mais quand même. Si cela était vrai, les éléments tournés ont des poignées de bezier optimales différentes, ce qui ne semble pas vrai étant donné la constante de l'objet à toutes les orientations. Ces points sont donc vraiment des défauts dans les outils de création et / ou des défauts dans le cerveau humain.
joojaa
Si vous optez pour 2 et 3, vous préférez utiliser des points d'inflexion et éventuellement des points de courbure la plus élevée (voir ma réponse ). (CC @joojaa)
Wrzlprmft
@Wrzlprmft oui avec lequel je suis d'accord, car les points d'inflexion sont globaux à la forme. De plus, les moteurs de polices n'aiment pas vraiment les courbes qui s'infléchissent, ce qui tue 2 oiseaux en même temps.
joojaa