我正在尝试绘制一个NSMutableAttributedString
(实际上是一个构造的NSBaselineOffsetAttributeName
),其中“原始”文本被击中并且替换文本插入其上方(我正在尝试复制外观/感受古希腊手稿)。
我的技巧是NSKernAttributeName
与NSKernAttributeName
的组合,但似乎使用NSAttributedString
的负值“擦掉”文字的删除线,即使字符不是不重叠。
如果我在“A”字符后面添加一个额外的空格(在原始文本中),“A”将获得删除线,但“EI”也会向右偏移。因此,似乎“EI”文本的偏移/字距调整会影响实际发生的删除线的数量。
这是我想要重现的东西(我不关心角度;它不是关于图片完美再现;只是要点):
以下是目前正在发生的事情:
这是在删除线后添加额外空格的时候:
所以,我能想到的另一件事就是在正确的位置渲染一个单独的NSAttributedString
,与当前的一个分开,但我不知道如何计算特定角色的位置绘制时UILabel
。我正在绘制PDF,而不是像onchange
这样的任何屏幕控制。或者,我可以将“删除线”我自己画成一条线,但这似乎仍然需要知道所讨论文本的坐标,这是在运行中计算的,我希望使用这种方法来重现大样本古代文本,这意味着手工完成这里不是一个好的答案。
我缺少什么,或者尝试任何开箱即用的想法?