Про шрифты с продолжением… Часть 17
Расширенная типографика (OpenType features)
Когда заходит речь о расширенной типографике, то обычно имеются в виду шрифты в формате OpenType. Подробно об этом формате мы говорили в предыдущих публикациях, а здесь рассмотрим его именно в контексте расширенной типографики.
Изза ограничений предыдущих шрифтовых технологий в один шрифт часто невозможно было поместить все необходимые знаки. Поэтому в дополнение к основным шрифтам строили дополнительные варианты шрифтов в различных стандартизованных или, чаще, случайно придуманных кодировках. Применение шрифтов, для которых были разработаны, например, минускульные цифры и капитель, было чрезвычайно неудобным. Шрифты OpenType используют единый файл шрифтов для компьютеров под управлением ОС Windows и Macintosh, поэтому можно переносить эти файлы с одной платформы на другую, не задумываясь о подстановке шрифтов и других проблемах, которые могут привести к перекомпоновке текста.
Одно из главных преимуществ новой технологии — поддержка расширенных типографских возможностей. Эти шрифты могут обладать особыми возможностями, например поддерживать каллиграфическое начертание и дополнительные лигатуры, которые недоступны в существующих шрифтах PostScript и TrueType.
При работе со шрифтом OpenType в тексте можно автоматически использовать альтернативные варианты начертания, например лигатуры, капители, дроби и пропорциональные цифры старого стиля.
Шрифты OpenType могут содержать расширенные наборы символов и возможности их компоновки для обеспечения более глубокой языковой поддержки и дополнительного типографского контроля.
Основное, что должно нас интересовать в реализации расширенной типографики OpenType, касается разделения числового кода знака (character) и его графемы (glyph). Знак — это кодированная единица, упорядоченная в соответствии со стандартом Unicode, представляющая собой минимальную семантическую единицу языка, например букву. Глиф — это графический образ знака. Один знак может соответствовать нескольким глифам (рис. 1): строчная «а», капительная «а» и альтернативный вариант строчной «а» с росчерком являются одним и тем же знаком, но в то же время это три разных глифа (графемы). Один глиф, в свою очередь, может соответствовать комбинации нескольких знаков, например лигатура «ffi», являясь единой графемой, соответствует последовательности трех знаков: f, f и i. Таким образом, для программы проверки орфографии слово «office» будет состоять из шести знаков, а графический процессор выдаст на экран четыре глифа.
Для любого знака по умолчанию определен базовый глиф и порядок его размещения в тексте. Применение дополнительных правил к одному или нескольким знакам может изменить их взаимное расположение или заменить базовые глифы альтернативными. К примеру, применение правила «Капитель» к символу «а» заменит обычный знак на капительный аналог «A».
Для того чтобы воспользоваться новыми возможностями шрифтов, необходимо, чтобы прикладные программы поддерживали эти возможности и имели соответствующий пользовательский интерфейс (см. врезку 1).
Рис. 1. Один знак — три глифа
Врезка 1
Chosen functionality |
Activated feature(s) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Proportional Oldstyle |
pnum + onum |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
Tabular Lining |
tnum + lnum |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
||||||
Proportional Lining |
pnum + lnum |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
||||||
Tabular Oldstyle |
tnum + onum |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
||||||
Standard Ligatures |
liga |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
Discretionary Ligatures |
dlig |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
||
Historical Ligatures |
hlig |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
||
All Caps |
case + cpsp |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
|
Small Caps |
smcp |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
|
Capitals to Small Caps |
c2sc |
× |
× |
× |
× |
× |
× |
× |
||||||||||
Superscript |
sups |
× |
× |
× |
× |
× |
× |
× |
× |
× |
||||||||
Scientific Inferiors |
sinf |
× |
× |
× |
× |
× |
× |
× |
× |
× |
||||||||
Subscript |
subs |
|||||||||||||||||
Ordinals |
ordn |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
|||||
Titling Alternates |
titl |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
|||||||
Swash |
swsh |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
|||||
Contextual Swash |
cswh |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
|||||
All Alternates |
aalt |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
||||||
Contextual Alternates |
calt |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
|||
Contextual Ligatures |
clig |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
|||
Fractions |
frac |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
× |
|||||
Alternative Fractions |
afrc |
× |
||||||||||||||||
Numerator |
numr |
× |
× |
× |
× |
× |
× |
× |
× |
× |
||||||||
Denominator |
dnom |
× |
× |
× |
× |
× |
× |
× |
× |
× |
||||||||
Ornaments |
ornm |
× |
× |
× |
× |
× |
||||||||||||
Stylistic Alternates |
salt |
× |
× |
× |
× |
× |
× |
× |
× |
|||||||||
Stylistic Sets |
ss01…ss20 |
× |
× |
× |
||||||||||||||
Historical Forms |
hist |
× |
× |
× |
× |
|||||||||||||
Slashed Zero |
zero |
× |
× |
× |
× |
× |
||||||||||||
Justification Alternates |
jalt |
|||||||||||||||||
Alternate Annotation |
nalt |
|||||||||||||||||
Mathematical Greek |
mgrk |
|||||||||||||||||
Localized Forms |
locl |
× |
× |
× |
× |
|||||||||||||
Petite Caps |
pcap |
|||||||||||||||||
Capitals to Petite Caps |
c2pc |
|||||||||||||||||
Unicase |
unic |
|||||||||||||||||
Glyph de/composition |
ccmp |
× |
× |
× |
||||||||||||||
Required Ligatures |
rlig |
× |
× |
× |
||||||||||||||
Mark Positioning |
mark |
× |
× |
× |
||||||||||||||
Mark-to-mark Positioning |
mkmk |
× |
× |
× |
||||||||||||||
Mark Positioning via Subs. |
mset |
× |
× |
× |
||||||||||||||
Terminal Form |
fina |
× |
× |
× |
||||||||||||||
Initial Form |
init |
× |
× |
× |
||||||||||||||
Isolated Form |
isol |
× |
× |
× |
||||||||||||||
Medial Form |
medi |
× |
× |
× |
Например, в текущей версии программы Adobe InDesign палитра Символ и панель Управление позволяют применять к тексту различные атрибуты шрифтов OpenType: дроби, орнаменты и т.п.
Применение атрибутов шрифтов OpenType:
- Выделите текст.
- Убедитесь, что в палитре Символ или в панели Управление выбран шрифт OpenType.
- В меню палитры Символ выберите пункт OpenType, а затем выберите один из атрибутов OpenType — Дополнительные лигатуры, Дроби и т.д.
Свойства, не поддерживаемые в текущем шрифте, отображаются в квадратных скобках (например, «[Орнамент]»).
Врезка 2 Лигатура (лат. ligatura — связь) — знак любой системы письма или фонетической транскрипции, образованный путем соединения двух и более графем, например: датское, исландское, норвежское и осетинское «æ»; немецкое «ß»; русские и белорусские «ы», «ю», «щ». По неслившимся частям (иногда изменяющим свою форму) обычно можно видеть, какие буквы входят в состав лигатуры. В некоторых системах письма лигатуры многих буквенных сочетаний вошли во всеобщее употребление, являясь как бы сложными буквенными знаками для изображения определенных звуковых комплексов. Некоторые виды лигатур в латинице Лигатуры широко применялись в Средние века как способ ускорения письма и экономии места. Лигатуры появились в ручном наборе сразу же с его изобретением, когда немецкий первопечатник Иоганн Гутенберг для достижения ровности строки и сходства ее с рукописной использовал в своей 42-строчной Библии лигатуры и различные вариации одних и тех же знаков (например, три варианта буквы «а»: узкая, обычная и широкая). Позже лигатуры применялись при книгопечатании, например для воспроизведения идущих подряд латинских знаков «f» и «i» с такими же апрошами, как между другими буквами, использовался знак «?», так как применение обычных литер было невозможно из-за столкновения точек и нахлеста букв. Этот метод довольно долго использовался в ручном наборе, но практически исчез при появлении линотипа и монотипа, так как в их матрицах не хватало места для лигатур (аналогичная судьба постигла русскую букву «ё»). По тем же причинам лигатуры отсутствовали в первых цифровых шрифтах (из-за ограничения числа глифов 256) и если подставлялись в набор, то либо вручную, либо аппаратно в программе верстки. Активно глифы стали применяться с появлением шрифтов формата OpenType, где число возможных глифов расширилось до 64 тыс., а разного рода замены прописываются на простейшем языке Python. Лигатура старославянского йотированного «большого юса» В то же время лигатуры нередко использовались для украшения и орнаментализации текстов, например в вязи (см. рисунок). В наше время многие лигатуры можно встретить только в исторических источниках (например, в аутентичном переиздании «Слова о полку Игореве») или в тех языках, где они фактически приобрели статус самостоятельных букв (французском, норвежском, нидерландском, армянском и многих других). В арабском письме используют лигатуру Лям-алиф. К типам письма с многочисленными лигатурами относятся индийское письмо деванагари и угловатая (хорватская) глаголица. В китайском языке в качестве лигатур применяются словосочетания, объединенные в один иероглиф. Некоторые лигатуры фактически превратились в логограммы, например амперсанд («&» из лат. «et»), используемый во многих европейских языках в значении союза «и» независимо от реального произношения слова. Реже лигатурами называют диграфы, триграфы и тетраграфы, то есть обозначение одной фонемы двумя, тремя или четырьмя графемами, например польские «sz» и «cz», немецкое «tsch». Если лигатура применяется долгое время, ее эволюция продолжается. В частности, возможен переход лигатуры в специальный символ. К таким знакам относится символ «@», предположительно образованный из английского предлога «at». |
Дополнительные лигатуры
InDesign обеспечивает автоматическую вставку лигатур — типографских знаков, заменяющих определенные пары символов (например, «fi» и «fl» — см. врезку 2), если они доступны для данного шрифта. Символы, которые использует InDesign, если выбран параметр Лигатура, отображаются и печатаются как лигатуры, однако при этом они полностью доступны для редактирования и не приводят к ложным ошибкам при проверке орфографии.
Разработчик может включить в шрифт необязательные лигатуры, которые будут применяться не во всех случаях. Если этот параметр выбран, то дополнительные лигатуры будут использованы, если они определены в шрифте.
Во время создания шрифта фича описывается так (здесь пример для лигатур «fi» и «fl»):
feature liga{ # Ligatures
sub f i by f_i;
sub f l by f_l;
} liga;
Ничего сложного здесь нет. Слово «liga» — сокращение от «ligatures», а «sub» — от «substitute». Похожим образом прописываются и остальные подстановки. Это относится как к стандартным, так и к дополнительным лигатурам. Только тэги будут определены поразному: «liga» для стандартных и «dlig» для дополнительных лигатур.
При этом бывают случаи, когда надо предусмотреть:
ignore substitute @LETTER f’ i’;
То есть игнорировать подстановку сочетания «f» и «i» на соответствующую лигатуру в прописных.
Дроби
Числа, разделенные косой чертой (например, «1/3»), преобразуются в символы дробей, если они определены в шрифте (?). Существует несколько видов записи обыкновенных дробей:
- привычная нам по учебникам высшей школы —1/2;
- 1/2 или 1 / 2 (наклонная черта называется «солидус»);
- выключенная формула, где цифры располагаются строго одна над другой (вверху числитель, внизу — знаменатель) и разделяются горизонтальной чертой (она называется «винкулиум» (англ.)). В выключенной формуле цифры числителя и знаменателя могут выходить далеко за границы строки, на которой они размещаются;
- строчная формула — это более компактная форма записи выключенной формулы, которая своими габаритами не выходит за границы строки;
- существуют еще многоэтажные, так называемые составные дроби. Но это отдельный случай, который мы здесь рассматривать не будем.
Надо заметить, что в Древней Руси дроби называли долями или ломаными числами. Термин «дробь» как аналог латинского fractura используется в «Арифметике» Магницкого (1703) как для обыкновенных, так и для десятичных дробей.
feature frac { # my Fractions feature
sub slash by fraction; # 1st statement
sub @standard by @numerator; # 2nd statement
sub fraction @numerator’ by @denominator; # 3rd statement
sub @denominator @numerator’ by @denominator; # 4th statement
} frac;
Порядковое числительное
Порядковые числительные (например, 1st и 2nd) форматируются надстрочными индексами (1st и 2nd), если они определены в шрифте.
feature ordn { # Ordinals
sub @ordn1 by @ordn2;
} ordn;
Орнамент
Доступны обычные и контекстные орнаменты, которые могут включать альтернативные варианты начертания прописных букв и конечных символов, если они определены в шрифте.
В скрипте:
feature ornm { # Ornaments
# Latin
sub bullet from @aalt3;
script cyrl; # Cyrillic
sub bullet from @aalt3;
sub arrowright from [uni2192.alt1 uni2192.alt2 orn.025 orn.029 orn.031];
sub arrowleft from [uni2190.alt1 uni2190.alt2 orn.024 orn.028 orn.030];
} ornm;
Контекстные альтерации
Контекстные лигатуры и варианты соединений включаются, если они определены в шрифте. Альтернативные символы включаются в некоторые рукописные гарнитуры шрифта для улучшения их стыковки. Этот параметр обычно выбран по умолчанию.
Подстановка для буквы «t», которая находится соответственно в начале, середине и конце слова, выглядит так:
feature calt {
sub @_bajas t’ @_altas by t.left;
sub @_bajas t’ @_bajas by t.middle;
sub @_altas t’ @_bajas by t.right;
} calt;
Врезка 3
Feature Tag |
Friendly Name |
'aalt' |
Access All Alternates |
'abvf' |
Above-base Forms |
'abvm' |
Above-base Mark Positioning |
'abvs' |
Above-base Substitutions |
'afrc' |
Alternative Fractions |
'akhn' |
Akhands |
'blwf' |
Below-base Forms |
'blwm' |
Below-base Mark Positioning |
'blws' |
Below-base Substitutions |
'calt' |
Contextual Alternates |
'case' |
Case-Sensitive Forms |
'ccmp' |
Glyph Composition / Decomposition |
'cfar' |
Conjunct Form After Ro |
'cjct' |
Conjunct Forms |
'clig' |
Contextual Ligatures |
'cpct' |
Centered CJK Punctuation |
'cpsp' |
Capital Spacing |
'cswh' |
Contextual Swash |
'curs' |
Cursive Positioning |
cv01-cv99' |
Character Variants |
'c2pc' |
Petite Capitals From Capitals |
'c2sc' |
Small Capitals From Capitals |
'dist' |
Distances |
'dlig' |
Discretionary Ligatures |
'dnom' |
Denominators |
'expt' |
Expert Forms |
'falt' |
Final Glyph on Line Alternates |
'fin2' |
Terminal Forms #2 |
'fin3' |
Terminal Forms #3 |
'fina' |
Terminal Forms |
'frac' |
Fractions |
'fwid' |
Full Widths |
'half' |
Half Forms |
'haln' |
Halant Forms |
'halt' |
Alternate Half Widths |
'hist' |
Historical Forms |
'hkna' |
Horizontal Kana Alternates |
'hlig' |
Historical Ligatures |
'hngl' |
Hangul |
'hojo' |
Hojo Kanji Forms (JIS X 0212-1990 Kanji Forms) |
'hwid' |
Half Widths |
'init' |
Initial Forms |
'isol' |
Isolated Forms |
'ital' |
Italics |
'jalt' |
Justification Alternates |
'jp78' |
JIS78 Forms |
'jp83' |
JIS83 Forms |
'jp90' |
JIS90 Forms |
'jp04' |
JIS2004 Forms |
'kern' |
Kerning |
'lfbd' |
Left Bounds |
'liga' |
Standard Ligatures |
'ljmo' |
Leading Jamo Forms |
'lnum' |
Lining Figures |
'locl' |
Localized Forms |
'ltra' |
Left-to-right alternates |
'ltrm' |
Left-to-right mirrored forms |
'mark' |
Mark Positioning |
'med2' |
Medial Forms #2 |
'medi' |
Medial Forms |
'mgrk' |
Mathematical Greek |
'mkmk' |
Mark to Mark Positioning |
'mset' |
Mark Positioning via Substitution |
'nalt' |
Alternate Annotation Forms |
'nlck' |
NLC Kanji Forms |
'nukt' |
Nukta Forms |
'numr' |
Numerators |
Feature Tag |
Friendly Name |
'onum' |
Oldstyle Figures |
'opbd' |
Optical Bounds |
'ordn' |
Ordinals |
'ornm' |
Ornaments |
'palt' |
Proportional Alternate Widths |
'pcap' |
Petite Capitals |
'pkna' |
Proportional Kana |
'pnum' |
Proportional Figures |
'pref' |
Pre-Base Forms |
'pres' |
Pre-base Substitutions |
'pstf' |
Post-base Forms |
'psts' |
Post-base Substitutions |
'pwid' |
Proportional Widths |
'qwid' |
Quarter Widths |
'rand' |
Randomize |
'rkrf' |
Rakar Forms |
'rlig' |
Required Ligatures |
'rphf' |
Reph Forms |
'rtbd' |
Right Bounds |
'rtla' |
Right-to-left alternates |
'rtlm' |
Right-to-left mirrored forms |
'ruby' |
Ruby Notation Forms |
'salt' |
Stylistic Alternates |
'sinf' |
Scientific Inferiors |
'size' |
Optical size |
'smcp' |
Small Capitals |
'smpl' |
Simplified Forms |
'ss01' |
Stylistic Set 1 |
'ss02' |
Stylistic Set 2 |
'ss03' |
Stylistic Set 3 |
'ss04' |
Stylistic Set 4 |
'ss05' |
Stylistic Set 5 |
'ss06' |
Stylistic Set 6 |
'ss07' |
Stylistic Set 7 |
'ss08' |
Stylistic Set 8 |
'ss09' |
Stylistic Set 9 |
'ss10' |
Stylistic Set 10 |
'ss11' |
Stylistic Set 11 |
'ss12' |
Stylistic Set 12 |
'ss13' |
Stylistic Set 13 |
'ss14' |
Stylistic Set 14 |
'ss15' |
Stylistic Set 15 |
'ss16' |
Stylistic Set 16 |
'ss17' |
Stylistic Set 17 |
'ss18' |
Stylistic Set 18 |
'ss19' |
Stylistic Set 19 |
'ss20' |
Stylistic Set 20 |
'subs' |
Subscript |
'sups' |
Superscript |
'swsh' |
Swash |
'titl' |
Titling |
'tjmo' |
Trailing Jamo Forms |
'tnam' |
Traditional Name Forms |
'tnum' |
Tabular Figures |
'trad' |
Traditional Forms |
'twid' |
Third Widths |
'unic' |
Unicase |
'valt' |
Alternate Vertical Metrics |
'vatu' |
Vattu Variants |
'vert' |
Vertical Writing |
'vhal' |
Alternate Vertical Half Metrics |
'vjmo' |
Vowel Jamo Forms |
'vkna' |
Vertical Kana Alternates |
'vkrn' |
Vertical Kerning |
'vpal' |
Proportional Alternate Vertical Metrics |
'vrt2' |
Vertical Alternates and Rotation |
'zero' |
Slashed Zero |
Все капителями
Для шрифтов, содержащих капители, выбор этого параметра включает вывод символов капителями.
InDesign поддерживает автоматическое изменение регистра символов для выделенного текста. Если текст отформатирован в виде капителей, то автоматически используются символы капители, если они предусмотрены в шрифте. Если же капители в шрифте отсутствуют, то InDesign производит их синтез, используя варианты обычных прописных символов уменьшенного размера. Размер синтезируемых капителей задается в диалоговом окне Установки текста.
Строчные в капитель:
feature smcp { # my Small Caps feature
sub @lowercase by @small_caps;
} smcp;
Пример фичи, глобально регулирующей расстояние между символами капители:
feature cpsp {
pos @uppercase <7 0 14 0>;
} cpsp;
Перечеркнутый ноль
При включении этого параметра 0 (ноль) перечеркивается по диагонали косой чертой. В некоторых шрифтах (особенно сжатых) ноль (0) бывает трудно отличить от прописной буквы O.
feature zero { # Slashed Zero
# Latin
sub [zero zero.fitted] by [zero.slash zero.slashfitted];
script DFLT;
sub [zero zero.fitted] by [zero.slash zero.slashfitted];
script cyrl; # Cyrillic
sub [zero zero.fitted] by [zero.slash zero.slashfitted];
} zero;
Стилистические наборы
Некоторые шрифты OpenType включают наборы вариантов начертания глифов, разработанные для улучшения эстетического эффекта (рис. 2).
Стилистический набор (набор вариантов начертания глифа) — это группа альтернативных вариантов начертания глифов, которая может быть за один раз применена к одиночному символу или фрагменту текста. При выборе другого варианта начертания вместо глифов по умолчанию применяются глифы, определенные в наборе. Если символ глифа в наборе вариантов начертания используется в сочетании с другими параметрами OpenType, то отдельно заданный глиф заменяет глиф из набора символов. Глифы, содержащиеся в каждом из наборов, можно просмотреть в палитре Глифы.
feature salt { # my Stylistic Alternates
sub a by a.salt;
sub g by g.salt;
} salt;
Рис. 2. Стилистические наборы в шрифте Poetica
Позиционные формы
В некоторых курсивных рукописных шрифтах и языках (например, в арабском) форма символа зависит от его положения в слове. Символ может иметь различную форму в начале (начальное положение), середине (среднее положение) и конце (конечное положение) слова, а также если слово состоит только из одного этого символа (изолированное положение). Чтобы правильно задать формат символа, выделите его и выберите значение параметра Позиционные формы. В режиме Общая форма вставляется обычный символ, в режиме Автоматическая форма — форма символа в зависимости от его положения в слове или форма символа в изолированном положении.
feature init{
sub @isolated_forms by @initial_forms;
}init;
В классах это может выглядеть, например, так:
substitute [a e n] d’ by d.alt;
При этом имеется в виду, что на «d» альтернативную заменяется соответствующий знак только в сочетаниях «ad», «ed» или «nd».
Надстрочные и подстрочные индексы
Некоторые шрифты OpenType содержат приподнятые или опущенные глифы, которые имеют размер, правильно подобранный относительно окружающих их символов.
feature sups { # Superscript
sub @figures_standard by @figures_sups;
sub @punctuation_regular by @punctuation_sups;
} sups;
Если в шрифте OpenType эти глифы для нестандартных дробей отсутствуют, попробуйте воспользоваться атрибутами Числитель и Знаменатель.
Научный подстрочник
Часто бывает, особенно в химических или физических формулах и описаниях, что часть или некоторые знаки должны не только быть в положении нижнего индекса, но еще и сдвинуты вниз относительно базовой линии. Здесь на помощь приходит фича:
feature sinf { # Scientific Inferiors
sub @sups1 by @sinf1;
} sinf;
Пропорциональные старого стиля
Цифры разной высоты имеют различную ширину. Этот режим рекомендуется для отображения текста, набранного прописными и строчными буквами, в классическом стиле.
feature pnum { # Proportional Figures
sub @pnum1 by @pnum2;
} pnum;
Пропорциональные современные
Цифры полной высоты имеют различную ширину. Этот режим рекомендуется для текста, набранного только прописными буквами.
feature lnum { # Lining Figures
sub @lnum1 by @lnum2;
} lnum;
Моноширинные старого стиля
Цифры разной высоты имеют фиксированную, одинаковую ширину. Этот режим рекомендуется в тех случаях, когда необходимо добиться классического внешнего вида чисел в старом стиле и чтобы при этом они были выровнены в столбце.
feature onum { # Old Style Figures
sub @c2sc1 by @c2sc2;
} onum;
Табличные цифры
Все цифры полной высоты имеют одинаковую ширину. Этот режим подходит в тех ситуациях, когда необходимо выравнивать числа на нескольких строках, как в таблицах.
feature tnum { # Tabular Figures
sub @tnum1 by @tnum2;
} tnum;
Разумеется, здесь перечислены не все фичи. Мало того, в борьбе за потребителя приложения разных фирмпроизводителей поддерживают не все возможности шрифтов формата OpenType. Полный список дан в сводной таблице во врезке 3 (без перевода).
Подробную информацию по OTфичам можно посмотреть на странице OpenType Specification at Microsoft (http://www.microsoft.com/typography/otspec/) или на странице Adobe Font Development Kit for OpenType (http://www.adobe.com/devnet/opentype/afdko.html). Продвинутым разработчикам настоятельно рекомендую для чтения справочник по синтаксису OTфич (http://www.adobe.com/devnet/opentype/afdko/topic_feature_file_syntax.html).