- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在 android 版本 2.3.3
中开发了泰米尔语新闻应用程序。但是,泰米尔语字体仅在 android 4.0 及更高版本中得到适当开发。我想在所有版本的 android 手机中显示它们。
我尝试用一些泰米尔语字体解决这个问题,比如bamini
和mylai
,但它们只适用于更高版本的android。
最佳答案
首先,您必须了解在 ICS(4.0) 之前,Android 操作系统(少数三星和 SE 手机除外)不支持泰米尔语。即使那样它也有错误,并且 Jelly Bean (4.2) 提供了全面支持。
只有在您的应用中使用 Unicode 泰米尔语字体时,您才会看到方框。原因是系统中没有泰米尔语字体。
此解决方案有变通办法。您所要做的就是,download the Bamini font并将其放在您的 Assets 文件夹中。并使用字体 Bamini 创建 TypeFace 并将其设置为 TextView。
Typeface font1 = Typeface.createFromAsset(getAssets(), "fonts/Bamini.ttf");
customText1.setTypeface(font1);
现在使用 converter to convert Unicode font into Bamini编码。将转换后的 Bamini 编码脚本提供给 setText
方法,而不是 Unicode 文本。
如果您讨厌所有这些手动编码转换,请查看此 library
正如我在上面所说的那样,如果您想在运行应用程序时动态更改编码,那么 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 字体)。
免责声明:我编写了这个库。
如果您正在使用包装在 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 (在这种情况下更容易)
body {
font-family: MyCustomFont, Verdana, Arial, sans-serif;
font-size: medium;
color: black
}
希望这会给您应有的提醒。希望在 Play 商店中看到更多泰米尔语应用。
关于android - Android 中的泰米尔语字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15267292/
我是一名优秀的程序员,十分优秀!