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
12 trang |
Chia sẻ: luyenbuizn | Lượt xem: 1149 | Lượt tải: 0
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:
- PADung-ThietKeBanPhimChuThai.pdf