-1

如何使用方法设置行列fontWithName:matrix:

float myMatrix[16, 32];

NSFont *font = [NSFont fontWithName:@"Courier" matrix: myMatrix];

我尝试按照上述方式进行操作,但没有得到输出。或者是否有任何其他类或方法可以做到这一点?请为我找到正确的解决方案。

4

1 回答 1

0

尽管被称为“矩阵”,但预期的数组fontWithName:matrix:只是一个平面数组;它不是数组的数组(“二维数组”)。

文档说

fontMatrix是 PostScript 语言中使用的标准 6 元素转换矩阵,特别是与运算符一起使用makefont。在大多数情况下,您可以简单地使用fontWithName:size:来创建标准缩放字体。

您可以将定义的值NSFontIdentityMatrix用于[1 0 0 1 0 0]。使用矩阵创建的字体NSFontIdentityMatrix不会在翻转视图中自动翻转。

因此,您需要传递一个包含六个CGFloats 的平面数组。float(除非您使用的是真正旧版本的 Xcode,否则它们不应该是s。)

它们究竟需要是哪六个数字,只有您可以确定,因为您是唯一知道问题中显示的代码中“16”和“32”的意义的人。

于 2013-07-20T00:26:22.580 回答