如何使用方法设置行列fontWithName:matrix:
?
float myMatrix[16, 32];
NSFont *font = [NSFont fontWithName:@"Courier" matrix: myMatrix];
我尝试按照上述方式进行操作,但没有得到输出。或者是否有任何其他类或方法可以做到这一点?请为我找到正确的解决方案。
如何使用方法设置行列fontWithName:matrix:
?
float myMatrix[16, 32];
NSFont *font = [NSFont fontWithName:@"Courier" matrix: myMatrix];
我尝试按照上述方式进行操作,但没有得到输出。或者是否有任何其他类或方法可以做到这一点?请为我找到正确的解决方案。
尽管被称为“矩阵”,但预期的数组fontWithName:matrix:
只是一个平面数组;它不是数组的数组(“二维数组”)。
文档说:
fontMatrix
是 PostScript 语言中使用的标准 6 元素转换矩阵,特别是与运算符一起使用makefont
。在大多数情况下,您可以简单地使用fontWithName:size:
来创建标准缩放字体。您可以将定义的值
NSFontIdentityMatrix
用于[1 0 0 1 0 0]
。使用矩阵创建的字体NSFontIdentityMatrix
不会在翻转视图中自动翻转。
因此,您需要传递一个包含六个CGFloat
s 的平面数组。float
(除非您使用的是真正旧版本的 Xcode,否则它们不应该是s。)
它们究竟需要是哪六个数字,只有您可以确定,因为您是唯一知道问题中显示的代码中“16”和“32”的意义的人。