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ườngMãHoaMã
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ỳ\u1EF3Ỳ\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:

Leave a Reply