2013-03-07 6 views
10

Ich entwickelte eine tamilische Nachrichtenanwendung in Android-Version 2.3.3. Tamil-Schriften wurden jedoch nur in Android-Versionen 4.0 und höher entwickelt. Ich möchte sie in allen Versionen von Android Mobile anzeigen.Tamil Fonts in Android

Ich habe versucht, das Problem mit einigen Tamil Fonts, wie bamini und mylai zu lösen, aber sie arbeiteten nur in höheren Android-Versionen.

+0

I bamini verwendet haben .. Es ist auf allen Versionen funktioniert. Zu Ihrer Information, für Android 4.1 und höher benötigen Sie keine Schriftartdatei. Android unterstützt Tamil standardmäßig. Welches Problem hast du? Gib mir ein paar Details. Ich könnte dir vielleicht helfen. –

+0

Warum nicht Unicode verwenden? –

+0

Ja, ich stimme dir zu Karthik Ich habe Bimini Schriftart und Tamil Unicode-Konverter verwendet, aber ich werde Zeit in ListView anzeigen.Während des Scrolling der Listview schlug er @Karthik Palanivelu – Loganathan

Antwort

26

Zunächst müssen Sie verstehen, dass es keine Tamil-Sprachunterstützung in Android OS (außer einigen Samsung & SE Handys) bis ICS (4.0) gibt. Schon damals hatte es Bugs und volle Unterstützung wird mit Jelly Bean (4.2) geboten.

Sie werden nur Felder sehen, wenn Sie Unicode Tamil Schriftart in Ihrer App verwenden. Grund ist, dass im System keine Tamil-Schriften vorhanden sind.

1. Hand Weg

Es zu tun, ist eine Arbeit um für diese Lösung. Alles, was Sie tun müssen, ist, download the Bamini font und legen Sie es in Ihrem Ordner Assets. Und erstellen Sie TypeFace mit der Schriftart Bamini und setzen Sie sie auf TextView.

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

Verwenden Sie jetzt eine converter to convert Unicode font into Bamini Kodierung. anstelle des Unicode-Textes stellen Sie das konvertierte Bamini-kodierte Skript in die setText-Methode.

2. Gebrauch der Library

Wenn Sie alle diese manuelle Codierung hassen Umwandlung dieses library dann schauen Sie sich

Wie ich in Zeile oben gesagt, wenn Sie die Codierung dynamisch ändern möchten, während die Anwendung läuft dann consider using the library Ich schrieb für Android. Diese Bibliothek wird Ihnen helfen, Unicode String zu Bimini, TSCII, TAB, TAM und Anjal zu konvertieren.

Einrichtung ist sehr einfach. Alles, was Sie tun müssen, ist einfach die Bibliothek in Ihr Android-Projekt zu importieren und die Bibliothek wie folgt aufzurufen.

// 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); 

Es gibt eine sample app mit der Bibliothek zur Verfügung entlang. Sehen Sie sich die App an, wie die Bibliothek verwendet wird, um die Unicode-Zeichenkette in Bamini, TAB, TAM, TSCII und Anjal zu konvertieren.

Sie würden so etwas erhalten, wenn Sie die Bibliothek verwenden.

Screen Shot Tamil Unicode Converter Utill

Sie benötigen Verwendung der TypeFace Klasse in Android zu machen. Sie können entweder Bimini- oder TSCII-Codierung verwenden (Mylai ist eine TSCII-Schriftart).

Haftungsausschluss: Ich habe diese Bibliothek geschrieben.

3. Für WebView

Wenn Sie mit HTML und CSS in einem WebView wraped entwickeln dann auf this application's source einen Blick darauf werfen. Sie müssen fontface Feature von CSS3 verwenden.

Zuerst müssen Sie Stil wie diese

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

Dann musst du die MyCustomFont in Ihre Tags. Zum Beispiel, wenn Sie wollen es auf den ganzen Körper festgelegt (die in diesem Fall viel einfacher ist)

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

Hoffnung Dies würde Ihnen die Heads-up Sie verdienen. Ich hoffe, mehr tamilische Apps im Play Store zu sehen.

+1

Vielen Dank für Ihre Antwort, ich folgte dieser Bibliothek only.its funktioniert gut. – Loganathan

+0

Wie Tamilschrift im laufenden Dialog angezeigt wird – Loganathan

+0

@logu Anwendung Stile sind möglich, aber ich bin mir nicht sicher, Tamil Schriftart ist möglich. Ich werde weiter graben und hier updaten wenn ich auf welche stoße. Normalerweise überprüfe ich die SDK-Version und zeige Tamil-Text für ICS und höher für nur älteren englischen Text. –