Как я могу автоматически «изменить» сложные сценарии? - PullRequest
3 голосов
/ 29 апреля 2011

Проблема:

Я пытаюсь отобразить небольшое количество текста, используя сложные скрипты, такие как арабский и бенгальский, на мобильных устройствах (в частности, на Android, телефонах BlackBerry и BlackBerry PlayBook). (Приложение Allergy Traveler ) Оба устройства не могут правильно отображать текст, но по разным причинам.

На Android и PlayBook я могу предоставить шрифт, в этом случае символы отображаются, но символы подключены неправильно. Каждый символ отображается без учета контекста.

В BlackBerry устройство не имеет соответствующих шрифтов. Я могу предоставить шрифт, но размер файла шрифта намного превышает максимальный размер шрифта (70 КБ).

Предлагаемое решение:

Я думаю, что процесс правильного использования контекста для отображения слова называется изменением формы. Предположительно, это берет текст и возвращает альтернативный набор символов для отображения. Мое предлагаемое решение состоит в том, чтобы сделать эту форму заранее. В Android это обеспечит правильное использование текста в контексте, а в BlackBerry это позволит мне удалить неиспользуемые символы и уменьшить размер шрифта.

Вопрос:

Существуют ли какие-либо API-интерфейсы для этого "изменения формы" или какие-либо другие предложения? Я готов использовать любую технологию в Windows или Linux (например, Win32 API, Perl, Python, Java, ...)

Спасибо за все предложения.

Ответы [ 2 ]

3 голосов
/ 26 июня 2011

Для того, чтобы изменить арабский на андроиде, можно использовать рамку Amr Gawish для преобразования арабского языка, посмотрите http://bar.amr -gawish.com / . Тем не менее, вы должны заметить, что, хотя он корректно изменяет и объединяет обычные арабские буквы и текст, он не может объединять арабские буквы, если текст содержит диакритические знаки.

Я заметил приложение на Android Marketplace, которое объединяет / изменяет арабский текст с диакритическими знаками, но я не уверен, что они использовали для этого, возможно, это может быть их собственная внутренняя структура. Я также заинтересован в поиске изменяющих API-интерфейсов, в частности тех, которые могут работать с арабскими диакритическими знаками.

Надеюсь, что приведенная выше ссылка поможет! Дайте нам знать, если найдете что-нибудь лучше.

редактировать: следующие тоже могут делать диакритические знаки - https://github.com/AhmedEssam/Better-Arabic-Reshaper

0 голосов
/ 29 апреля 2011

Я почти уверен, что в Windows есть apis для этого. Для начала взглянем на рецензию Microsoft на Windows Glyph Processing .

...