Получи случайную криптовалюту за регистрацию!

область глобальной разметки [#типотермины] [#fontinfo] сто пр | шрифтовой завтрак

область глобальной разметки [#типотермины] [#fontinfo]

сто процентов бывало, что смотришь пдф в мелком кегле, а там «о» подпрыгивает над строкой, «е» сжалась так, что стала меньше остальных и с «ю» творится что-то странное. так вот, есть такая история, как область глобальной разметки. и если её грамотно настроить, то в шрифте всё будет ок.

расставить точки по буквам—четверть дела. ещё нужно чтобы пиксели так рисовались вокруг нашего вектора, чтобы ничего не плыло, летело и скакало. за это заполнение цветом отвечают инструкции растеризации, а процесс их расстановки известен как хинтинг/хинтовка

внутри хинтовки есть куча заморочек, начиная от типа, заканчивая режимами, которые нам подсовывают браузеры и операционки. об этом как-нибудь в другой раз, а пока о зонах выравнивания.

всего в них несколько параметров с которыми не сложно справиться:

BlueValues. тут по возрастающей ставим не больше семи пар, где первая выравнивает всё по базовой линии снизу, а остальные работают с тем, что сверху.

OtherBlues. чаще всего используется чтобы прибить нижние выносные к одной линии. внутри может быть не больше пяти пар.

FamilyBlues и FamilyOtherBlues это как обычные только работают внутри всей шрифтовой семьи. нужны для того, чтобы не было скачков при выделении в слове нескольких букв болдом.

BlueScale тут сложно только первых пару раз: указываешь с какого размера шрифта надо отключать принудительные выравнивания и всё. рассчитывается в столбик. например, для 300 dpi это будет (pointSize - 0,49 ) / 240

BlueShift это с какого размера красивый оптический наплыв перестанет подавляться твоими инструкциями.

BlueFuzz — мегаполезный параметр. он увеличивает ширину зон выравнивания, и даже если что-то на юнит-другой вылезло за них, то всё будет ок.

StemSharpH StemSharpV до дюжины значений в возрастающем порядке самых распространённых толщин в шрифте.

StdHW и StdVW тут пишем самые распространённые толщины горизонтальных и вертикальных штрихов. если что, экран выберет эти значения чтобы зарисовать все штрихи шрифта.

ForceBold тут ставим величину, на которую болд всегда жирнее даже если толщины будут отличаться только на одну растровую точку.

вот и всё. надеюсь, теперь будет чуть проще:)