为不同的语言使用不同的字体/字体大小

时间:2018-03-20 15:15:42

标签: java fonts internationalization

我使用了一个相当大的Java GUI应用程序(使用Swing),它有许多不同的字体和字体大小。

最近我们在我们的应用程序中添加了国际化,因此,对于某些语言,我需要更改字体以便能够编写不同的字符(许多字体不支持中文字符)并且所有字符适合屏幕(中文字符串可能比英文字符串更长/更短)。

是否有推荐的方法使我的应用程序的字体更“模块化”,因为缺少更好的词?

我是否应该使用某种静态FontManager类来获取所有字体?

例如,在我的应用程序中,我会得到这样的字体:

Font mainScreenTitleFont = FontManager.getMainScreenTitleFont()

,该方法看起来像这样(显然是伪代码):

public static Font getMainScreenTitleFont(){
    if (language == Language.English)
        return new Font("Arial", 25);
    else if (language == Language.Chinese)
        return new Font("FangSong", 30); 
}

虽然这个想法可以实现我的目标,但我想知道是否有更好的方法来组织这样的系统?

0 个答案:

没有答案