Why some Asiatic characters are not displayed in my application?
When you specify a font in Java (via font family name, style, and size), this specifies a "logical font". The logical fonts are mapped to sets of physical fonts through a file jre/lib/fontconfig.bfc, which is a binary file generated from jre/lib/fontconfig.properties.src. The physical fonts then have to be present on the system in locations that the JRE will find.
Three options you can take in order to display Korean characters and avoid the "hollow boxes":
1) Use portable font family names instead of too specific ones. For example,
"Serif", "Sansserif", "Dialog" are portable font family names, whereas "Times",
"Arial", "Dejavu" are not.
2) Use a JRE that has a fontconfig file that supports your platforms. The Sun JRE
has some deficiencies in this area, Sun bugs 6806878 (regarding openSUSE) and
6551584, 6857465 (regarding Ubuntu).
3a) Use a JRE that has more fonts bundled in jre/lib/fonts/, or
3b) Install fonts on your own in the public locations. Use the "xset fp"
command to update the font location list in the X server, and the "xlsfonts"
command to view the list of fonts that match a certain specification.
For the points 2) and 3a), note that for several Linux brands, IBM JREs
come with a better fontconfig and a better Unicode coverage than the Sun/Oracle
|Business Integration||IBM ILOG JViews Charts||SDK:Internationalization||8.8, 8.7, 8.6, 8.5||All Editions|
Rate this page:
Copyright and trademark information
IBM, the IBM logo and ibm.com are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.