Что означает «голубая шкала» для шрифтов типа 1? - PullRequest
2 голосов
/ 01 января 2012

Я не могу понять голубоватую часть спецификации шрифта типа 1.Не могли бы вы объяснить это на примерах, в которых подавление выброса выполняется или прекращается?

1 Ответ

5 голосов
/ 24 января 2012

Значение /BlueScale описано в книге Adobe Systems по типу шрифта Type 1 .См. Раздел 5.6 BlueScale (стр. 45), в котором приводится вся страница описания значения BlueScale.

Проще говоря, BlueScale сообщает средству визуализации шрифта масштаб шрифта, при котором он должен отключить подавление превышения . Overshoot относится к признаку формы глифа, который попадает в значительную горизонтальную полосу в дизайне глифа.Формат типа 1 указывает эти полосы как зоны выравнивания .Зоны выравнивания могут использоваться для базовой линии или для высоты х. Подавление Overshoot означает, что средство визуализации шрифтов должно отображать все элементы шрифта, которые оказываются в зоне выравнивания на одной высоте пикселя.

Подавление резких перепадов - это один из нескольких советов в формате шрифта Type 1, который позволяет средству визуализации шрифтов создавать красивые глифы, когда не так много пикселей устройства для визуализации формы глифа, и поэтому невозможносохранить верность нюансам контура глифа.Обеспечивая отображение всех объектов в зоне выравнивания на одной высоте пикселя, средство визуализации может обеспечить однородность, если не точность.В тех случаях, когда глиф большой или пиксели устройства маленькие, с другой стороны, существует множество пикселей для поддержания точности контура глифа, поэтому подавление перерегулирования не требуется.

Значение /BlueScale являетсячисло, указывающее размер одной символьной единицы (где 1 em - 1000 символьных единиц) в единицах пикселей устройства.Если размер символьной единицы превышает это значение, подавление превышения отключается.Если размер символьной единицы меньше, включается подавление превышения.Формат Type Font 1 не ясно, что произойдет, если размер символьной единицы точно равен значению BlueScale.

В разделе 5.6 приведены рекомендации по настройке значений BlueScale на устройствах с разрешением 300 точек на дюйм.Ограничения:

  • Установить BlueScale = (pointsize - 0.49) / 240, т.е. установить для BlueScale значение, которое позволяет одному целочисленному размеру точки получать подавление превышения, а следующий по величине целочисленный размер точки отключать выбросподавление.
  • Установите BlueScale так, чтобы (pointsize - 0.49) * (maximum alignment zone height) < 240, , т.е. BlueScale, было достаточно маленьким значением, чтобы подавление превышения заканчивалось до того, как наибольшая зона выравнивания в шрифте станет одним пикселем устройства.

Значение 240 основано на комбинации 72 единиц языка PostScript на дюйм, 300 пикселей устройства на дюйм и 1000 символов на квадрат квадрата.Эм-квадрат с 1 точкой имеет 1000 символьных единиц на точку, или 72 * 1000 символьных единиц на дюйм, или 72 * 1000/300 символьных единиц на пиксель устройства, = 240 символьных единиц на пиксель устройства.

Раздел5.6 приводит два примера значений BlueScale для размеров точек шрифта на устройстве с разрешением 300 точек на дюйм:

  • 0.039625 позволяет подавлять выбросы в 9 точках, но не происходит в 10 точках
  • 0,04379 позволяетподавление превышения происходит в 10 точках, но не в 11 точках
  • Для максимальной высоты зоны выравнивания, равной 23 символьным единицам, в формуле BlueScale должен использоваться размер точки 10, а не 11, чтобы 23Единицы символов составляют менее 1 пикселя устройства при активизации подавления превышения

На подавление превышения также влияет параметр /BlueShift, описанный в разделе 5.7 BlueShift Тип 1 Формат шрифта .Детали выходят за рамки этого ответа;вам действительно нужно прочитать саму книгу типа 1.

Раздел 5.6 BlueScale в формате шрифта типа 1 объясняет все это несколько ясно, но не полностью жестко.И это не простая тема.Важно прочитать всю книгу Type 1 Font Format , а также систему координат и части шрифта Справочного руководства по языку PostScript , а также пройти черезсформулируйте сами, если вы действительно хотите понять этот материал.

...