OpenType

Формат файла компьютерного шрифта
OpenType
Расширения имени файла.otf, .otc, .ttf, .ttc
Тип интернет-СМИ
  • шрифт/otf
  • шрифт/sfnt
  • application/font-sfnt (устарело)
[1]
Код типаОТТО
Единый идентификатор типа (UTI)public.opentype-шрифт
РазработаноMicrosoft , Adobe Systems
Последний релиз
1.9 [2]
8 декабря 2021 г. ; 3 года назад ( 2021-12-08 )
Тип форматаФайл шрифта
Расширенный отШрифты TrueType , PostScript
СтандартИСО/МЭК 14496-22:2019 [3]

OpenType — формат масштабируемых компьютерных шрифтов . Производный от TrueType , он сохраняет базовую структуру TrueType, но добавляет множество сложных структур данных для описания типографского поведения. OpenType — зарегистрированная торговая марка Microsoft Corporation . [4] [5]

Спецификация была разработана в Microsoft, а к моменту публичного объявления в 1996 году в нее также внесла свой вклад компания Adobe Systems .

Благодаря широкой доступности и типографской гибкости, включая возможности обработки разнообразных вариантов поведения всех мировых систем письма , шрифты OpenType широко используются на основных компьютерных платформах.

История

OpenType берет свое начало в попытке Microsoft лицензировать передовую технологию типографики Apple GX Typography в начале 1990-х годов. Эти переговоры провалились, что побудило Microsoft двигаться вперед со своей собственной технологией, названной «TrueType Open» в 1994 году. [6] Adobe присоединилась к Microsoft в этих усилиях в 1996 году, добавив поддержку технологии контура глифов, используемой в ее шрифтах Type 1.

Совместные усилия были направлены на замену форматов шрифтов TrueType от Apple и PostScript Type 1 от Adobe , а также на создание более выразительной системы, которая обрабатывает точную типографику и сложное поведение многих мировых систем письма. Две компании объединили базовые технологии обоих форматов и добавили новые расширения, призванные устранить их ограничения. Для совместной технологии было выбрано название OpenType, о котором они объявили позже в том же году.

Открытый формат шрифта

Adobe и Microsoft продолжали разрабатывать и совершенствовать OpenType в течение следующего десятилетия. Затем, в конце 2005 года, OpenType начал переход к открытому стандарту под эгидой Международной организации по стандартизации (ISO) в рамках группы MPEG , которая ранее (в 2003 году) приняла OpenType 1.4 по ссылке для MPEG-4 . [5] [7] [8] [9] Принятие нового стандарта достигло официального утверждения в марте 2007 года как стандарта ISO ISO/IEC 14496-22 (MPEG-4 Часть 22) под названием Open Font Format (OFF, не путать с Web Open Font Format ), [10] иногда называемого «Спецификация Open Font Format» (OFFS). [5] Первоначальный стандарт был технически эквивалентен спецификации OpenType 1.4 с соответствующими языковыми изменениями для ISO. [11] Второе издание OFF было опубликовано в 2009 году (ISO/IEC 14496-22:2009) и было объявлено «технически эквивалентным» «спецификации формата шрифта OpenType». [12] [13] С тех пор спецификации OFF и OpenType поддерживаются синхронизированными. OFF — это свободный, общедоступный стандарт. [14]

К 2001 году на рынке появились сотни шрифтов OpenType. Adobe завершила преобразование всей своей библиотеки шрифтов в OpenType к концу 2002 года. К началу 2005 года [обновлять]стало доступно около 10 000 шрифтов OpenType, причем библиотека Adobe составляла около трети от общего числа. К 2006 году все крупные шрифтовые литейщики и многие мелкие разрабатывали шрифты в формате OpenType. [ необходима цитата ]

Последовательности вариаций Unicode

Версия Unicode 3.2 (опубликованная в 2002 году) представила селекторы вариаций как механизм кодирования для представления определенных форм глифов для символов. [15] Однако Unicode не указал, как визуализаторы текста должны поддерживать эти последовательности. В конце 2007 года последовательности вариаций для коллекции Adobe-Japan1 были зарегистрированы в базе данных Unicode Ideographic, [16] что привело к реальной необходимости решения OpenType. Это привело к разработке подтаблицы cmapFormat 14, которая была представлена ​​в версии OpenType 1.5. [17]

Цветные шрифты

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

Apple, Google и Microsoft независимо друг от друга разработали различные решения для работы с цветными шрифтами для использования в OS X , iOS , Android и Windows .

  • OpenType и OFF уже поддерживали монохромный растровый глиф, поэтому Google предложил расширить OFF, чтобы разрешить цветные растровые изображения. Apple приняла этот подход, но отказалась участвовать в расширении стандарта ISO. В результате Apple добавила таблицу sbixв свой формат TrueType в OS X 10.7, [19] в то время как Google предложила добавить таблицы CBDTи CBLCв OFF.
  • Microsoft приняла иной подход, нежели цветные битовые карты. Отметив существующую практику в Интернете наложения глифов разного цвета друг на друга для создания многоцветных элементов, таких как значки, Microsoft предложила новую COLRтаблицу для сопоставления глифа с набором глифов, которые накладываются слоями, и CPALтаблицу для определения цветов.
  • Adobe и Mozilla предложили добавить новую SVGтаблицу, которая может представлять многоцветные глифы с использованием масштабируемой векторной графики .

Все эти предложения были включены в третье издание OFF (ISO/IEC 14496-22:2015). [20] Microsoft добавила таблицы CBDT, CBLC, COLR, CPAL, и SVGв OpenType версии 1.7, [17] и sbixтаблицу в OpenType версии 1.8. [17] Microsoft реализовала поддержку всех различных цветовых форматов в Windows 10 версии 1607 («Anniversary Update»). [21]

