2

对于科学应用程序,我想设计一个输入表单,让用户输入某些参数。其中一些使用希腊字母指定,其中一些使用拉丁字母。参数名称应使用普通JLabel控件显示。

在 Windows 上,Tahoma字体(默认用于标签)包含拉丁字母和希腊字母,所以我只需将标签的 Text 属性设置为希腊(unicode)字符串,一切正常。

我想知道这是否也适用于 Linux 和 OSX 系统上的修改。这适用于哪些 Java/OS 版本。

我也很好奇是否有一种简单的方法可以在标签中显示下标(TeX 中的“\eta_0”),但这对我的应用程序来说并不那么重要......

4

2 回答 2

5

我毫不怀疑绝大多数 Unicode 字体都包含希腊语块。

在所有平台上,适用于所有语言环境。

当缺少 Unicode 块时,这是出于节省空间的考虑。与数千个东亚字符相比,希腊语块中的 50 个左右的字符微不足道(顺便说一句,我的最后一个 Linux 桌面实际上包含这些字符)。

说到花哨的Unicode:http://en.wikipedia.org/wiki/Unicode_subscripts_and_superscripts

当然,尽管您或我可能有任何信心,您应该在部署之前尽可能多地测试您的应用程序配置。Java 尽力而为,但在实践中我总是发现一些需要 tweeking 的东西。

于 2010-05-10T09:30:43.110 回答
1

@Gunslinger47 的回答是肯定的,但您也可以在各种目标平台上查看这款游戏。它显示来自多个 Unicode 字符代码图表的字形,包括希腊语。

enum GlyphSet {

    ASCII(0x0021, 0x007E), Greek(0x0370, 0x03FF), Letters(0x2100, 0x214F),
    Operators(0x2200, 0x22FF), Miscellany(0x2300, 0x23FF), Borders(0x2500, 0x257F),
    Symbols(0x2600, 0x26FF), Dingbats(0x2700, 0x27BF), Arrows(0x2900, 0x297F);
    ...
}
于 2010-05-10T15:54:30.120 回答