Mozilla Thai IME Support Updated
เข้ากรุงเทพฯ มาหลายวัน ทำตัวเป็นแมลงวันตอมกลิ่น Wi-Fi เพื่อทำงาน เพราะก่อนหน้าที่จะเข้ากรุงนั้น ได้กลับมาทำงานที่ Mozilla #353776 เกี่ยวกับการรองรับการตรวจแก้ลำดับการป้อนภาษาไทยแบบอิงบริบท โดยได้ ส่งแพตช์ที่ยังมีปัญหาอยู่ไป เพื่อขอปรึกษา จากนั้นเลยต้องคอยติดตามความคืบหน้า
เท้าความสักนิด จาก ครั้งล่าสุด ที่ปรับแพตช์จากของ Akira Tagoh จนใช้ได้กับ Mozilla trunk (ซึ่งยังใช้ได้กับ Firefox/Iceweasel 3.5.x และ XULRunner 1.9.1.x) ไปนั้น มีความเห็นจาก Masayuki Nakano (Mozilla Japan) ว่าเป็นวิธีที่ไม่ดีเท่าไร เพราะลงไปแก้หลายจุด หลายเลเยอร์เกินไป ในขณะที่ใน Mozilla trunk นั้น มีการปรับโค้ดในส่วนจัดการ event ของหน้าต่าง ให้รองรับคำสั่งที่จำเป็นสำหรับงานนี้เพียงพอแล้ว สามารถ implement เรื่องนี้ได้ภายในเลเยอร์เดียว
เมื่อลองไล่โค้ดดูก็พบว่าจริง แพตช์เล็กลงเหลือสั้นนิดเดียว แต่พอทดสอบแล้วพบว่ามีปัญหาบางอย่างในการสั่งลบข้อความใน editor buffer เพื่อการแก้ไขลำดับการป้อน จึงได้ส่งแพตช์เข้าไปปรึกษาตามที่กล่าวไปข้างต้น โดยในระหว่างทำงาน ก็เกิดผลพลอยได้ คือพบบั๊กใน gtk-im-libthai และได้ แก้ไปแล้วใน SVN
สำหรับคำถามที่ถามไป ก็ปรากฏว่าได้ คำแนะนำ จาก Masayuki ว่าอาจเป็นบั๊กที่เขาเองก็เจอ (Mozilla #528396) พอเอาแพตช์ของเขามาใช้ร่วมด้วย ก็ปรากฏว่าแพตช์ของผมก็ทำงานได้เลย เพียงแต่ติดปัญหาเรื่องปริมาณการลบที่เราต้องการเจาะจงให้ละเอียดกว่าระดับเซลล์
เขาแนะนำให้ปรับแก้ event ที่เกี่ยวข้อง ก็กลับมาไล่ดู จนได้ แพตช์ที่เวิร์กจริง เป็นอันว่าสำเร็จแล้ว โดยต้องใช้ แพตช์ของ Masayuki ก่อน แล้วจึงตามด้วยแพตช์ของผม พูดอีกอย่างคือ ต้องรอ resolve Mozilla #528396 ก่อน แล้วถึงจะมาดูแพตช์ของผมได้
และนอกจากนี้ เขายังมีแผนจะปรับโครงสร้างของซอร์สโค้ดใหม่อยู่ด้วย ถึงตอนนั้นอาจต้องกลับมาปรับแพตช์ใหม่อีกครั้ง แต่ตอนนี้ขอให้มันเวิร์กไว้ก่อน
อ้อ.. อาจจะพอเดากันได้ว่าแพตช์นี้ใช้ได้กับ trunk เท่านั้นนะครับ ส่วนถ้าจะเอาไปแพตช์กับ Firefox/Iceweasel 3.5.x หรือ XULRunner 1.9.1.x ก็ต้องใช้ แพตช์เก่า ไปพลางก่อน ซึ่งเป็นแพตช์เดียวกับที่ใช้ใน xulrunner deb ที่ debclub
ทั้งหมดที่ทำมานี้ เล่นเอา Green Wi-Fi ที่ผมสมัครแบบ 1 ชั่วโมง/เดือน เอาไว้ เกือบจะหมดเลยเชียว (ตอนที่สมัครนั้น แบบ unlimited เต็มแล้ว) เลยถาม gumara ดู ว่ามี free Wi-Fi ที่ไหนให้ใช้อีกบ้าง เพื่อจะได้ตามงานต่อ จนวันหนึ่ง ไปนั่งที่จามจุรีสแควร์ เจอ free Wi-Fi แบบอืด ๆ หน่อย และตอน login ต้องเสี่ยงดวงนิด ๆ แต่ก็สามารถทำให้งานลุล่วงไปได้ โดยในระหว่างนั้นก็ใช้ commit งานแปล GNOME ที่ได้ดาวน์โหลด PO มาทำแบบออฟไลน์ตุนเอาไว้ด้วย
เดิมนั้น เวลาเข้ากรุงเทพฯ ผมมักจะออฟไลน์ตลอด แต่คราวนี้เข้ากรุงหลายวัน แถมยังมีงานค้างให้ตามด้วย ก็เลยพยายามดิ้นรนหา Wi-Fi ทำงาน พอดีว่าได้เคยทดลองทำงานผ่าน free Wi-Fi ที่กรุงเทพฯ มาแล้วในครั้งก่อน โดยได้สมัคร Green Wi-Fi เอาไว้ด้วย คราวนี้เลยไม่ต้องเริ่มต้นจากศูนย์ ส่วนตอนนี้ก็กลับมาใช้เน็ตที่บ้านที่ขอนแก่นเรียบร้อยแล้วครับ
เป็นอันว่า บั๊กของ Mozilla ก็เป็นอันเรียบร้อย ต่อจากนี้ก็รอแพตช์เข้ากระบวนการตามขั้นตอนต่อไป
4 ความเห็น:
ณ 25 ธันวาคม 2552 เวลา 15:17 , veer แถลง…
#425915 อยูในคิวหรือเปล่าครับ?
ณ 25 ธันวาคม 2552 เวลา 15:53 , Thep แถลง…
ยังเลยครับ ทยอยทำทีละเรื่องครับผม source tree มันใหญ่ แตก branch เยอะ ๆ แล้วงง
คุณวีร์แกะไปถึงไหนแล้วเหรอครับ?
ณ 25 ธันวาคม 2552 เวลา 16:20 , veer แถลง…
ได้ความแค่ว่าน่าจะเกี่ยวกับ nsTypedSelection::selectFrames แต่ผมก็ยังงงๆ แต่ลองพิมพ์ข้อความออกมาดูผมก็งงๆ ว่ามันถูกเรียกเยอะกว่าที่ผมคิดไว้อีก
เดาๆ ว่าน่าจะต้องใช้ nsIWordBreak::FindWord อะครับ แต่ก็อาจจะไม่เกี่ยวเลยก็ได้ :-P
มากไปกว่านั้น nsIWordBreak::FindWord มันก็เหมือนยัง implement ไม่เสร็จทั้งๆ ที่มีมานานแล้ว
ณ 15 ตุลาคม 2556 เวลา 12:03 , ไม่ระบุชื่อ แถลง…
ตกลงเกี่ยวครับ
แสดงความเห็น (มีการกลั่นกรองสำหรับ blog ที่เก่ากว่า 14 วัน)
<< กลับหน้าแรก