我很难准确理解 UIFont
中的磅值是什么意思。它不是像素,也不是与 1/72 英寸相关的点的标准定义。
我使用 -[NSString sizeWithFont:]
计算出不同大小字体的像素大小,得到以下结果:
| Point Size | Pixel Size |
| ---------- | ---------- |
| 10.0 | 13.0 |
| 20.0 | 24.0 |
| 30.0 | 36.0 |
| 40.0 | 47.0 |
| 50.0 | 59.0 |
| 72.0 | 84.0 |
| 99.0 | 115.0 |
| 100.0 | 116.0 |
(我做了 [@"A"sizeWithFont:[UIFont systemFontOfSize:theSize]]
)
看看 72.0
点大小,这不是 1 英寸,因为这是在 DPI 为 163 的设备上,所以 1 英寸就是 163.0 像素,对吧?
谁能解释一下 UIFont
术语中的“点”是什么?即我上面的方法是错误的,如果我使用其他东西,我会看到字体在 72 点处是 163 像素?还是纯粹是从其他东西定义一个点?
最佳答案
字体有一个内部坐标系,可以把它想象成一个单位正方形,其中一个字形的矢量坐标被指定为任意大小以适应字体中的所有字形 +- 字体设计者选择的任意数量的边距。
在 72.0 点处,字体的单位正方形是一英寸。字体 y 的字形 x 相对于这个平方英寸具有任意大小。因此,字体设计者可以使字体相对于其他字体显得大或小。这是字体“字符”的一部分。
因此,在 72 点处绘制“A”会告诉您它将是在 36 点处以相同字体绘制的“A”的两倍高 - 绝对没有其他关于实际位图大小的信息。
ie 对于给定的字体,确定点大小和像素之间关系的唯一方法是测量它。
关于objective-c - UIFont 的磅值到底是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11776767/