วันนี้ผมพยายามลองดู source code ของ Firefox ยังไม่ถึงกับ patch ได้
แต่ว่าก็มีอะไรคืบหน้าไปบ้าง แต่หลายอย่างก็ไม่แน่ใจ
จึงอยากจะขอคำแนะนำครับ
สำหรับกรณีปัญหาที่เกิดจากการเลือกคำด้วย double click ผมคิดว่า code
ส่วนที่จะแก้คือ layout/generic/nsSelection.cpp ใน method ชื่อ
nsTypedSelection::selectFrames โดยก่อนที่จะเรียก
textFrame->SetSelectedRange(startOffset, endOffset, aFlags, mType);
ค่า endOffset น่าจะหาโดยใช้ nsIWordBreak::FindWord
แต่ว่า nsIWordBreak ตอนนี้มี implementation แต่ nsSampleWordBreak
ที่มี comment ข้างในว่า
// need to call Thai word breaker from here
// we should pass the whole Thai segment to the thai word breaker to
find a shorter answer
แต่ว่าไฟล์นี้ก็สร้างมาตั้งนานแล้วยังไม่มีการแก้ไขอะไร
ผมรู้สึกไม่มั่นใจเท่าไหร่ที่ต้องไปเรียก nsIWordBreak เองใน
nsTypedSelection::selectFrames อยากจะถาม ท่านอื่นๆ
ว่าน่าจะใช้ทางนี้หรือเปล่า หรือว่า nsIWordBreak ไม่ควรใช้
ถ้าหากควรใช้ ควรจะเอาไปใส่ใน nsTypedSelection::selectFrames หรือเปล่า?
วีร์
--
My homepage http://veer66.wordpress.com