Unicode và vấn đề về chuẩn tiếng Việt
Hoàng Nam Hải
1. Tại sao cần có một bảng mă chung trên toàn thế giới?
Nếu ghé thăm nước Nhật thông qua Internet, bạn sẽ thất vọng v́ những ǵ bạn thấy ở đó. Hầu hết các trang Web đều có h́nh ảnh rất đẹp, nhưng các ḍng chữ th́ vô cùng lộn xộn, toàn là những h́nh chữ nhật, những kư tự đô la, kư tự nguyên âm lằng nhằng khác. Quả thật, mới nh́n sơ qua tôi đă thấy hoa mắt,. Tôi chắc rằng chẳng ai có thể đọc được dù là một mẩu thông tin từ những kí tự đó cho dù họ đă học tiếng Nhật hay là người Nhật chăng nữa.
Tại sao vậy? Có thể giải thích hiện tượng này như sau: các đoạn văn tiếng Nhật trong các trang Web được viết bằng một bộ mă khác hẳn với những ǵ mà bạn đang dùng, cho nên, những ǵ đang được hiển thị trên màn h́nh không phải là những ǵ mà người soạn trang Web đó muốn đưa tới cho bạn. Tŕnh duyệt Web của bạn không hiểu thứ loại phông chữ này v́ thế, nó sẽ hiển thị từng byte mà nó đọc được với những biểu tượng tương ứng (đă được dựng sẵn) trong bộ mă Western (vốn được sử dụng mặc định trong các tŕnh duyệt). Với những ngời sử dụng máy tính cho công việc kinh doanh, vấn đề sẽ gây khó chịu hơn nhiều. Họ sẽ phải sử dụng một phần mềm khác hoặc thực hiện một loạt các thao tác mất thời gian khi muốn xem thông tin của các ngôn ngữ này (chắc bạn cũng biết, trong công việc kinh doanh, họ không thể bỏ qua những thông tin hữu ích, họ buộc phải đọc nó. C̣n nếu như tôi hoặc các bạn th́.. thà xem địa chỉ c̣n hơn).
Tác giả của các trang Web ở một số nước này nhận thấy rằng họ sẽ phải tăng gấp đôi dung lượng đĩa, tăng gấp đôi công việc của ḿnh để dịch những thông tin này sang tiếng Anh. Đối với một vài ngôn ngữ, kể cả Nga, Trung Quốc và Việt nam, hiện có nhiều hơn một phương pháp mă hoá bảng chữ cái đang được dùng, điều này khiến cho những ai vừa muốn xem tiếng các thông tin bằng tiếng Anh, vừa muốn xem các thông tin bằng tiếng Nhật, tiếng Việt phải có tới ít nhất hai bộ phông chữ, và có thể là hai bộ phần mềm ứng dụng - rất bất tiện và tốn kém.
Giải pháp toàn vẹn nhất cho sự không tương thích giữa các bảng mă, đó là sử dụng Unicode, giải pháp đă được nhiều quốc gia chấp nhận và được đưa vào làm chuẩn cho việc trao đổi, sử dụng thông tin. Dưới đây, chúng ta sẽ cùng xem xét những nguyên nhân, và một số ưu điểm của Unicode.
Chắc chắn, câu hỏi số một thường được hỏi trong vấn đề này sẽ là: Unicode là ǵ? Unicode đơn giản chỉ là một bảng kư tự chuẩn được đặt ra để sử dụng để biểu thị các ngôn ngữ trên thế giới, như vậy, những phần mềm sử dụng Unicode đều có khả năng hiển thị một thứ tiếng bất ḱ nào (tất nhiên là nước này phải có bộ kư hiệu biểu diễn chư viết của h́nh trong đó). Để giúp bạn hiểu rơ hơn nguyên nhân và quá tŕnh phát triển, tôi xin được nhắc sơ qua một số nét chính trong lịch sử Unicode. Trước hết, Unicode là đề án của Unicode Consortium, được thực hiện từ tháng 1 năm 1991. Đề án có được những nỗ lực lớn trong sự hợp tác giữa hầu hết các công ty lớn thuộc ngành công nghiệp máy tính bao gồm Apple, IBM, Microsoft, Oracle, Sub, Xerox, và mới đây là Netscape. Tiền thân của Unicode, đó chính là bảng mă ISO 8859-1 (tương tự như bảng mă ASCII - American Standard Code for Information Interchange được sử dụng từ những năm 60) hiện vẫn được coi là tiêu chuẩn cho việc hiển thị thông tin trong các hệ máy PC ngày nay.
2. Cấu trúc của Unicode
Bạn có thể hiểu một cách nôm na rằng Unicode là bảng mở rộng của bảng các kư tự ASCII. Đối với bảng mă ASCII cũng như các bảng mă thông thường khác, mỗi kư tự được định nghĩa bằng một byte duy nhất. Như bạn đă biết, một byte có 8 bit, v́ thế chỉ bảng ASCII chỉ có tối đa 2 mũ 8 = 256 kư tự khác nhau. Với Unicode, mỗi kư tự ở đây được định nghĩa bằng 2 byte, v́ thế số kư tự biểu diễn khác nhau trong bảng sẽ là 2 mũ 16 = 65536. Quá nhiều? Đúng vậy, cho tới nay, hơn một nửa chỗ trong Unicode vẫn c̣n trống và chắc chắn chúng sẽ được sử dụng tới trong tương lai. Với số kư tự có thể biểu diễn lớn đến như vậy, con người không những muốn nó thể hiện các kư hiệu chữ viết trong các ngôn ngữ mà khi tạo ra nó, con người c̣n mong nó biểu hiện cả các kư hiệu được sử dụng trong điện tử, vật lư, toán học, thương mại... Để thuận tiện cho các nhà lập tŕnh cũng như trong quá tŕnh xử lư thông tin, 256 kư tự đầu tiên của Unicode được định nghĩa giống hệt bảng kư tự ASCII.
Hiện nay Unicode đă có những những kư hiệu tượng trưng cho các kư tự của hầu hết các ngôn ngữ được sử dụng rộng răi kể cả tiếng Nga, tiếng arập, ấn Độ, và một số nước đông á. Theo đánh giá của các chuyên gia, thách thức lớn nhất đối với Unicode Consortium là thuyết phục những công ty sản xuất phần mềm hỗ trợ kế hoạch này. Bước khởi đầu của kế hoạch đă được hoàn thành rất tốt đẹp. Nhiều chương tŕnh đă được trang bị đặc tính hỗ trợ Unicode. Nổi bật nhất trong số này, phải kể đến FrontPage,Windows95, Windows NT của Microsoft và các ứng dụng văn pḥng Microsoft Office97. Bên cạnh đó, ngôn ngữ lập tŕnh java của Sun cũng chứa đặc tính này, trong tương lai, hệ điều hành "Rhapsody" cuả Apple cũng có khả năng làm việc với Unicode.
Tuy nhiên, đó mới là vấn đề hiển thị các văn bản sẵn có, nếu bạn muốn tự ḿnh soạn thảo các văn bản sử dụng Unicode mọi thứ sẽ phức tạp hơn một chút. Bạn cần phải cài đặt thêm:
Phần mềm hỗ trợ Unicode
Các phông chữ Unicode
Một chương tŕnh định nghĩa cấu h́nh bàn phím cho ngôn ngữ bạn muốn sử dụng
(ở Việt Nam, những phần mềm tiêu biểu nhất thuộc dạng này phải kể đến ABC, VNI, VietWare... Tôi chắc rằng bạn chẳng lạ ǵ với cách sử dụng chúng).
Trong các phiên bản Windows 95 thông thường không chứa sẵn Unicode. Với những trường hợp này, bạn nên tải xuống và cài đặt Unicode từ một số địa chỉ Web nào đó trong Internet, ví dụ như: www.microsoft.com. Nhớ rằng, bạn chẳng phải trả một xu nào cả, nó miễn phí hoàn toàn...Đối với Netscape, để hiển thị các trang Web không được sử dụng với bộ kư tự Western chẳng có ǵ là khó khăn ǵ, đặc biệt là trong những phiên bản mới. Công việc của bạn lúc này rất đơn giản: thử chọn lần lượt các phông chữ trong danh sách được đưa ra. Microsoft Internet Explorer cũng có một danh sách khá dài các phông chữ này để bạn lựa chọn - nhưng trong một thế giới lư tưởng, tất cả các văn bản đều sử dụng chung một bộ phông Unicode duy nhất, bạn sẽ chẳng cần phải chuyển qua chuyển lại nữa.
3. Kết luận
Hy vọng rằng Unicode là không chỉ gắn mọi người lại gần nhau hơn mà c̣n tạo ra một thế giới điện toán hợp nhất, một thế giới mà tất cả các ngôn ngữ đều có vai tṛ như nhau. Tiêu chuẩn để thực hiện đă sẵn sàng, tất cả chỉ c̣n phụ thuộc vào những người sử dụng nó. Tuỳ từng nước mà sử dụng Unicode sẽ có những ưu điểm và nhược điểm riêng, tuy nhiên tôi nghĩ rằng, đây sẽ là con đường để phổ biến các thông tin, văn bản tiếng Việt lên Internet, cho các người nước ngoài quan tâm đến những thông tin tiếng Việt. Nếu bạn cần thêm những thông tin về Unicode, hăy t́m tới những địa chỉ Web sau:
1. Homepage của Unicode Consortium:
2. Các trang Web của Microsoft về giải pháp Unicode và đa ngôn ngữ:
http://www.microsoft.com/win32dev/wcnt.htm
http://www.microsoft.com/win32dev/apiext/unicode.htm
3. Một số trang có thông tin về Unicode khác:
http://cns-web.bu.edu/pub/djohnson/web_files/i18n/unicode.html
http://www.truetype.demon.co.uk/unicode.htm
http://www.lang.duke.edu/webcalis/webcalis.htm
http://www.iss.nus.sg/People/guojin/chinese.html
http://www.vlsivie.tuwien.ac.at/mike/fonts
PcLeHoan
1996 - 2002
Mirror :
http://www.pclehoan.com
Mirror :
http://www.lehoanpc.net
Mirror :
http://www.ktlehoan.com