Uniscribe - это набор служб Microsoft Windows для визуализации в кодировке Unicode текст, особенно сложный текстовый макет. Они реализованы в DLL USP10.DLL. USP10.dll стал общедоступным в Windows 2000 и Internet Explorer 5.0. Кроме того, платформа Windows CE поддерживает Uniscribe начиная с версии 5.0.
Хотя Uniscribe продолжает поддерживаться, в Windows 7 была представлена его предполагаемая замена DirectWrite, которая имеет больше функций.
USP - это инициализм для процессора U nicode S cripts P . Основное назначение Uniscribe включает следующее:
Ниже перечислены некоторые распространенные версии usp10.dll, а также методы их распространения.
Функции добавляются только в соответствии с частью "major.minor" номера версии, третья часть в полном номере версии используется для идентификационных номеров целевой системы, для которой DLL была перенесена Microsoft, а последняя part - это номер сборки для каждой версии целевой системы (который может изменяться в ходе регулярных обновлений системы / программного обеспечения). Некоторые исправления предоставляют обновления только для определенных приложений (особенно в каталоге установки Office) и не подходят для использования в системном каталоге Windows (чья версия DLL никогда не должна обновляться и часто защищается системой):
Размеры файлов могут различаться в зависимости от конкретной локализации DLL (в зависимости от целевой системы или приложения, для которого она была скомпилирована); приведенные здесь предназначены для английско-американской локализации.
Номер версии | Размер файла | Дата файла | Программное обеспечение в комплекте | Новая функция этой версии |
---|---|---|---|---|
10.0.14393.0 | 79360 байт (x64) | 02.08.2016 | Windows 10 Юбилейное обновление | ? |
1.626.7601.23259 | 627712 байт (x86) | 2015-11-03 | ? | ? |
1.626.7601.19054 | 627 712 байт (x86) | 2015-11-03 | ? | ? |
10.0.10240.16834 | 626 688 байт ( x64) | 2015-07-10 | Windows 10 | Поддержка Universal Shaping Engine для Unicode 7.0 сложных скриптов |
1.626.7601.18454 (Windows 7 GDR) | 626 688 байт (x86). 801 280 байт (x64) | 25 апреля 2014 г. | 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 байтов | 16.06.2013 | Windows 8.1 (превью) | ? |
6.2.9200.163 84 | 74 КиБ. | 26.07.2012 | Windows 8 | ? |
1.626.7601.22171 | 626688 байт (x86) | 2012-11-22 | ? | ? |
1.626.7601.18009 | 612 KiB. | 2012-11-22 | KB2786400 [2] | Доступно обновление, которое изменяет настройки по умолчанию для формирования поведение для рендеринга арабского текста в Windows 7 и Windows Server 2008 R2. |
1.626.7601.17514 | 781 KiB. | 2010-11-20 | Windows 7 SP1 x64 (RTM) | ? |
611 KiB. | Windows 7 SP1 x86 (RTM) | |||
1.626.7601.17105 | 611 KiB. | 2010-09-30 | Windows 7 SP1 (RC) | Восстановить поддержку неназначенных кодовых точек |
1.626.7600.20796 | 625 KiB. | 2010-09-21 | (SP1) KB2460050 [3 provided | ? |
1.626.7600.20602 | 623 KiB. | 2010-01-07 | Microsoft Office 2010 (RTM) | Поддержка PR-37: разъяснение использования объединения нулевой ширины в индийских скриптах; Эта версия поддерживает OpenType в Windows XP. |
1.626.7600.16385 | 628 KiB. | 2009-08-04 | Microsoft Office 2010 (бета) | ? |
612 KiB. | 2009-07-14 | Windows 7 (RTM) | ? | |
1.626.7100.0 | 612 KiB. | 2009-04-22 | Windows 7 RC | ? |
1.626.6002.22402 | 491 KiB. | 2010-07-11 | Microsoft Office 2007 (SP2) Обновление безопасности KB2288621 [4] | MS10-063: Описание обновления безопасности для пакетов 2007 Office: 14 сентября 2010 г. |
1.626.6002.18244 | 607 KiB. | 2010-04-16 | Windows Server 2008 SP2, Windows Vista SP2 Обновление безопасности KB981322 [5] | MS10-063: Описание обновления безопасности для процессора сценариев Windows Unicode: 14 сентября 2010 г. |
1.626.6002.18005 | 607 KiB. | 2009-04-11 | Windows Server 2008 SP2, Windows Vista SP2 | ? |
1.626.6001.18000 | 490 KiB. | 2008-01-19 | Windows Server 2008 (RTM), Windows Vista SP1, VOLTSupplementalFiles (июль 2008 г.), MS VOLT 1.3 [6] (выпущено 31 июля 2008 г.), SIL FieldWorks, Keyman De sktop 7.1 | Поддерживает новые возможности таблиц OpenType; улучшенная поддержка лигатур и контекстных форм в индийских скриптах с более простыми шрифтами |
1.626.6001.16510 | 491 KiB. | 2007-04-18 | Windows Server "Longhorn" (Beta 3) | ? |
1.626.6000.20581 | 491 KiB. (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 (RTM) | DirectX 10? WDDM? |
1.626.5756.0 | 491 KiB. | 2006-10-13 | Microsoft Office 2007 Ultimate (RTM) | Поддерживает Oriya и Каннада скрипты |
1.615.5384.4 | 484 KiB. | 2006-06-17 | Windows Vista (Beta 2) | DirectX 9 ? |
1.614.5315.0 | 454 KiB. | 2006-03-13 | Microsoft Office 2007 (бета 2) | Типографские функции OpenType? |
1.613.5291.0 | 481 KiB. (492 544 байта) | 2006-01-04 | Windows Vista (бета 1) | Microsoft VOLT 1.2 [7estive |
1.609.5219.0 | 469 KiB. | 2005-08-17 | Microsoft Office 12 Professional (Beta 1) | Типографские особенности OpenType? |
1.606.5065.1 | ?. | ? | Стороннее программное обеспечение | Поддерживает монгольский сценарий |
1.606.5078.0 | ?. | ? | Исправление для шрифтов SIL | ИСПРАВЛЕНИЕ: объединение последовательностей меток в Латинский сценарий может отображаться неправильно |
1.601.5022.8 | 428 KiB. | 2005-01-07 | Пакет включения сингальского языка Microsoft для XP 0.42 | Поддерживает сингальский сценарий |
1.473.4067.15 | 415 KiB. (424 960 байт) | 22.10.2004 | Стороннее программное обеспечение | Microsoft Visual OpenType Layout Tool (VOLT) 1.1.225 обновление |
1.473.4067.0 | 415 KiB. (424 960 байт) | 2004-10-22 | Программное обеспечение сторонних производителей | Поддерживает скрипт малаялам ; VOLTSupplementalFiles (ноябрь 2004 г.); улучшение визуализации до 3-х диакритических знаков с CGJ |
1.471.4063.0 | 415 KiB. (424,960 байт) | 2004-02-04 | Microsoft Office 2003 ( fix), SIL FieldWorks (Speech Tools Phonology Assistant 3.0.1) | ? |
1.471.4030.0 | 404 KiB. (413 184 байта) | 2004-04 -15 | Microsoft Office 2003, Google Планета Земля | |
1.468.4015.0 | ? KiB. (? Байтов) | ? | Паратекст 6 | Поддерживает тибетский сценарий. |
1.468.4011.0 | ? КиБ. (? Байтов) | ? | ? | |
1.460.3707.0 | ? KiB. (? Bytes) | ? | MS VOLT 1.1.206 | Поддерживает кхмерский скрипт |
1.453.3665.0 | ? KiB. (? Bytes) | ? | VOLTSupplementalFiles (август 2002) | ? |
1.422.3790.1830 | 355 KiB. (364 032 байта) | 2005-03-30 | Windows Server 2003 (SP1) | ИСПРАВИТЬ? |
1.421.3790.0 | 345 KiB. (353280 байт) | 2003-03-25 | Windows Server 2003 | Поддержка DirectX, GDI + и более новых драйверов дисплея модель |
1.420.2600.5969 | 397 KiB. (406016 байт) | 2010-04-16 | Windows XP (SP3) Обновление безопасности KB981322 [8] | MS10-063: Описание обновления безопасности для процессора сценариев Windows Unicode: 14 сентября 2010 г. |
1.420.2600.5512 | 397 KiB. (406 016 байт) | 2008-04-14 | Windows XP Сборка 5512 (SP3) | ИСПРАВИТЬ? |
1.420.2600.3163 | 397 KiB. (406016 байт) | 2007-06-26 | Windows XP (SP2) Исправление KB939450 [9 ] | ИСПРАВЛЕНИЕ: функция GetCharacterPlacement неожиданно возвращает ноль |
1.420.2600.2791 | 397 KiB. (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 Build 2180 (SP2) | Поддерживает бенгальский и малаялам алфавитов; поддерживает сложную латынь (для вьетнамского языка); ИСПРАВЛЕНИЕ: лигирование контуров тона |
1.409.2600.1106 | 331 KiB. (339,456 байт) | 29.08.2002 | Windows XP Build 1106 (SP1) | ? |
1.408.2600.1020 | 331 KiB. (339,456 байт) | 2002-04-17 | Internet Explorer 6.0.2800.1106 (SP1) | ? |
1.407.2600.0 | 331 KiB. (339,456 байт) | 17.08.2001 | Windows XP | Поддерживает Thaana, гуджарати, каннада, гурмукхи (панджаби ), сирийский и телугу скрипты |
1.405. 2416.1 | 317 KiB. (325 120 байт) | 2001-01-15 | Microsoft Office XP (2002), Microsoft Word 2000 ( SP1) | Полностью поддерживает иврит, деванагари и тамильский скрипты |
1.400.2411.1 | 316 KiB. (323 072 байта) | 13 декабря 2000 | Internet Explorer 6 [11 ] | ? |
1.325.2195.6692 | 308 КиБ. (315,664 байтов) | 2003-06-19 | Windows 2000 SP4 (?) | ? |
1.325.2195.? | ?. | 2001-09-25 | Установщик Microsoft Windows 2.0 Redistributab Файл для Windows 95 / 98 / Me KB827763 | Необходим для программ просмотра Microsoft (которым в противном случае требуется как минимум 98SE) презентаций Powerpoint 2003 (и более поздних версий) в Windows 95 и 98 |
1.325.2195.1340 | 308 KiB. (315,664 байта) | 2000-07-21 | Windows 2000 SP1 | Полностью поддерживает арабский сценарий |
1.325.2180.1 | 316 KiB. (323,584 байта) | 2000-06-08 | Windows Me | Улучшенный API для скриптов с двунаправленными и сложными макетами; минимальная поддержка сценариев на арабском языке и иврите (без контекстных буквенных форм, требуется сопоставление символов совместимости в шрифтах) |
307 KiB. (315152 байта) | 2000-04-26 | Microsoft Глобальный IME для Microsoft Office XP | ||
307 KiB. (315152 байта) | 1999-11-30 | Internet Explorer 5.5 выпуск, SP1 и SP2 | ||
1.175.0.1 | 268 KiB. (274 432 байта) | 1999-04-05 | Windows 98 SE | Первый стабильный Uniscribe API ; поддерживает простые алфавитные шрифты с разложенными диакритическими знаками (латиница, греческий, кириллица ) |
258 KiB. (264,976 байт) | 1999-01- 28 | Internet Explorer 5.01 | ||
1.163.1890.1 | 262 KiB. (268 288 байт) | 1998-09-22 | Третий- стороннее программное обеспечение | Снимок многоязычного макета текста и сложных сценариев (MTLCS) (ранний выпуск для разработчиков) |
Скрипты с сложным макетом текста имеют контекстные и нелинейные требования для правильного отображения их типографики. Эти требования включают: лигатуры, где два последовательных символа должны быть объединены в одну форму (латиница, деванагари); изменение порядка, когда некоторые символы должны отображаться перед буква, которой они следуют в реальном произношении (бенгальский, сингальский и другие индийские языки); и формирование контекста, как в рукописных шрифтах, где некоторые буквы должны менять форму в зависимости от того, находятся ли они в начале, середине или конце слово (арабский, монгольский).
UniScribe использует несколько специфичных для сценариев механизмов формирования для обработки типографики в поддерживаемых сложных сценариях; они реализованы в дополнение к общему движку для несложных скриптов (таких как кириллица, греческий, латинский и т. д.). В настоящее время используемые движки включают индийский (бенгальский, деванагари, гуджурати, гурмукхи, каннада и т. Д.), Арабский, хангыль, иврит, кхмерский, мьянманский и тайский / лаосский варианты.
Сложность стандарта Unicode и неоднозначность спецификации OpenType часто приводят к неполной или ошибочной реализации сложной текстовой разметки. Механизмы формирования для конкретных сценариев работают от случая к случаю и не всегда обрабатывают общие функции шрифтов OpenType, что затрудняет поддержку новых сценариев программистам ОС и разработчикам шрифтов. Ошибки реализации очень сложно или невозможно исправить на более позднем этапе без нарушения обратной совместимости для существующих документов и шрифтов, что часто требует новых функций компоновки OpenType и переделки существующих шрифтов и механизмов визуализации типографики.
В Windows 10 была проведена большая работа по рефакторингу для реализации обобщенной модели формирования, Universal Shaping Engine (USE). Этот механизм основан непосредственно на свойствах глифов, определенных в стандарте Unicode, в надежде, что любой сложный сценарий с подходящим шрифтом будет поддерживаться без времени и усилий, необходимых для создания специального механизма формирования.
USE основывается на обобщенная «универсальная кластерная модель», разработанная для индийских алфавитов, которая моделирует надмножество систем письма человека. Движок классифицирует каждый символ сложного скрипта на несколько категорий, базовых классов и подклассов. Например, предварительная индийская классификация включает в себя общие, слоговые и позиционные категории, далее разделенные на основание (число, согласный, буква тона, зависимый гласный и т. Д.), Базовый гласный (независимый гласный), число (присоединяющееся число Брахми), конечный, средние согласные и согласные-модификаторы, средние согласные, а также верхние, нижние, левые и правые согласные и гласные. Строки символов Юникода преобразуются в набор классов USE с использованием четко определенных правил, что делает композицию глифов стандартной процедурой и допускает межсимвольные взаимодействия, невозможные с текущими языковыми функциями, определенными в спецификациях OpenType.
Универсальный механизм формирования формы был представлен на встрече разработчиков OpenType в 2014 году; совместимый подход был также реализован в текстовом формирователе HarfBuzz с открытым исходным кодом. В Windows 10 USE обрабатывает в общей сложности 45 сложных скриптов: балийский, батак, брахми, бугийский, бухид, чакма, чам, дуплоян, египетские иероглифы, Гранта, Хануно, яванский язык, Кайти, Кая Ли, Харошти, Ходжки, Худавади, Лепча, Лимбу, Махаджани, Мандайский, Манихейский, Мейтей Майек, Моди, Монгольский, Н'Ко, Пахау Хмонг, Пхаг-па, Псалтырь пехлеви, Реджанг, Саураштра, Шарада, Сиддхам, Сингальский, Сунданский, Силоти Тагбанри, Тагалог Тай Ле, Тай Тхам (крайне несовершенно), Тай Вьет, Такри, Тибет, Тифинаг и Тирхута.
Хотя Uniscribe был доступен с Windows 2000, новые версии Uniscribe предоставили системе больше функций, а именно поддержку других систем письма. Более раннее обновление поддерживает отображение арабского и иврита, затем тайского и вьетнамского. Начиная с Windows XP, поддерживается больше южноазиатских и ассирийских алфавитов.