【问题标题】:Check if device supports Unicode?检查设备是否支持 Unicode?
【发布时间】:2014-09-08 13:48:19
【问题描述】:

我正在尝试在我的android 应用 中添加localization。不支持Unicode 的设备只显示方框。有什么方法可以检查设备是否支持 Unicode
任何帮助表示赞赏。
谢谢。

编辑

我正在本地化我的应用程序以支持尼泊尔语。 如果我在带有 4.4.2 的设备上运行它,它会显示所有字符,但是当我在 2.3 上运行它时,它会显示框。

一些 unicode 字符是 ० १ २ ३ ४ ५ ६ ७ ८ ९ क ख 等。

注意:这些是梵文脚本,用于印地语和其他相关语言。

【问题讨论】:

  • 所有 Android 设备 支持 Unicode(除了一些奇怪的原生问题),但是字体(以及呈现这种 Unicode 的位置)可能没有所说的字形.. 被适当替换与“盒子”。所以,1) 哪里 是被渲染的 Unicode 文本和 2) 使用了哪些 Unicode 字符?
  • 感谢您的回复...有没有办法检查它是否支持应用程序中使用的Unicode字符?
  • @MichaelShrestha:您的问题含糊不清。如前所述,ALL Android 设备“支持”Unicode,因为 String 类由 UTF-16 格式的字符数组支持。设备是否具有能够显示您需要的字符的相关字符集是另一个问题。根据您创建或获取文本字符串的方式以及它们的编码方式,还有其他各种复杂情况。看看 Android Localedeveloper.android.com/reference/java/util/Locale.html 你会看到一个方法 getAvailableLocales() 也许这就是你需要的。
  • 所有设备都使用相同的常用字体。所有字体都支持 Unicode。并非所有字形都包含在标准字体中。强制提供缺失字形的唯一方法是更改​​字体。这很容易完成,并且可以下载和使用免费的 TTF 字体。还有专门的“图标字体”。
  • 如果您需要帮助,请编辑问题以指定哪些确切的字符显示为框。所有 Android 手机都支持 Unicode,没有例外。

标签: java android unicode


【解决方案1】:

这些字符似乎是梵文脚本。例如

'क' is Unicode Character 'DEVANAGARI LETTER KA' (U+0915)

旧版本的 Android 对该脚本的支持有限,但它是内置的,这意味着您应该能够简单地检查 Android 的版本以了解它们是否受支持。

How to get Hindi fonts in Android..?
https://www.facebook.com/DevanagariAndroid
http://www.androidos.in/2010/12/android-2-3-brings-more-languages-support-incl-hindi/

【讨论】:

    【解决方案2】:

    Android 默认支持 unicode。但是,并非所有 unicode 字符都以任何一种已安装的字体定义。

    每部安卓手机都安装了三种字体:普通(Droid Sans)、衬线(Droid Serif)和等宽字体(Droid Sans Mono)。

    除此之外,您的应用还可以包含它自己的 TrueType 字体,让您可以添加任何您想要的字符。

    【讨论】:

    • 感谢您的回复..但这不是我想要的..我不想安装任何字体...只是想检查它是否受支持。
    • 我告诉你,每部机器人手机都安装了相同的字体,因此它们具有相同的 unicode 支持。您可以使用 ttf 编辑器查看支持的每个字符。字体文件位于 /system/fonts
    • 没有。其他应用程序可以有其他字体,但在系统范围内,只有 root 手机可以有更多字体。
    • 或者如果你以其他方式改变你的 /system/fonts 我想
    猜你喜欢
    • 1970-01-01
    • 2018-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-26
    • 1970-01-01
    • 2011-07-02
    • 2013-02-25
    相关资源
    最近更新 更多