Пользовательский шрифт в Android отображается по-разному в разных API

Я использую собственный шрифт .ttf в своем приложении для Android. Я загружаю это обычным способом:

myTypeface = Typeface.createFromAsset( getAssets(), "myTypeface.ttf");

затем я назначаю свой шрифт в моей деятельности ... довольно простые вещи:

TextView tv = (TextView) findViewById(R.id.sample_text);
tv.setTextSize(12);
tv.setTypeface(App.myTypeface);

Проблема, с которой я сталкиваюсь, состоит в том, что на некоторых устройствах, использующих более поздние API-интерфейсы (я специально заметил это в эмуляторе для Asus Transformer), текст выглядит немного более жирным, менее равномерным по ширине и более перемешанным при вертикальном выравнивании. Под этой последней частью я подразумеваю, что некоторые символы располагаются вертикально немного выше или ниже, чем другие, что придает тексту ощущение «американских горок».

Рассмотрим скриншоты ниже

Это текст, отображаемый в эмуляторе с тем же разрешением и разрешением на дюйм, что и у Transformer, но с использованием Google API уровня 8.

i45.tinypic.com/142toud.png

Выглядит довольно стандартно, верно?

Теперь рассмотрим текст, отображаемый в эмуляторе с тем же разрешением и разрешением, но с использованием Google API уровня 15:

i47.tinypic.com/24zhekn.png

Сначала текст может выглядеть похожим, хотя вы можете заметить, что он выглядит немного смелее. Тем не менее, посмотрите на «с» в & quot; быстро & quot ;. Вы заметите, что он расположен ниже и выше, чем "c" в первом рендеринге. Вы также заметите, что если вы посмотрите внизу символов в слове «быстрый», они не будут выровнены внизу.

Эти проблемы могут показаться небольшими, но на экранах с большим количеством текста это начинает выглядеть действительно непрофессионально.

Кто-нибудь видел это или есть объяснение? Я бы хотел, чтобы текст выглядел равномерно в более поздних API.

Большое спасибо за ваше время!

Ответы на вопрос(1)

Ваш ответ на вопрос