PDA

View Full Version : Label với Unicode trong Java ? How ?



trongduc
19-11-2002, 01:23
mình không biết cách đưa Unicode vào Java Applet hay Frame. Mình đã thử dùng bộ gõ Vietkey rồi nhưng gõ không ra chữ việt trong JCreator => nó hiển thị tùm lum.

Có bạn nào làm rồi không ? chỉ giúp mình với, thanks many.
i am newbie to java :o

quangvu
19-11-2002, 09:14
Có vài vấn đề :
1. Máy bạn có support Unicode mức hệ thống không.
2.Java không Support tốt Unicode (tiếng Việt)cho lắm
3.Thử dùng mã TCVN3 để gỏ xem.

Chúc thành công .

nbthanh
20-11-2002, 08:15
Java hỗ trợ rất tốt Unicode. Nhưng vấn đề rắc rối xảy ra là các IDE lại không hỗ trợ tốt lắm việc nhập Unicode trực tiếp vào mã nguồn của chương trình.
Kinh nghiệm của tôi là bạn có thể dùng 1 text editor nào đó hỗ trợ Unicode (như Notepad hay EmEditor) để soạn thảo code cho chương trình rồi compile bằng command line là mọi chuyện tốt hết.

Thêm 1 vấn đề rắc rối nữa là font Unicode trên mỗi platform có thể khác nhau. VD trên Win bạn dùng font Verdana, nhưng trên Linux hay Mac thì không có font này nên khi chương trình của bạn đem qua platform khác có thể không hiển thị đúng Unicode. Bạn có thể giải quyết bằng cách dùng "font động", đem font theo chương trình và load font khi cần thiết.
Chi tiết về cách dùng font động bạn có thể tham khảo ở:
http://www.diendantinhoc.org/forum/forum.cgi?action=msg&msg=1023410169#1023410169

Để gõ TV trong Java bạn có thể dùng VietIME.

trongduc
21-11-2002, 23:54
:cool:
chào bạn nbthanh,
mình đã tham khảo link của bạn đến bài viết đó rồi, nhưng code đó không run được, vậy bạn có code example nào hoàn chỉnh không gửi cho mình với.

Còn về Linux, vậy mình không install font TTF vào OS Linux được à ? Mình có đưa Unicode (UTF-8) vào applet được, thông qua trung gian là tag <PARAM> thì ngon lành.

xài TCVN thì cổ quá !

nbthanh
22-11-2002, 15:36
Bài viết được gửi bởi trongduc
:cool:
chào bạn nbthanh,
mình đã tham khảo link của bạn đến bài viết đó rồi, nhưng code đó không run được, vậy bạn có code example nào hoàn chỉnh không gửi cho mình với.

Còn về Linux, vậy mình không install font TTF vào OS Linux được à ? Mình có đưa Unicode (UTF-8) vào applet được, thông qua trung gian là tag <PARAM> thì ngon lành.

xài TCVN thì cổ quá !
Hi, code đó chỉ là để tham khảo mà thôi, dĩ nhiên là trên thực tế bạn phải edit lại thì nó mới chạy được. Code đầy đủ có trong phần tutorial trên java.sun.com

Trên Linux dĩ nhiên là có thể install font TTF được, bạn có thể tham khảo cách làm ở đây:
http://www.diendantinhoc.org/forum/forum.cgi?action=msg&msg=1023396768#1023396768
(bạn có thể vào http://www.diendantinhoc.org/forum/?action=forum&forum=9 rồi dùng chức năng search ở đầu trang để search chữ TTF).

Tuy nhiên đây không phải là cách hay vì không lẽ mỗi lần chạy ở máy mới lại bắt user install font TTF vào Linux? Cho nên mới phải dùng cách font động!

QuanN
23-11-2002, 02:21
Nếu bạn xài pure Java IDE (tức IDE được viết thuần túy trong Java) như JBuilder hay Forte, bạn có thể dùng VietIME để nhập chữ Việt vào Java apps, kể cả applet.

Ex:
jLabel1.setFont(new java.awt.Font("Arial", 1, 12));
jLabel1.setText("B\u1ea5m t\u00f4i");

Nếu source file được save trong UTF-8 format thì chữ Việt sẽ được giữ nguyên, như:

jLabel1.setFont(new java.awt.Font("Arial", 1, 12));
jLabel1.setText("Bấm tôi");

Cài VietIME như thế nào, bạn có thể tham khảo tại http://vietunicode.sourceforge.net/forum.

Bạn có thể nhập Unicode .ttf font files vào máy Windows, Linux, Solaris, hay ngay cả Mac OS X. Muốn biết cài Unicode font vào Linux, xem trong http://vietlug.sourceforge.net.