作成中の言語の辞書をプログラミングしています。この言語では英字を使用しないので、http://www.myscriptfont.com/の無料のオンライン ソフトウェアを使用して独自のフォントを作成しました。これにより、自分の言語の記号を使用できるようになることを願っています。この辞書を作成するための最初のステップは、このカスタム フォントをインポートすることですが、うまくいきません。インポートするコードの部分は次のとおりです。
/**
* Constructor for class Bank
*/
public Bank() throws Exception
{
//Previous code creates frame and pane with no problems
try{
font1 = Font.createFont(Font.TRUETYPE_FONT, new File("fonts/ShoriPart1.ttf"));
}
catch(IOException|FontFormatException e){
}
font1 = font1.deriveFont(Font.PLAIN, 20);
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
ge.registerFont(font1);
JList fonts = new JList(ge.getAvailableFontFamilyNames());
JOptionPane.showMessageDialog(null, new JScrollPane(fonts));
JLabel l = new JLabel("The quick brown fox jumps over the lazy dog. 0123456789");
l.setFont(font1);
pane.add(l);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
これを実行するたびに、java.io.IOException "Can't read fonts\ShoriPart1.ttf (in java.awt.Font)" がスローされました。それを防ぐためにtry/catchを使用しましたが、最終的にはフォントがまったく作成されませんでした。フォントファイルに何か問題がありますか?コードでこれを修正する方法はありますか?
編集: Microsoft Word でフォントを使用してみましたが、問題なく動作しました。