Javaのカスタムフォントの問題を修正するには?
たとえば、私のアプリはすべてのコンピューターにあるわけではないフォントを使用しています。クライアントコンピューターに存在しない場合、コンパイル済みの実行可能ファイルに何らかの形で含めて、そこから呼び出すことはできますか?
他の選択肢は何ですか?すべてのフォント文字を画像として作成し(以前、一部のグラフィックアプリで)、各文字の画像を表示できました...大丈夫ですか?
Javaのカスタムフォントの問題を修正するには?
たとえば、私のアプリはすべてのコンピューターにあるわけではないフォントを使用しています。クライアントコンピューターに存在しない場合、コンパイル済みの実行可能ファイルに何らかの形で含めて、そこから呼び出すことはできますか?
他の選択肢は何ですか?すべてのフォント文字を画像として作成し(以前、一部のグラフィックアプリで)、各文字の画像を表示できました...大丈夫ですか?
.ttfファイル(バンドル可能)からフォントファイルをロードするために使用しているユーティリティメソッドは次のとおりです。
private static final Font SERIF_FONT = new Font("serif", Font.PLAIN, 24);
private static Font getFont(String name) {
Font font = null;
if (name == null) {
return SERIF_FONT;
}
try {
// load from a cache map, if exists
if (fonts != null && (font = fonts.get(name)) != null) {
return font;
}
String fName = Params.get().getFontPath() + name;
File fontFile = new File(fName);
font = Font.createFont(Font.TRUETYPE_FONT, fontFile);
GraphicsEnvironment ge = GraphicsEnvironment
.getLocalGraphicsEnvironment();
ge.registerFont(font);
fonts.put(name, font);
} catch (Exception ex) {
log.info(name + " not loaded. Using serif font.");
font = SERIF_FONT;
}
return font;
}
アプリケーションにフォントを含めて、「オンザフライ」で作成できます
InputStream is = this.getResourceAsStream(font_file_name);
Font font = Font.createFont(Font.TRUETYPE_FONT, is);