android中的“Ə”字符

时间:2012-04-29 11:34:31

标签: android unicode character-encoding special-characters android-webview

我正在为Eclipse编写andriod的小应用程序。该应用程序包含WebView组件和不同类型的文本。文本还包含不同的unicode字符,如ü,ş,ö,ğ,ə。我用html代码替换了所有unicode字符(例如:ü ə ç)。但只有“ə”字符在模拟器中无法正常工作(我还没有检查真实设备)。 “ü,ş,ç”工作正常,因为它们也使用更受欢迎的土耳其语字母。土耳其语和阿塞拜疆语非常相似,但只有最后一个有“ə”字母。如果我找不到任何解决这个问题的方法,我应该使用“Ää”而不是“Əə”,它们是相同的,但第一次是在过去使用过,而新一代的国家并不知道。请给出任何好主意来解决这个问题。

3 个答案:

答案 0 :(得分:5)

在Android 2.3.5上进行测试时,我惊讶地发现任何预装字体都不支持首都schwa“Ə”,但小schwa“ə”是。原因可能是schwa在语音(IPA)中用于表示中性(schwa)元音,并且始终仅在小写字母中。因此,字体覆盖率考虑了这一点,但不是为了覆盖使用字母的自然语言而设计的,在这两种情况下,无论写作系统有什么用途。

有各种解决方法:

  1. 在考虑时使用Ä代表。。那么你应该使用ä而不是ə。
  2. 使用A代表Ə(和a代表ə)。当编写阿塞拜疆名字时,这在英语文本中很常见。不正确,但很常见。
  3. 以较大的字体大小使用ə来模拟Ə。一个丑陋的黑客。除其他外,还有可能弄乱线间距。
  4. 使用Ә,即U + 04DB Cyrillic大写字母schwa。奇怪的是,这出现在Android字体中。它通常与拉丁schwa具有相同的形状;它们被编码为不同的字符,主要是因为它们属于不同的书写系统。当然,这是一个黑客,但反对意见是理论上的而不是实际的。但是,如果你出现问以语言敏感的方式处理文本(例如,拼写检查,自动翻译),因为你原则上使用了所有错误的拼写。
  5. 使用网络字体(可下载字体,嵌入字体),例如Google字体。虽然很难找到合适的字体(包含字符并且风格上符合您的设计),但您需要决定是使用该字体还是仅用于问题字符(在后一种情况下,您会需要将它的出现包装在span容器中以便为它们设置样式。一项快速研究表明,目的没有合适的谷歌字体,但我可能错了。

答案 1 :(得分:0)

考虑安装更好的字体,例如Gentium

答案 2 :(得分:0)

我已经通过这种方式解决了它: 1)我从这里下载支持阿塞拜疆的字体:http://fontlar.info/ 2)然后我用这个答案出现了所有项目的自定义字体 How to set custom font for a whole application in Android?