Я пытаюсь создать экземпляр java.awt.Font из файла TTF в своей системе, но только некоторые шрифты могут загружаться без ошибок. Код ниже — это тестовый код, который я нашел в Интернете. При запуске в моей системе он может успешно загрузить 285 шрифтов (например, Arial.ttf), но не может загрузить 83 шрифта (например, AmericanTypewriter.ttf).
Все ошибки имеют форму FontFormatException: Font name not found без встроенной причины.
Известны ли проблемы с java.awt.Font и совместимостью форматов? Я ничего не могу найти после долгих поисков в Google.
public static void main(String[] args) {
String rootPath = "/Library/Fonts";
File root = new File(rootPath);
if (root.canRead()) {
String[] fontFiles = root.list();
Font font = null;
for (String fontFile : fontFiles) {
try {
System.out.println(fontFile);
font = Font.createFont(Font.TRUETYPE_FONT, new File(root + "/" + fontFile));
System.out.println(font);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
Моя среда — Java 7, OS X Mavericks (10.9.1).
java version "1.7.0_40"
Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
Java HotSpot(TM) 64-Bit Server VM (build 24.0-b56, mixed mode)
Любая помощь здесь будет принята с благодарностью.