Используйте функции шрифтов OpenType в Android

Есть ли способ использовать функции шрифта OpenType (маленькие заглавные буквы, рисунки старого стиля и т. Д.) В Android? Что-то вроде пользовательского TextView было бы идеально.

2 ответа

Решение

Устаревший, посмотрите вместо этого на ответ dcow

Я не думаю, что Android предоставляет такой API, но вы можете использовать WebView, особенно новый KitKat Chrome WebView был бы полезен, если бы не поддерживался в более старых WebView. Пример, в котором вы можете увидеть разницу настроек функции opentype через предустановленный шрифт Droid Arabic Naskh: <div style="-webkit-font-feature-settings: 'rlig' 0">لا</div>

В противном случае, я думаю, вам стоит погрузиться в JNI, компилирующую Harfbuzz/Freetype, и, возможно, Cairo для рендеринга контуров глифов, если для этого нет другого способа. Посмотрите на некоторые примеры HarfBuzz, вы можете портировать его на свое приложение для Android. Зависит от того, что вам нужно, кроме настройки функций opentype (разметка, перенос строк), вам может потребоваться компиляция ICU4C или Pango и других библиотек, но это, конечно, очень большая зависимость только для мобильного приложения.

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