当我尝试制作必须支持多种语言(包括带有“非标准”字符的语言,例如中文)的应用程序时,我遇到了类似的问题。我曾经将我的小部件的字体设置为
Arial,并且遇到了问题。以下解决方案解决了我的问题,但可能无法解决您的问题。
每当遇到无法显示的特定字符集的字符时,Java都有一个回退机制。可以使用JRE随附的fontconfig.properties文件进行配置(该文件最初以“
fontconfig.properties.src”的形式提供,您必须手动重命名)。
当你强迫的字体是不中
Dialog,
Serif,
SansSerif,
Monospaced或者
DialogInput,Java有没有办法使用不同的字符集,如果当前一个(在你的情况宋体)不能代表字符(或字形)你想在屏幕上绘制。
如果你看一下fontconfig.properties.src文件,你会看到,是有许多类型的字体(如许多条目
Dialog.plain,
Serif.bold等等)。这些是上述字体无法显示特定字形时将使用的实际后备字体。因此,将小部件的字体设置为例如,
Font.DIALOG将允许Java尝试使用字体列表来显示字符。
有关更多信息,请访问Oracle网站(此处为Java
7)。请注意,Oracle尚未正式支持使用fontconfig.properties。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)