Типографские функции, ставшие возможными с использованием цифровых типографских систем, решили многие требования, предъявляемые к компьютерным системам по воспроизведению традиционной типографики, и расширили возможности за счет множества новых функций. Обычно используются три системы: OpenType , разработанная Microsoft и Adobe , Apple (AAT) от Apple Advanced Typography и SIL от Graphite . В списках ниже представлена информация о функциях OpenType и AAT. Графит не имеет фиксированного набора функций; вместо этого он предоставляет шрифтам возможность определять свои собственные функции.
Типографские особенности OpenType [ править ]
Формат OpenType определяет ряд типографских функций, которые может поддерживать конкретный шрифт. Некоторое программное обеспечение, такое как Adobe InDesign , LibreOffice / OpenOffice или последние версии Lua / XeTeX , дает пользователям контроль над этими функциями, например, для включения причудливых стилистических заглавных букв (косых букв) или выбора между диапазоном (во всю высоту) и цифры без диапазона (старого стиля или строчные буквы). Некоторые веб-браузеры также поддерживают функции OpenType в соответствии со спецификацией модуля CSS Fonts Level 3, что позволяет устанавливать функции OpenType непосредственно через font-feature-settings
собственности, или косвенно, посредством механизмов более высокого уровня.
В следующих таблицах перечислены функции, определенные в версии 1.8.1 спецификации OpenType. Коды в столбце «Тип» поясняются после таблиц.Функции OpenType могут быть применимы только к определенным языковым сценариям или определенным языкам, а также к определенным режимам письма. Характеристики разделены на несколько таблиц соответственно.
первую очередь предназначенные или необходимые исключительно для южноазиатских алфавитно-слоговых (индийских/брахмических) языков в . Функции ,
Описание |
---|
Надбазовые формы | abvf | С1 | Заменяет надосновную часть гласного знака. Для кхмерского и подобных шрифтов. |
Расположение отметки над основанием | abvm | П4.5 | Размещает глиф отметки над базовым глифом. |
Замены над базой | abvs | С4 | Связывает согласную с надстрочным знаком. |
Подбазовые формы | blwf | С4 | Заменяет комбинацию галант+согласная формой нижнего индекса. |
Расположение отметки под основанием | blwm | П4.5 | Размещает глиф отметки под базовым глифом. |
Замены ниже базы | blws | С4 | Связывает согласную с нижней отметкой. |
Предварительные базовые формы | pref | С4 [ оспаривается – обсуждаем ] | Заменяет галант+согласную в конце группы согласных глифом в начале. Кхмерский, Мьянма, малаялам, телугу |
Предварительные замены | pres | С4,5 | Связывает сочетания согласных. |
Постбазовые замены | psts | С4 | Связывает конечную согласную + согласную. |
Постбазовые формы | pstf | С4 | Заменяет конечный галант+согласный специальной формой. Кхмерский и Гурмукхи, малаялам |
Расстояние | dist | П2 | Регулирует горизонтальное положение между глифами. (Всегда включено, в отличие от «керна».) |
Аканд | akhn | С4 | Хинди для нерушимого . Связывает согласная+галант+согласная, обычно только для сочетаний к-сс и й-ный. |
Халантные формы | haln | С4 | Заменяет глиф на конечную согласную + галант . |
Половина формы | half | С4 | Заменяет согласную+галант на половинную форму, указывая на то, что она является частью союза. |
Нукта формы | nukt | С4 | Замените согласную + нукта (точечный знак) одиночным глифом. |
Бритвенные формы | rkrf | С4 | Заменяет халант+ра глифом ракар , указывая, что он является частью соединения. |
Реф-форма | rphf | С4 | Заменяет начальный ra+halant конечным знаком reph , обозначающим часть соединения. |
Варианты Ватту | vatu | С4 | Заменяет комбинации согласная+ракар на лигатуру варианта ватту . |
Конъюнктивные формы | cjct | С4 | Связывает согласный+галант+согласный, указывает на часть союза. |
Союзная форма после Ro | cfar | С1 | кхмерский |
Функции, в первую очередь предназначенные для восточноазиатских тетраграмм (китайский, японский, корейский) или необходимые исключительно них . для
Описание |
---|
Упрощенные формы | smpl | С1 | Заменяет синограммы их упрощенными версиями, может зависеть от языка. |
Традиционные формы | trad | С1,3 | Заменяет китайские иероглифы их традиционными версиями. |
Традиционные формы имени | tnam | С1 | Японские альтернативы именам собственным |
Экспертные формы | expt | С1 | Типографские альтернативы некоторым японским тетраграммам |
Формы кандзи Ходзё | hojo | | Альтернативы ходзё японским тетраграммам |
Формы кандзи NLC | nlck | | Альтернативы NLC для японских тетраграмм |
HE 78 Формы | jp78 | С1,3 | Альтернативы JIS C 6226-1978 для японских тетраграмм, недоступные в Юникоде. |
HE 83 Формы | jp83 | С1 | Альтернативы JIS X 0208-1983 для японских тетраграмм, недоступные в Юникоде. |
HE 90 Формы | jp90 | С1 | Альтернативы JIS X 0208-1990 для японских тетраграмм, недоступные в Юникоде. |
HE 04 Формы | jp04 | | Альтернативы JIS 2004 для японских тетраграмм, недоступные в Юникоде. |
хангыль | hngl | С1,3 | Транслитерирует символы китайского стиля корейским хангылем. |
Ведущие формы Jamo | ljmo | С4 | Начальная группа согласных синтезированной тетраграммы корейского хангыля |
Трейлинг-формы Jamo | tjmo | С4 | Последняя группа согласных синтезированной тетраграммы корейского хангыля. |
Формы гласных Джамо | vjmo | С4 | Медиальная группа гласных синтезированной тетраграммы корейского хангыля |
Полная ширина | fwid | С1 | Заменяет пропорционально расположенные символы полноширинными версиями (особенно латинские буквы в китайском языке). |
Полуширина | hwid | С1, П1 | Заменяет символы с равномерным интервалом версией половинной ширины. |
Альтернативные полуширины | halt | П1 | Перемещает глифы полной ширины на пробелы половинной ширины. |
Третьи ширины | twid | С1, П1 | Заменяет равномерно расположенные символы версией шириной 1/3 (пунктуация и т. д.). |
Ширина четверти | qwid | С1 | Заменяет равномерно расположенные глифы на четверть ширины (пунктуация и т. д.). |
Пропорциональная ширина | pwid | С1 | Заменяет равномерно расположенные глифы на пропорциональные. |
Пропорциональные альтернативы | palt | П1 | Изменяет положение моноширинных символов в соответствии с шириной глифа. |
Пропорциональная Кана | pkna | С1 | Кана для использования вместе с алфавитами, без сеточной типографики. |
Формы записи Ruby | ruby | С1 | Рубиновые символы , мелкий шрифт. |
Горизонтальные альтернативы кана | hkna | С1 | Альтернативные формы горизонтального текста кана , например ー для чонпу вместо |, ср. vkna |
Вертикальный или | vkna | С1 | Альтернативные японские формы каны для вертикального текста, например | для тёнпу вместо ー, ср. hkna |
Пунктуация CJK по центру | cpct | П1 | Располагает знаки препинания по вертикали и горизонтали. |
Функции, в первую очередь предназначенные или необходимые исключительно для западноазиатских (семитских, арабских) и других рукописных шрифтов или . шрифтов
Описание |
---|
Курсивное позиционирование | curs | П3 | Точное позиционирование соединения буквы с соседней |
Альтернативы обоснования | jalt | S3 | Выбираемые пользователем более широкие и более узкие альтернативы, используемые специально для обоснования |
Отметить позиционирование посредством замены | mset | С5 | Используется в Windows 95 для позиционирования арабских знаков. |
Требуемые контекстные альтернативы | rclt | S6 | Контекстные альтернативы, необходимые для правильного отображения текста, которые отличаются от соединения по умолчанию для других букв, что особенно важно для арабского языка. |
Необходимые лигатуры | rlig | S3 | Лигатуры, необходимые для корректного отображения текста (любой шрифт, но курсивом) |
Изолированные формы | isol | С1 | Заменяет специальную форму буквы, встречающуюся вне слова (требуется в арабском и сирийском языках). |
Начальные формы | init | С1 | Заменяет особую форму буквы, встречающуюся в начале слова (требуется в арабском и сирийском языках). |
Медиальные формы | medi | С1 | Заменяет буквы особой формы между другими буквами в словах (требуется в арабском и сирийском языках). |
Медиальная форма № 2 | med2 | С5 | сирийский |
Терминальные формы | fina | С1 | Заменяет букву особой формы в конце слов (требуется для арабского и сирийского языков). |
Форма терминала №2 | fin2 | С5 | сирийский |
Форма терминала №3 | fin3 | С5 | сирийский |
Последний глиф на альтернативных строках | falt | S3 | Заменяет последний глиф в строке альтернативным. |
Растяжение декомпозиции глифа | stch | С2 | Заменяет одну или несколько букв особой формой эластичного глифа (требуется для сирийского языка). |
Функции, предназначенные для двухпалатных [регистровых] алфавитов (латиница, греческий, кириллица и т. д.) [ править ]
Описание |
---|
Маленькие заглавные буквы | smcp | С1 | Заменяет строчные буквы на маленькие заглавные версии. |
Капиталы в малую капитализацию | c2sc | С1 | Заменяет заглавные буквы на маленькие. |
Миниатюрные кепки | pcap | С1 | Замените строчные буквы их миниатюрными аналогами прописных. |
От капителей до миниатюрных кепок | c2pc | С1 | Заменяет заглавные буквы маленькими заглавными. |
Unicase | unic | С1 | Заменяет строчные и прописные буквы набором одиночных глифов. |
Капитальный интервал | cpsp | П1 | Регулирует расстояние между буквами в тексте, написанном заглавными буквами. |
Регистрозависимые формы | case | П1 | Замените символы, особенно знаки препинания, формами, более подходящими для текста, начинающегося с заглавных букв, ср. titl |
Курсив | ital | С1 | Заменяет букву соответствующим курсивом . |
ординалы | ordn | С6,4 | Заменяет символы порядковыми формами для использования после чисел. |
Особенности в зависимости от направления письма [ править ]
Описание |
---|
Альтернативные вертикальные метрики | valt | П1 | Располагает более короткие символы по центру вертикально с символами полной высоты. |
Альтернативные вертикальные полуметрики | vhal | П1 | Позиционирует символы по центру вертикально с символами половинной высоты. |
Пропорциональные альтернативные вертикальные показатели | vpal | П1 | Изменяет положение глифов по вертикали, чтобы центрировать их по пропорциональным полноразмерным символам. |
Вертикальные альтернативы | vert | С1 | Подмножество vrt2 : предпочитаю последнюю функцию |
Вертикальные альтернативы и вращение | vrt2 | С1 | Заменяет символы формами, подходящими для вертикального письма, возможно, путем поворота на 90 °. |
Вертикальные альтернативы для вращения | vrtr | С1 | Заменяет символы формами, подходящими для вертикального письма, возможно, путем смещения или формы. |
Вертикальный кернинг | vkrn | П2,8 | Точное вертикальное позиционирование символов в зависимости от формы |
Альтернативные глифы слева направо | ltra | С1 | Заменяет символы формами, подходящими для представления слева направо (кроме зеркальных форм). |
Зеркальные формы слева направо | ltrm | С1 | Заменяет символы на, возможно, зеркальные формы, соответствующие представлению слева направо. |
Альтернативные глифы справа налево | rtla | С1 | Заменяет символы формами, подходящими для представления справа налево (кроме зеркальных форм). |
Зеркальные формы справа налево | rtlm | С1 | Заменяет символы на, возможно, зеркальные формы, подходящие для представления справа налево. |
Функции, предназначенные для цифр и математических вычислений [ править ]
Описание |
---|
Фигурки на подкладке | lnum | С1 | Заменяет цифры глифами, которые лучше подходят для текста, написанного заглавными буквами, часто также tnum |
Фигурки в старом стиле | onum | С1 | Заменяет цифры цифрами старого образца в регистре , часто также pnum |
Пропорциональные фигуры | pnum | С1 | Заменяет цифры глифами пропорциональной ширины, часто также onum |
Табличные цифры | tnum | С1 | Заменяет цифры глифами одинаковой ширины, часто также lnum |
Фракции | frac | С4 | Преобразует цифры, разделенные косой чертой, с диагональной дробью. |
Альтернативные дроби | afrc | С4 | Преобразует цифры, разделенные косой чертой, в альтернативную сложенных дробей форму . |
Знаменатель | dnom | С1 | Преобразует в соответствующую форму знаменателя дроби, вызываемую frac |
Числитель | numr | С1 | Преобразует в соответствующую форму числителя дроби, вызываемую frac |
Научные неудачники | sinf | С1 | как в «H 2 O», «SO x » или «YC b C r » (но с использованием той же толщины шрифта и предопределенной позиции, в отличие от этих простых HTML-подключений и надстроек) |
Разрезанный ноль | zero | С1 | Заменяет цифру 0 на перечеркнутую цифру 0. |
Математический греческий | mgrk | С1 | Заменяет греческие символы специальными формами для использования в математике. |
Сглаженные акцентные формы | flac | | Эта функция применяется к отдельным глифам при компоновке математической формулы. |
Бесточечные формы | dtls | | Формы без точек следует использовать в качестве базовых форм для расстановки над ними математических акцентов. |
Альтернативные стили математического сценария | ssty | | Эта функция может иметь параметр, указывающий уровень скрипта: 1 для простых индексов и надстрочных индексов, 2 для индексов и надстрочных индексов второго уровня (то есть скрипты на скриптах) и так далее. (В настоящее время используются только первые два альтернативных варианта). Для глифов, на которые не распространяется эта функция, исходный глиф используется в нижних и верхних индексах. |
Функции лигирования и альтернативных форм, предназначенные для всех сценариев [ править ]
Описание |
---|
Доступ ко всем альтернативам | aalt | С1,3 | Особая функция: используется для предоставления пользователю выбора всех альтернативных форм персонажа. |
Сваш | swsh | С1,3 | Либо заменяет символ, либо отображает несколько перечеркнутых версий. |
Контекстный переворот | cswh | S8 | Преобразует букву в перечеркнутую версию на основе символов вокруг буквы. |
Контекстные альтернативы | calt | S6 | Применяет вторую функцию замены на основе совпадения шаблона символов в контексте окружающих шаблонов. |
Исторические формы | hist | С1 | Устаревшие формы символов применяются по усмотрению пользователя, ср. hlig |
Локализованные формы | locl | С1 | Заменяет символ предпочтительной формой на основе языка сценариев. |
Рандомизировать | rand | S3 | Заменяет символ случайными формами (предназначен для имитации почерка) |
Альтернативные формы аннотаций | nalt | С1,3 | Предоставляет пользователю доступ к цифрам в кружочках, обратным буквам и т. д. |
Вариант персонажа 1–99 | cv01– cv99 | S3 | Несколько вариантов одного символа, которые могут быть неприменимы ко многим другим символам, см. ссылки на объемную документацию. |
Стилистические альтернативы | salt | С1,3 | Либо заменяет, либо отображает список стилистических альтернатив для персонажа. |
Стилистический набор 1 – 20 | ss01- ss20 | С1 | Заменяет символ символом из набора стилистических альтернатив, специфичного для шрифта. |
Индекс | subs | С1 | Заменяет символ индексной версией, ср. numr |
Надстрочный индекс | sups | С1 | Заменяет символ версией надстрочного индекса, ср. dnom |
Альтернативные названия | titl | С1 | Заменяет символы формами, подходящими для крупного шрифта, например, в заголовках. |
Требуемые альтернативные варианты | rvrn | С1 | Специальные варианты одного символа, которые должны применяться к определенному варианту шрифта, требуемому переменными шрифтами. |
Контекстуальные лигатуры | clig | S8 | Применяет вторую функцию лигатуры на основе соответствия шаблона символов в контексте окружающих шаблонов. |
Дискреционные лигатуры | dlig | С4 | Лигатуры накладываются по усмотрению пользователя. |
Исторические лигатуры | hlig | С1 | Устаревшие лигатуры накладываются по усмотрению пользователя. |
Стандартные лигатуры | liga | С4 | Заменяет (по умолчанию) последовательность символов одним лигатурным глифом. |
Функции позиционирования, предназначенные для всех сценариев [ править ]
Описание |
---|
Композиция/Разложение Глифов | ccmp | С4,2 | Либо вызывает замену лигатуры в последовательности символов, либо заменяет символ последовательностью глифов. Предоставляет логику, которая может, например, эффективно изменять порядок входных символов. |
Кернинг | kern | П2,8 | Точное горизонтальное позиционирование одного глифа относительно другого в зависимости от формы глифов. |
Отметить позиционирование | mark | П4.5 | Точное позиционирование знака маркировки относительно базового символа |
Позиционирование между отметками | mkmk | П6 | Точное позиционирование глифа метки относительно другого символа метки |
Оптические границы | opbd | П1 | Перемещает глифы в начале и конце строки для точного выравнивания текста. |
Левые границы | lfbd | П1 | Перемещает глифы в конце строки. Вызывается opbd . |
Правые границы | rtbd | П1 | Перемещает глифы в начало строки. Вызывается opbd . |
Специальные функции, предназначенные для всех скриптов [ править ]
Описание |
---|
Оптический размер | size | | Не поиск: таблица функций предоставляет приложениям информацию о внешнем виде и назначении шрифта, чтобы помочь в выборе шрифта. |
Украшения | ornm | С3,1 | Декоративные альтернативы персонажу-пуле • |
Легенда о замене и кодах позиционирования [ править ]
Ниже перечислены типы справочных таблиц OpenType, используемые в столбце «тип» в приведенных выше таблицах. S означает замену , а P означает позиционирование . Обратите внимание, что часто функция может быть реализована более чем одним типом таблицы и что иногда в спецификации не удается явно указать тип таблицы.
аббрев. | тип | описание |
---|
С1 | ГСУБ 1 | простая замена одного глифа другим |
С2 | ГСУБ 2 | множественная замена одного символа несколькими глифами |
S3 | ГСУБ 3 | выбор варианта |
С4 | ГСУБ 4 | лигатуры |
С5 | ГСУБ 5 | контекстная замена |
S6 | ГСУБ 6 | цепная контекстная замена |
S7 | ГСУБ 7 | расширение для таблиц GSUB размером более 64 КБ |
S8 | ГСУБ 8 | контекстная замена с обратной цепочкой |
П1 | ГПОС 1 | расположение одиночного глифа |
П2 | ГПОС 2 | расположение пары глифов |
П3 | ГПОС 3 | скоропись |
П4 | ГПОС 4 | расположение знаков отметок относительно базы |
П5 | ГПОС 5 | расположение знаков меток относительно лигатуры |
П6 | ГПОС 6 | расположение символов отметки относительно другого глифа отметки |
Р7 | ГПОС 7 | контекстное позиционирование |
Р8 | ГПОС 8 | расширенное контекстное позиционирование |
Р9 | ГПОС 9 | расширение для таблиц GPOS размером более 64 КБ |
Типографские особенности AAT [ править ]
Функции, которые принимают одно значение, взаимоисключающее остальные:
- Аннотация
nalt
- Нет аннотации
- Аннотация к окну
- Аннотация к закругленной рамке
- Круговая аннотация
- Аннотация к перевернутому кругу
- Аннотация в скобках
- Аннотация периода
- Римская цифра Аннотация
- Алмазная аннотация
- Альтернативы персонажей
- Нет альтернатив
- …
rand; aalt, calt, falt, jalt, salt, ssXX, hkna/vkna, rtla, vrt2
- Форма персонажа
half, ruby; ljmo, vjmo, tjmo
- Традиционные персонажи
trad
- Упрощенные персонажи
smpl
- Персонажи JIS 1978
jp78
- Персонажи JIS 1983
jp83
- Персонажи JIS 1990
jp90
- Традиционные персонажи, альтернативный набор 1…5
tnam, hojo, nlck
- Экспертные персонажи
expt, locl
- CJK Латинский интервал
- Полуширина
hwid, halt
- Пропорциональный
pwid, palt
- Латиница по умолчанию
- Полноширинная латиница
fwid
- Курсивное соединение
init, medi/med2, fina/fin2/fin3; haln, nukt, vatu, rphf, pres, pstf/psts
- Неподключено
isol
- Частично подключено
calt, clig
- Курсив
curs
- Сложность дизайна
- Уровень дизайна 1
- Уровень дизайна…
- Диакритика
- Показать диакритические знаки
- Скрыть диакритические знаки
- Разложить диакритические знаки
ccmp
- Фракции
- Нет дробей
- Вертикальные дроби
afrc
- Диагональные дроби
frac, dnom, numr
- Идеографический интервал
- Полная ширина
fwid
- Пропорциональный
pwid, palt
- Если интервал
- Полная ширина
fwid
- Пропорциональный
pwid, palt
- Буквенный регистр
case
- Верхний и нижний регистр
- Все заглавные буквы
- Все строчные буквы
- Маленькие заглавные буквы
smcp, pcap
- Начальные заглавные буквы
c2sc, c2pc
- Начальная и малая капитализация
- Числовой регистр
- Цифры в нижнем регистре
onum
- Цифры в верхнем регистре
lnum
- Интервал между числами
- Моноширинные числа
tnum
- Пропорциональные числа
pnum
- Наборы украшений
ornm
- Никто
- Дингбаты
- Персонажи Пи
- Цветочки
- Декоративные бордюры
- Международные символы
- Математические символы
mgrk
- Расстояние между текстом
- Пропорциональный
pwid, palt
- Минивэн
fwid
- Полуширина
hwid, halt
- Нормальный
- Вертикальное положение
- Нет вертикального положения
- Начальники
supr
- Неполноценные
subs, sinf
- ординалы
ordn
Функции, которые принимают несколько значений:
- Лигатуры
- Необходимые лигатуры
rlig, clig
- Общие лигатуры
liga
- Редкие лигатуры
hlig, dlig
- Логотипы
- Картинки Ребус
- Дифтонговые лигатуры
- Квадратные лигатуры
- Квадратные лигатуры, сокращенно
- Математические дополнения
- Дефис в минус ('-' → '-')
- Звездочка для умножения ('*' → '×')
- Косая черта для разделения ('/' → '÷')
- Лигатуры неравенства
- Экспоненты
- Умные перевороты
swsh, cswh
- Начальные буквы слов
- Финальные удары слов
- Начальные штрихи линии
- Финальные штрихи линии
falt
- Нефинальные удары
jalt
- Варианты стиля
- Нет вариантов стиля
- Отображать текст
size
- Гравированный текст
- Светящиеся шапки
- Заглавные буквы
titl
- Высокие кепки
- Транслитерация
locl
- Типографские дополнения
- От дефиса к Em Dash ('--' → '-')
- От дефиса до En Dash ('-' → '–')
- Неразрезанный ноль
zero
- Форма Interrobang ('!?'/'?!' → '‽')
- Смарт-кавычки ('"'"' → '"'"')
- Точки в многоточие ('...' → '…')
Бинарные функции, которые можно только включить:
- Все типографские особенности
- Лингвистическая перестановка
- Перекрывающиеся символы
- Вертикальное замещение
Внешние ссылки [ править ]