Icu dll что это
Прежде всего, стоит понять, почему icu.dll файл отсутствует и почему возникают icu.dll ошибки. Широко распространены ситуации, когда программное обеспечение не работает из-за недостатков в .dll-файлах.
Пример приложения ICU
Журнал изменений в библиотеке ICU в Windows
ICU в WebAssembly
Доступна версия ICU, специально предназначенная для рабочих нагрузок WebAssembly. Она обеспечивает совместимость глобализации с профилями рабочих столов. Чтобы уменьшить размер файла данных ICU с 24 МБ до 1,4 МБ (или около 0,3 МБ при сжатии с помощью Brotli), к этой рабочей нагрузке применяется ряд ограничений.
Не поддерживаются следующие API:
Следующие API поддерживаются с ограничениями:
-
и String.IsNormalized(NormalizationForm) не поддерживают редко используемые формы FormKC и FormKD. возвращает то же значение, что и RegionInfo.CurrencyEnglishName.
Кроме того, список поддерживаемых языковых стандартов можно найти в репозитории dotnet/icu.
Прежде всего, стоит понять, почему icu.dll файл отсутствует и почему возникают icu.dll ошибки. Широко распространены ситуации, когда программное обеспечение не работает из-за недостатков в .dll-файлах.
метод 4: Переустановить программу
Как только конкретная программа начинает давать сбой из-за отсутствия .DLL файла, переустановите программу так, чтобы проблема была безопасно решена.
Если этот метод не помогает, перейдите к следующему шагу.
Версия 1709 (обновление источников обновлений)
Был добавлен объединенный файл заголовка ICU. h, который содержит содержимое обоих файлов заголовков (икукоммон. h и icui18n. h), а также изменяет тип UCHAR на char16_t .
метод 4: Переустановить программу
Как только конкретная программа начинает давать сбой из-за отсутствия .DLL файла, переустановите программу так, чтобы проблема была безопасно решена.
Если этот метод не помогает, перейдите к следующему шагу.
Highlights of the Globalization API services provided by ICU
- Code Page Conversion: Convert text data to or from Unicode and nearly any other character set or encoding. ICU's conversion tables are based on charset data collected by IBM over the course of many decades, and is the most complete available anywhere.
- Collation: Compare strings according to the conventions and standards of a particular language, region or country. ICU's collation is based on the Unicode Collation Algorithm plus locale-specific comparison rules from CLDR.
- Formatting: Format numbers, dates, times and currency amounts according the conventions of a chosen locale. This includes translating month and day names into the selected language, choosing appropriate abbreviations, ordering fields correctly, etc. This data also comes from the Common Locale Data Repository.
- Time Calculations: Multiple types of calendars are provided beyond the traditional Gregorian. A thorough set of time zone calculation APIs are provided.
- Unicode Support: ICU closely tracks the Unicode standard, providing easy access to all of the many Unicode character properties, Unicode Normalization, Case Folding, and other fundamental operations as specified by the Unicode Standard.
- Regular Expression: ICU's regular expressions fully support Unicode while providing very competitive performance.
- Bidi: Support for handling text containing a mixture of left to right (English) and right to left (Arabic or Hebrew) data.
What is a DLL file, and why you receive DLL errors?
DLL (Dynamic-Link Libraries) - это общие библиотеки в Microsoft Windows, реализованные корпорацией Microsoft. Файлы DLL не менее важны, чем файлы с расширением EXE, а реализовать DLL-архивы без утилит с расширением .exe просто невозможно.:
Приступая к работе
существуют три основных шага, которые необходимо выполнить. (Windows 10 Creators Update или более поздней версии)
приложение должно быть предназначено для Windows 10 версии 1703 (автор обновления) или более поздней.
Добавьте в заголовки:
в Windows 10 версии 1709 и выше следует включить объединенный заголовок.
Ссылка на две библиотеки:
в Windows 10 версии 1903 и выше следует использовать объединенную библиотеку.
Затем вы можете вызвать любой API ICU C из этих библиотек, которые вам нужны. (Интерфейсы API C++ не предоставляются.)
Если вы используете устаревшие библиотеки импорта, икуук. lib и икуин. lib, убедитесь, что они перечислены перед библиотеками, такими как онекореуап. lib или Виндовсапп. lib, в параметре компоновщика дополнительные зависимости (см. изображение ниже). В противном случае компоновщик свяжется с ICU. lib, что приведет к попытке загрузить icu.dll во время выполнения. Эта библиотека DLL доступна только начиная с версии 1903. таким образом, если пользователь обновляет Windows 10 SDK на компьютере предварительной версии 1903 Windows, приложение не сможет загрузиться и запуститься. журнал библиотек ICU в Windows см. в статье журнал изменений библиотеки ICU в Windows.
- Это конфигурация для всех платформ.
- Чтобы приложения Win32 использовали ICU, им нужно сначала вызвать CoInitializeEx . в Windows 10 версии 1903 и выше, где доступна объединенная библиотека ICU (icu.dll/ику.либ), вызов CoInitializeEx можно опустить с помощью комбинированной библиотеки.
- не все данные, возвращаемые api-интерфейсами ICU, будут согласованы с Windows OS, так как эта работа по выравниванию еще выполняется.
Version 1703 (Creators Update)
The ICU library was first added to the Windows 10 OS in this version. It was added as:
- Two system DLLs:
- icuuc.dll (this is the ICU "common" library)
- icuin.dll (this is the ICU "i18n" library)
- icucommon.h
- icui18n.h
- icuuc.lib
- icuin.lib
History of changes to the ICU library in Windows
Версия 1703 (авторское обновление)
Библиотека ICU впервые была добавлена в Windows 10ную ОС в этой версии. Он был добавлен как:
- Две системные библиотеки DLL:
- icuuc.dll (это ICU "Common" Библиотека)
- icuin.dll (это библиотека ICU "i18n")
- икукоммон. h
- icui18n. h
- икуук. lib
- икуин. lib
метод 6: Использовать очиститель реестра
Registry Cleaner - мощная утилита, которая может очищать ненужные файлы, исправлять проблемы реестра, выяснять причины медленной работы ПК и устранять их. Программа идеально подходит для работы на ПК. Люди с правами администратора могут быстро сканировать и затем очищать реестр.
International Components for Unicode (ICU) is a mature, widely used set of open-source globalization APIs. ICU utilizes Unicode's vast Common Locale Data Repository (CLDR) as its data library, providing globalization support for software applications. ICU is widely portable and gives applications the same results across on all platforms.
метод 5: Сканируйте систему на наличие вредоносного ПО и вирусов
System File Checker (SFC) - утилита в Windows, позволяющая пользователям сканировать системные файлы Windows на наличие повреждений и восстанавливать их. Данное руководство описывает, как запустить утилиту System File Checker (SFC.exe) для сканирования системных файлов и восстановления отсутствующих или поврежденных системных файлов (включая файлы .DLL). Если файл Windows Resource Protection (WRP) отсутствует или поврежден, Windows может вести себя не так, как ожидалось. Например, некоторые функции Windows могут не работать или Windows может выйти из строя. Опция "sfc scannow" является одним из нескольких специальных переключателей, доступных с помощью команды sfc, команды командной строки, используемой для запуска System File Checker. Чтобы запустить её, сначала откройте командную строку, введя "командную строку" в поле "Поиск", щелкните правой кнопкой мыши на "Командная строка", а затем выберите "Запустить от имени администратора" из выпадающего меню, чтобы запустить командную строку с правами администратора. Вы должны запустить повышенную командную строку, чтобы иметь возможность выполнить сканирование SFC.
- Запустите полное сканирование системы за счет антивирусной программы. Не полагайтесь только на Windows Defender. Лучше выбирать дополнительные антивирусные программы параллельно.
- После обнаружения угрозы необходимо переустановить программу, отображающую данное уведомление. В большинстве случаев, необходимо переустановить программу так, чтобы проблема сразу же исчезла.
- Попробуйте выполнить восстановление при запуске системы, если все вышеперечисленные шаги не помогают.
- В крайнем случае переустановите операционную систему Windows.
В окне командной строки введите "sfc /scannow" и нажмите Enter на клавиатуре для выполнения этой команды. Программа System File Checker запустится и должна занять некоторое время (около 15 минут). Подождите, пока процесс сканирования завершится, и перезагрузите компьютер, чтобы убедиться, что вы все еще получаете ошибку "Программа не может запуститься из-за ошибки Icu.dll отсутствует на вашем компьютере.
Обзор
в Windows 10 Creators Update ICU был интегрирован в Windows, что обеспечивает общедоступные интерфейсы api C и данные.
версия ICU в Windows предоставляет только api C. Он не предоставляет никаких API-интерфейсов C++. К сожалению, невозможность предоставления интерфейсов API C++ из-за отсутствия стабильного интерфейса ABI в C++.
Различия в поведении
String.IndexOf
Рассмотрим следующий код, который вызывает String.IndexOf(String) метод, чтобы найти индекс пустого символа \0 в строке.
Вы можете запустить правила анализа кода CA1307: укажите StringComparison для ясности и CA1309: используйте Ordinal StringComparison для поиска мест вызова в коде, где сравнение строк не указано или не является порядковым номером.
What is a DLL file, and why you receive DLL errors?
DLL (Dynamic-Link Libraries) - это общие библиотеки в Microsoft Windows, реализованные корпорацией Microsoft. Файлы DLL не менее важны, чем файлы с расширением EXE, а реализовать DLL-архивы без утилит с расширением .exe просто невозможно.:
ICU Example App
Icu.dll Версии
Размер файла: 0.89 MB
Версия
64.2.0.0
The ICU Project
Размер файла: 1.04 MB
Версия
63.1.0.0
The ICU Project
Размер файла: 0.89 MB
Версия
63.1.0.0
The ICU Project
метод 2: Исправление Icu.dll автоматически с помощью инструмента для исправления ошибок
Как показывает практика, ошибка вызвана непреднамеренным удалением файла Icu.dll, что приводит к аварийному завершению работы приложений. Вредоносные программы и заражения ими приводят к тому, что Icu.dll вместе с остальными системными файлами становится поврежденной.
Если этот метод не помогает, переходите к следующему шагу.
метод 3: Установка или переустановка пакета Microsoft Visual C ++ Redistributable Package
Ошибка Icu.dll также может появиться из-за пакета Microsoft Visual C++ Redistribtable Package. Необходимо проверить наличие обновлений и переустановить программное обеспечение. Для этого воспользуйтесь поиском Windows Updates. Найдя пакет Microsoft Visual C++ Redistributable Package, вы можете обновить его или удалить устаревшую версию и переустановить программу.
- Нажмите клавишу с логотипом Windows на клавиатуре - выберите Панель управления - просмотрите категории - нажмите на кнопку Uninstall.
- Проверить версию Microsoft Visual C++ Redistributable - удалить старую версию.
- Повторить деинсталляцию с остальной частью Microsoft Visual C++ Redistributable.
- Вы можете установить с официального сайта Microsoft третью версию редистрибутива 2015 года Visual C++ Redistribtable.
- После загрузки установочного файла запустите его и установите на свой ПК.
- Перезагрузите компьютер после успешной установки.
Если этот метод не помогает, перейдите к следующему шагу.
метод 2: Исправление Icu.dll автоматически с помощью инструмента для исправления ошибок
Как показывает практика, ошибка вызвана непреднамеренным удалением файла Icu.dll, что приводит к аварийному завершению работы приложений. Вредоносные программы и заражения ими приводят к тому, что Icu.dll вместе с остальными системными файлами становится поврежденной.
Если этот метод не помогает, переходите к следующему шагу.
Пример фрагмента кода
Ниже приведен пример, иллюстрирующий использование API-интерфейсов ICU из приложения UWP в C++. (Он не является полноценным автономным приложением, а просто примером вызова метода ICU.)
В следующем небольшом примере предполагается, что существуют методы ErrorMessage и аутпутмессаже , которые каким бы ни был образом выводят строки пользователю.
Определение того, использует ли приложение ICU
Следующий фрагмент кода поможет определить, работает ли приложение с библиотеками ICU (а не с NLS).
Version 1709 (Fall Creators Update)
A combined header file, icu.h, was added, which contains the contents of both header files above (icucommon.h and icui18n.h), and also changes the type of UCHAR to char16_t .
Когда появляется отсутствующая ошибка Icu.dll?
Но что делать, когда возникают проблемы при запуске программы? В данном случае проблема с Icu.dll. Вот несколько способов быстро и навсегда устранить эту ошибку.:
Прежде всего, вам нужно скачать Icu.dll на ПК с нашего сайта.
- Скопируйте файл в директорию установки программы после того, как он пропустит DLL-файл.
- Или переместить файл DLL в директорию вашей системы (C:\Windows\System32, и на 64 бита в C:\Windows\SysWOW64\).
- Теперь нужно перезагрузить компьютер.
Icu.dll Версии
Размер файла: 0.89 MB
Версия
64.2.0.0
The ICU Project
Размер файла: 1.04 MB
Версия
63.1.0.0
The ICU Project
Размер файла: 0.89 MB
Версия
63.1.0.0
The ICU Project
ICU в Windows
Даже при использовании ICU элементы CurrentCulture , CurrentUICulture и CurrentRegion по-прежнему используют API операционной системы Windows, чтобы применить параметры пользователя.
Поведение в macOS
Эти команды просто ссылаются на имена зависимых библиотек для других компонентов ICU. Загрузчик выполняет поиск, следуя соглашениям dlopen , которые подразумевают использование этих библиотек в системных каталогах или задание переменных среды LD_LIBRARY_PATH или наличие ICU в каталоге уровня приложения. Если не удается задать LD_LIBRARY_PATH или убедиться, что двоичные файлы ICU находятся в каталоге уровня приложения, необходимо выполнить некоторую дополнительную работу.
Существует несколько директив для загрузчика, таких как @loader_path , которые указывают загрузчику выполнять поиск этой зависимости в том же каталоге, в котором находится двоичный файл с этой командой загрузки. Это достигается двумя способами.
Выполните следующие команды:
Исправление ICU таким образом, чтобы создавались имена установки с помощью @loader_path
Перед выполнением автонастройки ( ./runConfigureICU ) измените ./runConfigureICU на следующие:
Example code snippet
The following is an example illustrating the use of ICU APIs from within a C++ UWP application. (It is not intended to be a full stand-alone application, rather it is just an example of calling an ICU method.)
The following small example assumes that there are methods ErrorMessage and OutputMessage that output the strings to the user in some manner.
- Региональные параметры и данные языка и региональных параметров
- Регистр строк
- Сортировка и поиск строк
- Сортировка ключей
- Нормализация строк
- Поддержка международных доменных имен (IDN)
- Отображаемое имя часового пояса в Linux
Когда появляется отсутствующая ошибка Icu.dll?
Но что делать, когда возникают проблемы при запуске программы? В данном случае проблема с Icu.dll. Вот несколько способов быстро и навсегда устранить эту ошибку.:
Прежде всего, вам нужно скачать Icu.dll на ПК с нашего сайта.
- Скопируйте файл в директорию установки программы после того, как он пропустит DLL-файл.
- Или переместить файл DLL в директорию вашей системы (C:\Windows\System32, и на 64 бита в C:\Windows\SysWOW64\).
- Теперь нужно перезагрузить компьютер.
Version 1903 (May 2019 Update)
A new combined DLL, icu.dll, was added, which contains both the "common" and "i18n" libraries. Also, a new import library was added to the Windows 10 SDK: icu.lib.
Going forward, no new APIs will be added to the old headers (icucommon.h and icui18n.h) or to the old import libs (icuuc.lib and icuin.lib). New APIs will only be added to the combined header (icu.h) and the combined import lib (icu.lib).
метод 6: Использовать очиститель реестра
Registry Cleaner - мощная утилита, которая может очищать ненужные файлы, исправлять проблемы реестра, выяснять причины медленной работы ПК и устранять их. Программа идеально подходит для работы на ПК. Люди с правами администратора могут быстро сканировать и затем очищать реестр.
Международные компоненты для Юникода (ICU) — это зрелый, широко используемый набор API-интерфейсов глобализации с открытым исходным кодом. ICU использует обширный общий языковой стандарт Юникода (КЛДР) в качестве библиотеки данных, предоставляя поддержку глобализации для приложений программного обеспечения. ICU является широко переносимым и дает приложениям одинаковые результаты во всех платформах.
ICU с параметром app-local
Приложения могут применить режим реализации ICU с параметром app-local одним из следующих способов.
В файле проекта:
В файле runtimeconfig.json :
Путем присвоения переменной среды DOTNET_SYSTEM_GLOBALIZATION_APPLOCALICU значения : или .
: Необязательный суффикс длиной менее 36 символов в соответствии с публичными соглашениями об упаковке ICU. При создании настраиваемых ICU можно указать, чтобы имена библиотек и имена экспортированных символов содержали суффикс (например, libicuucmyapp , где myapp является суффиксом).
. Допустимая версия ICU (например, 67.1). Эта версия используется для загрузки двоичных файлов и получения экспортированных символов.
В случае с автономными приложениями пользователю не требуется выполнять никаких особых действий, кроме помещения ICU в каталог приложения (для автономных приложений по умолчанию используется рабочий каталог NATIVE_DLL_SEARCH_DIRECTORIES ).
Для приложений, зависящих от платформы (не автономных), где ICU используется из локальной сборки, необходимо выполнить дополнительные действия. В пакете SDK для .NET пока еще нет функции для включения "свободных" собственных двоичных файлов в deps.json (см. сведения об deps.json проблеме с пакетом SDK). Это можно сделать, добавив дополнительные сведения в файл проекта приложения. Пример:
Это необходимо сделать для всех двоичных файлов ICU для поддерживаемых сред выполнения. Кроме того, метаданные NuGetPackageId в группе элементов RuntimeTargetsCopyLocalItems должны соответствовать пакету NuGet, на который фактически ссылается проект.
Overview
In Windows 10 Creators Update, ICU was integrated into Windows, making the C APIs and data publicly accessible.
The version of ICU in Windows only exposes the C APIs. It does not expose any of the C++ APIs. Unfortunately, it is impossible to ever expose the C++ APIs due to the lack of a stable ABI in C++.
Getting Started
There are three main steps to follow: (Windows 10 Creators Update or higher)
Your application needs to target Windows 10 Version 1703 (Creators Update) or higher.
Add in the headers:
On Windows 10 Version 1709 and above, you should include the combined header instead:
Link to the two libraries:
On Windows 10 Version 1903 and above, you should use the combined library instead:
Then, you can call whatever ICU C API from these libraries you want. (No C++ APIs are exposed.)
If you are using the legacy import libraries, icuuc.lib and icuin.lib, ensure they're listed before the umbrella libraries, like onecoreuap.lib or WindowsApp.lib, in the Additional Dependencies Linker setting (see the image below). Otherwise, the linker will link to icu.lib, which will result in an attempt to load icu.dll during run time. That DLL is present only starting with version 1903. So, if a user upgrades the Windows 10 SDK on a pre-version 1903 Windows machine, the app will fail to load and run. For a history of the ICU libraries in Windows, see History of changes to the ICU library in Windows.
- This is the configuration for “All Platforms”.
- For Win32 apps to use ICU, they need to call CoInitializeEx first. On Windows 10 version 1903 and above, where the combined ICU library (icu.dll/icu.lib) is available, you can omit the CoInitializeEx call by using the combined library.
- Not all data returned by ICU APIs will align with the Windows OS, as this alignment work is still in progress.
Версия 1903 (обновление Май 2019)
Добавлена новая Объединенная библиотека DLL, icu.dll, которая содержит как "Common", так и "i18n" библиотеки. кроме того, в Windows 10 SDK: icu. lib была добавлена новая библиотека импорта.
В дальнейшем новые интерфейсы API не будут добавляться в старые заголовки (икукоммон. h и icui18n. h) или в старые библиотеки импорта (икуук. lib и икуин. lib). Новые API-интерфейсы будут добавлены только в Объединенный заголовок (ICU. h) и Объединенную lib-программу импорта (ICU. lib).
метод 5: Сканируйте систему на наличие вредоносного ПО и вирусов
System File Checker (SFC) - утилита в Windows, позволяющая пользователям сканировать системные файлы Windows на наличие повреждений и восстанавливать их. Данное руководство описывает, как запустить утилиту System File Checker (SFC.exe) для сканирования системных файлов и восстановления отсутствующих или поврежденных системных файлов (включая файлы .DLL). Если файл Windows Resource Protection (WRP) отсутствует или поврежден, Windows может вести себя не так, как ожидалось. Например, некоторые функции Windows могут не работать или Windows может выйти из строя. Опция "sfc scannow" является одним из нескольких специальных переключателей, доступных с помощью команды sfc, команды командной строки, используемой для запуска System File Checker. Чтобы запустить её, сначала откройте командную строку, введя "командную строку" в поле "Поиск", щелкните правой кнопкой мыши на "Командная строка", а затем выберите "Запустить от имени администратора" из выпадающего меню, чтобы запустить командную строку с правами администратора. Вы должны запустить повышенную командную строку, чтобы иметь возможность выполнить сканирование SFC.
- Запустите полное сканирование системы за счет антивирусной программы. Не полагайтесь только на Windows Defender. Лучше выбирать дополнительные антивирусные программы параллельно.
- После обнаружения угрозы необходимо переустановить программу, отображающую данное уведомление. В большинстве случаев, необходимо переустановить программу так, чтобы проблема сразу же исчезла.
- Попробуйте выполнить восстановление при запуске системы, если все вышеперечисленные шаги не помогают.
- В крайнем случае переустановите операционную систему Windows.
В окне командной строки введите "sfc /scannow" и нажмите Enter на клавиатуре для выполнения этой команды. Программа System File Checker запустится и должна занять некоторое время (около 15 минут). Подождите, пока процесс сканирования завершится, и перезагрузите компьютер, чтобы убедиться, что вы все еще получаете ошибку "Программа не может запуститься из-за ошибки Icu.dll отсутствует на вашем компьютере.
Использование NLS вместо ICU
Использование ICU вместо NLS может привести к различиям в работе некоторых операций, связанных с глобализацией. Чтобы вернуться к использованию NLS, разработчик может отказаться от реализации ICU. Приложения могут включать режим NLS одним из следующих способов:
В файле проекта:
В файле runtimeconfig.json :
Путем присвоения переменной среды DOTNET_SYSTEM_GLOBALIZATION_USENLS значения true или 1 .
Значение, заданное в проекте или файле runtimeconfig.json , имеет приоритет над переменной среды.
метод 3: Установка или переустановка пакета Microsoft Visual C ++ Redistributable Package
Ошибка Icu.dll также может появиться из-за пакета Microsoft Visual C++ Redistribtable Package. Необходимо проверить наличие обновлений и переустановить программное обеспечение. Для этого воспользуйтесь поиском Windows Updates. Найдя пакет Microsoft Visual C++ Redistributable Package, вы можете обновить его или удалить устаревшую версию и переустановить программу.
- Нажмите клавишу с логотипом Windows на клавиатуре - выберите Панель управления - просмотрите категории - нажмите на кнопку Uninstall.
- Проверить версию Microsoft Visual C++ Redistributable - удалить старую версию.
- Повторить деинсталляцию с остальной частью Microsoft Visual C++ Redistributable.
- Вы можете установить с официального сайта Microsoft третью версию редистрибутива 2015 года Visual C++ Redistribtable.
- После загрузки установочного файла запустите его и установите на свой ПК.
- Перезагрузите компьютер после успешной установки.
Если этот метод не помогает, перейдите к следующему шагу.
Основные особенности служб API глобализации, предоставляемых ICU
- Преобразование кодовой страницы: Преобразование текстовых данных в Юникод или из Юникода, а также практически любой другой набор символов или кодировка. Таблицы преобразования ICU основаны на данных кодировки, собираемых IBM на протяжении многих десятилетий, и являются наиболее полными доступными в любом месте.
- Параметры сортировки: Сравните строки в соответствии с соглашениями и стандартами определенного языка, региона или страны. Параметры сортировки ICU основаны на алгоритме сортировки Юникода и правилах сравнения для конкретного языкового стандарта от КЛДР.
- Форматирование: форматирование чисел, дат, времени и денежных сумм в соответствии с соглашениями выбранного языкового стандарта. Сюда входит преобразование названий месяцев и дней в выбранный язык, выбор соответствующих сокращений, правильное упорядочивание полей и т. д. Эти данные также поступают из репозитория данных общего языкового стандарта.
- Вычисления времени. несколько типов календарей предоставляются за пределами обычного григорианского календаря. Предоставляется тщательный набор API-интерфейсов для вычисления часовых поясов.
- Поддержка Юникода. ICU тесно отслеживает Стандарт Юникода, обеспечивая легкий доступ ко всем свойствам символов Юникода, нормализации Юникода, сложению регистра и другим фундаментальным операциям, указанным в стандарте Юникода.
- Регулярное выражение: регулярные выражения ICU полностью поддерживают Юникод, обеспечивая очень конкурентную производительность.
- Bidi: поддержка обработки текста, содержащего сочетание слева направо (английский) и справа налево (арабский или иврит).
Читайте также: