如何更改核心文本中的字母间距/跟踪?

时间:2011-04-20 16:47:04

标签: cocoa cocoa-touch ios macos core-text

这可能也会被问为“kCTKernAttributeName是否用词不当?”

我需要更改iOS中某些文字的字母间距/跟踪。 (我使用的字体在小尺寸上有点过于紧张。)有一些核心图形例程会改变字符间距,但这些例程不能处理Unicode。还有其他核心图形例程是根据字形定义的,但这些例程似乎是一个受伤的世界,除其他外,没有恢复到我的字体中不存在的字形的系统字体的安全网。

因此核心文本似乎是这样做的方式,核心文本支持CFAttributedString上的kCTKernAttributeName。我认为这会做我想要的,虽然这实际上不是字距调整,因为字距调整通常是字符对属性,而且(似乎来自文档)只是对所有字形的字形前进进行统一调整,即,跟踪。

如果有人知道在我转向核心文本API的痛苦之路......

1 个答案:

答案 0 :(得分:4)

kCTKernAttribute名称应该做你想要的。在一系列文本中设置它会一致地调整字形间距,而不管特定的字形。

我认为问题的一部分是字距调整似乎是跟踪的虚拟同义词(它仍然只是“调整要打印的一段文本中的(字母或字符)之间的间距”) OS X),由于冗余,现在只采用了对字符串的含义。可能一个词源学家会更好地评论这方面的事情......