0
所以我有一個NSFont,我想獲得任何字符的最大尺寸,即。音高和字母高度。 [font maximumAdvancement]似乎會返回{pitch,0}的NSSize,所以這沒有幫助。邊界矩形似乎也不起作用,並且從jwz's similar question建立一個貝塞爾路徑的建議,附加一個字形和獲得邊界矩形也給我回{0,0}。這裏給出了什麼?獲取字體的最大高度
更新:我使用來獲取貝塞爾大小不同的代碼是這樣的:
NSBezierPath *bezier = [NSBezierPath bezierPath];
NSGlyph g;
{
NSTextStorage *ts = [[NSTextStorage alloc] initWithString:@" "];
[ts setFont:font];
NSLayoutManager *lm = [[NSLayoutManager alloc] init];
NSTextContainer *tc = [[NSTextContainer alloc] init];
[lm addTextContainer:tc];
[tc release]; // lm retains tc
[ts addLayoutManager:lm];
[lm release]; // ts retains lm
g = [lm glyphAtIndex:0];
[ts release];
}
NSPoint pt = {0.0f};
[bezier moveToPoint:pt];
[bezier appendBezierPathWithGlyph:g inFont:font];
NSRect bounds = [bezier bounds];