10

Windows Vista を実行している PC ノートブックを持っています。最初に購入したとき、特定の中国語フォントが表示されず、四角形しか表示されませんでしたが、しばらくコントロール設定をいじって、いくつかのプロパティを変更したところ、中国語が表示されるようになりました。フォントは正しいですが、何をしたか覚えていません。

現在、私のプログラムのいくつかは英語と中国語の両方を次のように表示します: "Enter | 输入" (ここでの中国語も入力を意味します)。 this : "Enter | [][]", 私の質問は: Java では、これらの文字が特定のマシンで正しく表示されるかどうかを検出する方法です。そうでない場合は、単に "Enter" を表示します。 "。

フランク

4

3 に答える 3

8

java.awt.GraphicsEnvironment.getAvailableFontFamilyNames()現在のシステムにインストールされている使用可能なフォントのリストを表示できます。java.awt.GraphicsEnvironment.getAllFonts()オブジェクトを取得するために使用することもできjava.awt.Fontます。

次に、java.awt.Font.canDisplay(int)Unicode 文字をそのフォントで表示できるかどうかを確認するために使用できます (intはマルチバイト文字の整数表現です)。

于 2010-02-16T03:10:57.833 に答える
1

怠惰なバージョン:

Arrays.asList(GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames()).contains(FONT_NAME)
于 2018-01-16T23:17:34.537 に答える