首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android中的泰米尔语字体

Android中的泰米尔语字体
EN

Stack Overflow用户
提问于 2013-03-07 17:21:12
回答 2查看 23.6K关注 0票数 11

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

我试着用一些泰米尔字体来解决这个问题,比如baminimylai,但它们只适用于更高版本的安卓系统。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-19 17:52:07

首先,你必须明白,在安卓操作系统中没有泰米尔语支持(除了少数三星和SE手机),直到ICS(4.0)。即使在那时,它也有bug,并且Jelly Bean (4.2)提供了完整的支持。

如果你在你的应用程序中使用Unicode Tamil字体,你会看到方框。原因是系统中没有泰米尔字体。

1.手动操作方式

这个解决方案有一个变通的方法。您所要做的就是,使用download the Bamini font并将其放入您的assets文件夹中。并使用Bamini字体创建TypeFace,并将其设置为TextView。

代码语言:javascript
复制
Typeface font1 = Typeface.createFromAsset(getAssets(), "fonts/Bamini.ttf");
customText1.setTypeface(font1);

现在使用converter to convert Unicode font into Bamini编码。将转换后的Bamini编码脚本提供到setText方法中,而不是Unicode文本。

2.使用库

如果您讨厌所有这些手动编码转换,请查看此library

正如我在上面一行所说的,如果你想在运行应用程序时动态地改变编码,那么我为安卓编写的consider using the library。这个库可以帮助你将Unicode字符串转换成Bamini,TSCII,TAB,TAM和Anjal。

设置非常简单。您所要做的就是简单地将库导入到您的Android项目中,并调用该库,如下所示。

代码语言:javascript
复制
// 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。

当你使用这个库的时候,你会得到类似这样的东西。

您需要使用Android中提供的TypeFace类。您可以使用Bamini或TSCII编码(Mylai是TSCII字体)。

免责声明:这个库是我写的。

3.对于WebView

如果您正在使用包装在WebView中的html和CSS进行开发,那么可以看看this application's source。你必须利用CSS3的fontface特性。

首先,您需要像这样声明样式

代码语言:javascript
复制
@font-face {
 font-family: MyCustomFont;
 src: url("Bamini.ttf") /* TTF file for CSS3 browsers */
}

然后你必须在你的标签中使用MyCustomFont。例如,如果你想将它设置为整个身体(在这种情况下容易得多)

代码语言:javascript
复制
body {
 font-family: MyCustomFont, Verdana, Arial, sans-serif;
 font-size: medium;
 color: black
}

希望这能给你带来你应得的好处。希望在Play Store中看到更多泰米尔语应用程序。

票数 27
EN

Stack Overflow用户

发布于 2017-08-08 14:33:39

TAb不需要嵌入,现在我们有unicode请使用这个泰米尔unicode字体http://visualmediatech.com.fonts

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15267292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档