2013-03-07 22 views
10

Ben 2.3.3 android sürümünde bir Tamil haber uygulaması geliştirdi. Ancak, Tamil yazı tipleri sadece 4.0 sürümlerinde ve ötesinde geliştirilmiş. Onları android cep telefonunun tüm sürümlerinde görüntülemek istiyorum.Android için Tamil yazı tipleri

bamini ve mylai gibi bazı Tamil yazı tipleriyle sorunu çözmeye çalıştım, ancak yalnızca daha yüksek sürümlerde çalıştılar.

+0

kullanın var embedd ihtiyacım yok. FYI, Android 4.1 ve üstü için herhangi bir font dosyasına ihtiyacınız yok. Android varsayılan olarak tamil'i destekler. Problemin ne? Bana biraz daha detay verin. Sana yardım edebilirim. –

+0

Neden unicode kullanmıyorsunuz? –

+0

Evet ben sana katılıyorum Karthik Ben bamini yazı tipi ve tamil unicode dönüştürücü kullandım ama ben listview içinde görüntülemek için zaman alacağım.Sisteme kaydırma onun liste @Karthik Palanivelu – Loganathan

cevap

26

Her şeyden önce, Android işletim sisteminde (birkaç Samsung & SE cep telefonu hariç) TamSS'e (ICS (4.0) kadar Tamil Dili desteği olmadığını anlamanız gerekir. O zaman bile böcekleri vardı ve Jelly Bean (4.2) ile tam destek sağlandı.

Uygulamanızda Unicode Tamil yazı tipi kullanırsanız yalnızca kutuları görürsünüz. Nedeni sistemde Tamil yazı tipleri yoktur.

yapmanın

1. Manuel yolu, bu çözüm için geçici bir çözüm yoktur. Tek yapmanız gereken download the Bamini font ve varlıklarınızın klasörüne yerleştirmektir. Ve font Bamini ile TypeFace oluşturun ve TextView'a ayarlayın.

Typeface font1 = Typeface.createFromAsset(getAssets(), "fonts/Bamini.ttf"); 
customText1.setTypeface(font1); 

Şimdi bir converter to convert Unicode font into Bamini kodlamasını kullanır. Unicode metni yerine dönüştürülen Bamini kodlanmış komut dosyasını setText yöntemine sağlar. Kütüphane Kullanımı

2.

Eğer yukarıda doğrultusunda söylediği gibi uygulamayı çalıştırırken dinamik kodlamasını değiştirmek isterseniz tüm bu manuel kodlama dönüşüm sonra, bu library

kontrol nefret ediyorlarsa consider using the library Android için yazdım. Bu kütüphane Unicode String'i Bamini, TSCII, TAB, TAM ve Anjal'e dönüştürmenize yardımcı olacaktır.

Kurulum çok basit. Tek yapmanız gereken kütüphaneyi Android projenize aktarmak ve kütüphaneyi aşağıdaki gibi çağırmaktır.

// Initialise the Typeface (assumes TSCII, Bamini, Anjal, TAB or TAM font located inside assets/fonts folder) 
Typeface tf = Typeface.createFromAsset(getAssets(),"fonts/mylai.ttf"); 
// Initialises the TextView 
TextView tv = (TextView)findViewById(R.id.textView1); 
//Setting the Typeface 
tv.setTypeface(tf); 
//Magic happens here ;) encoding conversion 
String TSCIIString = TamilUtil.convertToTamil(TamilUtil.TSCII, "வணக்கம் அன்ரொயிட்"); 
//Setting the new string to TextView 
tv.setText(TSCIIString); 

kütüphane ile birlikte kullanılabilen bir sample app yoktur. Unicode String'i Bamini, TAB, TAM, TSCII ve Anjal'e dönüştürmek için kütüphanenin nasıl kullanıldığına dair uygulamayı inceleyin.

Kitaplığı kullandığınızda böyle bir şey alırsınız.

Screen Shot Tamil Unicode Converter Utill

Sen Android'de TypeFace sınıfının kullanımı yapmak gerekir. Bamini veya TSCII kodlamasını kullanabilirsiniz (Mylai bir TSCII yazı tipidir).

Yasal Uyarı: Bu kitaplığı yazdım. WebView'da

için

3. ardından this application's source bakmak bir WebView içine wraped html ve CSS kullanarak geliştiriyorsanız. CSS3'ün fontface özelliğini kullanmanız gerekecek.

Önce bu

@font-face { 
font-family: MyCustomFont; 
src: url("Bamini.ttf") /* TTF file for CSS3 browsers */ 
} 

Sonra etiketleri MyCustomFont kullanmam gerek olarak stil ilan olması gerekir. Örneğin (bu durumda çok daha kolaydır) tüm vücut bu kadar hak size kafaları verecekti

body { 
font-family: MyCustomFont, Verdana, Arial, sans-serif; 
font-size: medium; 
color: black 
} 

Umut ayarlayın istersen. Play Store'da daha fazla Tamil uygulamasını görmeyi umuyoruz.

+1

Cevabınız için teşekkürler, sadece kütüphaneyi takip ettim. – Loganathan

+0

Tamil yazı tipi devam eden iletişim kutusunda nasıl görüntülenir – Loganathan

+0

@logu Uygulaması stiller mümkün ancak Tamil yazı tipinin mümkün olduğundan emin değilim. Daha fazla kazacağım ve herhangi biriyle karşılaşırsam burada güncellenir. Genellikle SDK sürümünü kontrol eder ve ICS için Tamil metnini ve daha eski cihazlarda sadece İngilizce metin için gösterir. –