Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java语言环境字体问题。。?_Java_Fonts_Locale - Fatal编程技术网

Java语言环境字体问题。。?

Java语言环境字体问题。。?,java,fonts,locale,Java,Fonts,Locale,[编辑]这是在OSX上用Java 1.5实现的!(但也可能发生在Windows上!) 我的Java Swing程序的日本用户似乎无法在JTextFields中编写日文符号。实际上他们可以写,但看不见。他们只看到了一些块,这表明我认为字体不支持这些符号 我设置自己的字体有各种原因(“Lucida Sans”,font.PLAIN,12)-我不想更改。我的问题是: 如果我不设置这个字体,JTextFields会显示日语符号吗 我是否可以检测到我的字体完全支持哪种语言环境,并且只在这些情况下设置它,而

[编辑]这是在OSX上用Java 1.5实现的!(但也可能发生在Windows上!)

我的Java Swing程序的日本用户似乎无法在JTextFields中编写日文符号。实际上他们可以写,但看不见。他们只看到了一些块,这表明我认为字体不支持这些符号

我设置自己的字体有各种原因(“Lucida Sans”,font.PLAIN,12)-我不想更改。我的问题是:

  • 如果我不设置这个字体,JTextFields会显示日语符号吗

  • 我是否可以检测到我的字体完全支持哪种语言环境,并且只在这些情况下设置它,而在所有其他情况下(如Locale.Japan)保留标准Java字体

  • 你还有其他建议吗


  • 谢谢你的帮助

    正是由于这个原因,我的国际化应用程序根据语言环境设置字体。回答您的问题:

  • 这可能取决于正在使用的Windows版本。这是安装了日文字体的美国版,还是在日本销售的版本?我不知道你的问题的确切答案,但我希望答案是“视情况而定”

  • 我不知道有什么标准的方法可以做到这一点。我发现了一个非常有用的工具来调查这类事情:。这将确切地告诉您任何给定字体支持哪些字符

  • 其他建议:根据区域设置字体,至少对于选定的区域设置

  • 如果我不设置这个字体,JTextFields会显示日语符号吗

    最有可能的原因是JRE将选择默认值

    我是否可以检测到我的字体完全支持哪种语言环境,并且只在这些情况下设置它,而在所有其他情况下(如Locale.Japan)保留标准Java字体

    是的,从理论上讲,虽然更容易测试这种字体是否可以使用font中的方法显示特定于区域设置的字符。如果没有,您可以切换到默认值

    你还有其他建议吗


    您的产品有链接吗?

    这是在OSX和Java 1.5上发生的!在BabelMap中,与日文符号对应的Unicode块名是什么?我几乎猜到了。Lucida Sans似乎不支持它或任何其他块。还是我错了?在这个WinXP Pro框中,Lucida Sans有许多块,但它没有片假名。例如,它有西里尔字母,所以我猜如果西里尔字母由WinXP的Luicida支持,这并不意味着OSX的Luicida也支持它?