J'ai donc une NSFont, et je veux obtenir les dimensions maximales pour tous les caractères, ie. la hauteur et la hauteur de la lettre. [police maximumAdvancement] semble retourner un NSSize de {pitch, 0}, donc ça n'aide pas. Le rectangle de délimitation ne semble pas fonctionner non plus, et la suggestion de jwz's similar question de créer un chemin de Bézier, d'ajouter un glyphe et d'obtenir le rectangle de délimitation me renvoie également {0, 0}. Qu'est-ce qui donne ici?Obtention de la hauteur maximale d'une police
MISE À JOUR: Le code que je utilise pour obtenir la taille de Bézier est la suivante:
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];