Поиск

Приложение C. Замечания по реализации и использованию шрифтов

Это приложение не является нормативным, а носит только информативный характер.

Глоссарий полиграфических терминов
DocLock™

Технология DocLock™, разработанная компанией Bitstream, позволяет использовать переносимые ресурсы шрифтов (PFR) формата TrueDoc исключительно в пределах того сервера, для которого они опубликованы. Названные ресурсы, будучи перемещенными на другой сервер или используемыми с другого сервера, функционировать не будут.

Цифровая подпись (digital signature)

Компонента технологии управления по доверенности, используемая для предоставления подписанных утверждений о ресурсе.

Кэширование шрифтов (font cashing)

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

Начертание шрифта (font face)

"Дескриптор", указывающий на определенный внешний вид шрифта, за исключением размера.

Сопоставление шрифтов (font matching)

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

Создание подмножества отображаемых глифов (Glyph Representation Sub-setting)

Создание подмножества отображаемых глифов - это процедура удаления представлений ненужных глифов (вместе с информацией об их несущих контурах и кернинге) из исходного шрифта для формирования его подмножества, достаточного для представления некоторой совокупности документов. Это оказывается удобным для документов, в которых используются системы идеографической письменности, в которых множество глифов, используемое в качестве дополнения к основному шрифту, может быть очень большим. Не зная правил формирования лигатур, используемых в конечной системе вывода, очень тяжело создавать подмножество отображаемых глифов для документов, использующих системы письменности (например, арабские), в которых необходимы лигатуры.

Intellifont

Технология Intellifont была разработана компанией Agfa и принята в качестве основного формата для принтеров, разрабатываемых, в частности, компанией Hewlett-Packard, в которых используется язык PCL5. Кроме того, она представляет собой основной формат шрифтов, используемых на компьютерах Amiga.

Infinifont

Процедура синтеза шрифтов, которая, имея в распоряжении число Panose-1 (и, возможно, описание дополнительных характеристик шрифта) может генерировать подстановочный шрифт, не прибегая при этом ни к экстраполяции имеющегося основного контура, ни к интерполяции между двумя или несколькими контурами (см. [INFINIFONT]).

Курсив (italic)

рм могут использоваться другие термины, такие, например, как 'cursive' или 'kursiv' для кириллических шрифтов. Совместно с гротесками чаще всего используются наклонные шрифты ('slanted' или 'oblique').


Кернинг

Изменение интервала между отдельными отображениями глифов, которые, если это не будет сделано, будут отображены либо слишком близко, либо слишком далеко друг от друга. Благодаря этому формируется более равномерное распределение типографской краски.

Ведущий многокомпонентный шрифт (Multiple Master Font)

Ведущий многокомпонентный шрифт формируется из двух исходных шрифтов как результат их интерполяции, осуществляемой специальной программой вывода. Компания Adobe Systems предоставляет методику многопараметрического управления результатом интерполяции. Используемые при этом параметры в основном описывают характеристики желаемого результата синтеза, реальным воплощением которого является ведущий многокомпонентный шрифт.

Open Type

Open Type - это расширение шрифтового формата TrueType, содержащее дополнительную информацию, улучшающую возможности шрифтов и обеспечивающую высококачественную многоязыковую печать. Формат Open Type позволяет устанавливать соответствие между одним символом и несколькими отображаемыми глифами или (при создании лигатуры) между совокупностью символов и одним отображаемым глифом. Данный формат содержит информацию о двумерном представлении, позволяющую осуществлять сложное позиционирование и прикрепление глифов. Форматы TrueType Open и OpenType содержат исчерпывающую информацию о шрифте и языке, в соответствии с которой приложение, осуществляющее обработку текста, может настраивать свою работу соответствующим образом (см. [OPENTYPE]).

Шрифт сервера

Шрифт сервера - это расположенный на web-сервере ресурс шрифта, обращение к которому осуществляется в соответствии с описанием сетевого шрифта (WebFont). Агент пользователя может использовать этот ресурс для отображения страницы.

