Pham_loi
Chức vụ: 18:04:53, 04-08-2015 |
Để hiển thị Tiếng Việt trên j2me thì có hai cách:
+) Dùng font dựng sẵn của điện thoại: Cách này nó phụ thuộc vào việc hỗ trợ bộ font nào của điện thoại, và phần nhiều không hỗ trợ hoặc hỗ trợ không tốt. Nhất là dữ liệu không phải cố định mà được truyền qua lại (cần mã hoá)
+) Dùng font tự dựng: Cách này chạy chuẩn trên mọi loại điện thoại có hỗ trợ java, không phụ thuộc vào điện thoại. Phổ biến nhất hiện nay là dùng font bitmap, bao gồm: file ảnh tập hợp các ký tự + file data (không bắt buộc phải là file, nếu đơn giản chỉ cần đặt trong mảng) - data này dùng để lấy ảnh của ký tự từ file ảnh kia.
Ví dụ (teamobi): Đây là cách sử dụng đơn giản nhất
// init
String stMap="0123456789.,:!?()-'/ABCDEFGHIJKLMNOPQRSTUVWXYZÁÀẢÃẠĂẮẰẲẴẶÂẤẦẨẪẬÉÈẺẼẸÊẾỀỂỄỆÍÌỈĨỊÓÒỎÕỌÔỐỒỔỖỘƠỚỜỞỠỢÚÙỦŨỤƯỨỪỬỮỰÝỲỶỸỴĐ";
CFont font=new CFont("fcg14.png",new byte[{
8,8,8,8,8,8,8,8,8,8,
4,4,4,4,8,6,6,6,3,7,
10,10,10,10,8,8,10,10,5,8,
9,8,13,11,10,10,10,10,10,9,
10,10,13,11,11,9,10,10,10,10,
10,10,10,10,10,10,10,10,10,10,
10,10,10,8,8,8,8,8,8,8,
8,8,8,8,5,5,5,5,5,10,
10,10,10,10,10,10,10,10,10,10,
10,10,10,10,10,10,10,10,10,10,
10,10,10,10,10,10,10,10,10,10,
10,10,10},
20,4,stMap);
// draw
font.drawString("ẢỢ", x, y, a, g);
Copy code
String stMap="0123456789.,:!?()-'/ABCDEFGHIJKLMNOPQRSTUVWXYZÁÀẢÃẠĂẮẰẲẴẶÂẤẦẨẪẬÉÈẺẼẸÊẾỀỂỄỆÍÌỈĨỊÓÒỎÕỌÔỐỒỔỖỘƠỚỜỞỠỢÚÙỦŨỤƯỨỪỬỮỰÝỲỶỸỴĐ";
CFont font=new CFont("fcg14.png",new byte[{
8,8,8,8,8,8,8,8,8,8,
4,4,4,4,8,6,6,6,3,7,
10,10,10,10,8,8,10,10,5,8,
9,8,13,11,10,10,10,10,10,9,
10,10,13,11,11,9,10,10,10,10,
10,10,10,10,10,10,10,10,10,10,
10,10,10,8,8,8,8,8,8,8,
8,8,8,8,5,5,5,5,5,10,
10,10,10,10,10,10,10,10,10,10,
10,10,10,10,10,10,10,10,10,10,
10,10,10,10,10,10,10,10,10,10,
10,10,10},
20,4,stMap);
// draw
font.drawString("ẢỢ", x, y, a, g);
Copy code
Source: font.zip
Demo: CustomFont_Demo.zip
Bài viết bởi @ltmp (www.fotech.org)
Demo-Src: Toandaik
: 0 ♥