Lưu LoátWiki
Tìm
Máy chữ & lịch sử bộ gõ

Chuẩn hoá Unicode cho tiếng Việt: từ nhiều bảng mã về TCVN 6909:2001

Chữ Việt có đủ trong Unicode 1.1 năm 1993; TCVN 6909:2001 lấy Unicode làm chuẩn quốc gia; Quyết định 72/2002/QĐ-TTg đưa vào văn bản điện tử nhà nước.

Chuẩn hoá Unicode cho tiếng Việt: từ nhiều bảng mã về TCVN 6909:2001

Tiếng Việt đi từ hàng chục bảng mã riêng lẻ về một chuẩn chung qua ba mốc chính: Unicode 1.1 (1993) đưa đủ chữ Việt có dấu vào bộ mã quốc tế; TCVN 6909:2001 lấy Unicode làm chuẩn quốc gia; và Quyết định 72/2002/QĐ-TTg yêu cầu cơ quan nhà nước dùng bộ mã này trong văn bản điện tử. Từ đó, chữ Việt gõ ở máy này mở ở máy khác, trên điện thoại hay trang web, đều hiện đúng — điều mà thập niên 1990 người làm văn phòng chỉ mơ tới.

Điểm xuất phát: mỗi nhà một bảng mã

Bảng mã 8 bit chỉ có 256 ô, trong khi chữ Việt có dấu cần 134 ký tự riêng, chưa kể đ và Đ. Cuối thập niên 1980 – đầu 1990, mỗi nhóm làm phần mềm chọn những ô khác nhau để gán chữ Việt, sinh ra TCVN3, VNI, VISCII, VPS và nhiều bảng mã khác. Văn bản gõ theo bảng mã này đọc bằng phông bảng mã khác sẽ thành ký tự lạ. Chuyện bộ gõ và bảng mã thời ấy được kể ở bài về thời DOS – Windows đầu tiên trong mục này.

Unicode: một bộ mã cho mọi chữ viết

Unicode là bộ mã ký tự thống nhất do tổ chức Unicode Consortium phát triển. Phiên bản 1.0 công bố năm 1991. Ý tưởng cốt lõi: mỗi ký tự của mọi chữ viết trên thế giới có một số hiệu riêng (code point), không ai phải mượn chỗ của ai. Unicode có không gian hơn một triệu vị trí, đủ cho chữ Latin, chữ Hán, chữ Ả Rập, chữ Thái… và cả biểu tượng cảm xúc sau này.

Phiên bản Unicode 1.1 (1993) bổ sung khối Latin Extended Additional, trong đó có trọn bộ chữ Việt mang dấu thanh — các vị trí từ U+1EA0 (Ạ) đến U+1EF9 (ỹ). Những chữ như â, ê, ô, ơ, ư, ă, đ cùng các chữ có dấu thanh dùng chung với tiếng Pháp, Bồ Đào Nha (như á, à, ã) đã nằm ở các khối Latin trước đó. Từ năm 1993, về nguyên tắc, chữ Việt đã có chỗ đứng đầy đủ trong bộ mã quốc tế.

Hai cách viết cùng một chữ: dựng sẵn và tổ hợp

Unicode cho phép biểu diễn chữ có dấu theo hai cách:

  • Dựng sẵn (precomposed): chữ "ế" là một ký tự duy nhất, U+1EBF.
  • Tổ hợp (decomposed): chữ "e" cộng dấu mũ kết hợp cộng dấu sắc kết hợp — ba ký tự ghép lại hiện thành một chữ.

Cả hai cách đều hợp lệ, nhưng trộn lẫn sẽ làm máy so khớp, tìm kiếm không ra. Chuyện dựng sẵn – tổ hợp, chuẩn hoá NFC – NFD được giải thích kỹ ở mục Bảng mã & Unicode.

Chặng đường chuẩn hoá ở Việt Nam

