私は現在、Java で、OpenOffice のようにフォントをシンボリックとして識別する可能性を探しています。Windings や Webdings などのフォントの文字は、正しい「画像」でレンダリングする必要があります。
通常のフォントと記号付きのフォントを区別する方法を知っている人はいますか?
バグJavaは、Windowsのシンボルフォントですべての文字を表示しないため、シンボルフォントに固有の特性に関する手がかりが得られます。
これらはSYMBOL_CHARSET(font.propertiesファイルのWindowsCharsetName)の一部です。
したがって、[jdk1.6.0_10] \ jre \ lib \ fontconfig.98.properties.srcは、フォントの名前がシンボルフォントと一致するかどうかを確認するための最初の情報源であり、Property.load()を介してロードする必要があります。 。
I don't see any SYMBOL_CHARSET
in my font properties file per VonC's answer.
A simple test seems to be if( !java.awt.Font#canDisplay('a') )
. On my Windows box I get a list of symbol fonts including the mundane Symbol and Wingdings, and exotic ones like "Estrangelo Edessa".