如何在Unicode中使用字符进行下标



我可以使用成功地为数字下标

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

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

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

如果你找不到包含U+209C(拉丁语SUBSCRIPT-SMALL LETTER t)的字体,那么另一种选择可能是使用属性字符串,如下答案所示:https://stackoverflow.com/a/17957628/1187415.

最新更新