Thiết kế kỹ thuật phần mềm đưa vào và hiển thị chữ thái Việt Nam

Dân tộc Thái là một dân tộc lớn của Việt Nam, có sốlượng người đông trên một triệu người

và đã cưtrú từhàng nghìn năm nay trên lãnh thổViệt Nam. Vềmặt ngôn ngữ, tiếng nói

thuộc vào họtiếng Thái, người dân tộc Thái ởViệt Nam nói và hiểu bình thường tiếng Thái

Lan. Không những thế, mọi người nói tiếng Thái ởvùng các nước Thái Lan, Việt Nam,

Lào, Myanmar, và Nam Trung Quốc đều có thểhiểu được nhau dễdàng. Tuy nhiên vềchữ

viết thì có sựkhác biệt đáng kể.

Dân tộc Thái đã có chữviết theo hệchữPallava từlâu đời, có thểtừthếkỉthứ10.

Nhiều tác phẩm thơca, văn học, văn hoá, tâm linh của dân tộc Thái vẫn còn tới ngày nay

ghi trong các văn bản cổvà phân tán rải rác trong các bản làng người Thái. Từnăm 1959,

chữThái Việt Nam đã được nghiên cứu và cải tiến, và đã được Bộgiáo dục thông qua năm

1962 xem nhưchữThái Việt Nam thống nhất chính thức.

Tuy có sựthống nhất của các loại chữThái ởnhững điểm chung, nhưng với từng khu

vực địa lý cũng có những điểm dịbiệt nên chữcác dân tộc nói tiếng Thái vẫn khác với chữ

Thái Lan hiện đại. Nói riêng, chữThái thống nhất của Việt Nam khác với chữThái Lan

hiện đại, vì có nhiều điểm kiến trúc đã tiếp thu cách thểhiện của chữquốc ngữViệt Nam.

Những cải tiến chính của chữThái thống nhất là nhưsau:

• các dấu thanh trước đây đặt trên nguyên âm thì nay đã chuyển thành một kí hiệu

độc lập đứng bên cạnh nguyên âm,

• hệthống các phụâm được cải tiến và hoàn thiện đểphản ánh chính xác hai hệ

thống thanh thấp và cao đi kèm với phụâm.

• Các âm tiết được

