Theppitak's blog

My personal blog.

25 ธันวาคม 2552

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 , Blogger veer แถลง…

    #425915 อยูในคิวหรือเปล่าครับ?

     
  • 25 ธันวาคม 2552 15:53 , Blogger Thep แถลง…

    ยังเลยครับ ทยอยทำทีละเรื่องครับผม source tree มันใหญ่ แตก branch เยอะ ๆ แล้วงง

    คุณวีร์แกะไปถึงไหนแล้วเหรอครับ?

     
  • 25 ธันวาคม 2552 16:20 , Blogger veer แถลง…

    ได้ความแค่ว่าน่าจะเกี่ยวกับ nsTypedSelection::selectFrames แต่ผมก็ยังงงๆ แต่ลองพิมพ์ข้อความออกมาดูผมก็งงๆ ว่ามันถูกเรียกเยอะกว่าที่ผมคิดไว้อีก

    เดาๆ ว่าน่าจะต้องใช้ nsIWordBreak::FindWord อะครับ แต่ก็อาจจะไม่เกี่ยวเลยก็ได้ :-P

    มากไปกว่านั้น nsIWordBreak::FindWord มันก็เหมือนยัง implement ไม่เสร็จทั้งๆ ที่มีมานานแล้ว

     
  • 15 ตุลาคม 2556 12:03 , OpenID veer66 แถลง…

    ตกลงเกี่ยวครับ

     

แสดงความเห็น (มีการกลั่นกรองสำหรับ blog ที่เก่ากว่า 14 วัน)

<< กลับหน้าแรก

hacker emblem