Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Apple Advanced Typography ( AAT ) - это компьютерная технология Apple Inc. для расширенного рендеринга шрифтов , поддерживающая интернационализацию и сложные функции для типографов , преемница малоиспользуемой технологии шрифтов QuickDraw GX от Apple середины 1990-х годов. Это набор расширений к стандарту шрифта схемы TrueType с функциями smartfont, аналогичными формату шрифтов OpenType , разработанному Adobe и Microsoft, а также Graphite . Он также включает в себя концепции Adobe " Multi Master"."формат шрифта, позволяющий определять оси характеристик и независимо изменять морфинг глифа вдоль каждой из этих осей. Функции шрифта AAT не изменяют лежащий в основе типизированный текст; они влияют только на представление символов во время преобразования глифа.

Особенности [ править ]

Пример дополнительных глифов и лигатур, доступных в гарнитуре Zapfino

Важные особенности AAT в настоящее время включают:

Функции шрифта AAT поддерживаются в Mac OS 8.5 и более поздних версиях, а также во всех версиях macOS. Кросс-платформенная библиотека ICU обеспечивает базовую поддержку AAT для сценариев с письмом слева направо. [1] В HarfBuzz версии 2 добавлена ​​поддержка формирования AAT, реализация технологии с открытым исходным кодом [2], которая используется в Chrome / Chromium в версии 72 и LibreOffice в версии 6.3 вместо CoreText для кроссплатформенной рендеринга шрифтов MacOS AAT. .

Начиная с OS X Yosemite и iOS 8 , AAT поддерживает формирование в зависимости от языка, то есть изменение способа обработки глифов в зависимости от человеческого языка, который они используются для представления. Эта поддержка доступна за счет использования языковых тегов в Core Text . [3] В то же время было добавлено положение для относительного позиционирования двух глифов через точки привязки через таблицы «kerx» и «ankr». [4]

AAT и OpenType в macOS [ править ]

Начиная с Mac OS X 10.5 Leopard , доступна частичная поддержка OpenType. С 2011 года поддержка ограничена западными и арабскими шрифтами. Если у шрифта есть таблицы AAT, они будут использоваться для типографики. Если у шрифта нет таблиц AAT, но есть таблицы OpenType, они будут использоваться в той степени, в которой их поддерживает система.

Это означает, что многие шрифты OpenType для западных или ближневосточных скриптов можно использовать без модификации в Mac OS X 10.5, но в южноазиатских скриптах, таких как тайский и деванагари, нельзя. Для этого требуются таблицы AAT для правильной разметки.

Схема AAT [ править ]

AAT сначала требует, чтобы текст был полностью преобразован в глифы до того, как произойдет разметка текста. Операции с текстом полностью выполняются внутри слоя глифов.

Основная таблица, используемая в процессе компоновки AAT, - это таблица morx. Эта таблица разделена на серию цепочек, каждая из которых разделена на подтаблицы. Цепочки и подтаблицы обрабатываются по порядку. При обнаружении каждой подтаблицы механизм компоновки сравнивает флаги в подтаблице с контрольными флагами, обычно получаемыми из пользовательских настроек. Это определяет, обрабатывается ли подтаблица.

Набор доступных функций в шрифте доступен пользователю через таблицу «feat». Эта таблица предоставляет указатели на локализуемые строки, которые можно использовать для описания функции для конечного пользователя, и соответствующие флаги для отправки текстовому механизму, если функция выбрана. Возможности можно сделать невидимыми для пользователя, просто не включив для них записи в таблице «feat». Apple использует этот подход, например, для поддержки необходимых лигатур.

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

Подтаблицы «morx» для неконтекстных замен глифов представляют собой простые таблицы сопоставления между замещенным глифом и его заменой. Все остальные предполагают использование конечных автоматов .

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

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

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

