11

Android 版のタミル語ニュース アプリケーションを開発しました2.3.3。ただし、タミル語フォントは、Android バージョン 4.0 以降でのみ適切に開発されています。Androidモバイルのすべてのバージョンでそれらを表示したい。

baminiやなどのいくつかのタミル語フォントで問題を解決しようとしましmylaiたが、それらは Android の上位バージョンでしか機能しませんでした。

4

2 に答える 2

27

まず、ICS(4.0)まで、Android OS(一部のSamsungおよびSEモバイルを除く)ではタミル語がサポートされていないことを理解する必要があります。それでもバグがあり、Jelly Bean(4.2)で完全なサポートが提供されています。

アプリでUnicodeタミル語フォントを使用している場合にのみボックスが表示されます。理由は、システムにタミル語フォントがないためです。

1.手動による方法

このソリューションには回避策があります。Baminiフォントをダウンロードして、アセットフォルダーに配置するだけです。そして、フォントBaminiを使用してTypeFaceを作成し、TextViewに設定します。

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

次に、コンバーターを使用してUnicodeフォントをBaminiエンコーディングに変換します。Unicodeテキストの代わりに、変換されたBaminiでエンコードされたスクリプトをsetTextメソッドに提供します。

2.ライブラリの使用

これらすべての手動エンコーディング変換が嫌いな場合は、このライブラリをチェックしてください

上記の行で述べたように、アプリケーションの実行中にエンコーディングを動的に変更したい場合は、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);

ライブラリと一緒に利用できるサンプルアプリがあります。ライブラリを使用してUnicode文字列をBamini、TAB、TAM、TSCII、およびAnjalに変換する方法についてアプリを確認してください。

ライブラリを使用すると、このようなものが得られます。

スクリーンショットタミルUnicodeコンバーターUtill

TypeFaceAndroidで利用可能なクラスを利用する必要があります。BaminiまたはTSCIIエンコーディングのいずれかを使用できます(MylaiはTSCIIフォントです)。

免責事項:私はこのライブラリを書きました。

3.WebViewの場合

WebView内にラップされたhtmlとCSSを使用して開発している場合は、このアプリケーションのソースを確認してください。fontfaceCSS3の機能を利用する必要があります。

まず、スタイルをこのように宣言する必要があります

@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ストアでより多くのタミル語アプリを見たいと思っています。

于 2013-03-19T09:52:07.357 に答える