Por favor, disculpe la longitud de esta pregunta. Tengo que explicar todo esto para ayudar a otros y evitar útil colaboradores para dar respuesta sin pedir aclaraciones.
Mi requisito en una línea: "para habilitar un teléfono Android con pantalla de Tamil caracteres correctamente".
Elaboración: Tamil, como cualquier otro idioma de la India ha personaje complejo sistema de representación. A diferencia del inglés o de otros alfabetos latinos, ha glifo (lo que se ve en pantalla), compuesto de más de un carácter. Android no tiene la capacidad para que las secuencias de comandos complejas (con excepciones). Mi objetivo es saber cómo puedo proporcionar una capacidad tal para un teléfono Android o tableta.
Poco de información que he reunido hasta ahora: Para mostrar un glifo en la pantalla, Android necesita, en primer lugar un adecuado archivo de fuente. Dispositivo Android tiene una carpeta /system/fonts que tiene algunos de ellos. Los más interesantes archivos en esa carpeta es la DroidSansFallback.ttf. Como el nombre sugiere, cuando Android el sistema no puede encontrar a un personaje en el sistema de fuentes (que podría ser DroidSans.ttf o DroidSans-Bold.ttf etc.), se cae de nuevo a buscar en DroidSansFallback.ttf.
Mediante la sustitución de un adecuado archivo de la fuente de la PC (Latha.ttf o Lohit-Tamil.ttf - estas son fuentes de Tamil) y DroidSansFallback.ttf permitirá mostrar Tamil caracteres en el dispositivo. No es tan fácil de reemplazar y consiste en desbloquear el dispositivo y el montaje del sistema de escritura.
A pesar de los problemas, incluso si el DroidSansFallback.ttf es reemplazado, el Tamil caracteres que se muestran no se procesan correctamente. El Tamil carácter "தி" es un conjunto de dos caracteres y en lugar de obtener la muestra como "தி", se mostrará como "த ி" sin espacio entre. Aunque esto es suficiente para leer los mensajes, no puede ser utilizado para leer libros, etc.
A partir de Android 4.0 en los barrios, Tamil y otros pocos lenguajes son soportados a través del navegador, como se dijo en Android 4.x general API 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 de aviso "en WebView y la incorporada en el Navegador", lo que significa que Tamil personajes serán prestados a la perfección si se representa como el contenido HTML y no se hizo lo contrario. De la ópera y otros pocos navegadores hizo incluso antes de que Android 4.0 mediante la sustitución de la imagen en lugar de caracteres.
Me di cuenta de que en algunos de los dispositivos que se dirigen mercado Indio (ex: LG Optimus One, la mayoría de los teléfonos y tabletas Samsung) son capaces de mostrar Tamil correctamente tanto en el navegador e incluso en lugares fuera del navegador como en los contactos, mensajes de texto, los nombres de archivo, etc. Para mi sorpresa, ellos hacen esto incluso en Android 2.3 en adelante. También me di cuenta de que, el mismo modelo que la orientación no-Indio país ejecutando la misma versión de Android no admite Tamil caracteres de la pantalla.
Esto me hizo investigar más a fondo y llega a una conclusión de que Android (como otros basados en Linux OS) depende de la fuente del motor de renderizado para mostrar caracteres complejos. Los dos motores que encontré son Skia y Harfbuzz. Me di cuenta de LG utiliza skia y Samsung utiliza Harfbuzz bibliotecas en sus dispositivos para llevar esta capacidad.
Me llegó a través de muchos sitios web lo que sugiere que reemplaza estas bibliotecas y fuentes. No trabajo y los resultados en la congelación. Afortunadamente me hace copia de seguridad con clockworkmod y, por tanto, he restaurado mi teléfono.
A pesar de que me había explicado esto con Tamil, esto es aplicable para la mayoría de los idiomas de la India.
Aquí viene mi pregunta (si usted todavía está leyendo;) ) Ahora, ahora seguro de que es claro que un archivo TTF que deben estar presentes para proporcionar caracteres y un adecuado bibliotecas (libskia.así que o libharfbuzz.así, son necesarios para hacerlos correctamente. No cualquiera sabe cómo estos fabricantes son capaces de proporcionar la capacidad? Estoy incluso dispuesto a construir mi propia ROM AOSP (Android Open Source Project).