OpenType 1.9 представил вторую версию таблицы COLR, которая добавляет дополнительные графические возможности. [17] Google изначально предложила улучшенную версию и совместно разработала ее с Microsoft. Улучшенные графические возможности включают поддержку трех типов градиентов, аффинных преобразований , режимов композиции и смешивания и настраиваемых повторно используемых компонентов. [22] Эти улучшения дают таблице все графические возможности таблицы, за исключением обводки. Они также добавляют режимы композиции и смешивания, поддержка которых считается необязательной для таблицы (так как они реализованы в SVG как эффекты фильтров). [23] Кроме того, улучшения таблицы интегрированы с вариациями шрифтов OpenType, что невозможно с таблицей. Улучшенная таблица поддерживается в движке браузера Chromium , начиная с версии 98. [24]COLRSVGSVGCOLRSVGCOLR

Коллекции

По крайней мере с версии 1.4 спецификация OpenType поддерживала "TrueType Collections", функцию формата, которая позволяет хранить несколько шрифтов в одном файле. Такой формат полезен для распространения целой гарнитуры (семейства шрифтов) в одном файле.

Объединяя связанные шрифты в один файл, можно совместно использовать идентичные таблицы шрифтов, что позволяет более эффективно хранить данные. Кроме того, отдельные шрифты имеют ограничение на количество глифов в 65 535 глифов, а файл коллекции предоставляет механизм «режим разрыва» для преодоления этого ограничения в одном файле шрифта. (Однако каждый шрифт в коллекции все еще имеет ограничение в 65 535.) Файл коллекции TrueType обычно имеет расширение файла «.ttc».

Однако спецификация описывала только файлы коллекций, используемые в сочетании с глифами, представленными в виде контуров TrueType или в виде растровых изображений. Потенциально существовала возможность предоставить те же преимущества хранения и количества глифов шрифтам, использующим глифы формата CFF (расширение .otf). Но спецификация явно не допускала этого.

В 2014 году Adobe объявила о создании OpenType Collections (OTCs), файла шрифта Collection, который объединяет шрифты, использующие глифы формата CFF. [25] Это обеспечило значительные преимущества хранения для шрифтов CJK , которые Adobe и Google совместно разрабатывали. Например, шрифт Noto CJK OTC примерно на 10 МБ меньше, чем сумма четырех отдельных OTF, из которых он состоит. [26] Использование Collection также позволило объединить очень большое количество глифов в один файл, как это было бы необходимо для шрифта pan-CJK. [27]

Явная поддержка коллекций с глифами формата CFF была включена в спецификацию OpenType в версии 1.8. [17] Чтобы отразить эту более широкую применимость, был принят термин «коллекция OpenType», заменивший «коллекция TrueType».

Варианты шрифтов

14 сентября 2016 года Microsoft объявила о выпуске OpenType версии 1.8. Это объявление было сделано совместно с Adobe, Apple и Google на конференции ATypI в Варшаве. [28] OpenType версии 1.8 представила «OpenType Font Variations», которая добавляет механизмы, позволяющие одному шрифту поддерживать множество вариантов дизайна. [29] Шрифты, использующие эти механизмы, обычно называют « Variable fonts ».

OpenType Font Variations повторно представляет методы, которые ранее были разработаны Apple в TrueType GX и Adobe в Multiple Master fonts . Общая идея этих форматов заключается в том, что один шрифт включает данные для описания нескольких вариаций контура глифа (иногда называемых «мастерами»), и что во время отображения текста растеризатор шрифта может интерполировать или «смешивать» эти вариации, чтобы получить непрерывный диапазон дополнительных вариаций контура. [30]

Концепция полностью параметрических шрифтов была исследована в более общем плане Дональдом Э. Кнутом в системе METAFONT , представленной в 1978 году. [31] Эта система и ее последователи никогда не были широко приняты профессиональными дизайнерами шрифтов или коммерческими программными системами. [32] Форматы TrueType GX и Multiple Master, прямые предшественники OpenType Font Variations, были представлены в 1990-х годах, но также не получили широкого распространения. Позднее Adobe отказалась от поддержки формата Multiple Master. [33] Это привело к вопросам о том, может ли повторное введение подобной технологии быть успешным. Однако к 2016 году ландшафт отрасли изменился в нескольких отношениях. В частности, появление веб-шрифтов и мобильных устройств вызвало интерес к адаптивному дизайну и поиску способов предоставления большего количества вариантов шрифтов в эффективном по размеру формате. Кроме того, в то время как 1990-е годы были эпохой агрессивной конкуренции в технологии шрифтов, часто называемой «войной шрифтов», [34] [35] [36] OpenType Font Variations был разработан в результате сотрудничества с участием нескольких крупных поставщиков. [37]

Font Variations интегрирован в OpenType 1.8 всеобъемлющим образом, что позволяет использовать большинство ранее существовавших возможностей в сочетании с вариациями. В частности, вариации поддерживаются как для контуров глифов TrueType, так и для CFF, для хинтинга TrueType, а также для механизмов OpenType Layout. Единственными частями OpenType, для которых вариации не поддерживаются, но могут быть потенциально полезны, являются таблица 'SVG' для цветных глифов и таблица MATH для макета математических формул. Таблица 'SVG' использует встроенные XML-документы, и никаких улучшений для вариации графических элементов в документах SVG не предлагалось. Однако улучшение таблицы COLR в OpenType 1.9 предоставило векторный формат для цветных глифов с поддержкой вариаций. [38]

OpenType 1.8 использовал таблицы, изначально определенные Apple для TrueType GX (таблицы avar, cvar, fvar и gvar). Он также представил несколько новых таблиц, включая новую таблицу для версии 2 формата CFF (CFF2) и другие новые таблицы или дополнения к существующим таблицам для интеграции вариаций в другие части формата шрифта (таблицы HVAR, MVAR, STAT и VVAR; дополнения к таблицам BASE, GDEF и name). [17]

Описание

OpenType использует общую структуру sfnt шрифта TrueType, но добавляет несколько опций Smartfont, которые расширяют типографские и языковые возможности шрифта.

