Арабский текст в Java AWT - PullRequest
       25

Арабский текст в Java AWT

1 голос
/ 24 ноября 2011

Мне нужно изменить существующее приложение Java для отображения некоторого (статического) текста на арабском языке.Проблема в том, что это Java-приложение работает на устройствах, которые поддерживают только Java 1.1 (да, я знаю. Я должен с этим смириться).

Я знаю, что Swing поддерживает языки RTL, однако я могу использовать только AWT.Приложение не использует какие-либо тяжелые компоненты;весь текст нарисован с использованием Graphics.drawString().

Возможно ли это вообще?(я имею в виду без реализации движка рендеринга текста с нуля).Может кто-то указать на существующие примеры?Любой полезный совет?

Спасибо!

Ответы [ 2 ]

1 голос
/ 25 ноября 2011

Если это действительно статично, создайте несколько растровых изображений. Вы не получите рендеринг на работу.

0 голосов
/ 23 декабря 2011

Мне удалось успешно решить эту проблему, объединив арабский алгоритм "reshaper" , который используется для предварительной обработки каждого арабского слова в строке, с пользовательской реализацией BiDi.

Рендерингработает отлично во всех случаях, которые я пробовал до сих пор.

На тот случай, если у кого-то еще возникла такая же проблема, будь то Java 1.1 или любая другая среда, изначально не поддерживающая арабский язык (фактически, преобразователь, связанный выше)был изначально написан с Android).

Редактировать:

Исходная ссылка больше не работает, но код теперь доступен в github: https://github.com/agawish/Better-Arabic-Reshaper/

...