2011-08-16 15 views
3

私はTerminalフェイスを使って自分のプログラムに読み込み文字列を表示したい(Windowsではプラットフォームの独立性は重要ではない)。強制モノスペースターミナルフォントを使用するJava AWT

私が使用する場合Font font = Font.decode("Terminal-10");モノスペースではありません。

私が使用している場合Font font = new Font(Font.MONOSPACED, Font.PLAIN, 11);すべてがうまくいますが、Courierのように見えます。

私は

HashMap attr = new HashMap<TextAttribute,TextAttribute>(); 
attr.put("FAMILY", Font.MONOSPACED); 
attr.put("FONT", Font.decode("Terminal-10")); 

font = new Font(attr); 

(APIのドキュメントを誤って解釈おそらくIM)を使用している場合はそれだけでデフォルト値(一部12ポイント無地のフォント)を使用しています。属性をターミナルフォントに正しく設定する方法は?私は文字列をGraphics2Dに描画し、それらをImageIOで保存しています。

答えて

1

Java AWTはビットマップフォントをまったくサポートしていません。Fontクラスに表示されているものから判断すると、TRUETYPE_FONTTYPE1_FONTしか処理されません。ターミナルはビットマップフォントなので、AWTのフォント機構を使って簡単に使用する方法はありません。

私は現在、this questionで制限された成功を収めた自分の単純なビットマップフォントエンジンを使用して同様の問題を解決しようとしています。

関連する問題