Данные контура глифов в шрифте OpenType могут быть в одном из двух форматов: контуры формата TrueType в таблице 'glyf' или контуры формата Compact Font Format (CFF) в таблице 'CFF '. (Имя таблицы 'CFF ' состоит из четырех символов и заканчивается пробелом.) Данные контура CFF основаны на формате шрифта языка PostScript Type 2. Однако спецификация OpenType (до 1.8) не поддерживает использование контуров PostScript в файле шрифта TrueType Collection. После версии 1.8 оба формата поддерживаются в переименованной "OpenType Collection".

Для многих целей, таких как макет, не имеет значения, какой формат данных контура, но для некоторых целей, таких как растеризация , это важно. Стандарт OpenType не определяет формат данных контура: скорее, он приспосабливает любой из нескольких существующих стандартов. Иногда термины типа «OpenType (PostScript flavor)» (= «Type 1 OpenType», «OpenType CFF») или «OpenType (TrueType flavor)» используются для указания того, какой формат контура содержит конкретный файл шрифта OpenType.

OpenType имеет несколько отличительных характеристик:

  • Поддерживает кодировку символов Unicode (а также другие), что позволяет поддерживать любой шрифт (или несколько шрифтов одновременно).
  • Вмещает до 65 536 глифов.
  • Расширенные типографские функции "макета", которые предписывают позиционирование и замену отображаемых глифов. Функции замены включают лигатуры ; функции позиционирования включают кернинг , размещение знаков и спецификацию базовой линии .
  • Кроссплатформенные файлы шрифтов, которые можно использовать без изменений в системах Mac OS, Microsoft Windows и Unix/Linux.
  • Если не добавлять дополнительные глифы или обширные типографские функции, шрифты OpenType CFF могут быть значительно меньше своих аналогов Type 1.

Поддержка OpenType

Базовая поддержка римлян

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

Windows 3.1 и все последующие версии Windows поддерживают шрифты OpenType TT (.ttf). Windows 2000 и более поздние версии поддерживают шрифты OpenType PS (.otf). Adobe Type Manager может добавить базовую поддержку Roman шрифтов OpenType PS в Windows 95 , 98 или Me .

Расширенная языковая поддержка

Расширенная языковая поддержка через Unicode для OpenType и TrueType присутствует в большинстве приложений для Microsoft Windows [ нужна ссылка ] (включая Microsoft Office Publisher , большинство приложений Adobe и Microsoft Office 2003, но не Word 2002), CorelDRAW X3 и более поздние версии, а также во многих приложениях Mac OS X, включая собственные приложения Apple, такие как TextEdit , Pages и Keynote . Он также широко поддерживается в свободных операционных системах, таких как Linux (например, в многоплатформенных приложениях, таких как AbiWord , Gnumeric , Calligra Suite , Scribus , OpenOffice.org 3.2 и более поздних версиях, [39] и т. д.).

Поддержка OpenType для сложных письменных шрифтов до сих пор в основном появилась в приложениях Microsoft в Microsoft Office , таких как Microsoft Word и Microsoft Publisher . Adobe InDesign предоставляет обширные возможности OpenType на японском языке , но напрямую не поддерживает ближневосточные или индийские шрифты — хотя доступна отдельная версия InDesign, которая поддерживает ближневосточные шрифты, такие как арабский и иврит. Недокументированная функциональность во многих приложениях Adobe Creative Suite 4, включая InDesign, Photoshop и Illustrator, позволяет использовать ближневосточные, индийские и другие языки, но официально не поддерживается Adobe и требует сторонних плагинов для предоставления пользовательского интерфейса для этих функций.

Расширенная типографика

Расширенная типографская поддержка языков латинского алфавита впервые появилась в таких приложениях Adobe, как Adobe InDesign , Adobe Photoshop и Adobe Illustrator . QuarkXPress 6.5 и ниже не были совместимы с Unicode. Следовательно, текст в этих версиях QuarkXPress, содержащий что-либо, кроме символов WinANSI или MacRoman, не будет правильно отображаться в шрифте OpenType (и в других форматах шрифтов Unicode, если на то пошло). Однако в QuarkXPress 7 Quark предложил поддержку, аналогичную Adobe. CorelDRAW от Corel представил поддержку типографских функций OpenType в версии X6. Mellel , текстовый процессор Redlers, работающий только на Mac OS X, заявляет о паритете типографских функций с InDesign, но также расширяет поддержку до сценариев с письмом справа налево; то же самое делает и Classical Text Editor, специализированный текстовый процессор, разработанный в Австрийской академии наук.

По состоянию на 2009 год [обновлять]популярные текстовые процессоры для Microsoft Windows не поддерживали расширенные функции типографики OpenType . Расширенные функции типографики реализованы только в высокопроизводительном программном обеспечении для настольных издательских систем . Текстовый движок из Windows Presentation Foundation , который представляет собой реализацию OpenType в виде управляемого кода , является первым API Microsoft Windows , который предоставляет возможности OpenType разработчикам программного обеспечения, поддерживая шрифты OpenType TrueType и OpenType CFF ( Compact Font Format ). Он поддерживает расширенные функции типографики, такие как лигатуры , цифры старого стиля , варианты наклонных букв , дроби , надстрочные и подстрочные индексы , малые заглавные буквы , замена глифов , несколько базовых линий , контекстные и стилистические альтернативные формы символов, кернинг, выравнивание по уровню строки , символы Ruby и т. д. [40] Приложения WPF автоматически получают поддержку расширенных функций типографики. Лигатуры OpenType доступны в Microsoft Office Word 2010. [ 41]

В Windows 7 появился DirectWrite — аппаратно-ускоренный собственный API DirectX для рендеринга текста с поддержкой многоформатного текста, независимых от разрешения контурных шрифтов, ClearType , расширенных функций типографики OpenType, полной поддержки текста Unicode, макетов и языков, а также API низкоуровневой рендеринга глифов. [42]