Speedo
Типографская технология Speedo разработана компанией Bitstream и используется в качестве основного формата шрифтов на компьютерах фирм Atari ST и Falcon. Кроме того,она используется на компьютерах, работающих под управлением системы X-windows.
TrueDoc

Технология TrueDoc разработана компанией Bitstream для использования в глобальной сети при создании, передислокации и отображении масштабируемых объектов шрифтов, независящих от платформы. Создание и отображение объектов шрифта выполняется с использованием устройств, осуществляющих соответственно запись (character shape recorder - CSR) и воспроизведение (character shape player - CSP) формы символов формата TrueDoc. Данная технология предназначена для использования в глобальной сети для просмотра и печати.

Переносимый шрифтовой ресурс (Portable Font Resource) формата TrueDoc

Переносимый шрифтовой ресурс формата TrueDoc (или PFR) - это независящий от платформы масштабируемый объект шрифта, создаваемый устройством воспроизведения формы символов. В качестве входного может выступать любой шрифт формата TrueType или Type 1, поддерживаемый множеством различных операционных систем, таких как Windows, Mac или Unix. Мобильные шрифтовые ресурсы формата TrueDoc обеспечивают хорошие коэффициенты сжатия, не зависят от платформы, но по причине несоответствия естественным форматам шрифтов (TrueType или Type 1) оказываются неудобными в установке.

TrueType

TrueType - это формат шрифта, разработанный компанией Apple и лицензированный для компании Microsoft. Этот формат шрифтов используется в операционных системах Windows и Macintosh. TrueType содержит иерархическое множество таблиц и отображений глифов. Символы могут задаваться как целиком, так и по отдельным точкам, что позволяет достигнуть высокого качества при реальных разрешающих способностях дисплеев. Шрифты формата TrueType, используемые в Windows и Mac, имеют определенные различия, которые могут достигать уровня, не позволяющего использовать их на различных платформах.

TrueType Collection

TrueType Collection (или TTC) - это расширение формата TrueType, включающее таблицы, которые позволяют хранить несколько шрифтов формата TrueType в одном файле. В настоящий момент файлы типа TrueType Collection используются достаточно редко.

Шрифты формата TrueType GX

Шрифты формата TrueType GX содержат дополнения к стандартному формату TrueType, позволяющие создавать видоизменяемые шрифты, аналогичные ведущим многокомпонентным шрифтам. При модификациях формы шрифта может использоваться несколько степеней свободы, таких как насыщенность, высота и наклон шрифта. Для достижения практически любого эффекта может быть определена своя степень свободы. Формат TrueType GX может также поддерживать видоизменяющиеся замены для отображаемых глифов лигатур, контекстных форм, дробей и др. В настоящее время этот формат доступен только на компьютерах Macintosh (см. [TRUETYPEGX]).

Шрифты формата Type 1

Шрифты формата Type 1, разработанные компанией Adobe Systems, стали одними из первых доступных представителей масштабируемых форматов. Обычно шрифты формата Type 1 содержат 228 символов с отображаемыми глифами, описанными с помощью кривых Безье третьего порядка. В системах Mac, Windows и X используются однотипные, но при этом несовместимые форматы. Фирма Adobe представляет программу Adobe Type Manager для всех трех платформ. Type1c - это более поздняя версиея формата хранения отображаемых глифов Type 1, в которой сжатие информации происходит без ее потери.

Привязка к URI

Процесс привязки определенного шрифтового ресурса к заданному web-серверу путем вставки в ресурс шрифта зашифрованного URI или уведомления об использовании, заверенного цифровой подписью.

Доступ к шрифтам

Существует множество различных форматов шрифтов, используемых на разных платформах. При выборе необходимого формата анализируется содержание его описания (см. [NEGOT]). Поскольку оно содержит URI, то всегда можно сказать, когда на данный шрифт осуществляется ссылка. Каждая конкретная реализация агента имеет вспомогательную информацию о поддерживаемых ею форматах загружаемых шрифтов, которая может использоваться во избежание загрузки шрифтов в неподдерживаемых форматах.

Значение чисел Panose

Для выбора и сопоставления шрифтов в операционной системе Windows95 используются числа, характеризующие их гарнитуру, стиль засечек и пропорции.