pdf12 trang | Chia sẻ: luyenbuizn | Lượt xem: 1055 | Lượt tải: 0download
Nội dung tài liệu Thiết kế kỹ thuật phần mềm đưa vào và hiển thị chữ thái Việt Nam, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
1 THIẾT KẾ KỸ THUẬT Phần mềm đưa vào và hiển thị chữ Thái Việt Nam Phan Anh Dũng - Trung tâm Công nghệ phần mềm Huế - Hue CIT Ngô Trung Việt - Viện Công nghệ Thông tin 1. Giới thiệu vấn đề Dân tộc Thái là một dân tộc lớn của Việt Nam, có số lượng người đông trên một triệu người và đã cư trú từ hàng nghìn năm nay trên lãnh thổ Việt Nam. Về mặt ngôn ngữ, tiếng nói thuộc vào họ tiếng Thái, người dân tộc Thái ở Việt Nam nói và hiểu bình thường tiếng Thái Lan. Không những thế, mọi người nói tiếng Thái ở vùng các nước Thái Lan, Việt Nam, Lào, Myanmar, và Nam Trung Quốc đều có thể hiểu được nhau dễ dàng. Tuy nhiên về chữ viết thì có sự khác biệt đáng kể. Dân tộc Thái đã có chữ viết theo hệ chữ Pallava từ lâu đời, có thể từ thế kỉ thứ 10. Nhiều tác phẩm thơ ca, văn học, văn hoá, tâm linh của dân tộc Thái vẫn còn tới ngày nay ghi trong các văn bản cổ và phân tán rải rác trong các bản làng người Thái. Từ năm 1959, chữ Thái Việt Nam đã được nghiên cứu và cải tiến, và đã được Bộ giáo dục thông qua năm 1962 xem như chữ Thái Việt Nam thống nhất chính thức. Tuy có sự thống nhất của các loại chữ Thái ở những điểm chung, nhưng với từng khu vực địa lý cũng có những điểm dị biệt nên chữ các dân tộc nói tiếng Thái vẫn khác với chữ Thái Lan hiện đại. Nói riêng, chữ Thái thống nhất của Việt Nam khác với chữ Thái Lan hiện đại, vì có nhiều điểm kiến trúc đã tiếp thu cách thể hiện của chữ quốc ngữ Việt Nam. Những cải tiến chính của chữ Thái thống nhất là như sau: • các dấu thanh trước đây đặt trên nguyên âm thì nay đã chuyển thành một kí hiệu độc lập đứng bên cạnh nguyên âm, • hệ thống các phụ âm được cải tiến và hoàn thiện để phản ánh chính xác hai hệ thống thanh thấp và cao đi kèm với phụ âm. • Các âm tiết được Tiếng Thái Việt Nam hiện đại có 48 phụ âm, 20 nguyên âm, 2 dấu thanh và 4 kí tự đặc biệt và 9 kí hiệu dấu phụ cổ (tuy nhiên một nguyên âm o cũng đồng thời là phụ âm), do đó có tất cả 84 kí tự. Mô tả chi tiết hơn có thể xem các bài viết của Cầm Trọng và Ngô Trung Việt. Để đáp ứng nhu cầu bảo tồn văn hoá Thái cổ và nhu cầu học tập, giảng dạy chữ Thái cho học sinh người dân tộc cũng như việc nghiên cứu của các nhà chuyên môn Thái học, cần phát triển nhiều hệ thống phần mềm xử lí chữ Thái. Trong số những phần mềm cần xây dựng, trước mắt cần gấp rút hoàn chỉnh bộ phông chữ Thái thống nhất và phần mềm “Bàn phím chữ Thái VNTN” cho phép sử dụng máy tính để đánh chữ, in ấn sách báo tài liệu tiếng Thái VN v.v. 2 2. Thiết kế ngoài 2.1 Đặc tả yêu cầu Tình hình trong nước và quốc tế hiện tại đang thuận lợi và chín muồi cho việc triển khai phần mềm xử lí chữ Thái Việt Nam, vì kĩ thuật CNTT cùng với máy vi tính và bàn phím tiếng Anh hiện đã phổ cập trong nước, các chuyên viên lập trình phát triển đông đảo cả số lượng cũng như chất lượng. Chữ Thái Lan đã được phổ cập xử lí trên máy tính ở Thái lan, các ngôn ngữ họ hàng với tiếng Thái như Khmer, Lào cũng đã được đưa vào xử lí trên máy tính. Chữ Thái Việt Nam nằm trong mối tương quan thống nhất với hệ thống chữ Thái quốc tế và các hệ thống chữ cơ bản khác. Do vậy việc xử lí chữ Thái Việt Nam cần được xem xét trong mối quan hệ với chữ Thái Lan, chữ Việt và chữ tiếng Anh. Khâu đầu tiên của việc xử lí cho mọi ngôn ngữ bao giờ cũng là hiển thị và đưa thông tin vào máy tính. Cần thực hiện thiết kế bộ chữ Thái Việt Nam trong môi trường đa ngữ, có tính tới sự hài hoà của chữ Thái Việt Nam trong môi trường bộ kí tự phổ dụng quốc tế Unicode, để chữ Thái Việt Nam có thể tham gia vào việc trao đổi thông tin toàn cầu. Mặt khác, việc đưa chữ Thái Việt Nam vào máy tính cũng phải tính tới khung cảnh hoà trộn của nhiều thứ chữ mà hiện nay người dân tộc Thái phải làm chủ: sự hoà trộn của các văn bản chữ Thái Việt Nam, chữ Việt Nam, chữ tiếng Anh, chữ Thái Lan. Do đó chương trình bàn phím xem như công cụ đưa chữ Thái Việt Nam vào máy tính cũng cần được phân tích và thiết kế một cách đầy đủ. 2.1.1 Các yêu cầu chính đối với bộ phông chữ Thái Việt Nam là: 1. Thể hiện đầy đủ chữ Thái cải tiến thống nhất 2. Thể hiện đầy đủ các chữ Thái cổ, truyền thống 3. Cùng tồn tại với các chữ Việt, chữ Thái, v.v.. 2.1.2 Các yêu cầu chính đối với chương trình bàn phím chữ Thái là 1. Bàn phím chữ Thái cho người sử dụng chữ dân tộc Thái Việt Nam phải có khả năng gõ được cả chữ Thái thống nhất và chữ Thái cổ 2. Thân thiện với người sử dụng, hỗ trợ trực quan tối đa cho người dùng mới làm quen với chữ Thái thống nhất 3. Cho phép gõ được cả chữ Thái Lan khi cần 4. Cho phép khả năng chuyển đổi qua lại giữa các loại bàn phím: Anh (Việt) - Thái Lan - và Thái Việt. 2.2. Kiến trúc bộ font chữ Thái Việt Nam: Font chữ là độc lập với bộ gõ (bàn phím), nhưng cần phải được thiết lập trước để tạo điều kiện hiển thị cho chương trình xử lí bàn phím. Font chữ bao gồm tập hợp các hình chữ và mã số tương ứng của chúng. 3 Hình chữ Thái Việt Nam do Cầm Trọng và các chuyên gia chữ Thái thống nhất xây dựng và vẽ tay, dựa trên công trình thống nhất các chữ dân tộc Thái Việt Nam. Các nguyên tắc tạo từ Thái cũng được nhóm chuyên gia này biên soạn và chuẩn bị. Do chữ Thái VN đang trong quá trình xin đưa vào bộ kí tự chuẩn Unicode quốc tế nên hiện tại việc mã hoá cho chúng được thực hiện trong vùng người dùng tự do định nghĩa ở mặt phẳng mã hoá cơ sở. Cụ thể các chữ Thái Việt Nam được đặt vào các mã F021-F073 của mặt phẳng cơ sở số 0. Tuy nhiên cần chuẩn bị sẵn các giải pháp kỹ thuật để xử lý nếu sau này chữ Thái được đưa vào chuẩn Unicode quốc tế ở khu vực các mặt phẳng cao (thường được gọi là unicode surrogate). Bộ font chữ Thái Việt Nam thống nhất lấy bộ font Unicode tiếng Việt làm nền (tức là chứa luôn cả các kí tự tiếng Anh, tiếng Việt), sau đó bổ sung các hình chữ Thái Việt Nam, và nếu cần có thể bổ sung cả chữ Thái Lan, Khmer. Ngoài các chữ Thái Việt Nam thống nhất cơ bản đã được Bộ GD duyệt, bộ font còn bổ sung các kí tự “cổ” và các dạng viết khác nhau của cùng một con chữ, nhằm phục vụ riêng cho các nhà nghiên cứu chuyên sâu về Thái học. Các chữ bổ sung này được xếp mã nối tiếp liền sau khu vực mã cơ bản. 2.3 Phần mềm bàn phím chữ Thái Việt Nam: Hai khía cạnh cần nghiên cứu và chuẩn bị cho việc làm phần mềm bàn phím chữ thái Việt Nam là thiết kế bố trí bàn phím chữ Thái Viểt Nam và thiết kế chương trình bàn phím Thái Việt Nam. 2.3.1 Bố trí bàn phím chữ Thái Việt Nam Xuất phát từ đặc điểm có chung nguồn gốc và có tính đồng dạng khá cao của các hệ thống chữ Thái Đông Nam Á và cũng để thuận tiện cho việc giao lưu, phát triển quốc tế sau này, bàn phím chữ Thái Việt Nam cần được xây dựng dựa theo thiết kế của bàn phím Thái Lan và Lào đồng thời phải nghiên cứu về sự tương tự giữa các con chữ và cách dùng để có sự điều chỉnh hợp lý. Bố trí bàn phím Thái Việt Nam dựa trên công trình nghiên cứu “Tìm hiểu quan hệ giữa chữ Thái Việt Nam và chữ Thái Lan để xây dựng bàn phím chữ Thái Việt Nam Thông Nhất”của Yukti Mukdawijitra, NCS Viện Việt Nam học và khoa học phát triển. Sau đây là mấy nét lớn: + Đầu tiên phân tích nguồn gốc từng chữ Thái VN để xác định các chữ tương đương trong tiếng Thái Lan hiện đại, và đặt các chữ đó khớp với vị trí các chữ Thái Lan tương ứng trên bàn phím chữ Thái Lan phổ thông (tức là bàn phím Kedmanee). + Những chữ Thái Việt Nam tương đương với chữ Lào thì chọn vị trí trên bàn phím như của chữ Lào. + Sau đó xét tới các chữ không tương đương, tùy theo tần số xuất hiện mà xếp đặt vào các phím còn lại, phần này có một số chữ vốn chỉ có riêng trong chữ Thái Việt Nam thống nhất mà Yukti chưa đề cập đến, nhưng xét yêu cầu của các nhà nghiên cứu có lúc vẫn cần sử dụng nên chúng tôi lựa chọn đặt vào các mã phím khả kiến còn trống. 4 2.3.2. Các chức năng cơ bản của chương trình bàn phím - Có bộ gõ để đánh các chữ Thái VNTN vào văn bản, đây là chức năng cơ bản. - Có khả năng chuyển đổi giữa các bàn phím tiếng Anh, Thái Lan, Thái VNTN tránh xung đột với các bàn phím tiếng Việt. - Với học sinh dân tộc và người mới học chữ Thái có thêm hình bàn phím trực quan để người dùng có thể học cách bố trí phím. Người dùng có thể nháy chuột vào hình chữ để lấy chúng vào văn bản, tức là tiện ích bàn phím ảo . - Có khả năng đánh luôn cả chữ Thái và Khmer (chủ yếu để phục vụ các nhà chuyên môn). Một số khả năng mở rộng phần mềm gõ chữ và hiển thị chữ: - hỗ trợ hai tiện ích là bàn phím trực quan chữ Thái Việt và bàn phím trực quan chữ Thái Lan có thể dùng để đánh chữ vào Word. - Bổ sung thêm một số font chữ để phục vụ in ấn tài liệu cũng như in sách GK cho học sinh dân tộc. - Bổ sung các dạng viết chữ khác nhau để phục vụ giới chuyên môn. - Nghiên cứu phát triển các chức năng tra cứu từ điển chữ Thái - Việt - Anh. 2.4 Giao diện người dùng gõ chữ Thái Việt Nam Chương trình bàn phím chữ Thái Việt Nam được thể hiện bằng một hình tượng nổi trên màn hình khi được kích hoạt. Hình tượng này cũng đồng thời mang các thông tin thông báo về chế độ bàn phím hiện thời (tiếng Anh, chữ Thái Việt Nam hay chữ Thái Lan). Việc thay đổi các thông số bàn phím được thực hiện khi kích hoạt menu đi kèm hình tượng này. Để người dùng sử dụng được thuận tiện khi mà bàn phím vật lí gõ vào chưa được dán nhãn cho các kí tự Thái Việt Nam, giao diện người dùng sử dụng giải pháp xây dựng bàn phím ảo. Bàn phím ảo là một hình vẽ bàn phím chứa các kí tự bổ sung đó để người dùng có thể nháy chuột chọn từng chữ trực tiếp trên màn hình, chương trình sẽ đảm nhiệm việc chèn các chữ người dùng chọn vào văn bản. 3. Thiết kế trong 3.1 Thiết kế bộ font chữ Thái ViệtNam Xem phụ lục 2 5 3.2. Thiết kế bố trí các phím trên bàn phím chữ Thái Việt Nam: * Bố trí bàn phím chữ Thái Việt Nam thống nhất xem hình sau: (Bảng mã Unicode chữ Thái Việt và đối chiếu tương ứng với các các phím trên bàn phím tiếng Anh xin xem trong phụ lục 2) * Bố trí bàn phím chữ Thái Lan, chính là bàn phím Kedmanee phổ thông, xem hình sau: 3.3 Thiết kế chương trình bàn phím chữ Thái Việt Nam 3.3.1. Các yêu cầu cơ bản: - Chương trình phải biểu diễn được bàn phím Chữ Thái VN (vì chưa có bàn phím được khắc chữ); nhận các thao tác gõ từ bàn phím và biến đổi theo qui tắc ngôn ngữ; đưa các kí tự nhận được vào các ứng dụng, tức là phần hạt nhân mọi bộ gõ đều phải có. - Chương trình cần có thêm chức năng chuyển đổi các loại bàn phím Anh, Thái Lan, Thái Việt. Chức năng hiển thị hay tắt hiển thị bàn phím trực quan để giúp cho người dùng dễ sử dụng. - Về tốc độ: các hệ thống (máy vi tính) ngày nay đều có tốc độ và ổ đĩa lưu trữ vượt xa yêu cầu của các phần mềm đánh chữ nên đây không phải là vấn đề lớn. 6 - Vấn đề quan trọng hơn là tính ổn định, tránh xung đột với các bộ gõ tiếng Việt, trên nguyên tắc thì bộ gõ chữ Thái cũng có thể đánh cả tiếng Việt, phải tìm cách dùng chung với chúng. - Phương hướng chung là dùng Visual Basic để dễ phát triển bộ khung phần mềm, kết hợp với Visual C++ để xử lý các yêu cầu hệ thống. Tốc độ có chậm hơn dùng toàn C++ nhưng dễ phát triển về sau. - Trên cơ sở thiết kế cẩn thận, có thể chuyển thiết kế này lên phần mềm mã nguồn mở để không phụ thuộc vào các phần mềm sở hữu riêng. 3.3.2. Phân chia mô đun thực hiện: Chương trình bao gồm một mô đun quản lí chung, thực hiện việc tạo hình ảnh trực quan của chương trình trên màn hình và khởi đầu. Mô đun chuyển đổi bàn phím phụ trách việc chuyển đổi. Mô đun hiển thị chịu trách nhiệm hiển thị kĩ tự cũng như hiển thọi tình trạng bàn phím.. Tuỳ theo trạng thái lựa chọn bàn phím mà chương trình sẽ cho phép quan niệm bàn phím thực là tương ứng cho chữ Thái Việt Nam, chữ Thái Lan hay chữ tiếng Anh. Việc diễn giải các phím được gõ vào do mô đun bắt chữ thực hiện. Việc tạo ra các kí tự trong ngôn ngữ do mô đun ghép chữ thực hiện. Việc chuyển các kí tự đã gõ vào cho chương trình ứng dụng do mô đun xuất ra thực hiện. Các hỗ trợ người dùng do mô đun Trợ giúp thực hiện. Mô đun tra cứu được dự định để có thể móc nối với chương trình tra cứu từ điển. 3.3.2.1 Mô đun quản lý chung : - Môdul này là phần “thường trú”, làm các công việc khởi tạo, kết thúc chương trình và chuyển đổi kiểu gõ. Phần khởi tạo có thể thêm 2 thao tác sau, nếu thấy cần: + Nạp font hệ thống tiếng Việt, nếu muốn hiển thị tiếng Việt trên menu, tiêu đề... mà không cần biết máy khách đang cài ABC, VNI hay VIETWARE.v.v. + Đưa biểu tượng vào khay hệ thống, nếu không muốn dùng kiểu biểu tượng nổi. 3.3.2.2 Mô đun hiển thị : Biểu tượng chương trình sẽ đảm nhiệm luôn việc thông báo trạng thái bật tắt và chuyển đổi bàn phím (biểu thị bằng các hình khác nhau), bàn phím trực quan thì thích hợp khi cần học tập hoặc khi quên cách bố trí phím. Sử dụng Visual basic 6.0 để đơn giản việc hiển thị biểu tượng chương trình và hình đồ họa của bàn phím và tạo menu popup. Có thể dùng VC++ 6.0 kèm MFC cũng tốt, thực ra xử lý đồ họa thì VC++6 cũng không có ưu thế gì rõ rệt so với VB6. Vấn đề hiển thị chữ Thái Unicode surrogate (nếu sau này định mã surrogate) thì phức tạp hơn nhiều, xem phụ lục 1. 7 3.3.2.3 Mô đun bắt chữ (hook): Tức là Keyboard hook: Gọi trực tiếp các hàm API SetWindowsHookEx() để khởi tạo hook bàn phím và UnhookWindowsHookEx() để trả bàn phím về tiếng Anh. Hook sẽ chuyển các thông tin phím gõ cho Thủ tục xử lý phím gõ KeyboardProc() viết bằng VC++ 6.0, nằm trong file Thaihook.dll. 3.3.2.4 Mô đun ghép các chữ để tạo ra kí hiệu đúng Ở trên đã nói là chữ Thái VN gõ rất đơn giản, thấy sao gõ vậy, không có các tổ hợp phím phức tạp giống như bộ gõ tiếng Việt, vì vậy thực tế không có công đoạn ghép chữ từ nhiều phím như tiếng Việt. Mô đun này do đó chỉ gồm KeyboardProc() để đọc phím gõ (wParam, lParam, trạng thái Shift...), và một số hàm quy đổi để tính mã số Unicode của kí tự xuất ra theo thông tin phím gõ (chữ surrogate sẽ sinh 2 mã Unicode 2byte). Bảng đối ứng mã có ở phụ lục 2. Việc xuất kí tự surrogate ra văn bản thực tế chỉ là cho liên tiếp hai kí tự Unicode 2 byte tương ứng mã Low surrogate và Hight surrogate của nó ra văn bản. Toàn bộ chỉ cần một hàm dùng công thức mã hóa surrogate để tính ra hai mã low và hight. Việc hiển thị chữ surrogate trong văn bản đang đánh là nhiệm vụ của WinXP và OfficeXP. 3.3.2.5 Mô đun xuất ra: Đây là phần quan trọng nhất, thuật toán xử lý phụ thuộc vào việc xuất thẳng từ DLL, hay xuất từ cửa sổ chương trình, hay từ bàn phím ảo qua OLE automation. Nguyên tắc cơ bản là phải nhận diện được cửa sổ đang giữ focus, nếu dùng DLL xử lý xuất ra ở hậu trường thì khá đơn giản, chỉ cần gọi hàm Getfocus(), nhưng xuất từ các cửa sổ của chương trình, thì vì nó thuộc một mạch (thread) khác, sẽ phải xác định số ID của mạch đang giữ focus và gọi hàm AttachThreadInput() trước. Có thể gởi ký tự Unicode tới cửa sổ đang giữ focus bằng hàm PostMessage(). 3.3.2.6 Mô đun trợ giúp: Các bộ gõ thường yêu cầu gọn nhẹ nên thường không có file help chính quy đi kèm. Có thể thay bằng một bài viết dạng HTML nội dung như phần thiết kế ngoài ở trên. Nhưng nếu phát triển thêm từ điển thì sẽ phải viết Help chính quy dạng HTML . 3.3.2.7 Mô đun chuyển đổi bàn phím Mô đun này như một công tắc rađio kết hợp với các tổ hợp phím nóng, phím nóng là do Keyboard Hook quản lý. Có điểm quan trọng là khi trả bàn phím về English, sẽ hủy bỏ luôn Keyboard Hook để đảm bảo không “làm phiền” tới các bộ gõ tiếng Việt, tổ hợp phím nóng vì vậy không còn nữa ! Nên muốn bật chữ Thái lại bằng bàn phím thì phải khai báo phím bật trở lại với Window qua ngả khác (dùng chuột bật biểu tượng thì dễ thôi nhưng phải chú ý là focus nhảy qua biểu tượng của chương trình nên phải nháy chuột lại vào văn bản để trả focus lại văn bản). 8 3.3.2.8 Mô đun tra cứu: Gồm tra phiên âm và tra từ điển, mới để sẵn chỗ cho nó chứ hiện tại chưa phát triển, nhưng nếu phát triển về sau chủ yếu là phức tạp hóa mô đun này ! Tạm thời chưa đi sâu vào bên trong mô đun này. LƯỢC ĐỒ PHÂN CHIA MODUL MODUL MAIN (Khởi tạo, kết thúc, chuyển đổi trạng thái ) MODUL Hiển thị MODUL quản lý bàn phím (IME) MODUL Tra cứu MODUL help Tạo Hook Ghép chữ Xuất ra Phiên âm Từ điển - Nạp font hệ thống - Đặt biểu tượng lên SysTray Main Window Attach Thread Input Tìm cửa sổ Focus Gởi kí tự ra Browser Visual Keybo. Phím gõ tắt Xuất qua OLE Xuất từ DLL 9 4. Hướng dẫn sử dụng bàn phím chữ Thái Việt Nam - Đặc điểm của các bộ gõ là nên gọn nhẹ, có thể chạy mà không cần cài đặt, thường không hiển thị cửa sổ lớn chiếm nhiều diện tích màn hình mà chỉ hiện thị một biểu tượng nhỏ. Thời còn Windows3.x người ta cho biểu tượng nổi trên màn hình, Win98 trở về sau cung cấp khay hệ thống cho các chương trình có tính “thường trú”, nhưng hiện nay có quá nhiều chương trình đều muốn “thường trú” và đặt biểu tượng lên khay hệ thống, khay này trở nên chật hẹp, những biểu tượng ít động tới thường bị che khuất, do đó chúng tôi dự định trở lại thời Windows3.x là cho biểu tượng nổi trên màn hình ở góc trên bên phải, dạng như sau : - Khi nháy chuột vào giữa biểu tượng sẽ chuyển vòng tròn giữa 3 trạng thái đánh chữ Thái Việt (biểu tượng giống chữ “V”), đánh chữ Thái Lan (hình chữ “Th”) và đánh tiếng Anh nguyên thủy (hình chữ “En”). - Khi rê chuột lên mép phải màu xanh của biểu tượng sẽ xuất hiện menu chính của chương trình gồm các mục chọn như hình bên, có thể hiểu ngay không cần giải thích nhiều. - Nhấn chuột vào nút hình chữ “x” hoặc chọn close trong menu popup sẽ đóng toàn bộ chương trình, sau đó có thể đánh ngay tiếng Anh hay Việt unicode bình thường, không cần có các thao tác chuyển đổi gì vì vộ font chữ Thái VNTN vốn đã có sẵn chữ Việt unicode. - Cả chữ Thái Lan lẫn chữ Thái VNTN đều đánh theo nguyên tắc rất đơn giản là thấy sao đánh vậy, hai kí tự dấu của chữ Thái Việt bỏ ở sau âm tiết. Còn các dấu của chữ Thái Lan bản thân nó là một kí tự độc lập, đã được vẽ dịch về bên trái nên sẽ tự động nằm trên hay dưới kí tự cần bỏ dấu, nguyên tắc này giống như bộ font tiếng Việt unicode tổ hợp, cũng hơi giống các bộ font “pseudo 2byte” VNI Window hoặc VietWareX tiếng Việt. - Để chuyển nhanh sang gõ chữ Thái Việt dùng tổ hợp phím CTRL+Q, chuyển nhanh sang tiếng Anh dùng tổ hợp phím CTRL+E. Còn để hiển thị phiên âm Thái=>Việt và từ điển Thái Việt thì tô đen từ Thái rồi nhấn tổ hợp CTRL+C+W. (Hiện tại từ điển Thái Việt chưa biên soạn hoàn chỉnh, nhưng bên trong chương trình đã xây dựng sẵn các chức năng cơ bản của một phần mềm tự điển.) - Đối với các tiện ích “bàn phím trực quan”, sẽ hiển thị hình hai bàn phím gần như ở trên, nhưng nhỏ hơn để khỏi choán cửa sổ Word. Khi nhấn nút trái chuột vào hình phím nào là chọn chữ dưới của phím, nhấn nút phải chuột là chọn chữ trên (tương đương nhấn SHIFT trên bàn phím). Ngoài ra có vài nút soạn thảo cơ bản như Enter, Right, Left, Delete .v.v Để khởi động các bàn phím trực quan này ta rê chuột để mở menu popup và chọn “... VISUAL KEYBOARD“ trong menu, đóng bàn phím bằng nút close như các cửa sổ bình thường. - Để nhìn rõ các phím trên bàn phím trực quan, có thể bấm Ctrl và chuột phải ở phím chuột đang đứng. Hình ảnh phóng to của phím mang các chữ Thái sẽ hiện ra bên cạnh. 10 Phụ lục 1: Vấn đề hiển thị chữ Unicode surrogate Hiện tại chữ Thái Việt đang dùng tạm mã unicode 2byte trong vùng người dùng tự do định nghĩa, nhưng có khả năng sẽ chuyển qua unicode surrogate, mã lớn hơn 2 byte. Qua việc làm chữ Nôm, chúng tôi nắm được các phương án hiển thị: (1) Dùng thư viện Microsoft Form 2.0 Object Library (mf20.dll), như các trang WEB hướng dẫn lập trình tiếng Việt Unicode với VB6 trên mạng thường dạy, giống bộ phần mềm chữ Nôm Hanosoft2.0 của Tống Phước Khải. Nó hiển thị được cả chữ Nôm Surrogate trong WinXP, khả năng này thực ra không nằm trong bản thân thư viện mf20.dll, mà thuộc về nền Windows. Thực ra ngay với Win98 hay Win2000, sau khi cài Office XP thì mf20.dll cũng có thể hiển thị chữ Nôm surrogate, chú ý thêm là không nhất thiết phải cài đủ cả bộ OfficeXP mà chỉ cần qua bước cập nhật hệ thống của Office XP rồi ngừng lại không cài đặt tiếp cũng được. Ngoài ra có thể cài VS.NET workframe (phần nền tức là các thư viện RUN của VS.NET, khoảng 16 MB, không phải cả bộ VS NET 7 đĩa CD), là Win2000 hay thậm chí Win98 cũng có khả năng hỗ trợ surrogate . (2) Dùng thư viện đối tượng “richtextbox” của bộ VS6.0, nằm trong file richtx32.ocx. Nhưng nó cũng không thuận tiện lắm, vì ta phải nạp định dạng Richtext (RTF) cho nó mới hiển thị được đúng đắn chứ nếu chỉ gán 1 chuỗi Unicode cho tính chất Text của nó thì chưa được! Khả năng hỗ trợ surrogate của richtextbox thì cũng như trường hợp dùng thư viện mf20.dll. Mẫu hiển thị từ điển Thái Việt trong phiên bản đemo chúng tôi dùng phương án này. (3) Dùng Internet Explorer để hiển thị unicode surrogate, đây là công cụ hiển thị chủ lực, có nhiều khả măng rất mạnh, và vẫn đang được phát triển, chúng tôi dự định sẽ sử dụng để phát triển về sau. IE6.0 trở lên hỗ trợ tốt surrogate mà không cần phải có WinXP hay OfficeXP. (4) Gọi trực tiếp các hàm API ExtTextOutW, TextOutW, DrawTextW .v.v. để hiển thị chữ Unicode trong các cửa sổ. Phương pháp này chỉ dùng tới khi cần tốc độ xử lý hiển thị cao, nhưng ở trên đã trình bày rõ rằng tốc độ hiện nay không còn là vấn đề lớn. (5) Dùng môi trường phát triển VISUAL.NET của Microsoft, nó hỗ trợ surrogate từ đầu. nên việc xử lý rất nhẹ nhàng, nhưng cài đặt trên các hệ thống máy yếu (chạy Win9x, vẫn còn dùng nhiều ở VN) thì hơi cồng kềnh. 11 Phụ lục 2: BẢNG DỮ LIỆU TỔNG HỢP CHỮ THÁI VN GỒM CHỮ THÁI - QUI ƯỚC CHUYỂN TỰ - MÃ SỐ   Chuyển tự Mã tạm  b F021  B F022  c F023  C F024  ch F025  CH F026  z F027  Z F028  d F029  D F02A  f F02B  F F02C  g F02D  G F02E  h F02F  H F030  kh F031  KH F032  kh’ F033  KH’ F034  l F035  L F036  m F037  M F038  n F039  N F03A  ng F03B  NG F03C  nh F03D  NH F03E  o F03F   Chuyển tự Mã tạm  O F040  p F041  P F042  ph F043  PH F044  r F045  R F046  t F047  T F048  th F049  TH F04A  ts F04B  TS F04C  v F04D  V F04E  x F04F  X F050  a F051  ă F052  ơ F053  e F054  ê F055  i F056  oa F057  ô F058  u F059  w F05A  ay F05B  iê F05C  ua F05D  ưa F05E 12   Chuyển tự Mã tạm  au F05F  aư F060  oe F061  uê F062  â F063  s F064  j F065  một F066  người F067  sam F068  hohoi F069   Chuyển tự Mã tạm  F06A  F06B  F06C  F06D  F06E  F06F  F070  F071  F072  F073  F074 Tài liệu tham khảo 1. Unification of the Viet Tai script in Vietnam and Asian region, Cam Trong - Vietnam Program on Thai Studies, Ngo Trung Viet - Institute of Information Technology, James Do - Mentor Graphics 2. Study on the relationship between Vietnamese Tai script and Thailand script for designing the Vietnamese Tai keyboard, Yukti Mukdawijitra, candidate at the Institute of Vietnamese Studies

Các file đính kèm theo tài liệu này:

  • pdfPADung-ThietKeBanPhimChuThai.pdf