Не описывать - Uniscribe

Не описывать это Майкрософт Виндоус комплекс услуг по оказанию Unicode закодированный текст, особенно сложный текстовый макет. Они реализованы в DLL USP10.DLL. USP10.dll стал общедоступным с Windows 2000 и Internet Explorer 5.0. В дополнение Windows CE платформа поддерживает Uniscribe с версии 5.0.

Хотя Uniscribe продолжает работать, с Windows 7 его предполагаемая замена DirectWrite был представлен[нужна цитата ], который имеет больше возможностей.

USP10.dll

USP - это инициализм для Uникод Sскрипты ппроцессор. Основное назначение Uniscribe включает в себя следующее:

  1. преобразование входного текста из входной последовательности в визуальную последовательность.
  2. замена глифов в соответствии с контекстом (например, разные формы арабских символов)
  3. упорядочение отображаемого текста в зависимости от направления потока текста (например, LTR vs RTL, горизонтальный vs вертикальный).

Ниже перечислены некоторые распространенные версии usp10.dll, а также способы их распространения.

Функции добавляются только в соответствии с частью номера версии "major.minor", третья часть в полном номере версии используется для идентификационных номеров целевой системы, для которой DLL была перенесена Microsoft, а последняя часть - это номер сборки на каждая версия целевой системы (которая может изменяться в ходе регулярных обновлений системы / программного обеспечения). Некоторые исправления предоставляют обновления только для определенных приложений (особенно в каталоге установки Office) и не подходят для использования в системном каталоге Windows (чья версия DLL никогда не должна обновляться и часто защищается системой):

Размеры файлов могут различаться в зависимости от конкретной локализации DLL (в зависимости от целевой системы или приложения, для которого она была скомпилирована); приведенные здесь предназначены для английско-американской локализации.

