Проблема:
Я пытаюсь отобразить небольшой объем текста, используя сложные сценарии, такие как арабский и бенгальский, на мобильных устройствах (в частности, на Android, телефонах BlackBerry и BlackBerry PlayBook). (Приложение называется Allergy Traveler). Оба эти устройства неправильно отображают текст, но по разным причинам.
На Android и PlayBook я могу указать шрифт, и в этом случае символы отображаются, но символы соединены неправильно. Каждый символ отображается без учета контекста.
На BlackBerry на устройстве нет подходящих шрифтов. Я могу предоставить шрифт, но файл шрифта намного превышает максимальный размер шрифта (70 КБ).
Предлагаемое решение:
Я думаю, что процесс правильного использования контекста для отображения слова называется изменением формы. Предположительно, это берет текст и возвращает альтернативный набор символов для отображения. Мое предлагаемое решение состоит в том, чтобы сделать это изменение формы заранее. На Android это гарантировало бы, что текст правильно использует контекст, а на BlackBerry это позволило бы мне удалить неиспользуемые символы и уменьшить размер шрифта.
Вопрос:
Есть ли какие-либо API для этого «изменения» или какие-либо другие предложения? Я готов использовать любую технологию в Windows или Linux (например, Win32 API, Perl, Python, Java,...)
Спасибо за все предложения.