【问题标题】:What is the code to display a five digit Unicode based Egyptian hieroglyph font on iOS?在 iOS 上显示基于 Unicode 的五位埃及象形文字字体的代码是什么?
【发布时间】:2012-05-06 23:44:37
【问题描述】:

StackOverflow 和其他网站上的代码建议在 iOS 上使用 this for displaying unicode

[view1 setText:@"\uF300"];

这适用于大多数 unicode 字符,但是对于 Egyptian hieroglyphic unicode font(等待加载大字体)失败。

象形文字 unicode 有一个额外的数字(即“\uF3001”而不是“\uF300”)。结果,显示了错误的字符,并留下了“1”。

很明显iOS可以显示象形文字字体。例如,如果您将这个字形 (????) 剪切并粘贴到 setText 语句中,则在导入 TTF 后,可以在 iOS 屏幕上看到该字形。

所以问题是,如何使用需要五位而不是四位的 unicode 字体在 setText 语句中显示 unicode 字符(即“\uF3001”)?

【问题讨论】:

  • U+F3001 是私人使用的,所以如果您使用 exactly 正确的字体,它将显示您想要的内容(但您可能知道)。您可以尝试使用 `\uDB8C\uDC01`(U+F3001 为 UTF-16)看看是否可行。
  • 实际上,四位十六进制数字 Unicode 转义变体不适用于大多数 Unicode 代码点。您有 17 架飞机,但使用此方法只能寻址其中的一架。

标签: ios unicode truetype astral-plane


【解决方案1】:

实际上,只要您使用大写字母“U”,您最多可以指定 8 位数字,例如:“\U000F3001”。

【讨论】:

    【解决方案2】:

    通过你使用的方法是不可能的:

    https://developer.apple.com/library/ios/#documentation/MacOSX/Conceptual/BPInternational/Articles/NotesForLocalizers.html

    字符串可以包含带有“\U”的任意 Unicode 字符 后跟 最多四个十六进制数字,表示 Unicode 字符;为了 例如,十六进制 20 的空格表示为“\U0020”。 如果字符串必须包含 Unicode 字符,则此选项很有用 由于某种原因无法输入。

    【讨论】:

      猜你喜欢
      • 2013-03-31
      • 2011-01-14
      • 2014-08-04
      • 2013-08-22
      • 1970-01-01
      • 2012-01-30
      • 2016-09-10
      • 1970-01-01
      • 2012-01-16
      相关资源
      最近更新 更多