2013-03-07 4 views
10

Я разработал приложение для печати на тамильском языке в версии для Android 2.3.3. Тем не менее, шрифты Tamil были разработаны только в версиях Android версии 4.0 и выше. Я хочу показать их во всех версиях Android.Тамильские шрифты в Android

Я попытался решить проблему с некоторыми тамильскими шрифтами, такими как и mylai, но они работали только в версиях с более высокими версиями Android.

+0

Я использовал bamini .. Она работает на все версии. FYI, для Android 4.1 и более поздних версий вам не нужен файл шрифтов. Android поддерживает tamil по умолчанию. Какая у вас проблема? Дайте мне более подробную информацию. Я мог бы вам помочь. –

+0

Почему бы не использовать unicode? –

+0

Да, я согласен с тобой Karthik Я использовал шрифт bamini и конвертер unicode tamil, но мне потребуется время, чтобы отобразить его в списке. Прокрутка списка просмотров удалена @ Karthik Palanivelu – Loganathan

ответ

26

Прежде всего, вам нужно понять, что в ОС 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.

При использовании библиотеки вы получите что-то подобное.

Screen Shot Tamil Unicode Converter Utill

Вам нужно сделать использование 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 Маркете.

+1

Спасибо за ваш ответ, я следил за этой библиотекой only.its, работающей нормально. – Loganathan

+0

Как отобразить диалоговое окно шрифта tamil – Loganathan

+0

@logu применение стилей возможно, но я не уверен, что шрифт Tamil возможен. Я буду копать дальше и обновлять здесь, если попаду на кого-нибудь. Обычно я проверяю версию SDK и показываю текст Tamil для ICS и выше для более старого устройства только на английском языке. –

-1

TAb не нужно возможность размещение, теперь мы имеем юникод Пожалуйста, используйте этот тамильского юникод шрифты http://visualmediatech.com.fonts