DùngchữtiếngViệtbằngUnicodetrongWindows Việc chuyển đổi từ sử dụng các bảng mã riêng biệt sang dùngbả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ếngViệtbằng font Unicodetrong 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 trongbảng mã. Các font chữ theo chuẩn Unicode được gọi là font Unicode. Font tiếngViệ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ảngchữ 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ếngViệ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 trongtiếngViệ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ụngUnicode - bảng mã chuẩn quốc tế - để thể hiện tiếngViệt có thể nói là hợp lý và “hợp thời” nhất. 2. Gõ tiếngViệt với Unicode Với font tiếngViệt kiểu cũ, để gõ được tiếngViệ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ụngWindows 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ếngViệtbằ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ếngViệ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ếngViệt trên mạng với Unicode Để đọc tiếngViệ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ếngViệtbằ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ếngViệ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ếngViệtbằ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 Unicodetrong hầu hết các trường hợp. Đông Ngô . 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ế. 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ệ