2013-03-07 112 views
10

我在Android版本2.3.3中开发了泰米尔语新闻应用程序。但是,泰米尔语字体只能在Android 4.0及更高版本中正确开发。我想在Android手机的所有版本中显示它们。Android中的泰米尔语字体

我试图解决一些泰米尔语字体的问题,例如baminimylai,但他们只能在更高版本的Android中工作。

+0

。它适用于所有版本。仅供参考,对于Android 4.1及更高版本,您不需要任何字体文件。 Android默认支持tamil。你有什么问题?给我更多的细节。我可能会帮助你。 – 2013-03-08 04:12:36

+0

为什么不使用unicode? – 2013-03-08 05:45:38

+0

是的,我同意你Karthik我已经使用bamini字体和泰米尔unicode转换器,但我会花时间来显示在listview.While滚动列表视图其击中@Karthik Palanivelu – Loganathan 2013-03-08 06:05:43

回答

26

首先,你必须明白,除了少量三星& SE手机之外,Android OS上没有泰米尔语言支持,直到ICS(4.0)。即使那样它也有bug,并且Jelly Bean提供了全面的支持(4.2)。

如果您在应用程序中使用Unicode泰米尔语字体,则只能看到框。原因是系统中没有泰米尔语字体。

1.手动操作方式

此解决方案有一个解决方法。你所要做的就是,download the Bamini font并将其放置在资产文件夹中。然后用字体Bamini创建TypeFace并将其设置为TextView。

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

现在使用converter to convert Unicode font into Bamini编码。代替Unicode文本将转换后的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网页视图内包梁再看看this application's source发展。你将不得不使用CSS3的fontface功能。

首先你需要有风格声明为此

@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 2013-03-20 07:11:34

+0

如何显示正在进行的泰米尔字体对话框 – Loganathan 2013-03-27 12:23:07

+0

@logu应用样式是可能的,但我不确定泰米尔语字体是可能的。如果我遇到任何问题,我会进一步挖掘并更新。通常,我会检查SDK版本,并显示ICS及以上版本的泰米尔语文本,仅适用于较旧的设备英文文本。 – 2013-03-27 12:40:50

相关问题