[20070522] AVIM - Bộ gõ tiếng Việt tự động dành cho Web

Re: [1.0] H.I.M - Bộ gõ tiếng Việt tự động dành cho Web

Đó ko phải là lỗi của bộ gõ vì hiện tại HAO đang sử dụng version cũ của bộ gõ (sau khi anh Hà nhỡ tay xóa mất stable version).
 
Re: [1.0] H.I.M - Bộ gõ tiếng Việt tự động dành cho Web

Version mới nhất đã được cập nhật: http://rhos.sf.net/him.js.

Thay đổi:
- Thêm tính năng tự động kiểm tra và thay đổi, ví dụ nếu gõ lojan thay vì hiển thị lọan như version trước, version này sẽ hiển thị loạn. (Góp ý của Đỗ Việt)
- Sửa lỗi với iframe của Mozilla-based browsers, trong trường hợp đánh dấu chọn 1 đoạn văn bản ở giữa iframe, sau đó gõ thêm 1 ký tự bất kỳ, thay vì thay đoạn ký tự được chọn = ký tự vừa gõ, version cũ thêm ký tự vừa gõ vào vị trí bắt đầu đoạn đánh dấu - version mới đã sửa lỗi nì. (góp ý của admin)

Hiện tại chưa liên lạc được với anh Hà để update bộ gõ đang sử dụng trên HAO. Bộ gõ sẽ được update sớm.
 
Re: [1.0] H.I.M - Bộ gõ tiếng Việt tự động dành cho Web

Đã test. Bộ gõ ổn định trên Mozzila-Firefox, Apple Mac G4, nhưng vẫn có lỗi xếp dấu, chắc do chưa update?
 
Chỉnh sửa lần cuối:
Re: [1.0] H.I.M - Bộ gõ tiếng Việt tự động dành cho Web

Vừa test lại, lỗi xếp dấu đã hết. Bộ gõ OK.
 
Re: [1.0] H.I.M - Bộ gõ tiếng Việt tự động dành cho Web

Ngon rồi đấy :D Gudjob =D>
 
Re: [1.0] H.I.M - Bộ gõ tiếng Việt tự động dành cho Web

Hot Fix. Đoạn code hiện tại có 1 lỗi nhỏ trong WYSIWYG mode trên Mozilla-based Browsers. Cách sửa, tìm trong file đoạn sau:
Mã:
if (!obj.data) obj.setSelectionRange(savePos,savePos)
 uni(obj,key,i)
 if (uni2) uni2(obj,key,i)
 if (obj.data) return new Array(g,String.fromCharCode(keyCode))
Thay bằng:
Mã:
if (!obj.data) {
 obj.setSelectionRange(savePos,savePos)
 uni(obj,key,i)
 if (uni2) uni2(obj,key,i)
 } else return g
 
Re: [1.0] H.I.M - Bộ gõ tiếng Việt tự động dành cho Web

Này em, chữ Sửa nếu bỏ dấu sau chữ a sẽ thành Suẳ ;)
 
Re: [1.0] H.I.M - Bộ gõ tiếng Việt tự động dành cho Web

Khè, tất nhiên, aw ko thành ă thì thành cái rì??
 
Re: [1.0] H.I.M - Bộ gõ tiếng Việt tự động dành cho Web

Để fix lỗi trên:

- Tìm đoạn:
Mã:
var alphabet='QWERTYUIOPASDFGHJKLZXCVBNM'
Thay bằng:
Mã:
var alphabet='QWERTYUIOPASDFGHJKLZXCVBNM', no="1234567890", saveKey=false

-Tìm đoạn:
Mã:
obj=ie_getText(obj)
Thêm vào phía trước:
Mã:
var word

-Tìm đoạn:
Mã:
var tmpword=obj.curword.text
 var word=uni(obj.curword.text, key, null)
 if ((uni2) && (word==tmpword)) word=uni2(word, key, null)
Thay bằng:
Mã:
if ((no.indexOf(key)>=0) && uni2) saveKey=key
 else word=uni(obj.curword.text, key, null)
 if (uni2 && (!word || saveKey)) {
 word=uni2(obj.curword.text, key, null)
 saveKey=false
 }

