Android: как использовать тамильский шрифт - PullRequest
3 голосов
/ 22 августа 2011

Это моя тамильская HTML-строка Unicode

முதல் பக்க செய்திகள்

Я использую этот код:

    TextView text=(TextView)findViewById(R.id.text); // initialize to your textview
    Typeface tf = Typeface.createFromAsset(this.getAssets(),"fonts/tamil.ttf");
    text.setTypeface(tf);
    text.setText("முதல் பக்க செய்திகள்");

В Android это возможно?

Ответы [ 4 ]

12 голосов
/ 22 августа 2011

Прежде всего, вы должны понимать, что в ОС Android нет поддержки тамильского языка (кроме нескольких мобильных телефонов Samsung и SE) до ICS (4.0). Даже тогда у него были ошибки, и полная поддержка предоставляется Jelly Bean (4.2).

Ящики будут видны только в том случае, если вы используете в своем приложении шрифт Unicode Tamil. Причина в том, что в системе нет тамильских шрифтов.

Существует решение для этого решения. Все, что вам нужно сделать, это скачать шрифт Bamini и поместить его в папку с активами. И создайте TypeFace со шрифтом Bamini и установите его в TextView.

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

Теперь используйте конвертер для преобразования шрифта Unicode в кодировку Bamini . вместо текста Unicode предоставьте преобразованный закодированный Bamini скрипт в метод setText.

Если вы ненавидите все это ручное преобразование кодировки, тогда посмотрите эту библиотеку

Как я уже говорил выше, если вы хотите динамически изменять кодировку во время работы приложения, тогда рассмотрите возможность использования библиотеки , которую я написал для Android. Эта библиотека поможет вам конвертировать Unicode String в 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);

Имеется пример приложения , доступный вместе с библиотекой. Проверьте приложение о том, как библиотека используется для преобразования строки Unicode в Bamini, TAB, TAM, TSCII и Anjal.

Пожалуйста, не забудьте прочитать мой исчерпывающий ответ о том, как решать Тамильский язык на собственных приложениях и веб-приложениях для Android, здесь, в этом ответе .

2 голосов
/ 21 ноября 2011

Спасибо Mayu .. Хорошая информация ...

Jeeva, .. Просто просмотрите исходный код этой страницы http://www.islamkalvi.com/web/unicode_to_bamini.htm.. вы получите одну функцию JavaScript, которую вы можете использовать для преобразования шрифта Unicode вКодировка Бамини.

1 голос
/ 10 апреля 2012

Чтобы преобразовать Unicode в TSCII, пожалуйста, обратитесь к Тамил-Вай из ThamiZha . Они выпустили InputMethod для тамильского языка, и это с открытым исходным кодом. Вот ссылка на их приложение , исходный код . Существует класс с именем UnicodeUtil, который на лету преобразует Unicode в TSCII.

0 голосов
/ 31 марта 2014

Я использовал Bamini.ttf для тамильского шрифта. вам нужно будет конвертировать тамильский шрифт в юникод с помощью конвертера bamini. Получить исходный код для выполнения заявки на тамильском языке. Пожалуйста, посетите сайт ниже,

http://www.tamilvizhi.com/sample-android-application-in-tamil-book-applicationandroid-application-development-source-code/

...