AFL: Hiển thị Tiếng Việt trong Amibroker

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);
Tiếng Việt trong Amibroker

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á

STTThườngHoa
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:

Tiếng Việt trong Amibroker

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)

Tiếng Việt trong Amibroker

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.

Tham khảo thêm:

Trả lời