Đoạn code trên http://rhos.sf.net/him.js cũng đã được update. Có thể download trực tiếp từ đây và replace.
 
Re: [1.0] H.I.M - Bộ gõ tiếng Việt tự động dành cho Web

Mới được M.T. Hà giới thiệu bộ gõ của Hiếu. Mình thử qua thấy rất ấn tượng về việc bắt lỗi các từ không phải tiếng Việt. Xin góp ý thêm 1 chút (không quan trọng lắm, vì như hiện tại đã là tốt lắm rồi):

- Khi các phụ âm ch, p, t ở cuối từ: không nên cho phép gõ các dấu huyền, hỏi, ngã.
- Kiểm tra chặt chẽ hơn nữa các tổ hợp nguyên âm tiếng Việt. (Mình thống kê chỉ có khoảng 50 tổ hợp thôi, có lẽ kiểm tra không khó lắm).
- Không nên chơi kiểu gõ hỗn hợp VNI và telex, mà cho phép chọn kiểu gõ thì tốt hơn. Người gõ VNI thì hẳn là không muốn mất đi các phím cho kiểu TELEX. Nên theo nguyên tắc càng ít đụng phím tiếng Anh càng tốt. Có lẽ đây chỉ là set up của forum admin chứ không hẳn là do bộ gõ chăng?
 
Chỉnh sửa lần cuối:
Re: [1.0] H.I.M - Bộ gõ tiếng Việt tự động dành cho Web

Cám ơn anh Long đã góp ý. Chuyện ch, p, t sẽ sửa ở version tiếp theo. Thật sự thì từ trước tới giờ em ko nghĩ tới việc ko có từ tiếng Việt nèo có ch, p, t ở cuối mà lại có dấu huyền, hỏi, ngã. Hình như anh Long cũng phải làm 1 bộ gõ tiếng Việt nèo đó ko thì chí ít cũng phải làm rì đó chuyên về tiếng Việt nếu ko thì cũng ko bít đến mấy thứ đó??

Về việc các tổ hợp nguyên tâm tiếng Việt, anh có thể nói rõ hơn??

Còn kiểu gõ Auto, đó là yêu cầu của admin và bản thân em cũng thấy cần thiết bởi vì ở VN miền Bắc sử dụng Telex, miền Nam sử dụng VNI nhìu. Kiểu gõ Auto có thể thỏa mãn cả 2. Vả lại, user vẫn có thể chuyển qua sử dụng VNI hoặc Telex = cách sử dụng F9.

Version tiếp theo sẽ thêm vào tính năng ghi nhớ lựa chọn của user = cookie.
 
Chỉnh sửa lần cuối:
Re: [1.0] H.I.M - Bộ gõ tiếng Việt tự động dành cho Web

Version mới đã được upload lên: http://rhos.sf.net/him.js

Thay đổi:
- Tránh bỏ dấu huyền, hỏi, ngã những từ có phụ âm c, ch, p, t ở cuối. (Góp ý của Phạm Kim Long)
- Tránh bỏ dấu các từ kết thúc = phụ âm k, h ---> những từ tiếng Việt chế kiểu như đếk, mừh sẽ ko thể bỏ dấu được nữa.
 
Re: [1.0] H.I.M - Bộ gõ tiếng Việt tự động dành cho Web

hik Phạm Kim Long là tác giả Unikey đó, anh Hiếu gà thế.

ặc kính phục và sợ hãi.

anh Long ở bên Séc, được giải hiệp sỹ công nghệ thông tin của E-chip đấy.
 
Re: [1.0] H.I.M - Bộ gõ tiếng Việt tự động dành cho Web

Hi Hiếu,

Anh cũng đang định sửa Unikey nên mới có mấy đề nghị như vậy. (Hiện nay cái H.I.M này đã hay hơn UniKey nhiều rồi, vì engine của UniKey chỉ nhả dấu kiểu cơ bắp thôi, không có kiểm tra gì cả).

