Все перепробовал, но родной шрифт все равно не получается сделать

В приложении, которое я создаю, я хотел бы использовать стандартный шрифт Apple: Myriad Pro. Для этого я попробовал обычный способ использования пользовательского шрифта:

Typeface myriadPro = Typeface.createFromAsset(getAssets(), "fonts/myriad_pro.ttf");

И обходной путь для проблемы, которая иногда возникает в Android со шрифтами, как обсуждалось здесь:

public class Typefaces {
private static final String TAG = "Typefaces";

private static final Hashtable<String, Typeface> cache = new Hashtable<String, Typeface>();

public static Typeface get(Context c, String assetPath) {
    synchronized (cache) {
        if (!cache.containsKey(assetPath)) {
            try {
                Typeface t = Typeface.createFromAsset(c.getAssets(),
                        assetPath);
                cache.put(assetPath, t);
            } catch (Exception e) {
                Log.e(TAG, "Could not get typeface '" + assetPath
                        + "' because " + e.getMessage());
                return null;
            }
        }
        return cache.get(assetPath);
    }
}
}

Я пробовал оба метода с версиями шрифта OTF и TTF. Ни одна из вариаций не работает. Во всех случаях я получаю ошибку native typeface cannot be made (т.е. не может найти гарнитуру), хотя гарнитура находится в нужном месте с правильным названием.

Любые идеи, что все еще вызывает эту ошибку?


person Zero    schedule 15.12.2013    source источник


Ответы (1)


У меня такая же проблема.

Перейдите к файлу AndroidManifest.xml.

minSdkVersion ДОЛЖЕН быть 10 или выше.

person Helisia    schedule 15.12.2013
comment
Хммм.. Я изменил minSdkVersion на 10, но проблема не устранена. - person Zero; 16.12.2013
comment
Как ни странно, у меня работает. Это странно. Меня не устраивают исправления, которые я не совсем понимаю. - person mahkie; 10.06.2014