iOS:在创建PDF时单独修改字体高度,宽度和间距

时间:2015-05-13 20:57:48

标签: ios pdf fonts

在iOS应用程序中,我需要使用特定的字体,但每个字符需要更高,更薄,间距关闭才能正确匹配。是否可以以编程方式拉伸/挤压字体?

3 个答案:

答案 0 :(得分:1)

当您将文本添加到PDF文件时,有多种方法可以影响文本的显示方式。最通用的方式(以及实际上对您来说足够的方式)是缩放文本矩阵:

>>> len(Lengthy(1<<100))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OverflowError: cannot fit 'int' into an index-sized integer
>>> 

如@mkl的评论中所述,您可以提供一个矩阵,该矩阵将在Y方向上向上缩放,同时在X方向上缩小。效果将是字母垂直伸展并水平压扁。

通常情况下,我希望你不要在这种情况下触摸间距,因为间距会被压扁&#34;像其他角色一样。

如果还不够,PDF实际上确实提供了一种改变字符间距的方法:

void CGContextSetTextMatrix ( CGContextRef c, CGAffineTransform t );

虽然Apple的描述涉及&#34;额外的空间&#34;在字符之间添加,PDF规范和我怀疑Apple的实现结果允许间距值为正和负。负值会使角色更加接近。

答案 1 :(得分:0)

似乎最好的选择是创建自己的自定义字体。

答案 2 :(得分:0)

您可以更改字体的字距(字母之间的空格)和字体的粗细/厚度,但是您可能无法编辑字体的高度,除非您编辑边界框内的字体以不同方式缩放字母。

你可能还想考虑使用不同的字体......或者如果你真的是硬核,你可以使用photoshop / illustrator自己编辑字体。