2013-03-07 47 views
10

Tôi đã phát triển ứng dụng tin tức Tamil trong phiên bản Android 2.3.3. Tuy nhiên, phông chữ Tamil chỉ được phát triển đúng cách trong phiên bản Android 4.0 trở lên. Tôi muốn hiển thị chúng trong tất cả các phiên bản của điện thoại di động Android.Phông chữ Tamil trong Android

Tôi đã cố giải quyết vấn đề với một số phông chữ Tamil, chẳng hạn như baminimylai, nhưng chúng chỉ hoạt động ở các phiên bản Android cao hơn.

+0

Tôi đã sử dụng bamini .. Nó hoạt động trên tất cả các phiên bản. FYI, dành cho Android 4.1 trở lên, bạn không cần bất kỳ tệp phông chữ nào. Android hỗ trợ tamil theo mặc định. Bạn có vấn đề gì? Hãy cho tôi thêm một số chi tiết. Tôi có thể giúp bạn. –

+0

Tại sao không sử dụng unicode? –

+0

Vâng tôi đồng ý với bạn Karthik Tôi đã sử dụng font bamini và chuyển đổi unicode tamil nhưng tôi sẽ mất thời gian để hiển thị trong listview.While cuộn listview của nó đánh @Karthik Palanivelu – Loganathan

Trả lời

26

Trước hết bạn phải hiểu rằng không có hỗ trợ Ngôn ngữ Tamil trong hệ điều hành Android (ngoại trừ một số điện thoại di động Samsung & SE) cho đến ICS (4.0). Thậm chí sau đó nó có lỗi và hỗ trợ đầy đủ được cung cấp với Jelly Bean (4.2).

Bạn sẽ chỉ thấy các hộp nếu bạn sử dụng phông chữ Unicode Tamil trong ứng dụng của mình. Lý do là không có phông chữ Tamil trong hệ thống.

1. Hướng dẫn sử dụng

Có một giải pháp cho giải pháp này. Tất cả những gì bạn phải làm là, download the Bamini font và đặt nó vào thư mục nội dung của bạn. Và tạo TypeFace bằng phông chữ Bamini và đặt nó vào TextView.

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

Bây giờ, hãy sử dụng mã hóa converter to convert Unicode font into Bamini. thay vì văn bản Unicode cung cấp tập lệnh được mã hóa Bamini đã chuyển đổi thành phương thức setText.

2. Sử dụng Thư viện

Nếu bạn ghét tất cả những chuyển đổi mã hóa thủ công sau đó kiểm tra này library

Như tôi đã nói ở dòng trên, nếu bạn muốn thay đổi mã hóa tự động trong khi chạy các ứng dụng sau đó consider using the library Tôi đã viết cho Android. Thư viện này sẽ giúp bạn chuyển đổi chuỗi Unicode sang Bamini, TSCII, TAB, TAM và Anjal.

Thiết lập rất đơn giản. Tất cả bạn phải làm là chỉ cần nhập thư viện vào dự án Android của bạn và gọi thư viện như dưới đây.

// 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); 

Có sẵn sample app cùng với thư viện. Kiểm tra các ứng dụng về cách thư viện được sử dụng để chuyển đổi chuỗi Unicode để Bamini, TAB, TAM, TSCII và Anjal.

Bạn sẽ nhận được nội dung như thế này khi bạn sử dụng thư viện.

Screen Shot Tamil Unicode Converter Utill

Bạn cần phải tận dụng các lớp TypeFace có sẵn trong Android. Bạn có thể sử dụng mã hóa Bamini hoặc TSCII (Mylai là phông chữ TSCII).

Tuyên bố từ chối trách nhiệm: Tôi đã viết thư viện này.

3. Đối với WebView

Nếu bạn đang phát triển sử dụng html và CSS wraped bên trong một WebView sau đó hãy nhìn vào this application's source. Bạn sẽ phải sử dụng tính năng fontface của CSS3.

Trước tiên, bạn cần phải có phong cách tuyên bố như thế này

@font-face { 
font-family: MyCustomFont; 
src: url("Bamini.ttf") /* TTF file for CSS3 browsers */ 
} 

Sau đó, bạn gotta sử dụng MyCustomFont trong thẻ của bạn. Ví dụ: nếu bạn muốn đặt nó cho toàn bộ cơ thể (dễ dàng hơn nhiều trong trường hợp này)

body { 
font-family: MyCustomFont, Verdana, Arial, sans-serif; 
font-size: medium; 
color: black 
} 

Hy vọng điều này sẽ cung cấp cho bạn những người đứng đầu bạn xứng đáng. Hy vọng sẽ thấy nhiều ứng dụng Tamil hơn trong Cửa hàng Play.

+1

Cảm ơn bạn đã trả lời của tôi tôi theo sau rằng thư viện only.its làm việc tốt. – Loganathan

+0

Cách hiển thị hộp thoại phông chữ tamil đang tiến hành – Loganathan

+0

@logu áp dụng kiểu có thể nhưng tôi không chắc chắn phông chữ Tamil là có thể. Tôi sẽ đào sâu hơn và cập nhật ở đây nếu tôi gặp bất kỳ điều gì. Thông thường, tôi kiểm tra phiên bản SDK và hiển thị văn bản tiếng Tamil cho ICS trở lên cho văn bản tiếng Anh chỉ có thiết bị cũ hơn. –

Các vấn đề liên quan