Как уже упоминалось, экстремумы необходимы для рендеринга шрифтов и, в частности, хинтинга.
Чтобы понять это, давайте сначала посмотрим, что примерно происходит при автоподстановке глифа с экстремумами в виде якорей (зеленого цвета) в регулярной пиксельной сетке¹: чтобы шрифт выглядел красиво и четко, вертикальные и горизонтальные обводки должны точно попадать в пиксельную сетку. Произвольно размещенный глиф² обычно не будет соответствовать этому критерию, и поэтому средство визуализации будет слегка искажать его до конца, а именно, перемещая экстремумы, поскольку они определяют вертикальные и горизонтальные штрихи:
Этот процесс требует догадок от средства визуализации, поэтому разработчик может определить группу вещей (отмеченные основы, синие значения), которые помогают визуализатору в этом процессе. Обратите внимание, что это только один из первых шагов, и после этого многое происходит, и нам не нужно заботиться об этом вопросе.
Теперь давайте сначала предположим, что мы использовали не только экстремумы для определения глифа, но и некоторые диагональные якоря между ними. Тогда эти якоря должны были бы постепенно перемещаться при перемещении экстремумов, что опять-таки требует догадок, но в отличие от перемещения экстремумов, дизайнер шрифтов не может помочь с этим из-за сложности ситуации. Поэтому перемещение этих избыточных якорей является значительным источником ошибок, особенно если якоря находятся близко к экстремумам.
Наконец, мы можем вернуться к вопросу и рассмотреть, что произойдет, если мы не определим какие-либо якоря в экстремумах. В этом случае средство визуализации должно автоматически определить экстремумы (что он может легко сделать) перед перемещением их и всех других якорей вместе с ним. Так как то, что вы, естественно, выбрали бы в качестве привязки, близко к экстремуму для многих типов гарнитур, это может привести к неправильной догадке по причинам, изложенным выше.
Чтобы подвести итог вышесказанному: экстремумы играют решающую роль при рендеринге, и поэтому лучше, если ваш глиф построен на них, так что рендерер не должен догадываться.
Котировки
Из патента US 7068276 B2 - Способы и системы для намека шрифтов :
Алгоритмический подход, описанный ниже, пытается сопоставить явные узлы на кривой, используя такие особенности, как направление контура и наличие экстремумов.
Из вики FontForge по намекам :
Контуры должны иметь правильное направление, в противном случае привязка к синим зонам нарушается. Чем меньше точек образуют (точную) форму, тем лучше. Но кривые, на которые намекаются стержни H / V, должны иметь точки экстремумов, иначе они не будут привязаны. Нелегко, если такая точка зрения неявна.
Sub для субпиксельного хинтинга он мало чем отличается
², что является широким упрощением, поскольку размещение глифов с хинтингом более сложное; но для этого примера достаточно