Поскольку AAT полностью работает с глифами, а не с символами, вся информация о макете, необходимая для правильного отображения, находится внутри самого шрифта. Это позволяет добавлять шрифты для новых сценариев, не требуя какой-либо специальной поддержки со стороны ОС. Третьи стороны могут создавать шрифты для скриптов, официально не поддерживаемых Apple, и они будут работать с macOS. С другой стороны, это также означает, что каждый шрифт для данного скрипта требует своей собственной копии формирующей информации скрипта в его собственных таблицах «morx».

Другие таблицы AAT (или специфичные для AAT расширения стандартных таблиц TrueType) допускают контекстно-зависимый кернинг, выравнивание и разделение лигатур. AAT также поддерживает вариативные шрифты [6], в которых форма шрифта может изменяться в зависимости от масштабированного значения, предоставленного пользователем. Вариативные шрифты похожи на несуществующие шрифты Adobe Multiple master , в которых определены конечные точки и допустимо любое среднее значение. При этом пользователь может затем перетаскивать ползунки в пользовательском интерфейсе, чтобы сделать глифы выше или короче, сделать их толще или тоньше, увеличить или уменьшить размер засечек и т.п., все независимо друг от друга. Глифы могут даже радикально изменить свою основную форму. [7] До того, как OpenType представил вариант шрифта в сентябре 2016 года, в OpenType ничего подобного не было.

Другие таблицы AAT также могут иметь эффекты, зависящие от размера точки; [8] например, в 12 точках горизонтальные и вертикальные штрихи могут иметь одинаковую ширину, но в 300 точках изменение ширины штриха может быть довольно большим.

На практике немногие шрифты AAT используют какие-либо функции технологии, кроме тех, которые доступны через таблицу «morx». Zapfino , Hoefler Text и Skia - это шрифты, поставляемые с macOS, которые иллюстрируют различные возможности AAT.

AAT для индийских скриптов [ править ]

Для индийских скриптов единственными необходимыми функциями являются переупорядочение и замена глифов; AAT поддерживает оба из них. Как отмечалось выше, шрифты OpenType для индийских скриптов требуют добавления таблиц AAT, прежде чем они будут правильно работать в macOS. Однако это относится только к программному обеспечению, зависящему от системной поддержки OpenType. Программы, которые предоставляют собственную реализацию OpenType, будут правильно отображать индикатор с помощью шрифтов OpenType. (Однако они могут некорректно отображать индийские шрифты с таблицами AAT.)

Mac OS X 10.5 поставляется со шрифтами для деванагари , гурмукхи , гуджарати , тайского , тибетского и тамильского языков . Шрифты для других индийских скриптов были включены в более поздние версии macOS и iOS, а также доступны у третьих лиц.

См. Также [ править ]

  • Типографика Apple
  • Технология Graphite (SIL) в MS Windows и Linux
  • Список типографских функций
  • XeTeX

Ссылки [ править ]

  1. ^ "Layout Engine - Руководство пользователя ICU" .
  2. ^ https://www.phoronix.com/scan.php?page=news_item&px=HarfBuzz-2.0- Выпущено
  3. ^ Inc., Apple. «Таблица языковых тегов» .
  4. ^ Inc., Apple. «Таблица точек привязки» .
  5. ^ Inc., Apple. «О шрифтах Apple Advanced Typography Fonts» .
  6. ^ Inc., Apple. «Справочное руководство TrueType - Шрифты - Разработчик Apple» .
  7. ^ Inc., Apple. «Справочное руководство TrueType - Шрифты - Разработчик Apple» .
  8. ^ Inc., Apple. «Справочное руководство TrueType - Шрифты - Разработчик Apple» .

Внешние ссылки [ править ]

  • О шрифтах Apple Advanced Typography Fonts , документация Apple для разработчиков
  • Инструменты для работы со шрифтами - набор инструментов командной строки для работы со шрифтами.
  • Расширенная типографика в Mac OS X (в формате PDF ) ((Ссылка не работает))
  • Пример таблицы AAT
  • Документация Fontforge
  • Обсуждение использования AAT в персидских шрифтах