Продвинутая типографика Apple - Apple Advanced Typography
Эта статья включает в себя список общих Рекомендации, но он остается в основном непроверенным, потому что ему не хватает соответствующих встроенные цитаты.Ноябрь 2009 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Расширение имени файла | .ttf, .ttc |
---|---|
Типовой код | 0100, «тткф» |
Разработан | яблоко |
Тип формата | Файл шрифта |
Расширен с | TrueType, Шрифты PostScript |
Интернет сайт | https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6AATIntro.html |
Продвинутая типографика Apple (AAT) является Apple Inc. компьютерные технологии для продвинутых шрифт рендеринг, поддержка интернационализация и комплексные функции для типографы, преемник малоиспользуемого от Apple QuickDraw GX шрифтовая технология середины 1990-х годов. Это набор расширений к TrueType стандартный шрифт, с функциями смарт-шрифта, аналогичными OpenType формат шрифта, разработанный Adobe и Microsoft, и Графитовый. Он также включает в себя концепции Adobe "множественный мастер "формат шрифта, позволяющий определять оси характеристик и независимо изменять морфинг глифа вдоль каждой из этих осей. Функции шрифта AAT не изменяют лежащий в основе типизированный текст; они влияют только на представление символов во время преобразования глифа.
особенности
Важные особенности AAT в настоящее время включают:
- Несколько степеней лигатура контроль
- Кашида обоснование и участники
- Перекрестный поток кернинг (требующийся для Насталик Урду, Например)
- Индийская перестановка гласных
- Самостоятельно контролируемая замена:
- Фигуры старого стиля
- Маленькие шапки и буквицы
- Swash варианты
- Альтернативные глифы:
- Индивидуальные альтернативы для каждого символа
- Оптовые альтернативы, такие как гравированный текст
- Все, что дизайнер шрифтов хочет добавить
- Оси вариации глифа
Функции шрифта AAT поддерживаются на Mac OS 8.5 и выше и все версии macOS. Кросс-платформенный ICU библиотека обеспечивает базовую поддержку AAT для скриптов с письмом слева направо.[1] HarfBuzz версия 2 добавила поддержку формирования AAT, реализацию технологии с открытым исходным кодом.[2] который Хром /Хром как версия 72 и LibreOffice поскольку версия 6.3 использует его вместо CoreText для кроссплатформенной рендеринга шрифтов MacOS AAT.
По состоянию на OS X Йосемити и iOS 8, AAT поддерживает формирование в зависимости от языка, то есть изменение способа обработки глифов в зависимости от человеческого языка, который они используются для представления. Эта поддержка доступна за счет использования языковых тегов в Основной текст.[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. Несколько основных шрифтов, где определены конечные точки и допустимо любое среднее значение. При этом пользователь может затем перетаскивать ползунки в пользовательском интерфейсе, чтобы сделать глифы выше или короче, сделать их толще или тоньше, увеличить или уменьшить размер засечек и т. Д., Все независимо друг от друга. Глифы могут даже иметь радикально измененную форму.[7] До того, как OpenType представила вариант шрифта в сентябре 2016 года, в OpenType ничего подобного не было.
Другие таблицы AAT также могут иметь эффекты, зависящие от размера точки;[8] например, в 12 точках горизонтальные и вертикальные штрихи могут иметь одинаковую ширину, но в 300 точках изменение ширины штриха может быть довольно большим.
На практике немногие шрифты AAT используют какие-либо функции технологии, кроме тех, которые доступны через таблицу "morx". Запфино, Текст Хефлера, и Skia - это шрифты, поставляемые с macOS, которые иллюстрируют различные возможности AAT.
AAT для индийских скриптов
Для Индийские скрипты, единственными необходимыми функциями являются переупорядочивание и замена глифов; AAT поддерживает оба из них. Как отмечалось выше, шрифты OpenType для индийских скриптов требуют добавления таблиц AAT, прежде чем они будут правильно работать в macOS. Однако это относится только к программному обеспечению, зависящему от системной поддержки OpenType. Программы, которые предоставляют собственную реализацию OpenType, будут правильно отображать индикатор с помощью шрифтов OpenType. (Однако они могут некорректно отображать индийские шрифты с таблицами AAT.)
Mac OS X 10.5 поставляется со шрифтами для Деванагари, Гурмукхи, Гуджарати, Тайский, тибетский, и Тамильский. Шрифты для других индийских скриптов были включены в более поздние версии macOS и iOS, а также доступны у третьих лиц.
Смотрите также
- Типография Apple
- Графит (SIL) технология в MS Windows и Linux
- Список типографских функций
- XeTeX
Рекомендации
- ^ "Layout Engine - Руководство пользователя ICU".
- ^ https://www.phoronix.com/scan.php?page=news_item&px=HarfBuzz-2.0-Released
- ^ Inc., Apple. "Таблица языковых тегов".
- ^ Inc., Apple. «Таблица точек привязки».
- ^ Inc., Apple. «О шрифтах Apple Advanced Typography Fonts».
- ^ Inc., Apple. «Справочное руководство TrueType - шрифты - разработчик Apple».
- ^ Inc., Apple. «Справочное руководство TrueType - шрифты - разработчик Apple».
- ^ Inc., Apple. «Справочное руководство TrueType - шрифты - разработчик Apple».
внешняя ссылка
- О шрифтах Apple Advanced Typography Fonts, Документация Apple для разработчиков
- Инструменты шрифтов - набор инструментов командной строки для работы со шрифтами
- Расширенная типографика в Mac OS X (в PDF формат) ((Неработающая ссылка))
- Пример таблицы AAT
- Документация Fontforge
- Обсуждение использования AAT в персидских шрифтах