Ниже описаны семантика этих десяти чисел и их допустимые значения (в круглых скобках) для наиболее типичного случая, когда для обозначения гарнитуры используется цифра 2, текст и непечатаемые символы. (Если первая цифра имеет другое значение, то и остальные девять цифр имеют другой смысл). Более подробную информацию о системе Panose-1 можно получить в [PANOSE].

Первое число. Гарнитура
  • Может использоваться любое значение (0)
  • Подходящего значения нет (1)
  • [PANOSE] Латинская текстовая и непечатаемые символы (2)
  • [PANOSE] Латинская рукописная (3)
  • [PANOSE] Латинская декоративная (4)
  • [PANOSE] Латинская иллюстративная (5)
Второе число. Стили засечек
  • Может использоваться любое значение (0)
  • Подходящего значения нет (1)
  • Куполообразный [Cove] (2)
  • Куполообразный тупоугольный [Obtuse Cove] (3)
  • Граненный куполообразный [Square Cove] (4)
  • Граненный куполообразный тупоугольный [Obtuse Square Cove] (5)
  • Прямоугольный [Square] (6)
  • Нитевидный [Thin] (7)
  • Шипообразный [Bone] (8)
  • Резко расширяющийся [Exaggerated] (9)
  • Треугольный [Triangle] (10)
  • Нормальный [Normal Sans] (11)
  • Тупоугольный [Obtuse Sans] (12)
  • Крутой или перпендикулярный [Perp Sans] (13)
  • Расширяющийся [Flared] (14)
  • Закругленный [Rounded](15)
Третье число. Насыщенность
  • Может использоваться любое значение (0)
  • Подходящего значения нет (1)
  • Сверхсветлое начертание (Very Light) (2)[100]
  • Светлое начертание (Light) (3) [200]
  • Светлое начертание (Thin) (4) [300]
  • Нормальное начертание (book) (5) [400] аналогично 'normal' в CSS1
  • Полужирное начертание (Medium) (6) [500]
  • Полужирное начертание (Demi) (7) [600]
  • Жирное начертание (Bold) (8) [700] аналогично 'bold' в CSS1
  • Жирное начертание (Heavy) (9) [800]
  • Сверхжирное начертание (Black) (10) [900]
  • Сверхжирное начертание (Extra Black / Nord) (11) [900] принудительное отображение в диапазон от 100 до 900, используемый в CSS1
Четвертое число. Пропорции
  • Может использоваться любое значение (0)
  • Подходящего значения нет (1)
  • Минускульный шрифт (Old Style) (2)
  • Современный шрифт (Modern) (3)
  • Пропорциональный шрифт (Even Width) (4)
  • Широкий шрифт (Expanded) (5)
  • Узкий шрифт (Condensed) (6)
  • Сверхширокий шрифт (Very Expanded) (7)
  • Сверхузкий шрифт (Very Condensed) (8)
  • Моноширный шрифт (Monospaced) (9)
Пятое число. Контрастность
  • Может использоваться любое значение (0)
  • Подходящего значения нет (1)
  • Неконтрастный (None) (2)
  • Ультранизкая контрастность (Very Low) (3)
  • Сверхнизкая контрастность (Low) (4)
  • Низкая контрастность (Medium Low) (5)
  • Контрастный (Medium) (6)
  • Высокая контрастность (Medium High) (7)
  • Сверхвысокая контрастность (High) (8)
  • Ультравысокая контрастность (Very High) (9)
Шестое число. Форма штрихов
  • Может использоваться любое значение (0)
  • Подходящего значения нет (1)
  • Без вариаций (No Variation) (2)
  • С плавными вариациями/диагональными (Gradual/Diagonal) (3)
  • С плавными вариациями/промежуточными (Gradual/Transitional) (4)
  • С плавными вариациями/вертикальными (Gradual/Vertical) (5)
  • С плавными вариациями/горизонтальными (Gradual/Horizontal) (6)
  • С резкими вариациями/вертикальными (Rapid/Vertical) (7)
  • С резкими вариациями/горизонтальными (Rapid/Horizontal) (8)
  • С мгновенными вариациями/горизонтальными (Instant/Horizontal) (9)
  • С мгновенными вариациями/вертикальными (Instant/Vertical)(10)
