Por favor, disculpe la longitud de esta pregunta. Necesito explicar todo esto para ayudar a otros y evitar contribuyentes útiles para dar respuestas sin pedir aclaraciones.
Mi requisito en una línea: "habilitar un teléfono Android para que muestre los caracteres tamiles correctamente".
Elaboración: Tamil, como cualquier otro idioma indio, tiene un complejo sistema de representación de caracteres. A diferencia del inglés u otro script en latín, tiene un glifo (lo que ves en la pantalla) compuesto por más de un carácter. Android no tiene la capacidad de representar scripts tan complejos (con excepciones). Mi objetivo es saber cómo puedo proporcionar esa capacidad a un teléfono o tableta Android.
Poco fondo que he reunido hasta ahora: para mostrar un glifo en la pantalla, Android primero necesita un archivo de fuente adecuado. El dispositivo Android tiene una carpeta / sistema / fuentes que tiene pocas. El archivo más interesante en esa carpeta es el DroidSansFallback.ttf. Como su nombre indica, cuando el sistema de Android no puede encontrar un carácter en las fuentes del sistema (que podría ser DroidSans.ttf o DroidSans-Bold.ttf, etc.), recurre a la búsqueda en DroidSansFallback.ttf.
Al reemplazar un archivo de fuente adecuado de la PC (Latha.ttf o Lohit-Tamil.ttf, estas son fuentes para Tamil) y DroidSansFallback.ttf permitirá mostrar caracteres Tamil en el dispositivo. No es tan fácil de reemplazar e implica rootear el dispositivo y montar el sistema como grabable.
A pesar de esos problemas, incluso si se reemplaza el DroidSansFallback.ttf, los caracteres tamiles que se muestran no se representan correctamente. El carácter tamil "தி" es un conjunto de dos caracteres y, en lugar de aparecer como "தி", se mostrará como "த ி" sin espacio entre ellos. Aunque esto es suficiente para leer mensajes cortos, no se puede usar para leer libros, etc.
Desde Android 4.0 en adelante, Tamil y otros pocos idiomas son compatibles a través del navegador como se dice en la descripción general de la API de Android 4.x como se ve a continuación.
Support for Indic fonts (Devanagari, Bengali, and Tamil, including the complex
character support needed for combining glyphs) in WebView and the built-in Browser
Las palabras a tener en cuenta son "en WebView y el navegador incorporado", lo que significa que los caracteres tamiles se representarán perfectamente si se representa como contenido HTML y no se representarán de otra manera. Opera y otros pocos navegadores hicieron esto incluso antes de Android 4.0 sustituyendo imagen en lugar de carácter.
Me di cuenta de que en pocos dispositivos que se dirigen al mercado indio (por ejemplo: LG Optimus One, la mayoría de los teléfonos y tabletas Samsung) pueden mostrar Tamil correctamente tanto en el navegador como incluso en lugares fuera del navegador, como contactos, mensajes de texto, nombres de archivos, etc. Para mi sorpresa, lo hacen incluso en Android 2.3 en adelante. También noté que el mismo modelo dirigido a un país no indio que ejecuta la misma versión de Android no es compatible con la visualización de caracteres Tamil.
Esto me hizo investigar más y llegué a la conclusión de que Android (como otros sistemas operativos basados en Linux) depende de un motor de representación de fuentes para mostrar caracteres tan complejos. Los dos motores que encontré son Skia y Harfbuzz. Noté que LG usa skia y Samsung usa las bibliotecas Harfbuzz en sus dispositivos para brindar esta capacidad.
Encontré muchos sitios web que sugieren reemplazar estas bibliotecas y fuentes. No funcionó y se congela. Afortunadamente hice una copia de seguridad usando clockworkmod y, por lo tanto, restauré mi teléfono.
Aunque había explicado esto con tamil, esto es aplicable para la mayoría de los idiomas indios.
Aquí viene mi pregunta (si todavía está leyendo;)) Ahora, estoy seguro de que está claro que un archivo TTF debe estar presente para proporcionar caracteres y se requieren bibliotecas apropiadas (libskia.so o libharfbuzz.so) para representarlos correctamente. ¿Alguien sabe cómo estos fabricantes pueden proporcionar la capacidad? Incluso estoy listo para construir mi propia ROM desde AOSP (Android Open Source Project).
fuente
Respuestas:
Teléfono desbloqueado
Android debajo de la carpeta
/system/fonts
contiene un archivo llamado "DroidSansFallback.ttf" que se supone que contiene todos los caracteres del idioma. Actualmente carece de soporte para muchos, incluido el tamil.Siempre se puede reemplazar el archivo con uno que contenga caracteres tamiles, permitiendo así el uso de tamiles en su teléfono.
De XDA Developers Thread - DroidSans Fallback Indic Font , los usuarios han probado y utilizado con éxito Tamil en sus teléfonos.
Para realizar este método, necesita acceso de root a su teléfono, para acceder
/system
y cambiar el archivo Fallback:Siga el hilo XDA Developers para ver cómo reemplazar el archivo :
Nota: el punto de montaje no es el mismo para todos los teléfonos.
Aplicación Android
Si bien el método anterior puede atraer a algunos usuarios, prefiero una aplicación cuando esté disponible.
Además, Tamil tiene un teclado con un total de 247 caracteres, mientras que el inglés solo necesita 26. Por lo tanto, esto se convierte en un problema importante al escribir:
Ver Wikipedia :: Idioma tamil - Sistema de escritura
Gracias a Krishan, y está trabajando en este tema, ya hay una aplicación disponible para tratar ambos problemas, el uso de Tamil en todo el sistema y un teclado que se puede usar para escribir caracteres Tamil.
Lea la publicación de Krishan titulada Tamil Unicode Font para Android: trabajando para obtener información detallada sobre el desarrollo de esta solución.
Para resumir
Krishan desarrolló y publicó dos aplicaciones en Google Play que tratan por completo el problema de tener un sistema operativo Android completo en tamil:
Tamil Unicode Keyboard
Fuente Tamil Unicode
fuente
Parece que estás describiendo el problema 4153 , un error conocido en Android.
Este problema se ha informado como resuelto en Jelly Bean. Si esta captura de pantalla es correcta, entonces el problema debería resolverse. (Realmente no puedo decirme a mí mismo, pero tengo acceso a Jelly Bean y puedo hacer capturas de pantalla desde él).
fuente
Instalar el navegador web Opera Mini
En el navegador web Opera Mini, escriba "about: Config"
usar fuentes de mapa de bits para scripts complejos: seleccione Sí
Puede ver todos los sitios en fuente tamil en cualquier marca de teléfono móvil
Saludos
fuente
No es necesario rootear y reemplazar la fuente en el sistema Android.
Reemplace el firmware de su dispositivo con un firmware similar de la región india para representar la fuente Devanagari correctamente. El firmware de otras regiones no representa las fuentes Devanagari correctamente. Las fuentes Devanagari se representan correctamente en la versión 2.x. de Android de la Región India.
fuente