Javaでフォントをシンボリックとして識別する方法は?
質問
現在、JavaでフォントをOpenOfficeのように記号として識別する可能性を探しています。 フォントWindingsまたはWebdingsなどの文字は、正しい「画像」でレンダリングする必要があります。
通常のフォントと記号付きフォントを区別する方法はありますか?
解決
バグ Javaはすべての文字をWindowsシンボルフォントに表示しませんは、シンボルフォントに固有の特性に関する手がかりを提供します。
これらは SYMBOL_CHARSET の一部です(font.propertiesファイルのWindowsCharsetName)
したがって、[jdk1.6.0_10] \ jre \ lib \ fontconfig.98.properties.srcは、フォントの名前がシンボルフォントと一致するかどうかを確立するための最初の情報源となり、 Property.load ()。
他のヒント
VonCの回答ごとに、フォントプロパティファイルに SYMBOL_CHARSET
が表示されません。
簡単なテストは if(!java.awt.Font#canDisplay( 'a'))
。 Windowsボックスでは、ありふれたSymbolやWingdingsなどのシンボルフォントのリストと、「Estrangelo Edessa」などのエキゾチックなフォントを取得します。
所属していません StackOverflow