Поддержка CTL (сложный текстовый язык) в Android

Я пытаюсь разработать Android IME для языка Азии (требуется сложный рендеринг, такой как изменение форм глифов, изменение порядка символов и т. Д.). В ПК достаточно использовать GTK, Pango, Graphite. В Android, как я могу решить рендеринг Unicode для сложного языка текста.

заранее спасибо

2 ответа

Вы должны использовать стек Harfbuzz, предоставляемый в Android. Если вы посмотрите в Pango на ПК, то есть компонент-шейпер под названием Harfbuzz. То же самое должно существовать для Android. Проходя через этот стек любой азиатский язык, выполняйте работу (меняйте глифы, изменяйте порядок и т. Д.)

Если вы можете использовать NDK, вы можете использовать harfbuzz и freetype вместе. без каких-либо зависимостей. В противном случае вы можете придерживаться метода Android drawText, который предоставляется классом Canvas.

Другие вопросы по тегам