Расширенная типографика Apple
![]() | Эта статья включает список общих ссылок , но в ней отсутствуют достаточные соответствующие встроенные цитаты . ( Ноябрь 2009 г. ) |
Расширение имени файла | .ttf, .ttc |
---|---|
Введите код | 0100, "тткф" |
Разработано | Яблоко |
Тип формата | Файл шрифта |
Расширено с | TrueType , шрифты PostScript |
Веб-сайт | https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6AATIntro.html |
Apple Advanced Typography ( AAT ) — это Apple Inc. компьютерная технология для расширенного рендеринга шрифтов , поддерживающая интернационализацию и сложные функции для типографов , преемница малоиспользуемой технологии шрифтов Apple QuickDraw GX середины 1990-х годов.
Это набор расширений стандарта контурных шрифтов TrueType с функциями смарт-шрифта, аналогичными формату шрифтов OpenType , разработанному Adobe и Microsoft, а также Graphite . Он включает в себя концепции формата шрифтов Adobe « multiple master », позволяющие определять оси черт и трансформировать глиф независимо вдоль каждой из этих осей. Функции шрифтов AAT не изменяют основной печатный текст; они влияют только на представление символов во время преобразования глифов.
Особенности [ править ]

К важным особенностям ААТ относятся:
- Несколько степеней лигатуры контроля
- Кашида обоснование и столяры
- Перекрестный кернинг (требуется для насталик урду ) , например,
- Перестановка индийских гласных
- Независимо контролируемая замена:
- Фигурки старого образца
- Маленькие прописные и буквицы
- перекоса Варианты
- Альтернативные глифы:
- Индивидуальные альтернативы для каждого глифа
- Оптовые альтернативы, такие как гравированный текст.
- Что-нибудь еще, что хочет добавить дизайнер шрифтов
- Оси вариаций глифов
Функции шрифтов AAT поддерживаются в Mac OS 8.5 и более поздних версиях, а также во всех версиях macOS. Кроссплатформенная библиотека ICU обеспечивала базовую поддержку AAT для сценариев с письмом слева направо. [1] В HarfBuzz версии 2 добавлена поддержка формирования AAT, реализация технологии с открытым исходным кодом. [2] Chrome LibreOffice / Chromium версии 72 и версии 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 в среднюю в любом месте слова, кроме его конца.
Подтаблицы «morx» для неконтекстных замен глифов представляют собой простые таблицы сопоставления между заменяемым глифом и его заменителем. Все остальные связаны с использованием конечных автоматов .
Для целей обработки конечного автомата глифы организованы в классы. Класс может быть небольшим и содержать только один глиф (что-то вроде формирования лигатуры) или может включать в себя десятки и даже больше глифов. Специальный класс автоматически определяется для любого глифа, не включенного ни в один из явных классов. Также доступны специальные классы для конца потока глифов и глифов, удаленных из потока глифов.
Начиная с состояния начала текста, механизм компоновки анализирует текст глиф за глифом. В зависимости от текущего состояния и класса глифа, с которым он сталкивается, он перейдет в новое состояние и, возможно, выполнит соответствующее действие. Процесс продолжается до тех пор, пока поток глифов не исчерпается.
Использование конечных автоматов позволяет таблицам «morx» быть относительно небольшими и обрабатываться относительно быстро. Они также обеспечивают значительную гибкость. Однако, поскольку инструменты шрифтов Apple требуют создания таблиц «morx» с использованием необработанной информации таблицы состояний, их создание и отладка могут быть затруднены. Дизайнер шрифтов также несет ответственность за правильность порядка подтаблиц «morx» для достижения желаемого эффекта.
AAT полностью работает с глифами и никогда не работает с символами, поэтому вся информация о макете, необходимая для правильного отображения, находится внутри самого шрифта. Это позволяет добавлять шрифты для новых сценариев, не требуя какой-либо специальной поддержки со стороны ОС. Третьи стороны могут создавать шрифты для скриптов, официально не поддерживаемых Apple, и они будут работать с macOS. С другой стороны, это также означает, что каждый шрифт для данного сценария требует собственной копии информации о формировании сценария в своих собственных таблицах «morx».
Другие таблицы AAT (или специфичные для AAT расширения стандартных таблиц TrueType) допускают контекстно-зависимый кернинг, выравнивание и разделение лигатур. AAT также поддерживает варианты шрифтов, [6] в котором форма шрифта может меняться в зависимости от масштабированного значения, предоставленного пользователем. Вариационные шрифты похожи на несуществующие несколько основных шрифтов Adobe , где конечные точки определены и любое срединное значение допустимо. При этом пользователь может затем перетаскивать ползунки в пользовательском интерфейсе, чтобы сделать глифы выше или короче, сделать их толще или тоньше, увеличить или уменьшить размер засечек и т.п., и все это независимо друг от друга. Глифы могут даже радикально изменить свою фундаментальную форму. [7] До того, как OpenType представил вариант шрифта в сентябре 2016 года, в OpenType не было ничего подобного.
Другие таблицы AAT также могут иметь эффекты, зависящие от размера точки; [6] например, при 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, а также доступны от третьих сторон.
См. также [ править ]
- Яблочная типография
- Технология Graphite (SIL) в MS Windows и Linux
- Список типографских особенностей
- КсеТекс
Ссылки [ править ]
- ^ «Механизм макета — Руководство пользователя отделения интенсивной терапии» .
- ^ «Выпущен HarfBuzz 2.0 для улучшения формирования текста с открытым исходным кодом» . Фороникс . 19 октября 2018 г.
- ^ «Таблица языковых тегов» . Apple Инк.
- ^ «Таблица опорных точек» . Apple Инк.
- ^ «О шрифтах Apple Advanced Typography» . Apple Инк.
- ↑ Перейти обратно: Перейти обратно: а б «Справочное руководство TrueType — Таблица 'fvar'» . Apple Inc. Архивировано из оригинала 4 июня 2014 года.
- ^ «Справочное руководство TrueType — Таблица gvar» . Apple Inc. Архивировано из оригинала 4 июня 2014 года.
Внешние ссылки [ править ]
- О шрифтах Apple Advanced Typography Fonts , документация Apple для разработчиков
- «Инструменты шрифтов» . Архивировано из оригинала 14 января 2010 года. — набор инструментов командной строки для работы со шрифтами.
- «Расширенная типографика в Mac OS X» (PDF) . Архивировано из оригинала (PDF) 4 октября 2005 г. (в PDF ). формате
- Пример таблицы AAT
- Документация Fontforge
- Обсуждение AAT, используемого в персидских шрифтах