В приложении, которое я создаю, я хотел бы использовать стандартный шрифт 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
(т.е. не может найти гарнитуру), хотя гарнитура находится в нужном месте с правильным названием.
Любые идеи, что все еще вызывает эту ошибку?