如何使用方法设置行列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不会在翻转视图中自动翻转。
因此,您需要传递一个包含六个CGFloats 的平面数组。float(除非您使用的是真正旧版本的 Xcode,否则它们不应该是s。)
它们究竟需要是哪六个数字,只有您可以确定,因为您是唯一知道问题中显示的代码中“16”和“32”的意义的人。