Pregunta

Actualmente estoy usando el SDK de iPhone para crear una aplicación que utiliza scripts Indic. Sin embargo, el iPhone tiene problemas para representar ciertos glifos en muchas secuencias de comandos índicas. Por ejemplo:

प + ् + र = प्र

o

ਕ + ੍ + ਰ = ਕ੍ਰ

Cuando escribe esto en una Mac (o Windows), la computadora representará automáticamente los tres caracteres en un glifo (& # 2346; & # 2381; & # 2352; - en Unicode todavía se representa como tres caracteres sin embargo ) Debido a que el iPhone no admite AAT (Apple Advanced Typography) o funciones avanzadas de OpenType, representa los caracteres como tres separados, lo que se vuelve ilegible en muchos casos. Estoy pensando que debería haber una forma de codificar en Objective-C para asegurar que cada vez que los tres caracteres aparezcan en un UILabel, deberían representar un cierto glifo de la fuente Arial Unicode MS (incorporada). No me importa usar API no documentadas para lograr esto.

¿Fue útil?

Solución

El problema no es que el iPhone solo admita ciertas Indic o no admita las fuentes AAT. El iPhone es compatible con la tabla AAT con seguridad. ¡El problema es que la fuente AAT adecuada que usas no está incluida! U puede mostrar pocos glifos porque esos están incluidos en arialuni.ttf o helvetica.ttf. Pero esas fuentes no tienen ninguna tabla OpenType o AAT.

Puedo confirmar con la imagen lo que afirmo, tengo un iPhone con jailbreak y puedes consultar flickr.com/photos/41161441@N03/ para ver la imagen para el renderizado Khmer adecuado, que es uno de los guiones índicos más complejos.

Le expliqué el problema en el foro del sitio web modmyi.com. http: //www.modmyi.com/forums/general-iphone-chat/680094-indic-font-rendering-iphone-yes-working.html#post4897261

Otros consejos

Comience explorando lo que Apple está usando de la siguiente manera:

  • Intente ingresar los glifos separados tanto en Notas como en Correo y vea si se componen. De lo contrario, es poco probable que haya un código oculto que haga esto.

  • Luego, creó un personaje compuesto en Mac y envíelo por correo electrónico a su iPhone. Vea si Mail incluso es capaz de mostrar varios caracteres compuestos. Repita alojando una página web con personajes compuestos y observando lo que hace MobileSafari. He hecho esto por ti al ver esta página en MobileSafari; no compone los caracteres correctamente. Eso nos dice que WebKit en iPhone no puede ayudarte (y hace que sea mucho menos probable que iPhone pueda hacer esto).

  • Finalmente, ¿por qué crees que ??? está disponible para iPhone? ¿Alguna vez has podido mostrar este glifo en un iPhone en alguna aplicación? Es muy posible que no exista tal definición de glifos, en cuyo caso puede estar atascado a menos que esté listo para escribir su propio administrador de diseño (lo que probablemente requeriría crear una vista de texto completamente nueva). Si ha podido mostrarlo en algún lugar, puede avanzar desde allí para descubrir cómo lo está mostrando Apple.

¿Hay incluso un teclado índico disponible en iPhone? No he podido encontrar uno, y si no lo hay, entonces es extremadamente improbable que tengan mucho soporte índico oculto en métodos privados.

Asegúrese de abrir los Radares (bugreport.apple.com) para cualquier glifo que se dibuje incorrectamente en el iPhone. Así es como saben arreglarlo.

Trabajo en aplicaciones de aprendizaje de idiomas.

Hay poco o ningún soporte para scripts índicos en el iPhone. Tendrá que escribir su propio soporte de representación de texto y elementos que lo usan o esperar a que Apple lo implemente.

El iPhone OS no pudo procesar los scripts en árabe hasta 3.0, y OS X solo admite ciertos textos índicos con soporte de representación de terceros.

Mi solución para admitir scripts que el sistema operativo iPhone no puede procesar es usar imágenes pre-renderizadas. Probablemente no te sea de mucha ayuda, pero eso es lo que hacemos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top