2012-06-16 29 views
9

Quiero mostrar fuentes arábigas (fuentes me_quran) en mi aplicación. Tengo texto en árabe en mi base de datos.iPhone: no se pueden mostrar las fuentes en árabe correctamente. ¿Cómo usar glifos para mostrarlo?

Ejemplo de texto árabe: "بسم ٱلله ٱلرحمن ٱلرحيم"

He tratado siguientes cosas.

1) Proveedores:

En archivo info.plist He añadido .ttf archivo en la opción fonts provided by application.

[UIFont fontWithName:@"me_quran" size:20.0]; 

2) Probar:

intentado con el código ArabicConverter de demostración.

Resultados de la prueba anterior:

aplicación no muestra las fuentes árabes adecuados. Por ejemplo, se usa para mostrar el círculo donde se supone que es medio círculo como la forma de la luna. y muchas veces se usa para mostrar solo líneas en lugar de líneas con algunas curvas.

Tengo algunos enlaces que son: link1, link2. Pero este enlace no contiene mucha información sobre cómo resolver el problema.

Lo interesante que obtuve es usar glyphs para resolver el problema. Pero no sé cómo usarlo?

¿Alguien me puede dar alguna idea o un enlace sobre cómo usar glyphs en iOS? o cualquier proyecto de muestra?

+0

Por favor, acepte la respuesta más útil haciendo clic en la marca de verificación al lado de cada respuesta. – Neeku

+0

@Neeku: La respuesta no resuelve mi problema, tengo fuentes especiales y su script, la combinación de esto da una fuente árabe perfecta en iOS. Realmente aprecio tu ayuda, pero no me ayudó. – Devang

+0

Ah, está bien. ¿Qué le parece compartir su script con nosotros? ¡Tuve uno y nunca funcionó con iOS 7! – Neeku

Respuesta

0

Arrastra tu fuente a la sección de recursos. A continuación, agregue ese nombre de archivo en las fuentes info.plist proporcionadas por la aplicación. este nombre de fuente puede diferir de como en el nombre .ttf. así que verifique el nombre correcto de la fuente que funcionará.

comprobar su fuente fue emparejado correctamente en la lista de fuentes disponibles

// List all fonts on iPhone 
    NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]]; 
    NSArray *fontNames; 
    NSInteger indFamily, indFont; 
    for (indFamily=0; indFamily<[familyNames count]; ++indFamily) 
    { 
     NSLog(@"Family name: %@", [familyNames objectAtIndex:indFamily]); 
     fontNames = [[NSArray alloc] initWithArray: 
        [UIFont fontNamesForFamilyName: 
         [familyNames objectAtIndex:indFamily]]]; 
     for (indFont=0; indFont<[fontNames count]; ++indFont) 
     { 
      NSLog(@" Font name: %@", [fontNames objectAtIndex:indFont]); 
     } 

    } 
+0

Sí, ya lo he hecho y coincide con el nombre de la fuente. – Devang

+0

se mostró el nombre de su fuente seguido del código anterior "Nombre de la fuente" sección NSLog. – Senthilkumar

+0

Sí. Si lo sabes correctamente, entonces iOS tiene errores con las fuentes árabes. Pero una de las aplicaciones tiene fuentes arábigas adecuadas. Entonces debe haber alguna forma de usar fuentes arábigas en iOS. Avíseme si tiene otra opción. – Devang

3

árabe/persa fuentes no están bien definidos en Xcode, y la única fuente predeterminada para ellos, es el tipo de letra "Geeza". No he usado glifos, pero here es una API para fuentes persas, y eso también debe funcionar para fuentes en árabe. Compruébalo y mira si eso ayuda.

+0

¡No funciona para me_quran! – Devang

+0

¿Quieres decir que funciona para otras fuentes? – Neeku

+0

No lo he intentado, excepto me_quran y la demo que contiene las fuentes. – Devang

1

Salam,

He intentado su ejemplo usando ArabicConverter, y ha funcionado conmigo, puede ser que usted está utilizando una fuente diferente que me_quran

antes de usar ArabicConverter:

después de usar ArabicConverter:

+0

Nop no es una salida perfecta. Debería haber media luna en lugar de círculos. – Devang

Cuestiones relacionadas