Lưu LoátWiki
Tìm
Bảng mã & Unicode

TCVN3 (ABC) và phông .Vn: bảng mã một thời của văn phòng Việt Nam

TCVN3 là bảng mã 8 bit theo TCVN 5712:1993, đi cùng phông .VnTime. Vì sao chữ hoa có dấu phải dùng phông .VnTimeH, nhận mặt lỗi Céng hoµ và xử lý tệp TCVN3 hôm nay.

TCVN3 (ABC) và phông .Vn: bảng mã một thời của văn phòng Việt Nam

TCVN3, hay "ABC", là tên gọi quen của bảng mã tiếng Việt 8 bit theo tiêu chuẩn TCVN 5712:1993 (phương án VN3), đi kèm các phông chữ có tên bắt đầu bằng ".Vn" như .VnTime, .VnArial. Suốt thập niên 1990 và đầu những năm 2000, đây là bảng mã thống trị văn phòng, cơ quan nhà nước và trường học ở miền Bắc. Nhược điểm cốt tử: một byte không chứa đủ 134 chữ có dấu, nên chữ hoa có dấu phải dùng một bộ phông riêng, và mở tệp TCVN3 bằng phông thường sẽ ra những dòng như "Céng hoµ x· héi chñ nghÜa ViÖt Nam".

Ra đời trong hoàn cảnh nào

Đầu thập niên 1990, máy tính cá nhân vào Việt Nam nhanh, nhưng mỗi nhóm, mỗi phần mềm lại tự chế một bảng mã tiếng Việt. Văn bản soạn ở cơ quan này mang sang cơ quan khác thường không đọc được. Năm 1993, tiêu chuẩn TCVN 5712:1993 được ban hành nhằm thống nhất bảng mã 8 bit cho tiếng Việt.

Tiêu chuẩn mô tả nhiều phương án, quen gọi VN1, VN2, VN3. Phương án VN3 không đụng vào vùng mã điều khiển và giữ nguyên toàn bộ ASCII, nên chạy được trên hầu hết phần mềm thời đó. Đó là phương án được dùng rộng rãi nhất, và người ta gọi tắt là "TCVN3".

Còn tên "ABC" gắn với bộ phông và phần mềm gõ phổ biến TCVN3 thời ấy. Trong dân văn phòng, "gõ ABC", "phông ABC", "bảng mã TCVN3" thường được dùng như nhau.

Bài toán 134 chữ trong 128 chỗ trống

Một byte có 256 vị trí. 128 vị trí đầu đã thuộc về ASCII (chữ không dấu, số, dấu câu, mã điều khiển). Còn lại 128 vị trí cho chữ có dấu. Tiếng Việt cần 134 chữ: 67 thường và 67 hoa.

VN3 giải bài toán bằng cách hy sinh chữ hoa:

  • Toàn bộ 67 chữ thường có dấu nằm trong nửa trên của bảng.
  • Một số chữ hoa không có dấu thanh như Ă, Â, Ê, Ô, Ơ, Ư, Đ cũng có chỗ.
  • Chữ hoa có dấu thanh (Á, Ầ, Ở, Ự…) không có chỗ.

Muốn gõ tiêu đề in hoa có dấu, người dùng phải đổi sang phông có đuôi "H", ví dụ .VnTimeH, .VnArialH. Trong các phông này, vị trí của chữ thường được vẽ thành hình chữ hoa. Tức là máy vẫn lưu "chữ thường", chỉ có phông vẽ ra chữ hoa.

Hệ quả mà dân văn phòng thời đó đều nhớ

Hiện tượngNguyên nhân
Tiêu đề in hoa đổi sang phông khác bỗng thành chữ thườngDữ liệu thật là chữ thường, phông "H" chỉ vẽ thành chữ hoa
Lệnh đổi chữ hoa/thường trong Word làm chữ có dấu biến mất hoặc hỏngWord không biết quy ước của TCVN3, đổi theo bảng Latinh
Gửi tệp sang máy khác, chữ thành ký tự lạMáy nhận không cài phông .Vn, phải dùng phông thay thế
Sắp xếp danh sách tên trong Excel sai thứ tựMáy xếp theo số mã, không theo bảng chữ cái tiếng Việt
Tìm kiếm trong tệp không raChữ gõ tìm (Unicode) khác số mã trong tệp (TCVN3)

Nhận mặt chữ TCVN3 bị hiển thị sai

Khi một văn bản TCVN3 được hiển thị bằng phông thường (Times New Roman, Arial…), mỗi chữ có dấu biến thành một ký tự Latinh có dấu kiểu châu Âu ở cùng số mã. Kết quả rất đặc trưng:

Đúng ra làHiện thành
Cộng hoà xã hội chủ nghĩa Việt NamCéng hoµ x· héi chñ nghÜa ViÖt Nam
Độc lập - Tự do - Hạnh phúc§éc lËp - Tù do - H¹nh phóc

Dấu hiệu nhận biết: nhiều ký tự §, µ, ·, ¹, Ö, Ü, ñ, Ë chen giữa chữ không dấu. Thấy "§" ở đầu dòng gần như chắc chắn là chữ "Đ" của TCVN3. Bảng so sánh dấu hiệu của các bảng mã khác có ở bài nhận biết tài liệu cũ trong mục này.

TCVN3 so với Unicode

