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.
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ô