Пользовательский шрифт в 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.
Выглядит довольно стандартно, верно?
Теперь рассмотрим текст, отображаемый в эмуляторе с тем же разрешением и разрешением, но с использованием Google API уровня 15:
Сначала текст может выглядеть похожим, хотя вы можете заметить, что он выглядит немного смелее. Тем не менее, посмотрите на «с» в & quot; быстро & quot ;. Вы заметите, что он расположен ниже и выше, чем "c" в первом рендеринге. Вы также заметите, что если вы посмотрите внизу символов в слове «быстрый», они не будут выровнены внизу.
Эти проблемы могут показаться небольшими, но на экранах с большим количеством текста это начинает выглядеть действительно непрофессионально.
Кто-нибудь видел это или есть объяснение? Я бы хотел, чтобы текст выглядел равномерно в более поздних API.
Большое спасибо за ваше время!