2009-02-19 19 views
7

ya he visto este post:¿Cómo incluyo una fuente con mi aplicación de iPhone?

Can I embed a custom font in an iPhone application?

que es útil, pero me encantaría simplemente cargar la fuente a través de:

UIFont* font = [UIFont fontWithName:@"Harrowprint" size:20]; 

Algunas personas han reportado que esto sea posible pero es no funciona para mi ¿Alguien puede confirmar cómo agrupar una fuente personalizada con una aplicación para iPhone?

Además, en la publicación mencionada, una respuesta señala: El "nombre" de la fuente no es necesariamente el nombre del archivo.

¿Cómo determino el "nombre" de la fuente que UIFont reconocería? Es posible que no use el nombre correcto.

Respuesta

13

Hay varios pasos que debe tomar:

1) Asegúrese de que tiene los derechos para distribuir la fuente. La mayoría de las fuentes, incluso las gratuitas, no te permiten distribuirlas. Ponerlos en su aplicación probablemente consitute la "distribución" y se consideraría ilegal.

2) Copie la fuente a su carpeta de Recursos en su aplicación. Asegúrate de que esté en tu fase de compilación Copiar archivos.

3) Añadir "Fuentes proporcionadas por la aplicación" clave para el archivo plist, y añadir el nombre de archivo completo de la fuente (incluyendo la extensión)

4) Obtener el 'nombre' de la fuente mediante el establecimiento de una línea temporal de código:

NSLog(@"%@",[UIFont familyNames]); 

Cree y ejecute la aplicación. Esto imprimirá en la consola los nombres de familia de todas las fuentes en el dispositivo. Encuentra el que coincida con tu fuente.

Puede utilizar ese nombre de fuente en el método fontWithName:.

+0

¿Estás seguro de que es así? Intenté hacer esto, y todo lo que obtuve fue la lista normal de fuentes. –

+0

Correcto: solo imprime el nombre de las fuentes estándar. No personalizados. – 4thSpace

+0

Esto no funciona. –

5

Para agregar a la respuesta anterior de August, debe agregar una clave "Fuentes proporcionadas por la aplicación" al archivo plist y agregar el nombre completo del archivo de la fuente (incluida la extensión). Luego, la fuente aparecerá en la impresión de la familia y puede usar ese nombre para establecer la fuente.

+0

Tenga cuidado al referirse a otras respuestas. No utilice palabras como arriba, abajo, anterior o siguiente, ya que el orden de las respuestas puede cambiar debido a la votación, las respuestas aceptadas y la configuración del usuario. He editado tu punto en la respuesta de @ August. – rjmunro

Cuestiones relacionadas