jar ファイルに ttf ファイルをバンドルしており、テキストをレンダリングするための物理フォントとして使用する予定です。
私がインターネットで見たすべてのサンプルコードは次のとおりです。
InputStream is=Essai.class.getResourceAsStream(resourcePath);
Font f=Font.createFont(fontFormat, is);
このコードについて 2 つの質問があります。
まず、DejaVu などの 1 つのフォントが 4 つの異なる ttf ファイルを保持し、スタイル (通常、太字、斜体、太字-斜体) ごとに 1 つです。1 つの ttf (4 つのいずれか) からフォントを作成するだけで十分ですか?
-
第二に、フォントを作成した後にストリームを閉じたコードは見たことがありません。おそらく、作成されたフォント (後でローカルの GraphicsEnvironment に登録されます) は、ストリームを開いたままにする必要がありますか?
createFont() メソッドの javadoc には、「このメソッドは InputStream を閉じません」と記載されています。
2 番目の質問は、フォントを作成した後にストリームを閉じるべきか、それとも開いたままにしておくべきかということです。