Архив документации OpenNet.ru / Раздел "Web мастеру, CGI, Perl, PHP, Apache" / Индекс

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

Содержание

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

C.1 Глоссарий полиграфических терминов

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').

Курсив   [D]

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

Пример кернинга   [D]

Ведущий многокомпонентный шрифт (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 или уведомления об использовании, заверенного цифровой подписью.

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

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

C.3 Значение чисел Panose

Иллюстрация системы Panose-1   [D]

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

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

Первое число. Гарнитура
Второе число. Стили засечек
Третье число. Насыщенность
Четвертое число. Пропорции
Пятое число. Контрастность
Шестое число. Форма штрихов
Седьмое число. Форма росчерков
Восьмое число. Общая форма символов
Девятое число. Средняя линия
Десятое число. Строчные буквы

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

Пример Panose-2

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

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

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

Мн-воПлюсРусскоязычное
название множества
Англоязычное
название множества
Диапазон Unicode

01Основная латиницаBasic LatinU+0-7F
12Латиница-1Latin-1 SupplementU+80-FF
24A. Расширение Латиницы-1Latin-1 Extended-AU+100-17F
38B. Расширение Латиницы-1Latin Extended-BU+180-24F

41Дополнения из международного
алфавита фонетических символов
IPA ExtensionsU+250-2AF
52Символы изменения пробелаSpacing Modifier LettersU+2B0-2FF
64Диакритические знакиDiacritical MarksU+300-36F
78Основной греческийGreekU+370-3CF

81Символы греческого и коптского языковGreek Symbols and CopticU+3D0-3EF
92КириллицаCyrillicU+400-4FF
104Армянский языкArmenianU+530-58F
118ИвритHebrewU+590-5FF

121A. Расширение иврита
B. Расширение иврита
Hebrew Extended-A
Hebrew Extended-B
?? диапазон ??
132Арабский языкArabicU+600-69F
144Расширенный арабский языкArabic ExtendedU+670-6FF
158Деванагари (Индийское слоговое письмо) DevanagariU+900-97F

161Бенгальский языкBengaliU+980-9FF
172ГурмукхиGurmukhiU+A00-A7F
184ГуяратиGujaratiU+A80-AFF
198Язык ория (Индия)OriyaU+B00-B7F

201Тамильский языкTamilU+B80-BFF
212Язык телугуTeluguU+C00-C7F
224Каннада
(дравидийский язык Южной Индии)
KannadaU+C80-CFF
238Малайский языкMalayalamU+D00-D7F

241Тайский языкThaiU+E00-E7F
252Лаосский языкLaoU+E80-EFF
264Грузинский языкGeorgianU+10A0-10EF
278Расширенный грузинский языкGeorgian ExtendedU+10F0-10FF ??

281Хангул
(корейская азбука)
Hangul JamoU+1100-11FF
292Расширенная латиница (дополнение)Latin Extended Additional-
304Расширенный греческийGreek ExtendedU+1F00-1FFF
318Знаки пунктуацииGeneral PunctuationU+2000-206F

321Верхние и нижние индексыSuperscripts and Subscripts-
332Денежные знакиCurrency SymbolsU+20A0-20CF
344Элементы группировки для символовCombining Marks for SymbolsU+20D0-20FF
358Буквенные символыLetterlike SymbolsU+2100-214F

361Числовые символыNumber FormsU+2150-218F
372СтрелкиArrowsU+2190-21FF
384Математические операторыMathematical OperatorsU+2200-22FF
398Различные технические символыMiscellaneous TechnicalU+2300-23FF

401Управляющая графикаControl PicturesU+2400-243F
412Оптически распознаваемые символыOptical Character RecognitionU+2440-245F
424Встроенный буквенно-
цифровой индикатор
Enclosed AlphanumericsU+2460-24FF
438Символы рамокBox DrawingU+2500-257F

441Элементы диаграммBlock ElementsU+2580-259F
452Геометрические фигурыGeometric ShapesU+25A0-25FF
464Различные символыMiscellaneous SymbolsU+2600-26FF
478Символы графической разметки текстаDingbatsU+2700-27BF

481Символы и знаки пунктуации
японского, корейского и китайского языков
CJK Symbols and PunctuationU+3000-303F
492ХираганаHiraganaU+3040-309F
504КатаканаKatakanaU+30A0-30FF
518БопомофоBopomofoU+3100-312F

521Символы, совместимые с языком хангулHangul Compatibility JamoU+3130-318F
532Различные символы японского,
корейского и китайского языков
CJK Miscellaneous?? Диапазон ??
544Буквы и символы месяцев
японского, корейского и китайского языков
Enclosed CJK Letters and MonthsU+3200-32FF
558Символы, совместимые с грамматикой
японского, корейского и китайского языков
CJK compatibilityU+3300-33FF

561ХангулHangulU+AC00-D7FF
598Обобщенные идеографы японского,
корейского и китайского языков
CJK Unified IdeographsU+4E00-9FFF

601Область личных символовPrivate Use AreaU+E000-F8FF
612Идеографы, совместимые с грамматикой
японского, корейского и китайского языков
CJK Compatibility IdeographsU+F900-FAFF
624Формы для создания алфавитного спискаAlphabetic Presentation FormsU+FB00-FB4F
638A. Формы для представления
арабских символов
Arabic Presentation Forms-AU+FB50-FDFF

641Неполные элементы группировкиCombining Half MarksU+FE20-FE2F
652Формы, совместимые с грамматикой
японского, корейского и китайского языков
CJK compatibility FormsU+FE30-FE4F
664Разновидности мелких формSmall Form VariantsU+FE50-FE6F
678B. Формы для представления
арабских символов
Arabic Presentation Forms-BU+FE70-FEFF

681Полные и неполные формыHalfwidth and Fullwidth FormsU+FF00-FFEF
692Специальные символыSpecialsU+FFF0-FFFD

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

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

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

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

ДескрипторType 1TrueType и OpenTypeTrueType 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 

Архив документации на OpenNet.ru