NămMốcÝ nghĩa
1991Unicode 1.0 công bốBộ mã thống nhất ra đời, chưa đủ chữ Việt có dấu thanh
1993Ban hành TCVN 5712:1993Chuẩn quốc gia cho bảng mã 8 bit, gồm các biến thể VN1, VN2, VN3; bảng mã VN3 đi cùng phông .Vn, quen gọi "TCVN3"
1993Unicode 1.1 bổ sung khối Latin Extended AdditionalChữ Việt có dấu đủ chỗ trong bộ mã quốc tế
1993RFC 1456 (VIQR) và bảng mã VISCII của nhóm Viet-StdGiải pháp tạm cho thư điện tử và cộng đồng ở nước ngoài
Cuối thập niên 1990Hệ điều hành, phần mềm văn phòng, trình duyệt hỗ trợ Unicode tốt dầnCó điều kiện kỹ thuật để chuyển đổi
2001Ban hành TCVN 6909:2001Chuẩn quốc gia về bộ mã ký tự tiếng Việt dựa trên Unicode
2002Quyết định 72/2002/QĐ-TTgYêu cầu các cơ quan nhà nước dùng bộ mã Unicode TCVN 6909:2001 trong trao đổi văn bản điện tử
2020Nghị định 30/2020/NĐ-CP về công tác văn thưQuy định văn bản hành chính dùng phông Times New Roman, bộ mã ký tự chữ Việt Unicode theo TCVN 6909:2001

Vì sao TCVN 5712 không đủ, mà phải sang Unicode

TCVN 5712:1993 là nỗ lực quan trọng để thống nhất bảng mã 8 bit, nhưng nó vướng ba giới hạn:

  1. Không đủ chỗ trong 256 ô. Biến thể VN3 — phổ biến nhất — không chứa trọn chữ hoa có dấu trong cùng một phông; người dùng phải đổi sang phông chữ hoa riêng (như .VnTimeH) khi muốn viết hoa có dấu.
  2. Không phải chuẩn quốc tế. Phần mềm nước ngoài, trình duyệt, hệ thống thư điện tử không biết tới nó; mỗi lần trao đổi với bên ngoài lại vỡ chữ.
  3. Cạnh tranh với bảng mã đã phổ biến. VNI, VISCII đã có người dùng đông, nên chuẩn quốc gia 8 bit không loại được chúng.

Unicode giải quyết cả ba: đủ chỗ cho mọi chữ, là chuẩn quốc tế mà mọi hệ điều hành và trình duyệt đều theo, và không thuộc về bên nào trong cuộc cạnh tranh bảng mã cũ.

Những năm chuyển đổi

Ban hành chuẩn không có nghĩa là chuyển đổi xong ngay. Trong nhiều năm sau 2002, văn phòng Việt Nam sống chung với hai thế giới:

  • Tài liệu mới gõ bằng Unicode, phông Times New Roman, Arial có sẵn trong Windows.
  • Kho tài liệu cũ bằng TCVN3, VNI vẫn phải mở, sửa, in. Nhiều người giữ cả phông .Vn lẫn phông VNI trên máy.
  • Công cụ chuyển mã trong các bộ gõ như Unikey trở thành vật bất ly thân của văn thư.
  • Phần mềm nghiệp vụ cũ (kế toán, quản lý hồ sơ) viết theo bảng mã cũ phải được nâng cấp hoặc thay thế, kéo dài quá trình chuyển đổi ở nhiều cơ quan.

Thư điện tử và trang web là nơi Unicode thắng nhanh nhất, vì đó là nơi bảng mã cũ gây vỡ chữ nhiều nhất. Mã hoá UTF-8 — cách lưu Unicode tương thích với ASCII — dần trở thành mặc định trên web toàn cầu, và chữ Việt đi theo.

Unicode hôm nay: đã xong chưa?

Về cơ bản là xong: điện thoại, máy tính, trang web, mạng xã hội đều gõ và hiển thị chữ Việt bằng Unicode. Nhưng vẫn còn vài chuyện người dùng hay gặp:

