NSAttributedString:删除文本,上面有替换文本

时间:2017-10-25 04:30:21

标签: ios nsattributedstring

我正在尝试绘制一个NSMutableAttributedString(实际上是一个构造的NSBaselineOffsetAttributeName),其中“原始”文本被击中并且替换文本插入其上方(我正在尝试复制外观/感受古希腊手稿)。

我的技巧是NSKernAttributeNameNSKernAttributeName的组合,但似乎使用NSAttributedString的负值“擦掉”文字的删除线,即使字符不是不重叠。

如果我在“A”字符后面添加一个额外的空格(在原始文本中),“A”将获得删除线,但“EI”也会向右偏移。因此,似乎“EI”文本的偏移/字距调整会影响实际发生的删除线的数量。

这是我想要重现的东西(我不关心角度;它不是关于图片完美再现;只是要点):

strikethrough original

以下是目前正在发生的事情:

strikethrough output

这是在删除线后添加额外空格的时候:

strikethrough plus extra space

所以,我能想到的另一件事就是在正确的位置渲染一个单独的NSAttributedString,与当前的一个分开,但我不知道如何计算特定角色的位置绘制时UILabel。我正在绘制PDF,而不是像onchange这样的任何屏幕控制。或者,我可以将“删除线”我自己画成一条线,但这似乎仍然需要知道所讨论文本的坐标,这是在运行中计算的,我希望使用这种方法来重现大样本古代文本,这意味着手工完成这里不是一个好的答案。

我缺少什么,或者尝试任何开箱即用的想法?

0 个答案:

没有答案