使用UIBezierPath绘制不带字形的字母

时间:2013-08-01 09:59:41

标签: core-graphics uibezierpath

我想使用UIBezierPath来绘制字母。我找到了tutorial here。但是,它给出了一条代表字母轮廓的封闭路径,如下所示。我想要一条代表信件正文的路径。

如何将这一行代表身体?

Character

2 个答案:

答案 0 :(得分:1)

一般而言,现代字体中的字形不是您所谈论的意义上的“线条”。他们是大纲。要想明白为什么,想想任何衬线的面孔,比如时代。衬线如何表示为单线?

也就是说,有一种特殊的类型面,通常称为“棒字体”,基于线条 ,通常用于CNC雕刻。这是一个资源:CamBam Stick Fonts也许这会对你有所帮助。

答案 1 :(得分:0)

正如您所发现的,Core Text只能提供字形轮廓。要求字形的“单行”有点含糊不清;考虑一下i字母 - 单行代表什么?此外,单行不能对字形内的变化宽度信息进行编码。

有闭合贝塞尔曲线路径的方法,您可以通过这些方法计算代表“中心”概念的路径。我无法想起它们。但是,如果要绘制字形,可以只使用轮廓进行绘制;使用CGContextFillPath绘制填充的字形(假设您的上下文具有设置的填充颜色)。