2013-03-07 56 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

相關問題