【问题标题】:How to subscript with characters in Unicode?如何用Unicode中的字符下标?
【发布时间】:2013-07-31 17:13:54
【问题描述】:

我可以使用以下方法成功为数字下标:

static const unichar kSubscriptZero = 0x2080;
int numberOfHydrogens = 2;
NSString *water = [NSString stringWithFormat:@"H%CO",
    kSubscriptZero + numberOfHydrogens];

上面的代码打印出一个格式很好的 > H2O(当然是 2 作为下标),我在处理其他 unicode 字符(不是数字)时遇到问题,例如 209C这是一个下标 t。而不是我的下标 t,我得到一个方形框......有人可以告诉我这样做的正确方法吗?

【问题讨论】:

    标签: ios objective-c unicode


    【解决方案1】:

    如果您得到一个方形框而不是所需的字形,则该字体没有字形 对于该字符,因此无法显示它。

    如果您没有找到包含 U+209C (LATIN SUBSCRIPT SMALL LETTER T) 的字体,那么只有 替代方法可能是使用 attributed strings,如此答案中所建议:https://stackoverflow.com/a/17957628/1187415.

    【讨论】:

    • 字体集包含例如U+209C 很小,比fileformat.info/info/unicode/char/209c/fontsupport.htm 的列表大不了多少(DejaVu 字体和一些其他字体)。
    • @JukkaK.Korpela:感谢您提供的链接,这可能会在一段时间内有用! - 该列表中似乎没有 OS X 或 iOS 字体。
    • 列表中的大多数字体都是免费字体,应该也可以在 OS X 和 iOS 上运行(尽管它们需要下载或安装,或者与应用程序一起分发并由用户安装)。
    猜你喜欢
    • 2015-05-22
    • 2021-04-06
    • 2011-07-02
    • 2015-12-22
    • 2013-07-28
    • 2018-12-16
    • 2020-05-27
    • 2016-11-07
    • 2016-10-13
    相关资源
    最近更新 更多