Amibroker có hỗ trợ Tiếng Việt không?
Đây hẳn là câu hỏi rất nhiều người đã sử dụng Amibroker thắc mắc. Tất nhiên, Amibroker không hoàn toàn hỗ trợ các ký tự Unicode dù bạn có sử dụng font gì, nên trong phần soạn thảo AFL thường chúng ta chỉ ghi tiếng Việt không dấu hoặc sử dụng các ký tự đặc biệt để cho gần giống tiếng Việt nhất.
Tuy nhiên khi hiển thị lên chart, Tiếng Việt không dấu có thể đọc nhầm và trông cũng không được chuyên nghiệp lắm. Nay mình tự mò được cách có thể hiển thị Tiếng Việt lên chart Amibroker 100% thuần Việt, tất nhiên cũng đỏi hỏi 1 chút công sức chính sửa.
Dùng mã Unicode hiển thị Tiếng Việt trong Amibroker
Viết chữ “Chi Bao Dau Tu” trên chart như sau:
GfxSelectFont( "Courier New", 15, 100 );
GfxSetTextColor(colorWhite);
GfxSetBkColor(colorBlack);
GfxTextOut("Chi Bao Dau Tu",1,1);
Giờ ta sử dụng bảng mã Unicode dưới đây để thay thế những chữ có dấu
Lưu ý: một ký tự Unicode sẽ bao gồm \u và 4 ký tự mã hoá
STT | Thường | Mã | Hoa | Mã |
1 | á | \u00E1 | Á | \u00C1 |
2 | à | \u00E0 | À | \u00C0 |
3 | ạ | \u1EA1 | Ạ | \u1EA0 |
4 | ả | \u1EA3 | Ả | \u1EA2 |
5 | ã | \u00E3 | Ã | \u00C3 |
6 | ă | \u0103 | Ă | \u0102 |
7 | ắ | \u1EAF | Ắ | \u1EAE |
8 | ằ | \u1EB1 | Ằ | \u1EB0 |
9 | ặ | \u1EB7 | Ặ | \u1EB6 |
10 | ẳ | \u1EB3 | Ẳ | \u1EB2 |
11 | ẵ | \u1EB5 | Ẵ | \u1EB4 |
12 | â | \u00E2 | Â | \u00C2 |
13 | ấ | \u1EA5 | Ấ | \u1EA4 |
14 | ầ | \u1EA7 | Ầ | \u1EA6 |
15 | ậ | \u1EAD | Ậ | \u1EAC |
16 | ẩ | \u1EA9 | Ẩ | \u1EA8 |
17 | ẫ | \u1EAB | Ẫ | \u1EAA |
18 | đ | \u0111 | Đ | \u0110 |
19 | é | \u00E9 | É | \u00C9 |
20 | è | \u00E8 | È | \u00C8 |
21 | ẹ | \u1EB9 | Ẹ | \u1EB8 |
22 | ẻ | \u1EBB | Ẻ | \u1EBA |
23 | ẽ | \u1EBD | Ẽ | \u1EBC |
24 | ê | \u00EA | Ê | \u00CA |
25 | ế | \u1EBF | Ế | \u1EBE |
26 | ề | \u1EC1 | Ề | \u1EC0 |
27 | ệ | \u1EC7 | Ệ | \u1EC6 |
28 | ể | \u1EC3 | Ể | \u1EC2 |
29 | ễ | \u1EC5 | Ễ | \u1EC4 |
30 | í | \u00ED | Í | \u00CD |
31 | ì | \u00EC | Ì | \u00CC |
32 | ị | \u1ECB | Ị | \u1ECA |
33 | ỉ | \u1EC9 | Ỉ | \u1EC8 |
34 | ĩ | \u0129 | Ĩ | \u0128 |
35 | ó | \u00F3 | Ó | \u00D3 |
36 | ò | \u00F2 | Ò | \u00D2 |
37 | ọ | \u1ECD | Ọ | \u1ECC |
38 | ỏ | \u1ECF | Ỏ | \u1ECE |
39 | õ | \u00F5 | Õ | \u00D5 |
40 | ô | \u00F4 | Ô | \u00D4 |
41 | ố | \u1ED1 | Ố | \u1ed0 |
42 | ồ | \u1ED3 | Ồ | \u1ED2 |
43 | ộ | \u1ED9 | Ộ | \u1ed8 |
44 | ổ | \u1ED5 | Ổ | \u1ed4 |
45 | ỗ | \u1ED7 | Ỗ | \u1ed6 |
46 | ơ | \u01A1 | Ơ | \u01A0 |
47 | ớ | \u1EDB | Ớ | \u1eda |
48 | ờ | \u1EDD | Ờ | \u1edc |
49 | ợ | \u1EE3 | Ợ | \u1ee2 |
50 | ở | \u1EDF | Ở | \u1ede |
51 | ỡ | \u1EE1 | Ỡ | \u1ee0 |
52 | ú | \u00FA | Ú | \u00DA |
53 | ù | \u00F9 | Ù | \u00D9 |
54 | ụ | \u1EE5 | Ụ | \u1ee4 |
55 | ủ | \u1EE7 | Ủ | \u1ee6 |
56 | ũ | \u0169 | Ũ | \u0168 |
57 | ư | \u01B0 | Ư | \u01af |
58 | ứ | \u1EE9 | Ứ | \u1ee8 |
59 | ừ | \u1EEB | Ừ | \u1eea |
60 | ự | \u1EF1 | Ự | \u1ef0 |
61 | ử | \u1EED | Ử | \u1eec |
62 | ữ | \u1EEF | Ữ | \u1eee |
63 | ý | \u00FD | Ý | \u00dd |
64 | ỳ | \u1ef2 | Ỳ | \u1ef2 |
65 | ỵ | \u1EF5 | Ỵ | \u1ef4 |
66 | ỷ | \u1EF7 | Ỷ | \u1ef6 |
67 | ỹ | \u1EF9 | Ỹ | \u1ef8 |
GfxSelectFont( "Courier New", 15, 100 );
GfxSetTextColor(colorWhite);
GfxSetBkColor(colorBlack);
GfxTextOut("Ch\u1EC9 B\u00E1o \u0110\u1EA7u T\u01B0",1,1); //Chi Bao Dau Tu
Kết quả thu được:
Sử dụng bộ gõ Unikey để chuyển mã
Vẫn còn một cách để tiết kiệm công sức thay vì cắt dán theo bảng mã ở trên là dung trực tiếp bộ gõ Unikey. Mở Unikey và chọn bảng mã Unicode C String (tải Unikey)
Khi sử dụng Unikey để nhập Tiếng Việt trong Amibroker nó sẽ có kỹ tự \x ta sẽ thay thành \u, với những kỹ tự mã hoá Unicode chưa đủ 4 ký tự ta thêm các số 0 đằng trước cho đủ
GfxTextOut("Ch\x1EC9 B\xE1o \x110\x1EA7u T\x1B0",1,1); //Chi Bao Dau Tu
Sửa lại
GfxTextOut("Ch\u1EC9 B\u00E1o \u0110\u1EA7u T\u01B0",1,1); //Chi Bao Dau Tu
Tất nhiên đây chỉ là cách dùng để vẽ chữ Tiếng Việt lên đồ thị, trong code AFL vẫn hiển thị các kỹ tự mã hoá nên ta thêm chú thích không dấu để sau này có sửa cũng dễ hơn.