Việc kiểm tra các tổ hợp nguyên âm thì thế này: Anh muốn là không bao giờ cho phép gõ dấu vào 1 từ mình biết chắc là không phải tiếng Việt. Giải pháp đơn giản là liệt kê tất cả tổ hợp các nguyên âm tiếng Việt (không dấu). Nếu 1 tổ hợp không thuộc danh sách đó thì không phải là tiếng Việt và không cho gõ dấu vào đó. Ban đầu tưởng là tiếng Việt có nhiều tổ hợp lắm, nhưng ngồi liệt kê ra anh thấy chỉ khoảng 50 tổ hợp thôi, nếu có implement chắc cũng không ảnh hưởng nhiều đến performance. Ví dụ: Hiện nay HIM vẫn cho gõ dấu trên các tổ hợp: io, ya, ... Nếu Hiếu cần anh có thể post lên đây danh sách ấy.

Chặt hơn một mức nữa thì có thể kiểm tra sự hợp lệ của các tổ hợp phụ âm tiền tố, hậu tố.

Ý tưởng thì là vậy. Còn làm ra liệu nó có đem lại tiện lợi cho người dùng hay không thì phải qua sử dụng mới biết. Anh còn chưa viết xong cho UniKey nên lên đây "xúi dại" để xem HIM ra sao, có gì học tập cho vào UniKey :)
 
Chỉnh sửa lần cuối:
Re: [1.0] H.I.M - Bộ gõ tiếng Việt tự động dành cho Web

Đúng vậy. Cần phải thống nhất các bộ gõ. Cảm ơn các tác giả, tuy nhiên cũng nên tham khảo ý kiến của người dùng nữa chứ :)
 
Re: [1.0] H.I.M - Bộ gõ tiếng Việt tự động dành cho Web

Pham Kim Long đã viết:
Hi Hiếu,

Anh cũng đang định sửa Unikey nên mới có mấy đề nghị như vậy. (Hiện nay cái H.I.M này đã hay hơn UniKey nhiều rồi, vì engine của UniKey chỉ nhả dấu kiểu cơ bắp thôi, không có kiểm tra gì cả).

Việc kiểm tra các tổ hợp nguyên âm thì thế này: Anh muốn là không bao giờ cho phép gõ dấu vào 1 từ mình biết chắc là không phải tiếng Việt. Giải pháp đơn giản là liệt kê tất cả tổ hợp các nguyên âm tiếng Việt (không dấu). Nếu 1 tổ hợp không thuộc danh sách đó thì không phải là tiếng Việt và không cho gõ dấu vào đó. Ban đầu tưởng là tiếng Việt có nhiều tổ hợp lắm, nhưng ngồi liệt kê ra anh thấy chỉ khoảng 50 tổ hợp thôi, nếu có implement chắc cũng không ảnh hưởng nhiều đến performance. Ví dụ: Hiện nay HIM vẫn cho gõ dấu trên các tổ hợp: io, ya, ... Nếu Hiếu cần anh có thể post lên đây danh sách ấy.

Chặt hơn một mức nữa thì có thể kiểm tra sự hợp lệ của các tổ hợp phụ âm tiền tố, hậu tố.

Ý tưởng thì là vậy. Còn làm ra liệu nó có đem lại tiện lợi cho người dùng hay không thì phải qua sử dụng mới biết. Anh còn chưa viết xong cho UniKey nên lên đây "xúi dại" để xem HIM ra sao, có gì học tập cho vào UniKey :)
Hẹ hẹ, anh nói thế thì đúng là ko phải phép, anh hơn em đến 14 tuổi, UniKey cũng ra đời trước H.I.M đến vài năm. Lâu nay em sử dụng xvnkb làm bộ gõ trên máy nên mới ko bít anh. Cả phần mềm của anh & em đều open source nên cả anh & em đều có thể xem và tham khảo source code dễ dàng.

