Maafkan panjang pertanyaan ini. Saya perlu menjelaskan semua ini untuk membantu orang lain dan untuk menghindari kontributor membantu untuk memberikan jawaban tanpa meminta klarifikasi.
Persyaratan saya dalam satu baris: "untuk mengaktifkan ponsel Android untuk menampilkan karakter Tamil dengan benar".
Elaborasi: Tamil, seperti bahasa India lainnya memiliki sistem render karakter yang kompleks. Tidak seperti bahasa Inggris atau skrip berbasis Latin lainnya, ia memiliki mesin terbang (apa yang Anda lihat di layar) terdiri dari lebih dari satu karakter. Android tidak memiliki kemampuan untuk membuat skrip yang rumit (dengan pengecualian). Tujuan saya adalah untuk mengetahui bagaimana saya bisa memberikan kemampuan seperti itu ke ponsel atau tablet Android.
Sedikit latar belakang yang saya kumpulkan sejauh ini: Untuk menampilkan mesin terbang di layar, Android pertama-tama membutuhkan file font yang cocok. Perangkat Android memiliki folder / sistem / font yang hanya sedikit. File paling menarik di folder itu adalah DroidSansFallback.ttf. Seperti namanya, ketika sistem Android gagal menemukan karakter dalam font sistem (itu bisa menjadi DroidSans.ttf atau DroidSans-Bold.ttf dll) ia kembali mencari di DroidSansFallback.ttf.
Dengan mengganti file font yang sesuai dari PC (Latha.ttf atau Lohit-Tamil.ttf - ini adalah font untuk Tamil) dan DroidSansFallback.ttf akan memungkinkan untuk menampilkan karakter Tamil di perangkat. Tidak mudah untuk mengganti dan melibatkan rooting perangkat dan pemasangan sistem sebagai dapat ditulis.
Terlepas dari masalah tersebut, bahkan jika DroidSansFallback.ttf diganti, karakter Tamil yang ditampilkan tidak ditampilkan dengan benar. Karakter Tamil "தி" adalah gabungan dari dua karakter dan alih-alih ditampilkan sebagai "தி", itu akan ditampilkan sebagai "த ி" tanpa spasi di antaranya. Meskipun ini cukup untuk membaca pesan pendek, itu tidak dapat digunakan untuk membaca buku dll.
Dari Android 4.0 di bangsal, Tamil dan beberapa bahasa lainnya didukung melalui peramban seperti yang disebutkan dalam ikhtisar Android 4.x API seperti yang terlihat di bawah ini.
Support for Indic fonts (Devanagari, Bengali, and Tamil, including the complex
character support needed for combining glyphs) in WebView and the built-in Browser
Kata-kata yang harus diperhatikan adalah "di WebView dan Browser bawaan", yang berarti bahwa karakter Tamil akan diterjemahkan dengan sempurna jika diterjemahkan sebagai konten HTML dan tidak akan diterjemahkan sebaliknya. Opera dan beberapa browser lainnya melakukan ini bahkan sebelum Android 4.0 dengan mengganti gambar daripada karakter.
Saya perhatikan bahwa di beberapa perangkat yang menargetkan pasar India (mis: LG Optimus One, sebagian besar ponsel dan tablet Samsung) mampu menampilkan bahasa Tamil dengan baik di peramban dan bahkan di tempat-tempat di luar peramban seperti di kontak, pesan teks, nama file, dll. Saya terkejut mereka melakukan ini bahkan di Android 2.3 dan seterusnya. Saya juga memperhatikan bahwa model yang sama dengan penargetan negara non-India yang menjalankan versi Android yang sama tidak mendukung tampilan karakter Tamil.
Ini membuat saya untuk menyelidiki lebih lanjut dan mencapai kesimpulan bahwa Android (seperti OS berbasis Linux lainnya) bergantung pada mesin rendering font untuk menampilkan karakter yang kompleks. Dua mesin yang saya temui adalah Skia dan Harfbuzz. Saya perhatikan LG menggunakan skia dan Samsung menggunakan perpustakaan Harfbuzz di perangkat mereka untuk menghadirkan kemampuan ini.
Saya menemukan banyak situs web yang menyarankan untuk mengganti pustaka dan font ini. Itu tidak bekerja dan menghasilkan pembekuan. Untungnya saya mencadangkan menggunakan clockworkmod dan karenanya saya mengembalikan ponsel saya.
Meskipun saya telah menjelaskan ini dengan Tamil, ini berlaku untuk sebagian besar bahasa India.
Inilah pertanyaan saya (jika Anda masih membaca;)) Sekarang, sangat yakin bahwa file TTF harus ada untuk memberikan karakter dan pustaka yang sesuai (libskia.so atau libharfbuzz.so) diperlukan untuk merendernya dengan benar. Adakah yang tahu bagaimana pabrikan-pabrikan ini mampu menyediakan kemampuan? Saya bahkan siap membuat ROM sendiri dari AOSP (Android Open Source Project).