Dùng chữ tiếng Việt bằng Unicode trong Windows
Việc chuyển đổi từ sử dụng các bảng mã riêng biệt sang dùng bảng mã chuẩn quốc tế để
soạn thảo và thể hiện Việt ngữ đang gây ra không ít bối rối cho người dùng. Dưới đây là
thông tin cơ bản về font chữ và cách xử lý tiếng Việt bằng font Unicode trong hệ điều hành
Windows.
1. Bảng mã và font chữ
Bảng mã, Font và Unicode
Về mặt cơ bản, máy tính làm việc với con số. Bản thân mỗi chữ cái (mỗi ký
tự) cũng được gắn cho một con số nào đó để máy tính có thể hiểu. Hệ
thống các con số dùng để thể hiện tất cả các chữ cái và ký hiệu của một
(hay nhiều) ngôn ngữ gọi là bảng mã.
Bảng mã chuẩn đầu tiên cho máy tính có tên là ASCII (American Standard
Code for Information Interchange). ASCII chuẩn 7-bit cho phép hiển thị
128 ký tự (bao gồm chữ cái, số và các ký tự đặc biệt khác như “?”, “.”, “*”
v.v.). Mỗi ký tự trong ASCII sử dụng một byte và khi tập hợp lại, ASCII
cho phép hiển thị thêm 128 ký tự khác nữa (tổng cộng là 256 ký tự). Phần
tập hợp này gọi là ASCII mở rộng (Extended ACSII) hay ASCII 8-bit.
Một tập hợp các chữ cái và ký hiệu thể hiện tất cả các ký tự trong một bảng
mã với cùng một kiểu hiển thị được gọi là font. Nói cách khác, font là hình
thức mà một bảng mã được thể hiện trên màn hình máy tính hoặc trên trang
giấy khi in ra. Bất cứ điều gì thuộc về ký hiệu ngôn ngữ được thể hiện trên
máy tính đều phải theo một font nào đó, thuộc một bảng mã nào đó.
Thường font bao giờ cũng có khả năng thể hiện dưới 4 dạng khác nhau:
bình thường, đậm, nghiêng và in hoa.
Unicode là một bảng mã mới (có thể gọi là dạng mở rộng (rất rộng) của
bảng mã ASCII), sử dụng 2 byte cho mỗi ký tự và có khả năng thể hiện
65.536 ký tự khác nhau, cho phép biểu đạt mọi ký tự của tất cả các ngôn
ngữ trên thế giới. Nói cách khác, với Unicode, mỗi ký tự của tất cả các
ngôn ngữ trên thế giới sẽ có một con số riêng cho mình trong bảng mã. Các
font chữ theo chuẩn Unicode được gọi là font Unicode.
Font tiếng Việt kiểu cũ
Có thể dễ dàng thấy ngay điểm yếu của ASCII, đó là chỉ hỗ trợ tốt bảng
chữ cái của tiếng Anh. Để thể hiện nhiều thứ tiếng khác, lập trình viên phải
tạo ra các bảng mã khác dựa trên ASCII 8-bit. Một số bảng mã tiêu biểu
kiểu này đối với tiếng Việt là TVCN3 (ABC 2.1), VNI, BK HCM...
Các bảng mã trên giải quyết được vấn đề thể hiện các ký tự đặc biệt trong
tiếng Việt (dấu, dấu móc và dấu mũ), tuy nhiên có cùng một nhược điểm
rất lớn là không tương thích lẫn nhau và với các font có sẵn của các hệ điều
hành. Cụ thể, một văn bản được soạn thảo bằng font .Vntime (của bảng mã
TVCN3) trên máy tính A sẽ không được thể hiện một cách chính xác trên
máy tính B, nếu máy tính B không có font .Vntime (hoặc tương tự) được
cài đặt. Nhiều trường hợp ngay cả khi font này đã được cài đặt, việc thể
hiện font vẫn không chính xác (như lỗi chữ “ư” phổ biến). Sở dĩ có sự
không tương thích lẫn nhau giữa các bảng mã tồn tại là vì những người
sáng lập ra các bảng mã đó không có sự đồng nhất trong việc sắp đặt chữ
cái nào sẽ được con số nào thể hiện trong từng bảng mã.
Sự không tương thích trên khiến việc trao đổi thông tin (đặc biệt là giữa các
miền và giữa trong và ngoài nước) gặp rất nhiều khó khăn, nhất là đối với
những người không có chuyên môn về máy tính.
Cách giải quyết duy nhất là tất cả cùng sử dụng chung một bảng mã. Và
việc sử dụng Unicode - bảng mã chuẩn quốc tế - để thể hiện tiếng Việt có
thể nói là hợp lý và “hợp thời” nhất.
2. Gõ tiếng Việt với Unicode
Với font tiếng Việt kiểu cũ, để gõ được tiếng Việt cần có hai điều kiện:
Font chữ và bộ gõ dành cho font chữ đó. Với font Unicode, thì chỉ còn cần
bộ gõ thôi. Tuy nhiên, không phải phiên bản nào của hệ điều hành
Windows cũng có sẵn font Unicode.
Các hệ điều hành Windows 2000 và Windows XP hỗ trợ rất tốt Unicode
(hầu hết các font có sẵn trong hệ thống đều theo chuẩn Unicode). Với các
hệ điều hành còn lại (Windows 98/95/NT) thì người dùng có thể tải font
Unicode về rồi cài vào máy. Tuy nhiên, nếu có thể thì tốt nhất là nên sử
dụng Windows 2000 hoặc Windows XP.
Về bộ gõ, hiện thời phổ biến nhất là Vietkey và Unikey. Tuy nhiên, Unikey
tốt hơn bởi một số lý do chính sau:
- Unikey miễn phí và mã nguồn mở. Người dùng có thể tải mã nguồn về và
sửa chữa. Vietkey là chương trình thương mại và người dùng phải mua để
sử dụng.
- Unikey có kèm phần mềm chuyển mã và cho phép chuyển đổi rất nhiều
mã khác nhau
- Unikey (phiên bản 3.5) có tùy chọn để không sử dụng “clipboard” của
Windows khi gõ tiếng Việt bằng font Unicode. Điều này tránh được lỗi
cách chữ hoặc mất chữ mà Vietkey hay mắc phải.
Ngoài Unicode ra, cả Vietkey và Unikey đều hỗ trợ các bảng mã cũ khác.
Tương tự như Vietkey, Unikey không yêu cầu “cài đặt”. Để sử dụng chỉ
cần tải phần mềm này về và chạy file có tên UnikeyNT.exe. Hướng dẫn có
thể được tìm thấy tại trang web của tác giả Phạm Kim Long.
Lưu ý:
- Khi gõ tiếng Việt sử dụng bộ mã Unicode, cần đảm bảo font chữ đang
dùng phải là thuộc bảng mã Unicode. Tốt nhất là nên sử dụng các font
“Arial” hoặc “Times New Roman”.
- Không sử dụng các bộ gõ cũ (dành cho các hệ điều hành 16-bit như DOS
hay Windows 3x) cho các hệ điều hành 32-bit (Windows 9x/NT/2K/XP).
Các bộ gõ cũ (ví dụ: ABC 2.1) khi cài đặt thường thay đổi font hệ thống
của hệ điều hành (thường là Unicode) thành font hệ thống kiểu cũ (ASCII)
và khiến hệ điều hành không hỗ trợ được Unicode nữa.
3. Đọc tiếng Việt trên mạng với Unicode
Để đọc tiếng Việt (được soạn thảo bằng font Unicode) trên mạng Internet
cần có 2 điều kiện:
- Hệ điều hành hỗ trợ Unicode (xem phần trên).
- Trình duyệt (browser) hỗ trợ Unicode: Các trình duyệt phổ biến như
Internet Explorer 5.x (hoặc mới hơn), Netscape 4.7 (hoặc mới hơn) hỗ trợ
rất tốt Unicode. Trái lại, trình duyệt Opera hỗ trợ Unicode rất kém.
Nếu có cả hai điều kiện trên mà vẫn không đọc được thì cần chuyển trạng
thái hiển thị hiện thời sang Unicode. Đối với Internet Explorer, cách làm
như sau: Chọn menu “View” -> Encoding… -> More (nếu cần) -> Unicode
(UTF-8).
Lưu ý: Ngày càng nhiều trang web thể hiện tiếng Việt bằng font Unicode,
tuy nhiên vẫn có một số sử dụng font kiểu cũ. Trong trường hợp đó, cần cài
thêm font kiểu cũ vào máy thì mới có thể xem được. Tuy nhiên, nếu trang
web này bị lỗi (ví dụ: mất chữ “ư”), thì cũng không nên sử dụng các phần
mềm để sửa lỗi này. Sử dụng các phần mềm như vậy sẽ làm hỏng sự ổn
định của hệ thống.
Để đọc được Unicode thông qua e-mail còn cần thêm một điều kiện nữa là
chương trình e-mail (e-mail client) phải hỗ trợ Unicode. Ngoài ra, khi gửi
thư, cần gửi dưới dạng Unicode. Nếu sử dụng Outlook Express, trình này
sẽ hỏi về dạng font của thư trước khi gửi đi (chọn “Send as Unicode”).
Hiện thời, trong số các trình hội thoại trực tuyến (chat client) phổ biến thì
chỉ có Windows Messenger (còn được gọi là MSN messenger) là hỗ trợ
Unicode.
4. In tiếng Việt với Unicode
Hầu hết các máy in mới đều có thể in văn bản được soạn thảo bằng
Unicode. Với những trường hợp không in được tiếng Việt bằng font
Unicode thì nguyên nhân chủ yếu là do các máy này không “hiểu” font
Unicode và tự động thay thế bằng một font khác có sẵn trong máy in.
Cách khắc phục khác nhau tùy theo từng máy in cụ thể, nhưng cũng có một
số điểm chung. Trước hết cần làm như sau: Start -> Settings - Printers - >
Bấm chuột phải vào biểu tượng của máy in -> chọn Properties. Tiếp theo,
tại của sổ của Properties, di chuyển giữa các tab (thẻ) và thay đổi các thông
số theo một hoặc tổng hợp những cách sau (nếu có):
- Chuyển giá trị của "Spooling data format" sang "RAW".
- Chọn và sử dụng chức năng "Always use True type Fonts".
- Chọn để máy in “Download font” từ máy tính trước khi in.
- Chọn để máy in không thay thế (Substitute) font trước khi in.
- Chọn chức năng “Print Text as graphics”.
Ngoài ra, tải về trình điều khiển (driver) mới nhất và cài lại cho máy in
cũng sẽ giúp máy in hoạt động tốt với Unicode trong hầu hết các trường
hợp.
Đông Ngô