Исключение Android RunTime Ресурс шрифта не найден для файлов шрифтов .woff в Android Nougat

Я разрабатываю одно приложение, где мне нужно использовать шрифты .woff. Я написал следующий код, чтобы получить тип шрифта из файла .woff и установить его в текстовом виде.

     hellofont = getFont("fonts/AvenirLTStd-Black.woff");
    //welcomefont = getFont ( "fonts/AvenirLTStd-Heavy.woff");

    thankufont = getFont("fonts/RobotoCondensed-Bold.ttf");

    TextView text1 = (TextView) findViewById(R.id.text1id);
    text1.setTypeface(hellofont);

    TextView text2 = (TextView) findViewById(R.id.text2id);
    text2.setTypeface(thankufont);



public Typeface getFont( String fontName){
    try {
        Typeface content = Typeface.createFromAsset(this.getAssets(), fontName);
        return content;
    }

    catch(RuntimeException e)
    {
        Toast.makeText(this,e.getMessage(),Toast.LENGTH_LONG).show();
    }

    return  null;

}

Этот код отлично работает на устройствах Android 5.0 и 6.0. Но это дает исключение (ресурс шрифта не найден шрифты/AvenirLTStd-Black.woff) на устройствах Android 7.0. Я протестировал шрифты ttf и otf на устройствах Android 7.0, и они работают нормально. Только шрифты woff дают это исключение.

Я также прикрепил снимок экрана, на котором показаны шрифты в папке Assests/Fonts. папка активов со шрифтами woff

Может ли кто-нибудь помочь мне" в чем здесь проблема?

Заранее спасибо Кришна


person Krishna    schedule 20.02.2017    source источник


Ответы (1)


Поддержка WOFF в Android 7.0 и 7.1, по-видимому, частично нарушена, поскольку такие шрифты невозможно загрузить из каталогов пакета assets. Ваш лучший вариант, если вы поддерживаете Nougat, — это получить версии ваших шрифтов TTF или OTF и использовать их вместо этого.

person Chris Charabaruk    schedule 05.06.2017
comment
Привет, Крис, знаешь ли ты о каких-либо ошибках в Google, которые уже отслеживают это? Я тоже это замечаю. - person LyteSpeed; 21.06.2017
comment
@clu, к сожалению, нет. Я узнал об этом, только сам ища ответы. Я хотел бы добавить источник, который я нашел, к ответу, потому что я больше не могу найти его в истории браузера. :( - person Chris Charabaruk; 22.06.2017