Obtener la altura máxima de una fuente

votos
0

Así que tengo un NSFont, y quiero obtener las dimensiones máximas para cualquier personaje, es decir. el tono y la altura de la letra. [font maximumAdvancement] parece devolver un NSSize de {pitch, 0}, por lo que no ayuda. El rect de limitación tampoco parece funcionar, y la sugerencia de la pregunta similar de jwz de crear un camino más lleno de bóxer, agregar un glifo y obtener el reborde delimitador también me devuelve {0, 0}. ¿Qué da aquí?

ACTUALIZACIÓN : El código que estoy usando para obtener el tamaño bezier es este:

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];
Publicado el 23/10/2008 a las 15:04
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
6

El glifo para el carácter de espacio no tiene ningún subpaso, por lo que sus límites tienen tamaño NSZeroSize. Intenta en -[NSFont boundingRectForFont]cambio.

Respondida el 23/10/2008 a las 16:07
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more