【问题标题】:how do I specify a system font that handles wide characters on the iphone?如何指定在 iphone 上处理宽字符的系统字体?
【发布时间】:2011-03-06 16:07:06
【问题描述】:

由于我缺乏字体方面的经验,这是一个一般性的问题,因此请耐心等待和/或指出正确的方向以获取更多信息,我将不胜感激。我有一个 iphone 应用程序,并注意到当我在标签上打印一些文本时,当字符串包含非 ascii(例如韩语)时,我最终会得到垃圾。

我的猜测是,例如,由于我的 UILabel 使用的是系统字体,因此系统字体可能不支持显示宽字符。但是,我还有一些初学者问题:

1) 如何设置系统字体,以便使用系统字体的 iphone sdk 对象使用它?

2) 系统字体可能不支持宽字符这听起来是否正确,这是否是当我的字符超出正常 ascii 范围时我看到垃圾的原因?

谢谢。如果我需要澄清问题,请告诉我。

更新: 后来我怀疑这可能是我的服务器端的问题,所以在这里发布了这个相关但不相同的帖子:does google app engine display unicode differently in StringProperty v StringListProperty objs?

【问题讨论】:

  • 很有可能您没有使用正确的字符串编码。文本来自哪里,您希望它具有什么编码?您使用什么方法从文本中创建字符串?
  • 我会用服务器端的一些附加信息更新原始帖子。
  • 为了更直接地回答您的问题,我通过附加一个韩语文本变量在服务器上形成一个 python 字符串。也许我没有正确调用 s.encode 或 s.decode ?我不打电话给这些,如果是这样的话,我应该打电话给我有点困惑。在客户端,我使用 CFURLCreateStringByReplacingPercentEscapes() 删除百分比转义。

标签: iphone text system fonts


【解决方案1】:

原来问题不在于字体,而在于我本应使用 UTF8 时将来自服务器的数据响应错误地编码为 Ascii。似乎是字体支持的 unicode 开头。

【讨论】:

    猜你喜欢
    • 2011-04-19
    • 2010-09-17
    • 2020-11-06
    • 1970-01-01
    • 2011-05-07
    • 2015-03-05
    • 2015-07-13
    • 2014-08-25
    • 1970-01-01
    相关资源
    最近更新 更多