Uniscribe - это набор служб Microsoft Windows для визуализации текста в кодировке 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 nicode S cripts P rocessor. Основное назначение Uniscribe:
- преобразование входного текста из входной последовательности в визуальную последовательность.
- замена глифов в зависимости от контекста (например, разные формы арабских символов)
- упорядочение отображаемого текста на основе направления потока текста (например, LTR vs RTL, горизонтальный vs вертикальный).
Ниже перечислены некоторые распространенные версии usp10.dll, а также способы их распространения.
Функции добавляются только в соответствии с частью номера версии "major.minor", третья часть в полном номере версии используется для идентификационных номеров целевой системы, для которой DLL была перенесена Microsoft, а последняя часть - это номер сборки на каждая версия целевой системы (которая может изменяться в ходе регулярных обновлений системы / программного обеспечения). Некоторые исправления предоставляют обновления только для определенных приложений (особенно в каталоге установки Office) и не подходят для использования в системном каталоге Windows (чья версия DLL никогда не должна обновляться и часто защищается системой):
Размеры файлов могут различаться в зависимости от конкретных локализаций библиотеки DLL (в зависимости от целевой системы или приложения, для которого она была скомпилирована); приведенные здесь предназначены для английско-американской локализации.
Номер версии | Размер файла | Дата файла | Программное обеспечение в комплекте | Новая функция этой версии |
---|---|---|---|---|
10.0.14393.0 | 79360 байт (x64) | 2016-08-02 | Юбилейное обновление Windows 10 | ? |
1.626.7601.23259 | 627 712 байт (x86) | 2015-11-03 | ? | ? |
1.626.7601.19054 | 627 712 байт (x86) | 2015-11-03 | ? | ? |
10.0.10240.16834 | 626688 байт (x64) | 2015-07-10 | Windows 10 | Поддержка Universal Shaping Engine для сложных скриптов Unicode 7.0 [1] [2] [3] |
1.626.7601.18454 (Windows 7 GDR) | 626 688 байт (x86) 801 280 байт (x64) | 2014-04-25 | KB2957509 [1] - Windows 7 , Windows Server 2008 R2 , Windows Vista , Windows Server 2008 , Windows Server 2003 | Обновление безопасности |
1.626.7601.22666 (Windows 7 LDR) | 626 688 байтов (x86) 801 792 байта (x64) | |||
6.3.9431.0 | 76 288 байт | 2013-06-16 | Windows 8.1 (предварительная версия ) | ? |
6.2.9200.16384 | 74 КБ | 2012-07-26 | Windows 8 | ? |
1.626.7601.22171 | 626688 байт (x86) | 2012-11-22 | ? | ? |
1.626.7601.18009 | 612 КБ | 2012-11-22 | KB2786400 [2] | Доступно обновление, изменяющее настройки по умолчанию поведения шейпинга для рендеринга арабского текста в Windows 7 и Windows Server 2008 R2. |
1.626.7601.17514 | 781 КБ | 2010-11-20 | Windows 7 SP1 x64 (окончательная первоначальная версия ) | ? |
611 КБ | Windows 7 SP1 x86 (окончательная первоначальная версия ) | |||
1.626.7601.17105 | 611 КБ | 2010-09-30 | Windows 7 с пакетом обновления 1 (RC) | Восстановить поддержку неназначенных кодовых точек [4] |
1.626.7600.20796 | 625 КБ | 2010-09-21 | PowerPoint Viewer 2010 (SP1) KB2460050 [3] | ? |
1.626.7600.20602 | 623 КБ | 2010-01-07 | Microsoft Office 2010 (окончательная первоначальная версия) | Поддержка PR-37: Разъяснение использования объединения нулевой ширины в индийских скриптах; [5] Эта версия поддерживает OpenType в Windows XP. |
1.626.7600.16385 | 628 КБ | 2009-08-04 | Microsoft Office 2010 (бета) | ? |
612 КБ | 2009-07-14 | Windows 7 (окончательная первоначальная версия ) | ? | |
1.626.7100.0 | 612 КБ | 2009-04-22 | Windows 7 RC | ? |
1.626.6002.22402 | 491 КБ | 2010-07-11 | Обновление безопасности Microsoft Office 2007 (SP2) KB2288621 [4] | MS10-063: Описание обновления безопасности для пакетов Office 2007: 14 сентября 2010 г. |
1.626.6002.18244 | 607 КБ | 2010-04-16 | Windows Server 2008 SP2, обновление безопасности Windows Vista SP2 KB981322 [5] | MS10-063: Описание обновления безопасности для процессора сценариев Windows Unicode: 14 сентября 2010 г. |
1.626.6002.18005 | 607 КБ | 2009-04-11 | Windows Server 2008 с пакетом обновления 2 (SP2), Windows Vista с пакетом обновления 2 (SP2) | ? |
1.626.6001.18000 | 490 КБ | 2008-01-19 | Windows Server 2008 (RTM), Windows Vista SP1 , VOLTSupplementalFiles (июль 2008 г.), MS VOLT 1.3 [6] (выпущен 31 июля 2008 г.), SIL FieldWorks, Keyman Desktop 7.1 | Поддерживает новые функции таблиц OpenType; улучшенная поддержка лигатур и контекстных форм в индийских скриптах с более простыми шрифтами |
1.626.6001.16510 | 491 КБ | 2007-04-18 | Windows Server «Longhorn» (бета 3) | ? |
1.626.6000.20581 | 491 КБ (502 784 байта) | 2007-04-19 02:15:55 UTC | Исправление для Windows Vista KB936176 | ИСПРАВЛЕНИЕ: некорректное отображение полностью разложенных символов в форме NFD, закодированных в последовательностях из более чем 2 символов (влияет на 114 латинских символов, разложенных на последовательности из 3 кодов) |
1.626.6000.16386 | 491 КБ (502 784 байта) | 2006-11-02 09:44:03 UTC | Windows Vista Ultimate (окончательная первоначальная версия ) | DirectX 10? WDDM? |
1.626.5756.0 | 491 КБ | 2006-10-13 | Microsoft Office 2007 Ultimate (окончательная первоначальная версия) | Поддерживает скрипты ория и каннада |
1.615.5384.4 | 484 КБ | 2006-06-17 | Windows Vista (бета 2) | DirectX 9? |
1.614.5315.0 | 454 КБ | 2006-03-13 | Microsoft Office 2007 (бета 2) | Типографские особенности OpenType? |
1.613.5291.0 | 481 КБ (492 544 байта) | 2006-01-04 | Windows Vista (бета 1) | Microsoft VOLT 1.2 [7] |
1,609,5219,0 | 469 КБ | 2005-08-17 | Microsoft Office 12 Professional (бета 1) | Типографские особенности OpenType? |
1.606.5065.1 | ? | ? | Стороннее программное обеспечение | Поддерживает монгольский сценарий |
1,606,5078,0 | ? | ? | Исправление для шрифтов SIL | ИСПРАВЛЕНИЕ: Объединение последовательностей меток в латинском шрифте может отображаться некорректно. |
1,601,5022,8 | 428 КБ | 2005-01-07 | Пакет включения Microsoft Sinhala для XP 0.42 | Поддерживает сингальский сценарий |
1.473.4067.15 | 415 КБ (424960 байт) | 2004-10-22 | Стороннее программное обеспечение | Microsoft Visual OpenType Layout Tool (VOLT) 1.1.225 обновить |
1.473.4067.0 | 415 КБ (424960 байт) | 2004-10-22 | Стороннее программное обеспечение | Поддерживает сценарий малаялам ; VOLTSupplementalFiles (ноябрь 2004 г.); улучшение рендеринга до 3-х диакритических знаков с CGJ |
1.471.4063.0 | 415 КБ (424960 байт) | 2004-02-04 | Microsoft Office 2003 (исправление), SIL FieldWorks (Speech Tools Phonology Assistant 3.0.1) | ? |
1.471.4030.0 | 404 КБ (413 184 байта) | 2004-04-15 | Microsoft Office 2003, Google Планета Земля | |
1.468.4015.0 | ? КиБ (? Байтов) | ? | Паратекст 6 | Поддерживает тибетский сценарий . |
1.468.4011.0 | ? КиБ (? Байтов) | ? | ? | |
1.460.3707.0 | ? КиБ (? Байтов) | ? | MS VOLT 1.1.206 | Поддерживает кхмерский сценарий |
1.453.3665.0 | ? КиБ (? Байтов) | ? | VOLTSupplementalFiles (август 2002 г.) | ? |
1.422.3790.1830 | 355 Кбайт (364032 байта) | 2005-03-30 | Windows Server 2003 (SP1) | ИСПРАВИТЬ? |
1.421.3790.0 | 345 Кбайт (353280 байт) | 2003-03-25 | Windows Server 2003 | Поддержка DirectX, GDI + и более новой модели драйвера дисплея |
1.420.2600.5969 | 397 КБ (406016 байт) | 2010-04-16 | Обновление безопасности Windows XP (SP3) KB981322 [8] | MS10-063: Описание обновления безопасности для процессора сценариев Windows Unicode: 14 сентября 2010 г. |
1.420.2600.5512 | 397 КБ (406016 байт) | 2008-04-14 | Windows XP, сборка 5512 (SP3) | ИСПРАВИТЬ? |
1.420.2600.3163 | 397 КБ (406016 байт) | 2007-06-26 | Исправление для Windows XP (SP2) KB939450 [9] | ИСПРАВЛЕНИЕ: функция GetCharacterPlacement неожиданно возвращает ноль |
1.420.2600.2791 | 397 КБ (406016 байт) | 2005-11-05 | Исправление для Windows XP (SP2) KB910466 [10] | ИСПРАВИТЬ: Вы можете получить сообщение об ошибке «MEM_BAD_POINTER» на компьютере под управлением Windows XP с пакетом обновления 2 |
1.420.2600.2180 | 397 КБ (406 528 байт) | 2004-08-12 | Windows XP, сборка 2180 (SP2) | Поддерживает скрипты бенгальского и малаяламского языков; поддерживает сложную латынь (для вьетнамского языка); ИСПРАВЛЕНИЕ: лигирование контуров тона |
1.409.2600.1106 | 331 КБ (339 456 байт) | 2002-08-29 | Windows XP, сборка 1106 (SP1) | ? |
1.408.2600.1020 | 331 КБ (339 456 байт) | 2002-04-17 | Internet Explorer 6.0.2800.1106 (SP1) | ? |
1.407.2600.0 | 331 КБ (339 456 байт) | 2001-08-17 | Windows XP | Поддержка тана , гуджарати , каннада , Гурмухи ( пенджаби ), сирийский и телугу сценарии |
1.405.2416.1 | 317 Кбайт (325120 байт) | 2001-01-15 | Microsoft Office XP (2002), Microsoft Word 2000 (SP1) | Полностью поддерживает иврит , деванагари и тамильский алфавит. |
1.400.2411.1 | 316 КиБ (323072 байта) | 2000-12-13 | Internet Explorer 6 [11] | ? |
1.325.2195.6692 | 308 КБ (315664 байта) | 2003-06-19 | Windows 2000 SP4 (?) | ? |
1.325.2195.? | ? | 2001-09-25 | Распространяемый пакет установщика Microsoft Windows 2.0 для Windows 95/98 / Me KB827763 | Требуется для программ просмотра презентаций Powerpoint 2003 (и более поздних версий) Microsoft (которым в остальном требуется как минимум 98SE) в Windows 95 и 98 |
1.325.2195.1340 | 308 КБ (315664 байта) | 2000-07-21 | Windows 2000 с пакетом обновления 1 (SP1) | Полностью поддерживает арабский алфавит |
1.325.2180.1 | 316 КиБ (323 584 байта) | 2000-06-08 | Windows Me | Улучшенный API для скриптов с двунаправленной и сложной разметкой; минимальная поддержка сценариев на арабском и иврите (без контекстных буквенных форм, требуется сопоставление символов совместимости в шрифтах) |
307 Кбайт (315152 байта) | 2000-04-26 | Microsoft Global IME для Microsoft Office XP | ||
307 Кбайт (315152 байта) | 1999-11-30 | Выпуск Internet Explorer 5.5, SP1 и SP2 | ||
1.175.0.1 | 268 КБ (274 432 байта) | 1999-04-05 | Windows 98 SE | Первый стабильный Uniscribe API; поддерживает простые алфавитные шрифты с разложенными диакритическими знаками ( латиница , греческий язык , кириллица ) |
258 КБ (264 976 байт) | 1999-01-28 | Internet Explorer 5.01 | ||
1.163.1890.1 | 262 Кбайт (268 288 байт) | 1998-09-22 | Стороннее программное обеспечение | Снимок разметки многоязычного текста и сложных сценариев (MTLCS) (ранний выпуск для разработчиков) |
Универсальный движок шейпинга [ править ]
Скрипты со сложным макетом текста имеют контекстные и нелинейные требования для правильного отображения их типографики. Эти требования включают: лигатуры , где два последовательных символа должны быть объединены в одну фигуру (латиница, деванагари); переупорядочивание, при котором некоторые символы должны отображаться перед буквой, за которой они следуют в фактическом произношении (бенгальский, сингальский и другие индийские языки); и формирование контекста, как в рукописных шрифтах, где некоторые буквы должны менять форму в зависимости от того, находятся ли они в начале, в середине или в конце слова (арабский, монгольский).
UniScribe использует несколько специфичных для сценариев механизмов формирования для обработки типографики в поддерживаемых сложных сценариях; они реализованы в дополнение к общему механизму для несложных шрифтов (таких как кириллица, греческий, латинский и т. д.). В настоящее время используемые движки включают [2] индийские (бенгальский, деванагари, гуджурати, гурмукхи, каннада и т. Д.), Арабский, хангыль, иврит, кхмерский, мьянманский и тайский / лаосский варианты.
Сложность стандарта Unicode и неоднозначность спецификации OpenType часто приводят к неполным или ошибочным реализациям сложного текстового макета. Механизмы формирования для конкретных сценариев работают от случая к случаю и не всегда обрабатывают общие функции шрифтов OpenType, что затрудняет поддержку новых сценариев программистам ОС и разработчикам шрифтов. Ошибки реализации очень трудно или невозможно исправить на более позднем этапе без нарушения обратной совместимости для существующих документов и шрифтов, часто требующих новых функций компоновки OpenType и переделки существующих шрифтов и механизмов визуализации типографики. [2] [6] [7] [8]
В Windows 10 была проведена большая работа по рефакторингу для реализации обобщенной модели формирования, Universal Shaping Engine (USE). Этот механизм напрямую основан на свойствах глифов, определенных в стандарте Unicode, в надежде, что любой сложный сценарий с подходящим шрифтом будет поддерживаться без времени и усилий, необходимых для создания специального механизма формирования. [3]
ЕГЭ строится на обобщенной «универсальной кластерной модели», разработанной для индийских шрифтов, которая моделирует надмножество систем письма человека. Движок классифицирует каждый символ сложного скрипта на несколько категорий, базовых классов и подклассов. Например, предварительная индийская классификация включает общие, слоговые и позиционные категории, далее разделенные на основание (число, согласный, буква тона, зависимый гласный и т. Д.), Базовый гласный (независимый гласный), число (присоединяющееся число Брахми), конечный , средние согласные и согласные-модификаторы, средние согласные, а также верхние, нижние, левые и правые согласные и гласные. Строки символов Unicode преобразуются в набор классов USE с использованием четко определенных правил,превращение композиции глифов в стандартную процедуру и разрешение межсимвольного взаимодействия, невозможного с текущими языковыми функциями, определенными в спецификациях OpenType.[2]
Универсальный движок шейпинга был представлен на встрече разработчиков OpenType в 2014 году; совместимый подход также был реализован в текстовом формирователе HarfBuzz с открытым исходным кодом . В Windows 10 USE обрабатывает в общей сложности 45 сложных сценариев: балийский, батак, брахми, бугинский, бухид, чакма, чам, дуплоян, египетские иероглифы, Гранта, Хануно, яванский язык, Кайти, Кая Ли, Харошти, Ходжки, Худавади, Лепча, Лимбу, Махаджани, Мандайский, Манихейский, Мэйтей Майек, Моди, Монгольский, Н'Ко, Пахау Хмонг, Пхаг-па, Псалтырь пехлеви, Реджанг, Саураштра, Шарада, Сиддхам, Сингальский, Сунданский, Силоти Тагбанри, Тагалог Tai Le, Тай Tham (очень несовершенно), Тай Вьет, Такри, тибетский, Тифинаг и Tirhuta.
Версии [ править ]
Хотя Uniscribe стал доступен с Windows 2000, новые версии Uniscribe предоставили системе больше функций, а именно поддержку других систем письма. Более раннее обновление поддерживает отображение арабского и иврита , затем тайского и вьетнамского языков . Начиная с Windows XP , поддерживается больше южноазиатских и ассирийских алфавитов.
См. Также [ править ]
- Международные компоненты для Unicode
- OpenType
- Продвинутая типографика Apple
- Панго
- Графит (SIL)
- DirectWrite
Ссылки [ править ]
- ^ https://msdn.microsoft.com/en-us/goglobal/bb688099.aspx#W10 >
- ^ a b c d Джон Хадсон (10 мая 2016 г.). «Создание шрифтов для универсального механизма шейпинга» (PDF) . Tiro Typeworks . Проверено 9 июня 2020 .
- ^ a b Windows формирует языки мира - Эндрю Гласс
- ^ "RE: Шрифт Symbola (был: шрифт Джеймса Касса и Code2000)" . Проверено 29 января 2011 .
- ^ Public Review Issue # 37 , Предложение по разъяснению и консолидации функции ZERO WIDTH JOINER в индийских скриптах , Консорциум Unicode
- ^ Проблемы индийской типографики в текущих реализациях OpenType Layout - Джон Хадсон
- ^ Исправление разметки Indic2 OpenType - Джон Хадсон
- ^ За рамками формирования и к общей модели типографики OpenType - Джон Хадсон
- Ноты
- Не описывать
- Типографика Microsoft
- Не подписывайтесь на MSDN
- Летний институт языкознания. Не описывать версии
Внешние ссылки [ править ]
- Как обновить usp10.dll в Windows 2000
- Не описывать версии
- Введение в Uniscribe и хорошую демонстрацию