2012-09-14 25 views
3

嗨我正在開發一個應用程序來顯示我的應用程序中的馬拉雅拉姆語單詞,並使用馬拉雅拉姆字體來達到此目的。我得到正確的輸出。但是當我嘗試顯示一些英文字母以及馬拉雅拉姆語時,它並不是我使用的字體是Thoolika.Ttf。 這是我給出的輸入是「Y¢j¤lcÉd¤j«:一個」 需要的輸出是:「其他」 但是我得到的輸出爲:「തിരുവനനതപുരംതപുരം:സഷഫ」 這裏有什麼問題在Android中使用Malayalam Ascii字體顯示英文文本?

+1

相關代碼請 –

+1

您使用的是什麼編碼,它支持混合英語和馬拉雅拉姆語?這個顯示字符串中的字節是多少? – tripleee

+0

使用UTF-8編碼。英文字母A等於馬拉雅拉姆特爾അ – pranavjayadev

回答

5

此字體使用「視覺編碼」:您編寫字母A,它在邏輯上是拉丁字母A,但它在屏幕上呈現爲

視覺編碼的字體是適當的Unicode支持前幾天的遺蹟,你今天不應該使用它們。正如你所發現的,他們許多不足之處之一就是你不能用相同的字體來寫拉丁字母。當你所有的是一個可視化編碼的字體時,要寫出拉丁語和馬拉雅拉姆語的混合體,你必須爲每一段文本切換字體。

我建議刪除此字體並獲取支持適當的馬拉雅拉姆代碼點的Unicode字體,以便形狀您使用的是真實的邏輯U + 0D05 MALAYALAM LETTER A而不是U + 0041 LATIN CAPITAL L字母A.然後,您可以自由混合拉丁語和馬拉雅拉姆語(實際上系統有字體的任何其他語言)。

+0

感謝您的回答 – pranavjayadev

+0

使用SpannaleString Builder – Ramz

3

嗯,你不能...!作爲bobince說,你不能混用,顯示英文+「馬來亞在ASCII字體」(「可視化編碼」)與字型,因爲這ASCII字體(這裏「Thoolika.ttf」)現場...

只有在文本是Unicode編碼(UTF-8)的情況下,才能實現... 嘗試使用Anjali old lipi(Unicode)字體。從這裏開始:: smc.org.in/

+0

這很有幫助。謝謝。 – prashanth

相關問題