Pango Regression for Thai
ดังที่ได้กล่าวถึงไปใน blog ก่อน ว่า Pango มีการ merge Harfbuzz-ng เข้ามาแล้ว ทำให้มีการแทนที่ OpenType layout engine ด้วยโค้ดที่รื้อเขียนใหม่หมด ซึ่งก็พบว่ามี regression ในส่วนของการวาดภาษาไทย
เดิมนั้น ผมพบจาก GNOME ที่ build ด้วย JHBuild ในเครื่องในระหว่างที่ตรวจคำแปล แต่ยังไม่แน่ใจว่าเป็นโค้ดที่ release หรือยัง ก็เข้าไปถามหาคนที่ใช้ Ubuntu Karmic ในห้อง #tlwg ก็ยังไม่มีใครใช้ (ผมใช้ Debian sid อยู่ เลยยังไม่พบปัญหา) ประกอบกับต้องรีบตรวจคำแปลแข่งกับเวลา ก็เลยเว้นเรื่องนี้ไว้ จนเมื่อวันก่อนได้พบกับ อ.กิตติ์ ที่ใช้ Karmic อยู่ ก็เลยได้คำยืนยัน ว่าปัญหานี้มีใน GNOME รุ่นพัฒนาที่ปล่อยออกมาแล้ว แล้วก็เลยช่วยกันสรุปอาการจาก screenshot ต่าง ๆ จนในที่สุดก็ file GNOME #595539 ไป
อาการเป็นอย่างนี้:
- cons + tone + vowel จะวาดเป็น cons + NIKHAHIT + tone + vowel
- cons + tone + whitespace/punct จะวาดเป็น cons + NIKHAHIT + tone + whitespace/punct
- cons + lower-vowel + tone จะวาดโดยที่ tone ไม่ได้ลดลงต่ำ
นั่งเช็กเมื่อวานนี้ ได้ แพตช์แรก ที่แก้ปัญหานิคหิตเกินมาได้ โดยพบว่าลูปใน Harfbuzz วิ่งขาดไปหนึ่งรอบ มันเลยไป match กับกฎ GSUB ในฟอนต์ที่ใช้จัดแสดงสระอำแบบมีวรรณยุกต์ โดยกฎนั้นเขียนไว้ว่าต้องตามด้วยสระอำด้วย แต่ในเมื่อมันวิ่งลูปขาดไปหนึ่งรอบ มันเลยเช็กไม่ถึงสระอำ แค่มีพยัญชนะตามด้วยวรรณยุกต์มันก็ apply กฎแล้ว โดยแทรกนิคหิตใต้วรรณยุกต์รอไว้ แล้วจะมีอีก substitution หนึ่งที่แปลงสระอำเป็นสระอาตามมา
แต่แพตช์นี้ยังไม่ได้แก้ regression ทั้งหมด ยังขาดเรื่องลดวรรณยุกต์ลงต่ำอีก แต่ผมจะมีเวลาแกะต่อหรือไม่ก็ยังไม่แน่ใจ เพราะต้องรีบเตรียมเนื้อหาสำหรับงานสัมมนาที่จะถึงนี้แล้ว
สำหรับแพตช์แรก ก็ต้องรอเขารีวิวก่อนนะครับ ว่าจะโอเคไหม ถ้ามีใคร file bug ที่ LP ไว้ ก็อาจช่วยกระตุ้นเรื่องนี้ได้
ป้ายกำกับ: firefox, gnome, localization, mozilla, thaifonts-scalable, ubuntu, xulrunner
5 ความเห็น:
ณ 20 กันยายน 2552 เวลา 00:56 , Thep แถลง…
Update: obsolete patch ไปแล้วครับ ผมเข้าใจผิดเอง โค้ดเดิมเขาถูกต้องอยู่แล้ว ตอนนี้เริ่มได้เบาะแสใหม่ กำลังอยู่ระหว่างแกะรอย
ณ 21 กันยายน 2552 เวลา 19:02 , Thep แถลง…
Update: ในที่สุดก็ได้ แพตช์ แล้วครับ
ณ 22 กันยายน 2552 เวลา 08:37 , Thep แถลง…
Update: ปิดบั๊กที่ upstream แล้วครับ เย้!
ณ 23 กันยายน 2552 เวลา 22:49 , Mr.Somjate แถลง…
อานิสงฆ์ส่งมาถึง Ubuntu 9.10 เรียบร้อยแล้วครับ ไม่ได้คุณเทพพิทักษ์ช่วยเรื่องภาษาไทยบนลินุกซ์ คงแย่แน่ๆเลยครับ ...
มาแจ้งข่าวให้ทราบ ...
ขอบคุณมากครับ
ณ 23 กันยายน 2552 เวลา 23:01 , sunbackjesus แถลง…
คุณเทพพิทักษ์ครับ ผมขออนุญาตินำ Feed blog ของคุณไปเพิ่มใน ubuntuclub community toolbar นะครับ
แสดงความเห็น (มีการกลั่นกรองสำหรับ blog ที่เก่ากว่า 14 วัน)
<< กลับหน้าแรก