Номер версииРазмер файлаДата файлаПрограммное обеспечение в комплектеНовая функция этой версии
10.0.14393.079360 байт (x64)2016-08-02Windows 10 Юбилейное обновление?
1.626.7601.23259627 712 байт (x86)2015-11-03??
1.626.7601.19054627 712 байт (x86)2015-11-03??
10.0.10240.16834626688 байт (x64)2015-07-10Windows 10Поддержка Universal Shaping Engine для Unicode 7.0 сложные скрипты[1][2][3]
1.626.7601.18454 (Windows 7 GDR)626688 байт (x86)
801 280 байт (x64)
2014-04-25KB2957509 [1]  – Windows 7, Windows Server 2008 R2, Виндоус виста, Windows Server 2008, Windows Server 2003Обновление безопасности
1.626.7601.22666 (Windows 7 LDR)626688 байт (x86)
801,792 байта (x64)
6.3.9431.076 288 байт2013-06-16Windows 8.1 (превью)?
6.2.9200.1638474 КБ
2012-07-26Windows 8?
1.626.7601.22171626688 байт (x86)2012-11-22??
1.626.7601.18009612 КБ
2012-11-22KB2786400 [2]Доступно обновление, изменяющее настройки по умолчанию поведения при отрисовке арабского текста в Windows 7 и Windows Server 2008 R2.
1.626.7601.17514781 КБ
2010-11-20Windows 7 SP1 x64 (RTM)?
611 КБ
Windows 7 SP1 x86 (RTM)
1.626.7601.17105611 КБ
2010-09-30Windows 7 SP1 (RC)Восстановить поддержку неназначенных кодовых точек[4]
1.626.7600.20796625 КБ
2010-09-21Средство просмотра PowerPoint 2010 (SP1) KB2460050 [3]?
1.626.7600.20602623 КБ
2010-01-07Microsoft Office 2010 (RTM)Поддержка PR-37: Разъяснение использования объединителя нулевой ширины в индийских скриптах;[5] Эта версия поддерживает OpenType в Windows XP.
1.626.7600.16385628 КБ
2009-08-04Microsoft Office 2010 (Бета)?
612 КБ
2009-07-14Windows 7 (RTM)?
1.626.7100.0612 КБ
2009-04-22Windows 7 RC?
1.626.6002.22402491 КБ
2010-07-11Microsoft Office 2007 (SP2) Обновление безопасности KB2288621 [4]MS10-063: Описание обновления безопасности для пакетов Office 2007: 14 сентября 2010 г.
1.626.6002.18244607 КБ
2010-04-16Windows Server 2008 SP2, Windows Vista с пакетом обновления 2 (SP2) Обновление безопасности KB981322 [5]MS10-063: Описание обновления безопасности для процессора сценариев Windows Unicode: 14 сентября 2010 г.
1.626.6002.18005607 КБ
2009-04-11Windows Server 2008 SP2, Windows Vista с пакетом обновления 2 (SP2)?
1.626.6001.18000490 КБ
2008-01-19Windows Server 2008 (RTM), Windows Vista с пакетом обновления 1 (SP1), VOLTSupplementalFiles (июль 2008 г.), MS VOLT 1.3 [6] (выпущено 31 июля 2008 г.), SIL FieldWorks, Keyman Desktop 7.1Поддерживает новые функции таблиц OpenType; улучшенная поддержка лигатур и контекстных форм в индийских скриптах с более простыми шрифтами
1.626.6001.16510491 КБ
2007-04-18Windows Server "Longhorn" (Бета 3)?
1.626.6000.20581491 КБ
(502 784 байта)
2007-04-19 02:15:55 универсальное глобальное времяВиндоус виста Исправление KB936176ИСПРАВЛЕНИЕ: некорректное отображение полностью разложенных символов в форме NFD, закодированных в последовательностях из более чем 2 символов (затрагивает 114 латинских символов, разложенных на последовательности из 3 кодов)
1.626.6000.16386491 КБ
(502 784 байта)
2006-11-02 09:44:03 универсальное глобальное времяВиндоус виста Окончательный (окончательная первоначальная версия)DirectX 10? WDDM?
1.626.5756.0491 КБ
2006-10-13Microsoft Office 2007 Окончательный (окончательная первоначальная версия)Поддерживает Ория и Каннада скрипты
1.615.5384.4484 КБ
2006-06-17Виндоус виста (Бета 2)DirectX 9?
1.614.5315.0454 КБ
2006-03-13Microsoft Office 2007 (Бета 2)Типографские особенности OpenType?
1.613.5291.0481 КБ
(492 544 байта)
2006-01-04Виндоус виста (Бета 1)Microsoft VOLT 1.2 [7]
1.609.5219.0469 КБ
2005-08-17Microsoft Office 12 Профессиональный (Beta 1)Типографские особенности OpenType?
1.606.5065.1?
?Стороннее ПОПоддерживает Монгольский сценарий
1.606.5078.0?
?Исправление для шрифтов SILИСПРАВЛЕНИЕ: Объединение последовательностей меток в латинском шрифте может отображаться неправильно.
1.601.5022.8428 КБ
2005-01-07Пакет включения Microsoft Sinhala для XP 0.42Поддерживает Сингальский сценарий
1.473.4067.15415 КБ
(424 960 байт)
2004-10-22Стороннее ПОMicrosoft Visual OpenType Layout Tool (VOLT) 1.1.225 обновить
1.473.4067.0415 КБ
(424 960 байт)
2004-10-22Стороннее ПОПоддерживает Скрипт малаялам; VOLTSupplementalFiles (ноябрь 2004 г.); улучшение рендеринга до 3-х диакритических знаков с CGJ
1.471.4063.0415 КБ
(424 960 байт)
2004-02-04Microsoft Office 2003 (исправить), SIL FieldWorks (Помощник по фонологии речевых инструментов 3.0.1)?
1.471.4030.0404 КБ
(413 184 байта)
2004-04-15Microsoft Office 2003, Гугл Земля
1.468.4015.0? KiB
(? байтов)
?Паратекст 6Поддерживает Тибетское письмо.
1.468.4011.0? KiB
(? байтов)
??
1.460.3707.0? KiB
(? байтов)
?MS VOLT 1.1.206Поддерживает Кхмерский шрифт
1.453.3665.0? KiB
(? байтов)
?VOLTSupplementalFiles (август 2002 г.)?
1.422.3790.1830355 КБ
(364 032 байта)
2005-03-30Windows Server 2003 (SP1)ИСПРАВИТЬ?
1.421.3790.0345 КБ
(353 280 байт)
2003-03-25Windows Server 2003Поддержка DirectX, GDI + и более новой модели драйвера дисплея
1.420.2600.5969397 КБ
(406 016 байт)
2010-04-16Windows XP (SP3) Обновление безопасности KB981322 [8]MS10-063: Описание обновления безопасности для процессора сценариев Windows Unicode: 14 сентября 2010 г.
1.420.2600.5512397 КБ
(406 016 байт)
2008-04-14Windows XP Сборка 5512 (SP3)ИСПРАВИТЬ?
1.420.2600.3163397 КБ
(406 016 байт)
2007-06-26Windows XP (SP2) Исправление KB939450 [9]ИСПРАВЛЕНИЕ: функция GetCharacterPlacement неожиданно возвращает ноль
1.420.2600.2791397 КБ
(406 016 байт)
2005-11-05Windows XP (SP2) Исправление KB910466 [10]ИСПРАВИТЬ: Вы можете получить сообщение об ошибке «MEM_BAD_POINTER» на компьютере под управлением Windows XP с пакетом обновления 2
1.420.2600.2180397 КБ
(406 528 байт)
2004-08-12Windows XP Сборка 2180 (SP2)Поддерживает Бенгальский и Малаялам скрипты; поддерживает сложную латынь (для вьетнамского языка); ИСПРАВЛЕНИЕ: лигирование контуров тона
1.409.2600.1106331 КБ
(339 456 байт)
2002-08-29Windows XP Сборка 1106 (SP1)?
1.408.2600.1020331 КБ
(339 456 байт)
2002-04-17Internet Explorer 6.0.2800.1106 (SP1)?
1.407.2600.0331 КБ
(339 456 байт)
2001-08-17Windows XPПоддерживает Thaana, Гуджарати, Каннада, Гурмукхи (Пенджаби ), Сирийский и телугу скрипты
1.405.2416.1317 КБ
(325 120 байт)
2001-01-15Microsoft Office XP (2002), Microsoft Word 2000 (SP1)Полностью поддерживает иврит, Деванагари и Тамильский скрипты
1.400.2411.1316 КБ
(323 072 байта)
2000-12-13Internet Explorer 6 [11]?
1.325.2195.6692308 КБ
(315 664 байта)
2003-06-19Windows 2000 SP4 (?)?
1.325.2195.??
2001-09-25Распространяемый пакет установщика Microsoft Windows 2.0 для Windows 95 / 98 / Я KB827763Требуется для программ просмотра презентаций Powerpoint 2003 (и более поздних версий) Microsoft (которым в остальном требуется как минимум 98SE) в Windows 95 и 98
1.325.2195.1340308 КБ
(315 664 байта)
2000-07-21Windows 2000 SP1Полностью поддерживает Арабский шрифт
1.325.2180.1316 КБ
(323 584 байта)
2000-06-08Windows MeУлучшенный API для скриптов с двунаправленной и сложной разметкой; минимальная поддержка сценариев на арабском и иврите (без контекстных буквенных форм, требуется сопоставление символов совместимости в шрифтах)
307 КБ
(315 152 байта)
2000-04-26Microsoft Global IME для Microsoft Office XP
307 КБ
(315 152 байта)
1999-11-30Internet Explorer Версия 5.5, SP1 и SP2
1.175.0.1268 КБ
(274 432 байта)
1999-04-05Windows 98 SEПервый стабильный Uniscribe API; поддерживает простые алфавитные шрифты с разложенными диакритическими знаками (латинский, Греческий, Кириллица )
258 КБ
(264 976 байт)
1999-01-28Internet Explorer 5.01
1.163.1890.1262 КБ
(268 288 байт)
1998-09-22Стороннее ПОСнимок разметки многоязычного текста и сложных сценариев (MTLCS) (ранний выпуск для разработчиков)

