2009-06-14 14 views
6

Me gustaría utilizar algunas fuentes que no son parte del sistema operativo del iPhone. He visto juegos que usan fuentes no estándar. Puedo instalar las fuentes, crear imágenes para cada una en Photoshop y luego usar esas imágenes en la aplicación de iPhone. Sin embargo, no creo que sea una forma práctica de hacerlo. Si es necesario ajustar el color o el tinte (por el fondo) o el tamaño, tendré que volver a diseñar cada fuente que esté usando. ¿Hay una mejor manera de hacer esto?Uso de fuentes que no están en el iPhone

He leído esto Can I embed a custom font in an iPhone application? y descargué la aplicación de etiquetas de fuente abierta. Sin embargo, se cuelga la mayor parte del tiempo cuando intento usar fuentes particulares. Con respecto al último comentario sobre el uso de UIFont con fontWithName: size, eso ciertamente no funciona. La variable de fuente será nula. Mostrar todas las fuentes disponibles revela por qué: ninguna de las fuentes personalizadas está en la lista.

También he leído How do I include a font with my iPhone application?, que definitivamente no funciona. Igual que el último comentario en el enlace de arriba.

+0

Muchos juegos usa su propia representación de fuente. –

+0

¿Necesita renderizado de fuentes OpenGL? o si desea utilizar fuentes personalizadas dentro de una aplicación Cocoa-Touch típica? – Goles

Respuesta

7

La respuesta correcta es utilizar FontLabel, que se puede encontrar en GitHub. http://github.com/zynga/FontLabel

He utilizado ese código en varios proyectos del mundo real y es absolutamente fantástico.

ACTUALIZACIÓN:

A partir de iOS 3.2 (iPad solamente) & iOS 4 en el iPhone, puede empaquetar fuentes TTF dentro de su paquete de aplicaciones. Después de ingresarlos en su Info.plist usando la tecla UIAppFonts.

Tres instrucciones paso a paso aquí: http://kgriff.posterous.com/45359635

+0

Como dijo @David Dunham, los juegos generalmente usan un tipo diferente de representación de fuente, llamada representación de fuente de mapa de bits. De hecho, muestra las coordenadas de una imagen en lugar de vectores basados ​​en matemáticas y está limitado al tamaño especificado en la imagen. –

0

Esto lamentablemente no es una respuesta inmediata, pero parece que en el futuro, usted será capaz de incluir fuentes personalizadas como parte de su aplicación:

UIAppFonts (Array - iPhone OS) especifica cualquier aplicación fuentes proporcionadas que deberían estar disponibles a través de los mecanismos normales. Cada elemento de la matriz es una cadena que contiene el nombre de un archivo de fuente (incluida la extensión de nombre de archivo) que se encuentra en el paquete de la aplicación. El sistema carga las fuentes especificadas y las pone a disposición de la aplicación cuando se ejecuta.

Lamentablemente, esto funciona solo en iPhone OS 3.2, que es la versión específica del iPad. Parece muy probable que esta característica esté disponible en futuras versiones de iPhone OS.

Enlace: http://developer.apple.com/iPhone/library/documentation/General/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html#//apple_ref/doc/uid/TP40009252-SW18

(esta era la única documentación pública que pude encontrar en el sitio de Apple)

3

La solución es añadir una nueva propiedad "Fuentes proporcionadas por la aplicación" a su archivo info.plist.

Luego, puede usar su fuente personalizada como UIFont normal.

2

Esto es realmente bastante fácil.

Incluya su ttf en el paquete de la aplicación. Agrega la clave Fonts provided by application/UIAppFonts a su aplicación, esta es una matriz de nombres de archivo para las fuentes que está incluyendo (incluida la extensión), p.:

enter image description here

Puede el uso de la fuente con bastante facilidad utilizando UIFont:

self.label.font = [UIFont fontWithName:@"Wingdings" size:23.0f]; 

Esto funciona en todas las versiones de iOS desde 3.2, incluyendo en el iPhone de iOS 4.

Cuestiones relacionadas