0
でTFFファイルを開くことができます。このコードは常に動作していないは、しかし、私は、コードは以下の通りです窓
Font getFont(String fontPath) throws IOException, FontFormatException {
fis = new FileInputStream(fontPath);
bis = new java.io.BufferedInputStream(fis);
Font tmp = null;
try {
tmp = Font.createFont(Font.TRUETYPE_FONT, bis);
} catch (FontFormatException e) {
e.printStackTrace();
bis.close();
fis = new FileInputStream(fontPath);
bis = new java.io.BufferedInputStream(fis);
tmp = Font.createFont(Font.TYPE1_FONT, bis);
}
return tmp.deriveFont(96.0f);
}
!!!。
それが最初のスローされますなぜ
...それは、いくつかのフォントファイルのためのjava.awt.FontFormatExceptionがスローされますが、そのフォントファイルは、Windowsで正しく開くことができます: java.awt.FontFormatException:フォントの名前が見つかりませんその後、
とスロー: java.awt.FontFormatException:悪いPFAフォント
私は全く同じ問題があります。私は、TTFファイルが一時ファイルに書き込まれていることを理解しました。このファイルは処理され、このプロパティはTrueTypeFontインスタンスに設定されていないため、FontFormatException(フォント名が見つかりません)例外がスローされます。私はtmpフォントファイルのメタデータを検証しており、このファイルには必要なメタデータが含まれているので、これは奇妙なことです。 – davidcyp
..そして、ウェブからTTFファイルをダウンロードすることで問題を解決しました。私は、foo.TTF for OSXはfoo.TTF for Windowsと同じではないと思います。しかし、埋め込まれたすべてのフォントをダウンロードしたフォントに置き換えることによって、私は最終的に問題を解決しました。 – davidcyp