Седьмое число. Форма росчерков
  • Может использоваться любое значение (0)
  • Подходящего значения нет (1)
  • Прямые росчерки/горизонтальные (Straight Arms/Horizontal) (2)
  • Прямые росчерки/клинообразные (Straight Arms/Wedge) (3)
  • Прямые росчерки/вертикальные (Straight Arms/Vertical) (4)
  • Прямые росчерки/с одной засечкой (Straight Arms/Single Serif) (5)
  • Прямые росчерки/с двумя засечками (Straight Arms/Double Serif) (6)
  • Непрямые росчерки/горизонтальные (Non-Straight Arms/Horizontal) (7)
  • Непрямые росчерки/клинообразные (Non-Straight Arms/Wedge) (8)
  • Непрямые росчерки/вертикальные (Non-Straight Arms/Vertical) 90)
  • Непрямые росчерки/с одной засечкой (Non-Straight Arms/Single Serif) (10)
  • Непрямые росчерки/с двумя засечками (Non-Straight Arms/Double Serif) (11)
Восьмое число. Общая форма символов
  • Может использоваться любое значение (0)
  • Подходящего значения нет (1)
  • Нормальная/непрерывная (Normal/Contact) (2)
  • Нормальная/насыщенная (Normal/Weighted) (3)
  • Нормальная/блочная (Normal/Boxed) (4)
  • Нормальная/закругленная (Normal/Rounded) (6)
  • Нормальная/децентрированная (Normal/Off Center) (7)
  • Нормальная/прямоугольная (Normal/Square) (8)
  • Наклонная/непрерывная (Oblique/Contact) (9)
  • Наклонная/насыщенная (Oblique/Weighted) (10)
  • Наклонная/блочная (Oblique/Boxed) (11)
  • Наклонная/расширяющаяся (Oblique/Flattened) (12)
  • Наклонная/закругленная (Oblique/Rounded) (13)
  • Наклонная/децентрированная (Oblique/Off Center) (14)
  • Наклонная/прямоугольная (Oblique/Square) (15)
Девятое число. Средняя линия
  • Может использоваться любое значение (0)
  • Подходящего значения нет (1)
  • Стандартная/укороченная (Standard/Trimmed) (2)
  • Стандартная/заостренная (Standard/Pointed) (3)
  • Стандартная/с засечкой (Standard/Serifed) (4)
  • Завышенная/укороченная (High/Trimmed) (5)
  • Завышенная/заостренная (High/Pointed) (6)
  • Завышенная/с засечкой (High/Serifed) (7)
  • Постоянная/укороченная (Constant/Trimmed) (8)
  • Постоянная/заостренная (Constant/Pointed) (9)
  • Постоянная/с засечкой (Constant/Serifed) (10)
  • Заниженная/укороченная (Low/Trimmed) (11)
  • Заниженная/заостренная (Low/Pointed) (12)
  • Заниженная/с засечкой (Low/Serifed) (13)
