在不规则形状内渲染CoreText

时间:2011-03-01 17:24:27

标签: algorithm text geometry word-wrap core-text

我正在寻找有关实现视图的指导,该视图在带有孔的多边形内呈现NSAttributedString,包裹和回流文本以适合几何体。问题不是CoreText,而是将不规则形状划分为深蹲矩形的有序序列的一般问题。

类似的问题尚未得到充分回答:

CoreText处理与文本布局和显示相关的令人难以置信的大量工作,所以我不禁怀疑我正在重新发明一个轮子。出于这个问题的目的,请假设我可以检查适合给定矩形的子字符串,同时考虑自动换行和连字符。

编辑:我决定从左到右的绘图尽可能多地适应边界。虽然我打破了自然界限,但看起来有点随意,所以我仍然很欣赏其他应用程序如何包装文本的指导。

编辑#2:现在它看起来很不错,它支持基本的自动换行并避免渲染很短的行。我的问题一定太模糊了。谢谢你的期待。

编辑#3: Amorya指出CTFramesetter now accepts any CGPath

1 个答案:

答案 0 :(得分:6)

我写了一篇关于使用Core Text实现文本换行的博文:

http://blog.amyworrall.com/post/11098565269/text-wrap-with-core-text

此功能是iOS 4.3和MacOS X Lion中的新功能。您现在可以首先绘制非矩形路径,然后通过其他路径来屏蔽流(即,您可以包围的孔)。