В Mac OS X приложения с поддержкой AAT , работающие в Mac OS X 10.4 и более поздних версиях, включая TextEdit и Keynote, получают значительную поддержку OpenType. Поддержка OpenType от Apple в Mac OS X 10.4 включала в себя большинство продвинутых типографских функций, необходимых для языков с латинским алфавитом , таких как малые заглавные буквы , цифры старого стиля и различные виды лигатур, но она еще не поддерживала контекстные альтернативы, позиционные формы или переупорядочивание глифов, как это делается библиотекой Uniscribe от Microsoft в Windows. Таким образом, Mac OS X 10.4 не предлагала поддержку арабских или индийских алфавитов через OpenType (хотя такие алфавиты полностью поддерживаются существующими шрифтами AAT). Mac OS X 10.5 улучшила поддержку OpenType и поддерживает арабские шрифты OpenType. Постепенно поддержка типографики OpenType улучшилась в более новых версиях Mac OS X (например, Mac OS X 10.10 может гораздо лучше обрабатывать длинные контекстные замены глифов).

Bitstream Panorama , движок для компоновки строк и текста от Bitstream Inc. , обеспечивает полную поддержку OpenType для компактных и стандартных азиатских шрифтов, арабского, иврита, индийских, тайского и более 50 других языков мира. Приложение поддерживает ключевые таблицы OpenType, необходимые для компоновки строк, такие как BASE, определение глифов (GDEF), позиционирование глифов (GPOS) и замена глифов (GSUB). Panorama также обеспечивает полную поддержку расширенных функций типографики, таких как лигатуры, росчерки, капители, орнаменты, порядковые числительные, старшие, старый стиль, кернинг, дроби и т. д.

В свободных программных средах, таких как Linux , рендеринг OpenType обеспечивается проектом FreeType , входящим в свободные реализации X Window System, такие как X.org . Сложная обработка текста обеспечивается либо pango (вызывая HarfBuzz ), либо Qt . Системы XeTeX и LuaTeX позволяют документам TeX использовать шрифты OpenType, а также большинство их типографских функций. Linux-версия LibreOffice 4.1 и более новые поддерживают многие типографские функции OpenType, поскольку она начала использовать более сложную библиотеку формирования текста HarfBuzz. [43]

Файл функций OpenType

В качестве шага в создании шрифта свойства шрифта OpenType (кроме контура) могут быть определены с помощью удобочитаемого текста, сохраненного в формате Adobe OpenType Feature File. [44] [45] Файлы функций OpenType обычно имеют имя, заканчивающееся расширением .fea. Эти файлы могут быть скомпилированы в двоичный контейнер шрифта ( .ttfили .otf) с помощью Adobe Font Development Kit for OpenType (AFDKO), FontLab , FontForge , Glyphs , DTL OTMaster, RoboFont или FontTools.

Теги макета

Теги OpenType Layout представляют собой 4-байтовые строки символов, которые идентифицируют сценарии, языковые системы, функции и базовые линии в шрифте OpenType Layout. Реестр тегов Layout Microsoft устанавливает соглашения по именованию и использованию этих тегов. Функции OpenType создаются с помощью тегов при создании сценариев функций, которые описывают, как следует манипулировать символами для создания желаемого элемента. Эти сценарии функций могут быть созданы и включены в шрифты OpenType с помощью расширенных редакторов шрифтов, таких как FontLab Studio , AsiaFont Studio и FontForge .

Поддержка тегов макета операционными системами и приложениями сильно различается.

Теги скрипта

Теги скрипта идентифицируют скрипты (системы письма), представленные в шрифте OpenType. Каждый тег соответствует смежным диапазонам кодов символов в Unicode. Тег скрипта может состоять из 4 или менее строчных букв, например, arabдля арабского алфавита , cyrlдля кириллицы и latnдля латинского алфавита . mathТег скрипта, добавленный Microsoft для Cambria Math , был добавлен в спецификацию. [46] [47]

Теги языковой системы

Вариации кириллического курсива. Буквы в одном ряду имеют одинаковую кодовую точку.

Теги языковых систем идентифицируют языковые системы, поддерживаемые шрифтом OpenType. Примеры включают в себя ARAдля арабского , ESPдля испанского , HYEдля армянского и т. д. В целом, коды не совпадают с кодами ISO 639-2 . [48]

Эти теги можно использовать для выбора локальных вариантов букв, которые имеют один и тот же код Unicode. [48] [49] Например, сербский и македонский кириллический алфавит имеет некоторые специфичные для языка глифы для определенных букв, которые являются лишь предпочтительными и не являются строго обязательными. [ необходима цитата ]

Теги функций

Список возможностей OpenType с расширенным описанием приведен в списке типографских возможностей .

Базовые теги

Теги базовой линии имеют определенное значение при использовании в горизонтальном направлении письма (используется в таблице HorizAxis таблицы «BASE»), вертикальном направлении письма (используется в таблице VertAxis таблицы «BASE») или в обоих направлениях.

Базовые теги и оси в шрифтах OpenType
Базовый тегHorizAxisВертАксис
'вешать'горизонтальная линия, из которой, как кажется, свисают силлабограммы в тибетском письмеТа же строка в вертикальном тибетском стиле письма.
'icfb'Базовая линия нижнего края лицевой стороны идеографического символа.Базовая линия левого края идеографического символа.
'икфт'Базовая линия верхнего края лицевой стороны идеографического символа.Базовая линия правого края идеографического символа.
«идео»Базовая линия нижнего края идеографического электронного блока.Базовая линия левого края идеографического электронного блока.
'idtp'Базовая линия верхнего края идеографического электронного блока.Базовая линия правого края идеографического электронного блока.
«математика»Базовая линия, относительно которой центрируются математические символы.Базовая линия, относительно которой центрируются математические символы в вертикальном режиме письма.
'ромн'Базовая линия, используемая в простых алфавитных системах письма, таких как латиница, кириллица и греческий язык.Базовая линия алфавита для символов повернута на 90 градусов по часовой стрелке для вертикального режима письма.

Математика

