3

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

4

3 回答 3

5

在 Android 2.3.5 上测试,我惊讶地发现它的任何预装字体都不支持大写的 schwa “Ə”,但小 schwa “ə” 是。原因可能是 schwa 在语音学 (IPA) 中用于表示中性 (schwa) 元音,并且始终仅小写。因此字体覆盖考虑了这一点,但并非旨在覆盖使用字母的自然语言,在这两种情况下,无论出于何种目的,书写系统都有它。

有多种解决方法:

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

我已经通过这种方式解决了它:1)我从这里下载了支持阿塞拜疆语的字体:http: //fontlar.info/ 2)然后我使用这个答案为所有项目显示自定义字体 如何为一个整体设置自定义字体Android中的应用程序?

于 2018-05-10T10:56:58.487 回答
0

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

于 2012-12-04T18:43:49.443 回答