Отписаться
Uniscribe — это Microsoft Windows набор служб Unicode для рендеринга текста в кодировке , поддерживающий сложную компоновку текста . Это реализовано в динамической библиотеке. USP10.DLL . Uniscribe был выпущен вместе с Windows 2000 и Internet Explorer 5.0. Кроме того, платформа Windows CE поддерживает Uniscribe начиная с версии 5.0.
USP» инициализм процессора Unicode сценариев это — « . Его особенности включают в себя:
- упорядочивание входного текста из входной последовательности в визуальную последовательность;
- замена глифов в соответствии с контекстом (например, различными формами арабских символов);
- упорядочивание отображаемого текста на основе направления потока текста, например слева направо или справа налево, горизонтально или вертикально.
Хотя Uniscribe продолжает поддерживаться с 2021 года, его предполагаемая замена DirectWrite , имеющая больше возможностей, была представлена в Windows 7 . [1]
Версии USP10.DLL [ править ]
Ниже перечислены некоторые распространенные версии usp10.dll, а также способы их распространения.
Функции добавляются только в соответствии с частью «major.minor» номера версии, третья часть полного номера версии используется для целевых идентификационных номеров системы, для которых DLL была перенесена Microsoft, а последняя часть — это номер сборки на каждая целевая версия системы (которая может меняться в ходе регулярных обновлений системы/программного обеспечения). Некоторые исправления обеспечивают обновления только для определенных приложений (особенно в каталоге установки Office) и не подходят для использования в системном каталоге Windows (версия DLL которой никогда не должна обновляться и часто защищается системой):
Размеры файлов могут различаться в зависимости от конкретной локализации DLL (в зависимости от целевой системы или приложения, для которого она была скомпилирована); приведенные здесь предназначены для американо-английской локализации.
Универсальный механизм формирования [ править ]
Сценарии со сложной компоновкой текста предъявляют контекстуальные и нелинейные требования для правильной визуализации типографики. К таким требованиям относятся: лигатуры , где два последовательных символа объединяются в одну фигуру (латиница, деванагари); изменение порядка, когда некоторые символы пишутся перед буквой, за которой они следуют в произношении (бенгальский, сингальский и другие индийские сценарии); и формирование контекста, когда некоторым буквам приходится менять форму в зависимости от того, встречаются ли они в начале, середине или конце слова (арабский, монгольский).
Uniscribe использует несколько механизмов формирования конкретных сценариев для обработки типографики в поддерживаемых сложных сценариях; они реализованы в дополнение к общему движку для несложных шрифтов (например, латиницы или кириллицы). Используемые в настоящее время двигатели включают в себя [3] Индийский (бенгальский, деванагари, гуджаратский, гурмукхи, каннада и т. д.), арабский, хангыльский, ивритский, кхмерский, мьянманский и тайский/лаосский варианты.
Сложность стандарта Unicode и неоднозначность спецификации OpenType часто приводят к неполной или ошибочной реализации сложной компоновки текста. Механизмы формирования, специфичные для скриптов, работают в каждом конкретном случае и не всегда последовательно обрабатывают общие функции шрифтов OpenType, что затрудняет поддержку новых скриптов программистам ОС и разработчикам шрифтов. Ошибки реализации очень сложно или невозможно исправить на более позднем этапе, не нарушая обратную совместимость существующих документов и шрифтов, что часто требует новых функций макета OpenType и перепроектирования существующих шрифтов и механизмов рендеринга типографики. [3] [7] [8] [9]
В Windows 10 для Uniscribe была проведена большая работа по рефакторингу для реализации обобщенной модели формирования — Universal Shaping Engine (USE). [10] Этот механизм напрямую основан на свойствах глифов, определенных в стандарте Unicode, в надежде, что любой сложный сценарий с подходящим шрифтом будет поддерживаться без затрат времени и усилий, необходимых для создания специального механизма формирования. [4]
USE основан на обобщенной «универсальной кластерной модели», разработанной для индийских письменностей, которая моделирует расширенное множество систем человеческого письма. Движок классифицирует каждый символ сложного сценария на несколько категорий, базовых классов и подклассов. Например, предварительная индийская классификация включает общие, слоговые и позиционные категории, которые далее подразделяются на основу (число, согласная, буква тона, зависимая гласная и т. д.), основную гласную (независимую гласную), число (соединяющее число Брахми), конечную, средние и модифицирующие согласные, средние согласные, а также верхние, нижние, левые и правые согласные и гласные. Строки символов Юникода преобразуются в коллекции USE-классов с использованием четко определенных правил, что делает композицию глифов стандартной процедурой и допускает взаимодействие между символами, которое невозможно при текущих функциях языка, определенных в спецификациях OpenType. [3]
Universal Shaping Engine был представлен на встрече разработчиков OpenType в 2014 году; совместимый подход был также реализован в формирователе текста HarfBuzz с открытым исходным кодом . По состоянию на 2020 год ЕГЭ в Windows 10 обрабатывает в общей сложности 70 сложных алфавитов: адлам, ахом, балийский, батак, бхайксуки, брахми, бугинский, бухид, чакма, чам, хоразмийский, дивес акуру, дуплоян, египетские иероглифы, элимейский, грантха. , Гунджала Гонди, Ханифи Рохинджа, Хануноо, Яванский, Кайти, Кая Ли, Харошти, Малая киданьская письменность, Ходжки, Худавади, Лепча, Лимбу, Махаджани, Макассар, Мандейский, Манихейский, Марчен, Масарам Гонди, Медефаидек, Майерин, Миао Моди, Монгольский, Мултани, Нандинагари, Ньюа, Нко, Ньиакенг Пуачуе Хмонг, Пахау Хмонг, Пхагс-па, Псалтырь Пехлеви, Реджанг, Саураштра, Шарада, Сиддхам, Сингальский, Согдийский, Старо-согдийский, Сойомбо, Суданский, Силоти Нагри, Тагальский, Тагбанва, Тай Ле, Тай Там (ограниченная поддержка), Тай Вьет, Такри, Тибетан, Тифинаг, Тирхута, Ванчо, Езиды и площадь Занабазар. [10]
Версии [ править ]
Хотя Uniscribe доступен с Windows 2000, новые версии Uniscribe предоставили системе больше функций, а именно поддержку других систем письма. Более раннее обновление поддерживает отображение арабского и иврита , затем тайского и вьетнамского языков . Начиная с Windows XP , поддерживается больше южноазиатских и ассирийских алфавитов.
См. также [ править ]
- Международные компоненты для Unicode
- OpenType
- Расширенная типографика Apple
- Черный
- Графит (SIL)
- DirectWrite
Ссылки [ править ]
- ^ «Windows 7: знакомство с Direct2D и DirectWrite» . Канал 9 . ПДК2008. Корпорация Microsoft, 29 октября 2008 г. Проверено 1 июня 2021 г.
- ^ «Поддержка сценариев и шрифтов в Windows» . Архивировано из оригинала 25 декабря 2014 г.
- ↑ Перейти обратно: Перейти обратно: а б с д Джон Хадсон (10 мая 2016 г.). «Создание шрифтов для Universal Shaping Engine» (PDF) . Типография Тиро . Проверено 9 июня 2020 г.
- ↑ Перейти обратно: Перейти обратно: а б Блог, Windows Experience; Гласс, Эндрю (23 февраля 2015 г.). «Windows формирует языки мира» . Блог об опыте работы с Windows .
- ^ «RE: Шрифт символа (был: шрифт Джеймса Касса и Code2000)» . Проверено 29 января 2011 г.
- ^ Публичное рассмотрение, выпуск № 37 , Предложение по разъяснению и объединению функции ZERO WIDTH JOINER в индийских алфавитах , Консорциум Unicode
- ^ «Проблемы индийской типографики в текущих реализациях макета OpenType - Джон Хадсон» (PDF) .
- ^ «Исправление макета OpenType Indic2 — Джон Хадсон» (PDF) .
- ^ «За пределами формирования и к общей модели типографики OpenType - Джон Хадсон» (PDF) .
- ↑ Перейти обратно: Перейти обратно: а б «Создание и поддержка шрифтов OpenType для Universal Shaping Engine — Typography» . 30 сентября 2022 г.
- Примечания
- Отписаться
- Типографика Майкрософт
- Отписаться в MSDN
- Летний институт лингвистики. Отписать версии