Типографские функции, ставшие возможными с использованием цифровых типографских систем, решили многие требования, предъявляемые к компьютерным системам по воспроизведению традиционной типографики, и расширили возможности за счет множества новых функций. Обычно используются три системы: 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
|
Заменяет начальный ра+халант конечным знаком рефа , обозначающим часть соединения.
|
Варианты Ватту |
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 ('!?'/'?!' → '‽')
- Смарт-кавычки ('"'"' → '"'"')
- Точки в многоточие ('...' → '…')
Бинарные функции, которые можно только включить:
- Все типографские особенности
- Лингвистическая перестановка
- Перекрывающиеся символы
- Вертикальное замещение
Внешние ссылки [ править ]