Hiện tượngNguyên nhân thường gặpXem thêm
Cùng chữ "Việt" mà tìm không raMột bên dựng sẵn, một bên tổ hợpMục Bảng mã & Unicode
"hoà" và "hòa" bị coi là hai từHai kiểu đặt dấu cùng tồn tạiMục Bảng mã & Unicode
Chữ hiện thành "Việt"Văn bản UTF-8 bị đọc nhầm bằng bảng mã khácMục Bảng mã & Unicode
Dấu bị lệch, chồng nhauPhông thiếu chữ hoặc thiết kế dấu kémMục Phông chữ tiếng Việt
Tài liệu cũ toàn ký tự lạTài liệu gõ bằng TCVN3, VNIMục Bảng mã & Unicode

Góc nhìn hôm nay: ba việc nên làm

  1. Để bộ gõ ở bảng mã Unicode (Unicode dựng sẵn là lựa chọn phổ biến) và đừng đổi trừ khi bắt buộc.
  2. Chuyển kho tài liệu cũ sang Unicode khi còn người hiểu nội dung để soát lại; giữ bản gốc để đối chiếu.
  3. Đọc văn bản gốc khi cần trích dẫn: Quyết định 72/2002/QĐ-TTg và Nghị định 30/2020/NĐ-CP có trên cổng thông tin văn bản pháp luật của Chính phủ; chuẩn TCVN 6909:2001 có thể tra qua cơ quan tiêu chuẩn quốc gia. Bảng mã chi tiết từng chữ có trên trang unicode.org (tra khối Latin Extended Additional).

Câu hỏi thường gặp

TCVN 6909:2001 là gì?

TCVN 6909:2001 là tiêu chuẩn quốc gia Việt Nam về bộ mã ký tự tiếng Việt, dựa trên Unicode. Đây là chuẩn mà văn bản điện tử của cơ quan nhà nước phải dùng theo Quyết định 72/2002/QĐ-TTg và Nghị định 30/2020/NĐ-CP.

Chữ tiếng Việt có trong Unicode từ khi nào?

Trọn bộ chữ Việt có dấu thanh được bổ sung vào Unicode ở phiên bản 1.1 năm 1993, trong khối Latin Extended Additional từ U+1EA0 đến U+1EF9. Một số chữ như â, ê, ơ, ư, đ đã có từ các khối Latin trước đó.

TCVN3 và Unicode khác nhau thế nào?

TCVN3 là bảng mã 8 bit theo TCVN 5712:1993, chỉ có 256 ô, phải dùng phông .Vn riêng và phông chữ hoa riêng. Unicode là bộ mã quốc tế đủ chỗ cho mọi chữ, được mọi hệ điều hành và trình duyệt hỗ trợ, dùng với phông thông thường như Times New Roman.

Quyết định 72/2002/QĐ-TTg quy định gì?

Quyết định này yêu cầu các cơ quan nhà nước sử dụng bộ mã ký tự chữ Việt theo tiêu chuẩn TCVN 6909:2001 (Unicode) trong trao đổi thông tin điện tử. Đây là mốc chính thức đưa Unicode thành chuẩn cho văn bản điện tử nhà nước.

Văn bản hành chính hiện nay phải dùng phông gì?

Theo Nghị định 30/2020/NĐ-CP, văn bản hành chính dùng phông Times New Roman, bộ mã ký tự chữ Việt Unicode theo TCVN 6909:2001, màu đen. Nên đọc trực tiếp phụ lục của Nghị định khi cần chi tiết cỡ chữ và lề.

Mở app Lưu Loát

Gõ tiếng Việt nhanh, chuẩn, lưu loát từng dấu

Mở app Lưu Loát

Bài viết liên quan

Mở app Lưu Loát

Gõ tiếng Việt nhanh, chuẩn, lưu loát từng dấu

Mở app Lưu Loát Xem app khác