Cái tổ hợp tiếng Việt mà anh nói đến, em đã implement trên H.I.M rùi, có điều vì em ko biết chắc được tất cả các tổ hợp nguyên âm tiếng Việt, nên hiện nay em mới chỉ liệt kê được 1 số lượng rất nhỏ. Định là trong quá trình sử dụng nếu tìm ra được tổ hợp nèo mới thì thêm vào. Vả lại, bi giờ em đang làm ngược lại với anh, tức là liệt kê những tổ hợp nguyên âm ko phải tiếng Việt. Nếu anh có thể liệt kê được các tổ hợp nguyên âm tiếng Việt cho em thì tốt. Cám ơn anh trước.

1 khi đã liệt kê được tất cả các tổ hợp nguyên âm tiếng Việt rùi thì phần còn lại ko phải là khó. Vả lại, em nghĩ là cái nì ko ảnh hưởng nhiều đến performance mà lại giúp bộ gõ hoạt động hiệu quả hơn thì có lẽ cũng sẽ được đa phần users ủng hộ.

Anh Cường: Topic nì là để thông báo các thay đổi trên bộ gõ và cũng là để tập hợp ý kiến đóng góp của users. Nếu anh có đóng góp rì anh có thể post lên đây. Nếu anh phát hiện ra lỗi, anh có thể gửi mail, PM hoặc chat trực tiếp với em (như thế sẽ giúp sửa lỗi dễ dàng & nhanh hơn).
 
Re: [1.0] H.I.M - Bộ gõ tiếng Việt tự động dành cho Web

Đặng Trần Hiếu đã viết:
Hẹ hẹ, anh nói thế thì đúng là ko phải phép, anh hơn em đến 14 tuổi, UniKey cũng ra đời trước H.I.M đến vài năm. Lâu nay em sử dụng xvnkb làm bộ gõ trên máy nên mới ko bít anh. Cả phần mềm của anh & em đều open source nên cả anh & em đều có thể xem và tham khảo source code dễ dàng.
Anh nói thật nhé, đừng tham khảo code hiện giờ của anh, vì sắp bỏ đi rồi :) Sắp tới anh sẽ thay toàn bộ phần core của unikey.

Đặng Trần Hiếu đã viết:
Vả lại, bi giờ em đang làm ngược lại với anh, tức là liệt kê những tổ hợp nguyên âm ko phải tiếng Việt.
Anh chưa hiểu chỗ này. Liệt kê các tổ hợp không phải tiếng Việt thì có tác dụng gì? (khi mà số lượng tổ hợp là vô số).

Đặng Trần Hiếu đã viết:
Nếu anh có thể liệt kê được các tổ hợp nguyên âm tiếng Việt cho em thì tốt. Cám ơn anh trước.
Để tối về anh nhà sẽ gửi cho em. Anh chưa xem code của em nên không biết em cũng đang làm việc này rồi.

Đặng Trần Hiếu đã viết:
1 khi đã liệt kê được tất cả các tổ hợp nguyên âm tiếng Việt rùi thì phần còn lại ko phải là khó. Vả lại, em nghĩ là cái nì ko ảnh hưởng nhiều đến performance mà lại giúp bộ gõ hoạt động hiệu quả hơn thì có lẽ cũng sẽ được đa phần users ủng hộ.

Anh chỉ nghĩ có thể có trở ngại trong trường hợp users hay đánh sai và việc bắt lỗi chặt quá có thể gây bất tiện trong việc sửa lại chữ gõ sai. Tuy nhiên với HIM như hiện nay thì anh chưa thấy trở ngại gì. Hơn nữa viết HIM cũng có thuận lợi hơn UniKey là có thể sửa dấu ở bất kỳ chỗ nào.
 
Re: [1.0] H.I.M - Bộ gõ tiếng Việt tự động dành cho Web

