我在Android版2.3.3
中开发了一个泰米尔语新闻应用程序。但是,泰米尔语字体只能在Android 4.0及更高版本中正确开发。我想在所有版本的Android手机中显示它们。
我试图用一些泰米尔语字体解决问题,例如bamini
和mylai
,但它们只适用于较高的Android版本。
答案 0 :(得分:26)
首先,您必须了解Android操作系统中没有泰米尔语语言支持(除了少数三星和SE手机),直到ICS(4.0)。即便如此,它还有虫子,并且Jelly Bean(4.2)提供了全面的支持。
如果您在应用中使用Unicode Tamil字体,则只会看到框。原因是系统中没有泰米尔语字体。
这个解决方案有一个解决方法。您所要做的就是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
方法。
如果您讨厌所有这些手动编码转换,请查看此library
正如我在上面所说,如果您想在运行应用程序时动态更改编码,那么我为Android编写了consider using the library。该库将帮助您将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。
使用库时,你会得到类似的东西。
您需要使用Android中提供的TypeFace
类。您可以使用Bamini或TSCII编码(Mylai是TSCII字体)。
免责声明:我写了这个库。
如果您正在使用html和CSS在WebView中进行开发,那么请查看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 :(得分:0)
TAb不需要嵌入,现在我们有unicode 请使用此泰米尔语unicode字体 http://visualmediatech.com.fonts