Javaで使えるフォント名

   2012/05/11

こんにちは。なんでも屋、イガジーです。

今日はJavaのフォント名の話を少々。
Java では、
Font f=new Font("Serif", Font.PLAIN, 16);という形で、フォントを指定するのですが、
この”Serif”などの部分にあたるフォント名として何が使えるか試してみました。
試した環境は、Gentoo Linux です。

(標準で使える)抽象フォント名は、次の5つです。

	"Serif"
	"SansSerif"
	"Monospaced"
	"Dialog"
	"DialogInput"

大文字、小文字の区別は無い模様です。
すなわち、”serif” は “Serif” と同じで、
“monospaced” は “Monospaced” と同じ結果(同じフォント)になります。

“monospace” は誤りの様で、結果的には”Dialog”と同じになりました。
(誤りの場合には、全てDialogになる模様)

“sans serif” と間にスペースを入れても誤りで、”Gothic”, “Fixed”,
“fixed”, “hogefuga”, なども誤りです(Dialogになる)。

※ 文字列指定の代わりに、Font.SERIF, Font.SANS_SERIF などの
スタティックフィールド値を使う方が良さそうです。

物理フォント名は、そのフォントが存在すれば使える様です。
例えば、

	"MS Gothic",  // Microsoft ゴシックフォント
	"IPAGothic",      //IPA ゴシック
	"IPAMonaGothic",  //IPA モナー ゴシック
	"Kochi Gothic",   //東風ゴシック
	"Sazanami Gothic",//さざなみゴシック

などは、使えました。

※ 使えるフォントを調べる方法については
Javaで使えるフォント名を取得する方法をどうぞ。

しかし、Linux ではフォントサイズを大きくすると汚くなりますね。
ヒント情報が使われていないようですし、アンチエリアスも無い。
Java の改善に期待したいところです。
Linuxでも、swingを使うとアンチエリアスが効くようです。
※ Windows の場合は、アンチエリアスが効いたフォントで
拡大してもギザギザにはならない様です。

この記事へのコメントはこちら

メールアドレスは公開されませんのでご安心ください。
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメント送信」ボタンを押してください。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)