Набор таблиц, которые относительно точно отражают метрики шрифтов TeX, был изначально добавлен Microsoft в Cambria Math для поддержки их нового движка редактирования и рендеринга математики в Office 2007 и более поздних версиях. [50] [51] Это расширение было добавлено в стандарт ISO (ISO/IEC CD 14496-22 3-е издание) в апреле 2014 года. [52] Дополнительные сведения (об использовании) доступны в техническом отчете Unicode 25 [53] и техническом примечании 28. [54] Некоторые из новых технических функций (отсутствующих в TeX), такие как «врезки» (которые позволяют кернинг нижних и верхних индексов относительно их оснований [55] ) и растянутые стеки [56] были запатентованы Microsoft. [57] [58] [59] Windows 8 поддерживает математику OpenType вне приложений MS Office через компонент RichEdit 8.0. [60]

Помимо продуктов Microsoft, XeTeX и LuaTeX также имеют некоторую поддержку для этих таблиц; поддержка более ограничена в XeTeX, поскольку он использует традиционный механизм рендеринга математики TeX (таким образом, он не может в полной мере использовать некоторые новые функции математики OpenType, которые расширяют TeX), в то время как LuaTeX использует более гибкий подход, изменяя некоторые внутренние элементы рендеринга математики TeX; по словам Ульрика Виета (2009): «Точнее говоря, в то время как XeTeX предоставляет доступ только к параметрам OpenType как к дополнительным \fontdimens, LuaTeX использует внутреннюю структуру данных, основанную на объединенном наборе параметров OpenType и TeX, что позволяет предоставлять отсутствующие значения, которые не поддерживаются ни в математических шрифтах OpenType, ни в традиционных математических шрифтах TeX». [56] В 2013 году XeTeX также получил поддержку врезок. [61]

Движок рендеринга Gecko , используемый веб-браузером Firefox, также поддерживает некоторые математические функции OpenType в своей реализации MathML . [62] [63]

По состоянию на 2024 год [обновлять]набор шрифтов, поддерживающих математику OpenType, включает: Asana-Math , Cambria Math, DejaVu Math TeX Gyre , Garamond Math , Latin Modern Math , Libertinus Math , Neo Euler , STIX Math , XITS Math , Fira Math , GFS Neohellenic Math и четыре шрифта TeX Gyre: Bonum Math, Pagella Math, Schola Math, Termes Math. [64] [65] Совсем недавно шрифты Latin Modern и TeX Gyre (« LM-изация » стандартных шрифтов PostScript [66] ) также получили поддержку математики OpenType. [67] [68] [69] [70] По состоянию на 2014 год [обновлять]количество математических шрифтов OpenType все еще довольно ограничено. [71] Более актуальный список поддерживается на веб-сайте Mozilla . [64]

Цвет

Появление эмодзи Unicode создало потребность в форматах TrueType и OpenType для поддержки цветных глифов. Apple добавила расширение цвета в Mac OS X Lion (а также в iOS 4+). Шрифты были расширены цветными PNGПодсказка Портативная сетевая графикаизображения в таблице sbix. [72] [73] [74] Google использовал похожее расширение со встроенными цветными растровыми изображениями, содержащимися в паре таблиц, таблицах CBDT и CBLC. [75] Версия Google реализована в FreeType 2.5. [76]

В Windows 8.1 Microsoft также добавила поддержку цвета в шрифты, впервые реализованную в шрифте Segoe UI Emoji . [73] [77] [78] [79] Однако реализация Microsoft полностью основана на векторной графике : [73] [80] в реализации Microsoft были добавлены две новые таблицы OpenType: таблица COLR допускает многослойные глифы, а CPAL («Цветовая палитра») фактически определяет цвета для слоев. Многослойный подход позволяет реализовать обратную совместимость, а также изменять рендеринг в зависимости от цветового контекста, окружающего глифы. [73] По словам Адама Твардоха : «На TypeCon [2013] Грег Хичкок разъяснил предполагаемые роли палитр: первая палитра используется по умолчанию для цветовых ситуаций «темный на светлом», а вторая палитра предназначена для использования в ситуациях «светлый на темном». Дополнительные палитры должны выбираться пользователем». [76]

Mozilla и Adobe разработали другое векторное расширение, добавив встроенные документы SVG (поддерживающие цвет, но также и анимацию) в таблицу SVG. Таблица SVG также позволяла использовать цветовые палитры, определенные в таблице CPAL. [81] Поддержка была впервые реализована в Firefox 26. [75]

Adobe, Mozilla, Google и Microsoft представили свои цветовые расширения для стандартизации с помощью ISO/IEC 14496-22. [82] Новые таблицы для каждого из них были затем добавлены в OpenType версии 1.7. [83] Таблица sbix от Apple изначально поддерживалась только в шрифтах AAT, но позже была добавлена ​​в OpenType версии 1.8. [84] Microsoft Windows 10 Anniversary Update стала первой ОС, которая поддерживала все четыре цветовых расширения шрифтов, а Microsoft Edge стал первым браузером, который это сделал. [85] [86]

В OpenType версии 1.8.3 спецификация для таблицы SVG была пересмотрена и стала более ограниченной, что обеспечивает большую ясность для реализаций и лучшую совместимость. Apple поддерживает пересмотренную спецификацию в Safari 12, iOS 12 и macOS 10.14. [87] Реализация в Microsoft Windows также соответствует этой редакции.

Решение SING Gaiji

В 2005 году Adobe выпустила новую технологию в своем пакете приложений Creative Suite , которая предлагает решение для « gaiji » (外字, по-японски «внешний символ»). Идеографические письменные шрифты, такие как китайский и японский, не имеют фиксированных наборов символов. Они используют тысячи глифов обычно и десятки тысяч реже. Не все глифы, когда-либо изобретенные и используемые в восточноазиатской литературе, даже были каталогизированы. Типичный шрифт может содержать от 8000 до 15000 наиболее часто используемых глифов. Однако время от времени автору требуется глиф, отсутствующий в выбранном шрифте. Такие отсутствующие символы известны в Японии как gaiji, и они часто мешают работе.

