Поддержка CTL (сложный текстовый язык) в Android
Я пытаюсь разработать Android IME для языка Азии (требуется сложный рендеринг, такой как изменение форм глифов, изменение порядка символов и т. Д.). В ПК достаточно использовать GTK, Pango, Graphite. В Android, как я могу решить рендеринг Unicode для сложного языка текста.
заранее спасибо
2 ответа
Вы должны использовать стек Harfbuzz, предоставляемый в Android. Если вы посмотрите в Pango на ПК, то есть компонент-шейпер под названием Harfbuzz. То же самое должно существовать для Android. Проходя через этот стек любой азиатский язык, выполняйте работу (меняйте глифы, изменяйте порядок и т. Д.)
Если вы можете использовать NDK, вы можете использовать harfbuzz и freetype вместе. без каких-либо зависимостей. В противном случае вы можете придерживаться метода Android drawText, который предоставляется классом Canvas.