Универсальный движок формообразования

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

UniScribe использует несколько специфичных для скриптов механизмов формования для обработки типографики в поддерживаемых сложных скриптах; они реализованы в дополнение к общему движку для несложных скриптов (таких как кириллица, греческий, латинский и т. д.). В настоящее время используемые двигатели включают[2] Индийский (бенгальский, деванагари, гуджурати, гурмукхи, каннада и т. Д.), Арабский, хангыль, иврит, кхмерский, мьянманский и тайский / лаосский варианты.

Сложность стандарта Unicode и двусмысленность спецификации OpenType часто приводят к неполным или ошибочным реализациям сложного текстового макета. Механизмы формирования для конкретных сценариев работают от случая к случаю и не всегда обрабатывают общие функции шрифтов OpenType, что затрудняет поддержку новых сценариев программистам ОС и разработчикам шрифтов. Ошибки реализации очень сложно или невозможно исправить на более позднем этапе, не разбивая Обратная совместимость для существующих документов и шрифтов, часто требующих новых функций компоновки OpenType и переделки существующих шрифтов и механизмов визуализации типографики.[2][6][7][8]

В Windows 10 была проведена большая работа по рефакторингу для реализации обобщенной модели формирования, Universal Shaping Engine (USE). Этот механизм напрямую основан на свойствах глифов, определенных в стандарте Unicode, в надежде, что любой сложный сценарий с подходящим шрифтом будет поддерживаться без времени и усилий, необходимых для создания специального механизма формирования.[3]