Tiêu chíTCVN3 (TCVN 5712:1993, VN3)Unicode (TCVN 6909:2001)
Số byte mỗi ký tự11–3 (UTF-8)
Chữ hoa có dấuKhông có chỗ, phải đổi phông "H"Có đủ
Phông chữChỉ phông .Vn làm riêngMọi phông có hỗ trợ tiếng Việt
Đọc trên máy nước ngoài, điện thoạiKhông, trừ khi cài phôngCó
Trang web, emailDễ hỏngChuẩn
Tình trạng pháp lýĐã được thay thế cho văn bản điện tử nhà nướcBắt buộc với văn bản hành chính

Vì sao TCVN3 tồn tại lâu đến vậy

Unicode đã có từ đầu thập niên 1990, Việt Nam có TCVN 6909 từ năm 2001, nhưng nhiều văn phòng vẫn gõ TCVN3 thêm nhiều năm sau đó. Có mấy lý do thực tế:

  • Máy và phần mềm cũ. Các bản Windows và Office đời đầu hiển thị Unicode tiếng Việt chưa tốt, thiếu phông có đủ dấu.
  • Kho văn bản mẫu. Mẫu công văn, biểu mẫu, sổ sách đã soạn sẵn bằng .VnTime; làm văn bản mới thường là mở mẫu cũ ra sửa.
  • Thói quen tay. Người đánh máy quen đổi phông .VnTimeH khi gõ tiêu đề, quen bố cục bộ gõ cũ.
  • Trao đổi nội bộ vẫn chạy. Khi mọi máy trong cơ quan đều cài phông .Vn, văn bản đọc được với nhau, nên không ai thấy cần đổi — cho đến khi phải gửi ra ngoài, lên mạng, sang điện thoại.

Quyết định 72/2002/QĐ-TTg là cú hích chính để các cơ quan nhà nước chuyển hẳn. Sau đó, khi văn bản điện tử, thư điện tử và trang thông tin điện tử trở thành kênh chính, TCVN3 lui dần về các kho lưu trữ.

Gặp tệp TCVN3 hôm nay: làm gì

  1. Đừng sửa ngay trên tệp. Gõ thêm chữ Unicode vào giữa văn bản TCVN3 sẽ tạo ra tệp lai, sau này chuyển mã rất khó.
  2. Xác nhận đúng là TCVN3. Nhìn tên phông trong văn bản (bắt đầu bằng ".Vn"), hoặc nhìn dấu hiệu "§éc lËp" như bảng trên.
  3. Chuyển mã sang Unicode bằng công cụ chuyển mã của bộ gõ (Unikey có bộ công cụ chuyển mã riêng) hoặc phần mềm chuyên dụng. Chọn nguồn là TCVN3, đích là Unicode.
  4. Đổi phông sang một phông Unicode (Times New Roman, Arial…) sau khi chuyển mã. Nhớ chuyển cả phần dùng phông "H" — đôi khi phải xử lý riêng.
  5. Đọc soát những chữ hoa có dấu, tiêu đề, bảng biểu — nơi lỗi hay sót.

Các bước chuyển mã chi tiết, nhất là với tệp dài nhiều định dạng, cần đọc hướng dẫn của công cụ cụ thể. Ở đây chỉ nhấn mạnh: chuyển trước, sửa sau.

Góc nhìn hôm nay

TCVN3 là một bước tiến quan trọng: lần đầu tiên văn phòng cả nước có một bảng mã chung, chấm dứt cảnh mỗi nơi một kiểu. Nhưng nó sinh ra trong giới hạn của máy tính 8 bit, nên chỉ là giải pháp tạm. Khi Unicode đã phổ biến, việc chuyển sang TCVN 6909:2001 là tất yếu.

Nhiều tài liệu quý — giáo trình, luận văn, sổ sách, hồi ký gia đình gõ thập niên 1990 — vẫn đang nằm ở TCVN3 trong các ổ đĩa cũ. Nếu bạn giữ những tệp như vậy, hãy chuyển sang Unicode và lưu thêm một bản PDF, trước khi những máy còn cài phông .Vn biến mất hẳn.

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

TCVN3 là gì?

TCVN3 là cách gọi phương án VN3 của tiêu chuẩn TCVN 5712:1993, một bảng mã tiếng Việt 8 bit phổ biến trong văn phòng thập niên 1990. Nó đi kèm các phông .Vn như .VnTime, .VnArial.

Vì sao gõ TCVN3 phải dùng phông .VnTimeH cho chữ hoa?

Một byte không đủ chỗ cho cả 134 chữ có dấu, nên TCVN3 bỏ chữ hoa có dấu thanh. Phông có đuôi H vẽ các vị trí chữ thường thành hình chữ hoa để in tiêu đề.

Chữ "Céng hoµ x· héi" là bị lỗi gì?

Đó là văn bản TCVN3 đang hiển thị bằng phông thường không phải .Vn. Mỗi chữ có dấu hiện thành ký tự châu Âu ở cùng số mã. Cần chuyển mã TCVN3 sang Unicode rồi đổi phông.

ABC và TCVN3 có khác nhau không?

Trong cách nói thông thường, hai tên gọi dùng thay nhau. "ABC" gắn với bộ phông và phần mềm gõ phổ biến thời đó, còn bảng mã bên dưới là TCVN3 theo TCVN 5712:1993.

Có nên tiếp tục gõ TCVN3 không?

Không nên. Văn bản hành chính hiện phải dùng Unicode theo TCVN 6909:2001, và tệp TCVN3 dễ hỏng khi gửi qua email, mở trên điện thoại hay máy không có phông .Vn.

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