Прежде всего, вам нужно понять, что в ОС Android нет поддержки тамильского языка (кроме нескольких мобильных телефонов Samsung & SE) до ICS (4.0). Даже тогда у него были ошибки, и полная поддержка предоставлялась Jelly Bean (4.2).
Если вы используете шрифт Unicode Tamil в своем приложении, вы увидите только квадраты. Причина в том, что в системе нет тамильских шрифтов.
1. Ручной способ сделать
Существует работа вокруг этого решения. Все, что вам нужно сделать, это: download the Bamini font и поместить его в папку с вашими активами. И создайте TypeFace с шрифтом Bamini и установите его в TextView.
Typeface font1 = Typeface.createFromAsset(getAssets(), "fonts/Bamini.ttf");
customText1.setTypeface(font1);
Теперь используйте кодировку converter to convert Unicode font into Bamini. вместо текста в Юникоде предоставляют преобразованный сценарий с кодировкой Bamini в метод setText
.
2. Использование библиотеки
Если вы ненавидите все это ручное преобразование кодировки, а затем проверить эту library
Как я уже говорил в строке выше, если вы хотите изменить кодировку динамически во время работы приложения, то consider using the library Я написал для Android. Эта библиотека поможет вам преобразовать строку Unicode в Bamini, TSCII, TAB, TAM и Anjal.
Настроить очень просто. Все, что вам нужно сделать, это просто импортировать библиотеку в свой проект Android и вызвать библиотеку, как показано ниже.
// 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);
Существует sample app доступна вместе с библиотекой. Ознакомьтесь с приложением о том, как библиотека используется для преобразования строки Unicode в Bamini, TAB, TAM, TSCII и Anjal.
При использовании библиотеки вы получите что-то подобное.
Вам нужно сделать использование TypeFace
класса доступны в Android. Вы можете использовать либо кодировку Bamini, либо TSCII (Mylai - это шрифт TSCII).
Отказ от ответственности: Я написал эту библиотеку.
3. Для WebView
Если вы разрабатываете с помощью HTML и CSS wraped внутри WebView, то посмотрите на this application's source. Вы должны использовать функцию fontface
CSS3.
Прежде всего, необходимо иметь стиль объявлен как это
@font-face {
font-family: MyCustomFont;
src: url("Bamini.ttf") /* TTF file for CSS3 browsers */
}
Тогда ты должен использовать MyCustomFont
в тегах. Например, если вы хотите установить его на все тело (что гораздо проще в данном случае)
body {
font-family: MyCustomFont, Verdana, Arial, sans-serif;
font-size: medium;
color: black
}
Надеется, что это даст вам голову вы заслуживаете. Надеемся увидеть больше тамильских приложений в Play Маркете.
Я использовал bamini .. Она работает на все версии. FYI, для Android 4.1 и более поздних версий вам не нужен файл шрифтов. Android поддерживает tamil по умолчанию. Какая у вас проблема? Дайте мне более подробную информацию. Я мог бы вам помочь. –
Почему бы не использовать unicode? –
Да, я согласен с тобой Karthik Я использовал шрифт bamini и конвертер unicode tamil, но мне потребуется время, чтобы отобразить его в списке. Прокрутка списка просмотров удалена @ Karthik Palanivelu – Loganathan