Anh chưa hiểu chỗ này. Liệt kê các tổ hợp không phải tiếng Việt thì có tác dụng gì? (khi mà số lượng tổ hợp là vô số).
Đấy là vì lúc đầu em nghĩ số lượng tổ hợp tiếng Việt cũng vô số nên em chọn số lượng tổ hợp ko phải tiếng Việt để ít ra thì nó cũng ko có trường hợp nèo là tiếng Việt mà nó ko chịu bỏ dấu.
Để tối về anh nhà sẽ gửi cho em. Anh chưa xem code của em nên không biết em cũng đang làm việc này rồi.
Cám ơn anh trước. Nếu anh định gửi qua mail, cái mail của em sau khi anh gửi lần đầu nó sẽ gửi lại cho anh 1 mail yêu cầu confirm, anh phải reply lại cái mail đó thì em mới nhận được mail (để tránh spam).
 
Re: [1.0] H.I.M - Bộ gõ tiếng Việt tự động dành cho Web

Anh post danh sách ấy vào đây để ai quan tâm có thể bổ xung góp ý.

Danh sách tổ hợp nguyên âm không dấu. Danh sách này gồm cả 1 số tổ hợp không phải là tiếng Việt nhưng có thể từ đó mà cấu thành tổ hợp tiếng việt. Ví dụ: eu không phải là tiếng Việt nhưng có thể nhận thêm dấu mũ để thành êu là tiếng Việt.

a, ai, ao, au,
â, âu, ây,
e, eo, eu,
êu,
i, ia, iu, ie, iê,
o, oa, oe, oi, oă,
ô, ôi,
ơ, ơi,
u, ua, ui, uo, uy, uâ, ue, uê, uô,
ư, ưa, ưi, ưo, ươ,
y, ye, yê,
ieu, iêu,
oeo,
uyu, uye, uyê,
yeu, yêu


Anh chưa kiểm tra kỹ lắm, hy vọng sẽ được đóng góp bổ xung nếu chưa đủ.

Khi gõ bài thấy không gõ được oeo, bị đổi thành ôe. Có âm oeo trong chữ "ngoằn ngoèo" :)
 
Re: [1.0] H.I.M - Bộ gõ tiếng Việt tự động dành cho Web

Mình nghĩ nên hỗ trợ thêm cả phần tăng tốc nữa. Cũng mách nhỏ là mình hiện tại tiếng Việt cũng vào loại rất nhanh. (Bạn đọc trên ti vi câu nào là mình đã xong câu ấy). Trước đây mình có sử dụng bộ BKED của thầy Quách Tuấn Ngọc (Đại học Bách Khoa) trong đó có nhiều kiểu tăng tốc rất tiện lợi. Mình nghĩ các bộ sau này có hơn nhau chắc chỉ hơn phần tăng tốc thôi. (Nhưng chẳng hiểu sao, người ta hình như ít quan tâm đến vấn đề này :D Mình cũng đã xem source code của Unikey rồi. Test thử sẽ trao đổi kỹ với các bạn.

Đây là tổ hợp phím tắt telex của BKED các bạn cũng nên tham khảo:

jm nhận iêm
jh nhận oanh
jn nhận uyên
jg nhận iêng
jo nhận oan
nhận ương
jt nhận uyết
ju nhận iêu
ji nhận uôi
jc nhận oác
ja nhận oang
je nhận iết
jp nhận iếp

Ngoài ra chữ ư được thẳng bằng w, còn phím ][ để nhận ươ cũng đừng vì chủ quan của các bạn mà bỏ đi, vì rất nhiều người đã dùng cái này từ lâu rồi. Nếu chỉ vì BBCode mà bỏ thì có lẽ sẽ bỏ cả bộ gõ vì… chính bản thân mình đang gõ nhưng dùng bộ gõ ngoài, bởi quen tay với phím ươ kểu này rồi.

À mà cho mình hỏi thêm các bạn có thể tích hợp bộ gõ chuyển đổi từ tiếng Việt sang tiếng Nga không. Ví dụ: gõ các chữ abc tiếng Việt, khi chuyển bằng Function Key hoặc tổ hợp phím sẽ ra chữ cái Nga ấy. Bọn mình đang muốn làm diễn đàn trao đổi về Kỹ thuật Hàng Không có sử dụng các thuật ngữ tiếng Nga mà?
 
Back
Bên trên