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.
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.
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. –
Tại sao không sử dụng unicode? –
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