Десятое число. Строчные буквы
  • Может использоваться любое значение (0)
  • Подходящего значения нет (1)
  • Постоянной высоты/маленькие (Constant/Small) (2)
  • Постоянной высоты/стандартные (Constant/Standard) (3)
  • Постоянной высоты/большие (Constant/Large) (4)
  • Непостоянной высоты/маленькие (Ducking/Small) (5)
  • Непостоянной высоты/стандартные (Ducking/Standard) (6)
  • Непостоянной высоты/большие (Ducking/Large) (7)
  • Panose-2 (см. [PANOSE2]) представляет собой описание процедуры сопоставления и более тщательной классификации шрифтов, которая не ограничивается только латинскими шрифтами. Здесь, например, можно сравнить характеристики засечек и штриховых окончаний букв латинского и японского начертания соответственно.

    Значение Panose-2 не хранится ни в одном из известных форматов шрифтов, но может быть измерено.

    Вывод диапазонов Unicode для шрифтов формата TrueType

    Диапазон, содержащий символы unicode, используемые некоторым шрифтом, задается битами 'ulUnicodeRange' таблицы 'OS/2' (если таковая имеется), реализующей побитовое представление диапазона. Эта таблица определена в описании формата TrueType версии 1.66, разработанном компанией Microsoft. Данный диапазон можно охарактеризовать набором определенных элементов, каждому из которых в соответствие можно поставить множество символов Unicode 1.1, а наличие некоторого элемента в наборе можно будет интерпретировать как наличие в шрифте одного или нескольких отображаемых глифов, используемых для представления хотя бы одного символа из множества, соответствующего данному элементу. Упомянутый набор состоит из 128 элементов, как описано ниже. Порядок их следования обычно заимствуется из стандарта Unicode 1.1. Эта таблица может использоваться для преобразования информации, представленной в формате TrueType, в дескрипторе 'unicode-range' каскадной таблицы стилей.

    Мн-во Плюс Русскоязычное название множества Англоязычное название множества Диапазон Unicode
    0 1 Основная латиница Basic Latin U+0-7F
    1 2 Латиница-1 Latin-1 Supplement U+80-FF
    2 4 A. Расширение Латиницы-1 Latin-1 Extended-A U+100-17F
    3 8 B. Расширение Латиницы-1 Latin Extended-B U+180-24F
    4 1 Дополнения из международного алфавита фонетических символов IPA Extensions U+250-2AF
    5 2 Символы изменения пробела Spacing Modifier Letters U+2B0-2FF
    6 4 Диакритические знаки Diacritical Marks U+300-36F
    7 8 Основной греческий Greek U+370-3CF
    8 1 Символы греческого и коптского языков Greek Symbols and Coptic U+3D0-3EF
    9 2 Кириллица Cyrillic U+400-4FF
    10 4 Армянский язык Armenian U+530-58F
    11 8 Иврит Hebrew U+590-5FF
    12 1 A. Расширение иврита Hebrew Extended-A ?? диапазон ??
    B. Расширение иврита Hebrew Extended-B
    13 2 Арабский язык Arabic U+600-69F
    14 4 Расширенный арабский язык Arabic Extended U+670-6FF
    15 8 Деванагари (Индийское слоговое письмо) Devanagari U+900-97F
    16 1 Бенгальский язык Bengali U+980-9FF
    17 2 Гурмукхи Gurmukhi U+A00-A7F
    18 4 Гуярати Gujarati U+A80-AFF
    19 8 Язык ория (Индия) Oriya U+B00-B7F
    20 1 Тамильский язык Tamil U+B80-BFF
    21 2 Язык телугу Telugu U+C00-C7F
    22 4 Каннада (дравидийский язык Южной Индии) Kannada U+C80-CFF
    23 8 Малайский язык Malayalam U+D00-D7F
    24 1 Тайский язык Thai U+E00-E7F
    25 2 Лаосский язык Lao U+E80-EFF
    26 4 Грузинский язык Georgian U+10A0-10EF
    27 8 Расширенный грузинский язык Georgian Extended U+10F0-10FF ??
    28 1 Хангул (корейская азбука) Hangul Jamo U+1100-11FF
    29 2 Расширенная латиница (дополнение) Latin Extended Additional -
    30 4 Расширенный греческий Greek Extended U+1F00-1FFF
    31 8 Знаки пунктуации нижние индексы Superscripts and Subscripts -
    33 2 Денежные знаки Currency Symbols U+20A0-20CF
    34 4 Элементы группировки для символов Combining Marks for Symbols U+20D0-20FF
    35 8 Буквенные символы Letterlike Symbols U+2100-214F
    36 1 Числовые символы Number Forms U+2150-218F
    37 2 Стрелки Arrows U+2190-21FF
    38 4 Математические операторы Mathematical Operators U+2200-22FF
    39 8 Различные технические символы Miscellaneous Technical U+2300-23FF
    40 1 Управляющая графика Control Pictures U+2400-243F
    41 2 Оптически распознаваемые символы Optical Character Recognition U+2440-245F
    42 4 Встроенный буквенно- цифровой индикатор Enclosed Alphanumerics U+2460-24FF
    43 8 Символы рамок Box Drawing U+2500-257F
    44 1 Элементы диаграмм Block Elements U+2580-259F
    45 2 Геометрические фигуры Geometric Shapes U+25A0-25FF
    46 4 Различные символы Miscellaneous Symbols U+2600-26FF
    47 8 Символы графической разметки текста Dingbats U+2700-27BF
    48 1 Символы и знаки пунктуации японского, корейского и китайского языков CJK Symbols and Punctuation U+3000-303F
    49 2 Хирагана Hiragana U+3040-309F
    50 4 Катакана Katakana U+30A0-30FF
    51 8 Бопомофо Bopomofo U+3100-312F
    52 1 Символы, совместимые с языком хангул Hangul Compatibility Jamo U+3130-318F
    53 2 Различные символы японского, корейского и китайского языков CJK Miscellaneous ?? Диапазон ??
    54 4 Буквы и символы месяцев японского, корейского и китайского языков Enclosed CJK Letters and Months U+3200-32FF
    55 8 Символы, совместимые с грамматикой японского, корейского и китайского языков CJK compatibility U+3300-33FF
    56 1 Хангул Hangul U+AC00-D7FF
    59 8 Обобщенные идеографы японского, корейского и китайского языков CJK Unified Ideographs U+4E00-9FFF
    60 1 Область личных символов Private Use Area U+E000-F8FF
    61 2 Идеографы, совместимые с грамматикой японского, корейского и китайского языков CJK Compatibility Ideographs U+F900-FAFF
    62 4 Формы для создания алфавитного списка Alphabetic Presentation Forms U+FB00-FB4F
    63 8 A. Формы для представления арабских символов Arabic Presentation Forms-A U+FB50-FDFF
    64 1 Неполные элементы группировки Combining Half Marks U+FE20-FE2F
    65 2 Формы, совместимые с грамматикой японского, корейского и китайского языков CJK compatibility Forms U+FE30-FE4F
    66 4 Разновидности мелких форм Small Form Variants U+FE50-FE6F
    67 8 B. Формы для представления арабских символов Arabic Presentation Forms- U+FE70-FEFF
    68 1 Специальные символы Specials U+FFF0-FFFD

    Один из недостатков формата TrueType состоит в том, что его система побитового представления привязана к Unicode 1.1 и не может работать с его расширениями. Например, с ее помощью невозможно отобразить символы тибетского языка или других систем письменности, представленных в Unicode версии 2.0 и выше.

    Автоматическая генерация дескрипторов

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

    В приведенной ниже таблице содержатся сведения о том, где можно найти информацию о дескрипторах для традиционных форматов шрифтов.

    Дескриптор Type 1 TrueType и OpenType TrueType GX [TRUETYPEGX]
    'ascent' 'Ascender' в файле AFM/PFM 'Ascender' в таблице 'hhea' или (предпочтительнее) 'sTypoAscender' в таблице 'OS/2' 'horizontalBefore' в таблице 'fmtx'
    'baseline'     таблица bsln
    'bbox' FontBBox, словарь шрифтов элементы 'xMin', 'xMax', 'yMin' и 'yMax' таблицы 'head'  
    'cap-height' CapHeight в файле AFM/PFM    
    'descent' 'Descender' в файле AFM/PFM.    
    'mathline'     таблица bsln
    'font-family' FamilyName, словарь по характеристикам шрифта таблица name  
    'stemh' StdHW, собственный словарь файла AFM/PFM    
    'stemv' /StdVW, собственный словарь таблица cvt  
    'topline'     таблица bsln
    'unicode-range' файл cmap таблица OS/2, см. Приложение C  
    'units-per-em' FontMatrix, словарь шрифтов unitsPerEm, таблица head.  
    'widths'   таблица hmtx  

    В таблице bsln идеографическая центральная и нижняя базовые линии могут использоваться для растяжения идеографических символов в случае преобладания идеографических или латинских, греческих или кириллических символов соответственно.