特定のフォントがマシン上に正しくインストールされている場合は、Javaを使用し、どのように見つけますか
質問
私は今、勝つVistaを実行しているノートPCを持っている私が最初にそれを買ったときに、特定の中国語フォントは、私は矩形のみを見ることができ、表示されませんが、私はしばらくの間、制御設定でプレイし、いくつかのプロパティを変更し、それは正しく中国語フォントを示しているが、私は私が何をしたか覚えていません。
(ここでは、中国でも入る意味)|「输入入力」が、ユーザが中国語フォントが彼のマシンに正しくインストールされていない場合、彼は以下となります。今、私のプログラムの一部は英語と中国語、このようなものの両方を表示しますこのようなものを参照してください。「と入力します| [] []」を、私の質問は次のとおりです。Javaでこれらの文字は、特定のマシン上で正しく表示、そうでない場合、それは、ショー」である場合にだけ、「入力」を表示するかどうかを検出する方法入力|输入」
。フランク
解決
java.awt.GraphicsEnvironment.getAvailableFontFamilyNames()
はあなたの現在のシステムにインストール可能なフォントのリストを与えることができます。またjava.awt.GraphicsEnvironment.getAllFonts()
オブジェクトを取得するためにjava.awt.Font
を使用することができます。
次に、あなたがUnicode文字が(java.awt.Font.canDisplay(int)
は、マルチバイト文字の整数表現である)そのフォントで表示することができるかどうかを確認するためにint
を使用することができます。
他のヒント
レイジーバージョン:
Arrays.asList(GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames()).contains(FONT_NAME)
所属していません StackOverflow