Другим аспектом проблемы гайдзи является проблема различных глифов для определенных символов. Часто определенные символы писались по-разному в течение определенного периода времени. Не является чем-то необычным, когда названия мест или личные фамилии используют историческую форму символа. Таким образом, конечный пользователь , использующий стандартные шрифты, может оказаться неспособным правильно написать либо свое собственное имя, либо название места, где он живет.

Было разработано несколько способов борьбы с гайдзи. Решения, которые рассматривают их как символы, обычно присваивают им произвольные значения Unicode в областях частного использования (PUA). Такие символы не могут использоваться вне среды, в которой известна ассоциация частного Unicode с формой глифа. Документы, основанные на них, не являются переносимыми. Другие установки рассматривают гайдзи как графику. Это может быть обременительно, поскольку компоновка и композиция текста не могут применяться к графике. Их нельзя искать. Часто их рендеринг выглядит иначе, чем окружающие символы, поскольку механизм рендеринга графики обычно отличается от механизма рендеринга глифов из шрифтов.

Технология SING (Smart INdependent Glyphlets) [88] [89] , дебютировавшая в Adobe Creative Suite 2, позволяет создавать глифы, каждый из которых упакован как отдельный шрифт, в некотором роде. Такой упакованный глиф называется глифлетом . Формат, который Adobe обнародовала, основан на OpenType. Пакет состоит из контура глифа в форме TrueType или CFF (контуры в стиле PostScript); стандартных таблиц OpenType, объявляющих метрики и поведение глифа в композиции; и метаданных, дополнительной информации, включенной для идентификации глифа, его владельца и, возможно, произношения или лингвистической категоризации. Глифлеты SING можно создавать с помощью приложения Fontlab SigMaker3.

Спецификация SING гласит, что глифлеты должны перемещаться вместе с документом, в котором они используются. Таким образом, документы являются переносимыми, не оставляя опасности символов в документе, которые не могут быть отображены. Поскольку глифлеты по сути являются шрифтами OpenType, стандартные шрифтовые машины могут отображать их. Спецификация SING также описывает формат XML , который включает все данные, необходимые для воссоздания глифлета в двоичной форме. Для представления типичного глифлета может потребоваться от одного до двух килобайт.

Смотрите также