ЕГЭ основан на обобщенной «универсальной кластерной модели», разработанной для индийских алфавитов, которая моделирует надмножество систем письма человека. Движок классифицирует каждый символ сложного скрипта на несколько категорий, базовых классов и подклассов. Например, предварительная индийская классификация включает в себя общие, слоговые и позиционные категории, далее разделенные на основание (число, согласный, буква тона, зависимый гласный и т. Д.), Базовый гласный (независимый гласный), число (присоединяющееся число Брахми), конечный , средние согласные и согласные-модификаторы, средние согласные, а также верхние, нижние, левые и правые согласные и гласные. Строки символов Юникода преобразуются в набор классов USE с использованием четко определенных правил, что делает композицию глифов стандартной процедурой и допускает межсимвольные взаимодействия, невозможные с текущими языковыми функциями, определенными в спецификациях OpenType.[2]

Универсальный движок шейпинга был представлен на встрече разработчиков OpenType в 2014 году; совместимый подход также был реализован открытым исходным кодом HarfBuzz формирователь текста. В Windows 10 USE обрабатывает в общей сложности 45 сложных скриптов: балийский, батак, брахми, бугийский, бухид, чакма, чам, дуплоян, египетские иероглифы, Гранта, Хануно, яванский язык, Кайти, Кая Ли, Харошти, Ходжки, Худавади, Лепча, Лимбу, Махаджани, Мандайский, Манихейский, Мейтей Майек, Моди, Монгольский, Н'Ко, Пахау Хмонг, Пхагс-па, Псалтырь пехлеви, Реджанг, Саураштра, Шарада, Сиддхам, Сингальский, Сунданский, Силоти Тагбанри, Тагалог Тай Ле, Тай Тхам (крайне несовершенно), Тай Вьет, Такри, Тибетский, Тифинаг и Тирхута.

Версии

Хотя Uniscribe стал доступен с Windows 2000, новые версии Uniscribe предоставили системе больше функций, а именно поддержку других систем письма. Более раннее обновление поддерживает отображение арабский и иврит, тогда Тайский и вьетнамский. С Windows XP, поддерживаются другие южноазиатские и ассирийские алфавиты.

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

Рекомендации

  1. ^ https://msdn.microsoft.com/en-us/goglobal/bb688099.aspx#W10 >
  2. ^ а б c d Джон Хадсон (10 мая 2016 г.). «Создание шрифтов для универсального механизма шейпинга» (PDF). Tiro Typeworks. Получено 2020-06-09.
  3. ^ а б Windows формирует языки мира - Эндрю Гласс
  4. ^ «RE: Шрифт Symbola (был: шрифт James Kass и Code2000)». Получено 2011-01-29.
  5. ^ Выпуск публичного обзора №37, Предложение по уточнению и закреплению функции ZERO WIDTH JOINER в индийских скриптах, Консорциум Unicode
  6. ^ Проблемы индийской типографики в текущих реализациях OpenType Layout - Джон Хадсон
  7. ^ Исправление макета Indic2 OpenType - Джон Хадсон
  8. ^ Помимо формования и к общей модели типографики OpenType - Джон Хадсон
Примечания

внешняя ссылка