TextView.setTextLocale()
可以解决这个问题。将日语的locale(Locale.JAPAN
)分配给此方法,汉字会呈现出日文风格。
我在Android应用程序中使用WebView和TextView显示日语文本,并且其中一些汉字(即“假名”)在中国和日本的书写惯例下看起来不同,但它们共享相同的Unicode代码点。通常,浏览器会依靠
lang
标签来选择正确的字形。但在Android上,它们全部默认使用了它们的中文样式,而我希望使用日文样式。该问题在此文章中已经被很好地解释。当查看“Examples of language-dependent characters”一节时,在Android上(直到2.2)所有字符看起来都是相同的且仍然是中文。
使用
lang="ja"
属性无效。将整个系统语言设置为日语也没有效果。我在想在日本销售的Android手机上,像“直”,“今”,“化”这样的字符是否也看起来像中文样式?我认为不是这样。
因此问题是:是否有官方本地化的Android映像可用?我能否在模拟器上运行它?在这些设备上,DroidSansFallback字体是否仍然是唯一支持CJK的字体?如果是,它与原版美国Android上的字体相同吗?
我有点希望日文字符藏在字体的某个深处(例如Unicode私有区域)中。如果真的如此,我可以利用它们......
编辑:找到了DroidSansJapanese.ttf,通过将其复制到/system/fonts中安装到模拟器中,并重新启动。但它对“汉字统一”文章没有任何影响。即使是日语输入法的提示区域(本应更好地处理该问题),也显示为中文。
我怎样才能知道DroidSansJapanese.ttf的字体名称?我有一种感觉它仍然是Droid Sans,就像内置的DroidSansFallback字体一样。但如果它们包含相同的字体,那么是什么决定哪一个应该具有优先权呢?人们可能会认为是系统语言环境,但显然不是。在Android中,字体只需要通过复制即可安装,对吗?
你可以发个链接或一个有问题的页面样例吗?你使用的设备是什么?如果提供更详细的信息,我可以试着回答这个问题。你现在只是说Android不能显示日文,我觉得这并不正确。 - DallaRosa