uso usar una tipograficas tipografia tienen saber licencia libre las fuentes fuente dafont copyright compra como comercial macos cocoa text fonts kerning

macos - usar - tipografia



Fuente pequeña Cocoa(OS X): el kerning se ve horrible (2)

Creo que el tamaño de printDateRect es incorrecto. Para verificar esto, intente usar - (void)drawAtPoint:(NSPoint)point .

Solo un consejo...

Tengo una aplicación Cocoa OS X que crea archivos PDF para imprimir. Tengo un problema que cuando uso tamaños de letra pequeños, el kerning parece estar mal. Aquí hay una captura de pantalla. Esta es una ampliación de una salida PDF de mi aplicación, que usa Helvetica en 6 puntos.

Como puede ver, el kerning es horrible, con algunos personajes tocándose y otros demasiado separados.

El código que estoy usando básicamente se ve así (este es un ejemplo simplificado que reproduce el problema para mí):

NSString* dateStr = @"Printed 04/03/2012"; NSFont* detailsFont = [NSFont fontWithName:@"Helvetica" size:6]; NSMutableAttributedString* printedDate = [[NSMutableAttributedString alloc] initWithString:dateStr]; [printedDate addAttribute:NSFontAttributeName value:detailsFont range:NSMakeRange(0, [dateStr length])]; NSRect printedDateRect = NSMakeRect(0, 0, theWidth, 10); [printedDate drawInRect:printedDateRect];

Esto no es exclusivo de Helvetica, ocurre en todas las fuentes que he probado, aunque es más pronunciada en algunas que en otras. Si uso un tamaño más grande, como 10, se ve bien. 6 puntos Helvetica de otras aplicaciones como Text Edit se ve bien. ¿Qué debo hacer para representar correctamente el texto de 6 puntos?

Editado para agregar: Acabo de notar que esto parece mucho peor con las fuentes TrueType que con las fuentes PostScript. Lamentablemente, no tengo versiones PostScript de muchas de las fuentes que quiero usar, por lo que evitar TrueType no es realmente una opción.

Estoy ejecutando OS X 10.7.3 y XCode 4.2.1.


Si está obteniendo esto dentro de una celda, puede intentar variaciones del tamaño de la fuente y devolver líneas adicionales dentro de la celda. Prueba este enfoque.

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; cell.autoresizingMask = UIViewAutoresizingFlexibleHeight; cell.selectionStyle = UITableViewCellSelectionStyleNone; cell.textLabel.font = [UIFont boldSystemFontOfSize:11]; cell.textLabel.numberOfLines = 13;