Przede wszystkim musisz zrozumieć, że nie ma obsługi języka tamilskiego w systemie operacyjnym Android (z wyjątkiem niewielu telefonów Samsung & SE) do wersji ICS (4.0). Nawet wtedy miał błędy i pełne wsparcie zapewniono Jelly Bean (4.2).
Zobaczysz tylko pola, jeśli używasz w swojej aplikacji kodu Unicode Tamil. Powodem jest brak czcionek tamilskich w systemie.
1. Ręczny sposób wykonywania
Istnieje rozwiązanie dla tego rozwiązania. Wszystko, co musisz zrobić, to: download the Bamini font i umieścić je w folderze zasobów. I stwórz TypeFace z czcionką Bamini i ustaw ją na TextView.
Typeface font1 = Typeface.createFromAsset(getAssets(), "fonts/Bamini.ttf");
customText1.setTypeface(font1);
Teraz użyj kodowania converter to convert Unicode font into Bamini. zamiast tekstu w Unicode podaj przekonwertowany kodowany kod Bamini do metody setText
.
2. Korzystanie z biblioteki
Jeśli nienawidzę tych wszystkich instrukcji konwersji kodowania następnie sprawdzić ten library
Jak powiedziałem w powyższej linii, jeśli chcesz zmienić kodowanie dynamicznie podczas uruchamiania aplikacji następnie consider using the library Napisałem dla Androida. Ta biblioteka pomoże Ci przekonwertować ciąg Unicode na Bamini, TSCII, TAB, TAM i Anjal.
Konfiguracja jest bardzo prosta. Wszystko, co musisz zrobić, to po prostu zaimportować bibliotekę do projektu Android i wywołać bibliotekę jak poniżej.
// 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);
Jest sample app dostępny wraz z biblioteką. Sprawdź w aplikacji, w jaki sposób biblioteka jest wykorzystywana do konwersji ciągu znaków Unicode na Bamini, TAB, TAM, TSCII i Anjal.
Otrzymasz coś takiego podczas korzystania z biblioteki.
Trzeba skorzystać z klasy TypeFace
dostępne w Androidzie. Możesz użyć kodowania Bamini lub TSCII (Mylai jest czcionką TSCII).
Nota prawna: Napisałem tę bibliotekę.
3. Dla WebView
Jeśli tworzysz za pomocą HTML i CSS wraped wewnątrz WebView następnie przyjrzeć this application's source. Będziesz musiał skorzystać z funkcji CSS3 w wersji fontface
.
Najpierw trzeba mieć styl zadeklarowane jako ten
@font-face {
font-family: MyCustomFont;
src: url("Bamini.ttf") /* TTF file for CSS3 browsers */
}
Następnie musisz użyć MyCustomFont
w tagach. Na przykład, jeśli chcesz ustawić go do całego ciała (co jest znacznie łatwiejsze w tym przypadku)
body {
font-family: MyCustomFont, Verdana, Arial, sans-serif;
font-size: medium;
color: black
}
Nadziei To daje heads up zasługujesz. Mam nadzieję, że zobaczę więcej aplikacji tamilskich w Sklepie Play.
Użyłem bamini .. To działa na wszystkich wersji. FYI, dla Androida 4.1 i późniejszych, nie potrzebujesz żadnego pliku czcionki. Android domyślnie obsługuje tamil. Jaki masz problem? Daj mi trochę więcej szczegółów. Mogę ci pomóc. –
Dlaczego nie używać Unicode? –
Tak, zgadzam się z tobą Karthik Użyłem fontu bamini i konwertera tamil unicode, ale zajmie mi to trochę czasu, aby wyświetlić w liście. Podczas przewijania listview jego uderzył @Karthik Palanivelu – Loganathan