Ссылки

  1. ^ "Типы носителей". IANA . 2017-10-12 . Получено 2017-10-17 .
  2. ^ "Спецификация OpenType". Microsoft Typography. Microsoft Learn . Получено 2024-04-13 .
  3. ^ "ISO/IEC 14496-22:2019 - Информационные технологии. Кодирование аудиовизуальных объектов. Часть 22. Открытый формат шрифтов". www.iso.org . Получено 13 декабря 2015 г.
  4. ^ "US Registered Trademark Number 2217574". uspto.gov . 12 января 1999 г. Получено 30 сентября 2014 г.[ мертвая ссылка ‍ ]
  5. ^ abc ISO/IEC JTC 1/SC 29/WG 11 (июль 2008 г.). "ISO/IEC 14496-22 "Open Font Format"". chiariglione.org. Архивировано из оригинала 2010-04-30 . Получено 2020-02-21 .{{cite web}}: CS1 maint: числовые имена: список авторов ( ссылка )
  6. ^ "Suitcase Type Foundry Information Guide]" (PDF) . Архивировано из оригинала (PDF) 18 ноября 2006 г.
  7. ^ "ISO принимает формат файла OpenType в качестве стандарта шрифтов для MPEG-4". Adobe Systems Incorporated. 2005-08-15. Архивировано из оригинала 2011-06-05 . Получено 2010-01-28 .
  8. ^ "Referencing Explanatory Report to escort FPDAM/FDAM Submission of ISO/IEC 14496–11/Amd.2, Referenced Specification: The OpenType font format specification, version 1.4". Июль 2003 г. Архивировано из оригинала (DOC) 12.05.2014 . Получено 28.01.2010 .
  9. ^ "Объединенный бюллетень по регистрации и рассмотрению компакт-дисков по ISO/IEC CD 14496-22: Информационные технологии – Кодирование аудиовизуальных объектов – Часть 22: Открытый формат шрифтов – SC 29/WG 11 N 7485". 2005-09-01. Архивировано из оригинала (DOC) 2014-05-12 . Получено 2010-01-28 .
  10. ^ "ISO/IEC 14496-22:2007 – Информационные технологии – Кодирование аудиовизуальных объектов – Часть 22: Открытый формат шрифтов". ISO. 2009-07-31 . Получено 2009-11-11 .
  11. ^ ISO (15.03.2007). "ISO/IEC 14496-22, Первое издание 15.03.2007, Информационные технологии — Кодирование аудиовизуальных объектов — Часть 22: Открытый формат шрифтов" (ZIP) . Получено 28.01.2010 .
  12. ^ "ISO/IEC 14496-22:2009 – Информационные технологии – Кодирование аудиовизуальных объектов – Часть 22: Открытый формат шрифтов". ISO. 2009-07-31 . Получено 2010-01-28 .
  13. ^ ISO (15.08.2009). "ISO/IEC 14496-22, Второе издание 15.08.2009, Информационные технологии — Кодирование аудиовизуальных объектов — Часть 22: Открытый формат шрифтов" (ZIP) . Получено 28.01.2010 .
  14. ^ "Общедоступные стандарты". Standards.iso.org . Получено 11 ноября 2009 г.
  15. ^ "Приложение к стандарту Unicode № 28, Unicode 3.2". www.unicode.org . 2002-03-27 . Получено 2017-04-22 .
  16. ^ "База данных идеографических вариаций". www.unicode.org . Получено 22.04.2017 .
  17. ^ abcdef "Журнал изменений спецификации OpenType". Microsoft Typography. Microsoft Learn . Получено 2024-04-13 .
  18. ^ "Unicode 6.0.0". www.unicode.org . 2010-10-11 . Получено 22 апреля 2017 г. .
  19. ^ "Таблица 'sbix'". developer.apple.com . Получено 22 апреля 2017 г. .
  20. ^ "ISO/IEC 14496-22:2015 Информационные технологии. Кодирование аудиовизуальных объектов. Часть 22. Открытый формат шрифтов". Октябрь 2015 г. Получено 22 апреля 2017 г.
  21. ^ "Что нового в DirectWrite § Windows 10 Anniversary Update". DirectWrite . Microsoft Learn . 4 октября 2021 г. Получено 2024-04-13 .
  22. ^ "COLR — Таблица цветов". Microsoft Typography. Microsoft Learn . Получено 2024-04-13 .
  23. ^ "SVG — Таблица SVG (масштабируемая векторная графика)". Microsoft Typography. Microsoft Learn . Получено 2024-04-13 .
  24. ^ "Feature: COLRv1 Color Gradient Vector Fonts" . Получено 2021-12-10 .
  25. ^ "Введение и создание коллекций OpenType (OTC)". Blogs.adobe.com . 2014-01-27 . Получено 2017-01-19 .
  26. ^ "Noto Sans CJK – Google Noto Fonts". Google.com . Получено 2017-01-19 .
  27. ^ "Google и Adobe's pan-CJK open font". Lwn.net . Получено 2017-01-19 .
  28. Архивировано в Ghostarchive и Wayback Machine: "Special OpenType Session". YouTube . 2016-09-14 . Получено 2017-04-22 .
  29. ^ Джон Хадсон. «Введение в вариативные шрифты OpenType» . Получено 22 апреля 2017 г.
  30. ^ "Обзор вариантов шрифтов OpenType". Microsoft Typography. Microsoft Learn . Получено 2024-04-13 .
  31. ^ Кнут, Дональд Э. Математическая типографика. Bull. Amer. Math. Soc. (NS) 1 (1979), № 2, 337--372.https://projecteuclid.org/euclid.bams/1183544082
  32. ^ CSTUG, Карлов университет, Прага, март 1996 г., Вопросы и ответы с профессором Дональдом Э. Кнутом, воспроизведено в TUGboat 17 (4) (1996), 355–67. Цитата со страницы 361. Доступно онлайн по адресу http://www.tug.org/TUGboat/Articles/tb17-4/tb53knuc.pdf
  33. ^ Тэми Риггс (30 июля 2014 г.). «История серебряного юбилея Adobe Originals: как Originals выстояли в постоянно меняющейся отрасли» . Получено 22 апреля 2017 г.
  34. ^ Шимада, Джеймс (2006-12-06). "Войны шрифтов" (PDF) . Получено 2021-12-14 .
  35. ^ "Adobe Inc". Britannica . Font Wars . Получено 2022-04-10 .
  36. ^ Cringely, Robert X. (1996). «Войны шрифтов». Accidental Empires (пересмотренное и обновленное издание). Penguin Books . стр.  209–229 . ISBN 0-14-025826-4.
  37. ^ Дэвид Лемон (27.01.2017). "Войны шрифтов" . Получено 22.04.2017 .
  38. ^ "COLR — Таблица цветов § Таблица COLR и вариации шрифтов OpenType". Microsoft Typography. Microsoft Learn . Получено 2024-04-13 .
  39. ^ «OpenOffice поддерживает шрифты OpenType ...» Получено 03.02.2011 .
  40. ^ Sysmäläinen, Julia (9 ноября 2012 г.). «Некоторые открытые мысли об OpenType». Alphabettes . Получено 15 мая 2016 г. .
  41. ^ "Как включить лигатуры OpenType в Word 2010". Orzeszek.org . Получено 2009-11-11 .
  42. ^ "Руководство разработчика Windows 7". Code.msdn.microsoft.com . Получено 2009-11-11 .
  43. ^ "LibreOffice 4.1 ReleaseNotes" . Получено 2015-04-15 .
  44. ^ Кристофер Слай – Файлы функций OpenType, слайды ATypI 2006
  45. ^ "Спецификация файла функций OpenType" . Получено 20.03.2019 .
  46. ^ "Теги скрипта". Microsoft Typography. Microsoft Learn . Получено 2024-04-13 .
  47. ^ Международная организация по стандартизации и Международная электротехническая комиссия (2009-08-15). "ISO/IEC 14496-22:2009(E)". Информационные технологии — Кодирование аудиовизуальных объектов — Часть 22: Открытый формат шрифтов (2-е изд.) . стр. 286 (раздел 6.4.1) . Получено 2009-11-02 .(для загрузки спецификации требуется согласие с бесплатным лицензионным соглашением в режиме онлайн)
  48. ^ ab "Теги языковой системы". Microsoft Typography. Microsoft Learn . Получено 2024-04-13 .
  49. ^ "Зарегистрированные функции: определения и реализации (k – o)". Microsoft Typography. Microsoft Learn . Получено 2024-04-13 .
  50. ^ MurrayS3 (14.11.2006). «LineServices – Мюррей Сарджент: Математика в офисе». Blogs.msdn.com . Получено 19.01.2017 .{{cite web}}: CS1 maint: числовые имена: список авторов ( ссылка )
  51. ^ "Три шрифта для математики" (PDF) . Ultrasparky.org . Получено 2017-01-19 .
  52. ^ MurrayS3 (27.04.2014). «Математические таблицы OpenType – Мюррей Сарджент: Математика в офисе». Blogs.msdn.com . Получено 19.01.2017 .{{cite web}}: CS1 maint: числовые имена: список авторов ( ссылка )
  53. ^ "Технический отчет Unicode № 25: ПОДДЕРЖКА UNICODE ДЛЯ МАТЕМАТИКИ" (PDF) . Unicode.org . Получено 19.01.2017 .
  54. ^ "UTN #28: Кодирование математических данных почти открытым текстом". Unicode.org . 2016-11-16 . Получено 2017-01-19 .
  55. ^ MurrayS3 (11.01.2010). «Особые возможности математического шрифта – Мюррей Сарджент: Математика в офисе». Blogs.msdn.com . Получено 19.01.2017 .{{cite web}}: CS1 maint: числовые имена: список авторов ( ссылка )
  56. ^ ab https://www.tug.org/TUGboat/tb30-1/tb94vieth.pdf также на http://www.ntg.nl/maps/38/03.pdf
  57. ^ "Патент US7492366 - Метод и система размещения символов в шрифтах opentype - Google Patents". Google.com . 2008-03-03 . Получено 2017-01-19 .
  58. ^ "Патент US7242404 - Увеличение символов шрифта - Google Patents". Google.com . 2007-02-16 . Получено 2017-01-19 .
  59. ^ "Патент US7453463 - Увеличение символов шрифта - Google Patents". Google.com . Получено 2017-01-19 .
  60. ^ MurrayS3 (2012-03-03). "RichEdit 8.0 Preview – Murray Sargent: Math in Office". Blogs.msdn.com . Получено 2017-01-19 .{{cite web}}: CS1 maint: числовые имена: список авторов ( ссылка )
  61. ^ Preining, Norbert (2013-06-19). "TeX Live 2013 выпущен". Preining.info . Получено 2017-01-19 .
  62. ^ "Шрифты OpenType MATH". Fred-wang.github.io . Получено 19.01.2017 .
  63. ^ "MathML:Open Type MATH Table - MozillaWiki". Wiki.mozilla.org . 2015-12-27 . Получено 2017-01-19 .
  64. ^ ab "Шрифты для движка MathML от Mozilla - Mozilla | MDN". Developer.mozilla.org . 2016-12-01 . Получено 2024-09-23 .
  65. ^ "Опыт набора математических данных OpenType с помощью LuaLaTEX и XeLaTEX" (PDF) . Tug.org . Получено 19.01.2017 .
  66. ^ Jerzy B. Ludwichowski. "The New Font Project: TEX Gyre" (PDF) . Tug.org . Получено 2017-01-19 .
  67. ^ "Шрифт Latin Modern Math (LM Math) — GUST". Gust.org.pl (на польском языке). Архивировано из оригинала 2015-06-02 . Получено 2017-01-19 .
  68. ^ "Пакет lm-math". CTAN . Получено 2017-01-19 .
  69. ^ "UK-TUG 2012 - TeX Gyre Math report on Vimeo". Vimeo.com . 2012-10-22 . Получено 2017-01-19 .
  70. ^ "/tex-archive/fonts/tex-gyre-math". CTAN. 2016-05-19 . Получено 2017-01-19 .
  71. ^ "Прогресс проекта шрифта TEX Gyre Math" (PDF) . Gust.org . Получено 19.01.2017 .
  72. ^ "Apple Color Emoji – Typographica". Typographica.org . 2014-06-20 . Получено 19-01-2017 .
  73. ^ abcd "Color Emoji in Windows 8.1—The Future of Color Fonts?". Opentype.info . 3 июля 2013 г. Архивировано из оригинала 2014-07-10 . Получено 2017-01-19 .
  74. ^ Apple Inc. "Extended Bitmaps". Developer.apple.com . Получено 2017-01-19 .
  75. ^ ab Roel Nieskens. "Цветная типографика в Интернете: готовьтесь к многоцветным шрифтам – Pixelambacht". Pixelambacht.nl . Получено 2017-01-19 .
  76. ^ ab "FontLab Blog Цветные шрифты. Обзор предложений по цветовым расширениям формата шрифтов OpenType. - FontLab Blog". Blog.fontlab.com . 2013-09-19 . Получено 2017-01-19 .
  77. ^ "Поддержка скриптов и шрифтов в Windows § Windows 8.1". Глобализация. Microsoft Learn . 20 ноября 2023 г. Получено 13 апреля 2024 г.
  78. ^ "Блог книги Petzold - Многоцветные символы шрифта в Windows 8.1". Charlespetzold.com . Получено 19.01.2017 .
  79. ^ "Инновации в высокопроизводительной 2D-графике с DirectX | Build 2013 | Channel 9". Channel9.msdn.com . 2013-06-25 . Получено 2017-01-19 .
  80. ^ "Как вводить и использовать Emoji в Windows 8.1 - Скотт Хансельман". Hanselman.com . Получено 2017-01-19 .
  81. ^ "SVG — Таблица SVG (масштабируемая векторная графика) § Цвета и цветовые палитры". Microsoft Typography. Microsoft Learn . Получено 2024-04-13 .
  82. ^ "Хроматические шрифты на подходе". Lwn.net . Получено 2017-01-19 .
  83. ^ "Спецификация OpenType (OpenType 1.7)". Microsoft Typography. Microsoft Learn . 22 сентября 2020 г. Получено 13 апреля 2024 г.
  84. ^ "Спецификация OpenType (OpenType 1.8)". Microsoft Typography. Microsoft Learn . 9 июня 2022 г. Получено 2024-04-13 .
  85. ^ "Что нового в DirectWrite § Windows 10 Anniversary Update". Microsoft Typography. Microsoft Learn . 4 октября 2021 г. Получено 2024-04-13 .
  86. ^ «Использование цветных шрифтов для красивого текста и иконок». blogs.microsoft.com . 2017-06-06 . Получено 2018-09-14 .
  87. ^ "Что нового в Safari". developer.apple.com . Получено 14.09.2018 .
  88. ^ "Adobe Glyphlet Development Kit (GDK) для SING Gaiji Architecture". Adobe.com. Архивировано из оригинала 27 июня 2008 г. Получено 11 ноября 2009 г.
  89. ^ DeLaHunt, Jim (сентябрь 2004 г.). SING: Новая архитектура Gaiji от Adobe (PDF) . 26-я конференция по интернационализации и Unicode. Архивировано из оригинала (PDF) 2015-01-23 . Получено 16 июля 2009 г.
  • Официальный сайт
    • Спецификация OpenType, типографика Microsoft на сайте Microsoft Learn
  • ISO/IEC 14496-22:2019 Информационные технологии. Кодирование аудиовизуальных объектов. Часть 22. Открытый формат шрифта
  • Adobe – Шрифты: OpenType
  • Wakamai Fondue: веб-сайт для проверки возможностей шрифтов OpenType
Взято с "https://en.wikipedia.org/w/index.php?title=OpenType&oldid=1250677425#Open_Font_Format"