Mozilla Pango-Break Backported
backport Mozilla pango-break patch จาก trunk มา 1.8 branch ละ เพื่อใช้กับ debian ต่อไป โดยทำ xulrunner ก่อน
1.8.1.5-1thai2 deb สำหรับ amd64 พร้อมใช้แล้วที่ LTN Apt ส่วน i386 รวมทั้ง iceweasel รอนิวตรอนมาทำให้
ด้วย patch ใหม่ (ดึงออกมาจาก dpatch ที่เพิ่มใน deb) นี้ xulrunner-libthai จะไม่จำเป็นอีกต่อไป เพราะเรียกผ่าน Pango แทน
ขอเขียนสั้น ๆ นะครับ แสบตา :P
12 ความเห็น:
ณ 25 กรกฎาคม 2550 เวลา 21:38 , wd แถลง…
นอกเรื่องนิดนึงนะครับ
ถามว่าคุณเทพใช้จอภาพ CRT หรือ LCD กี่นิ้วครับ
ณ 6 สิงหาคม 2550 เวลา 12:28 , Thep แถลง…
ผมใช้จอ LCD widescreen 14" ของโน้ตบุกครับ เป็นจอแบบ super-bright ไม่รู้ว่ามีผลอะไรหรือเปล่า
ณ 25 สิงหาคม 2550 เวลา 20:58 , ไม่ระบุชื่อ แถลง…
ถ้าผมใช้ epiphany+xulrunner การตัดคำไทยก็จะใช้ pango ผมเข้าใจถูกมั้ยครับ
ปล. firefox อ้วนไปล่ะจะใช่ epiphany
ณ 25 สิงหาคม 2550 เวลา 21:10 , Thep แถลง…
t·o·o, ใช่แล้วครับ
ณ 26 สิงหาคม 2550 เวลา 16:46 , ไม่ระบุชื่อ แถลง…
ลองใช้ patchกับ xulrunner 1.8.1.6 มัน reject ไฟล์ nsJISx4501LineBreaker.cpp.rej
---------------------------------
***************
*** 493,499 ****
*oNeedMoreText = PR_FALSE;
return NS_OK;
}
- if (IS_CJK_CHAR(aText[cur]))
goto ROUTE_CJK_NEXT;
}
*oNext = aLen;
--- 513,519 ----
*oNeedMoreText = PR_FALSE;
return NS_OK;
}
+ if (IS_CJK_CHAR(aText[cur]) || IS_THAI(aText[cur]))
goto ROUTE_CJK_NEXT;
}
*oNext = aLen;
---------------------------------
ผมเลยห่อใหม่ xulrunner-1.8.1.6-pango-break.patch
ลองเปรียบเทียบกับการใช้ xulrunner-1.8.1.6-cttex-wbr-b4a.patch
แล้วให้ผลต่างกันครับ
cttex-wbr-b4a vs. pango-break
ผมเลยไม่แน่ใจว่า xulrunner-1.8.1.6-pango-break.patch ที่ผมห่อใหม่ มันผิดจากของเดิมหรือเปล่า ดูเหมือนมันไม่ตัดคำครับ
ผมใช้ Epiphany-2.18.3, Xulrunner-1.8.1.6, Pango-1.16.5
ณ 26 สิงหาคม 2550 เวลา 18:29 , Thep แถลง…
ที่ patch apply ไม่ได้ คงเป็นเพราะลำดับการ patch.. พอดีบน debian ผมเลื่อนขึ้นมาก่อน patch unichar alignment ก็เลยไม่มีฟังก์ชัน GetUnichar() มาเกี่ยวข้อง (gentoo ก็มี patch นี้เหมือนกันเหรอเนี่ย.. ทำไม mozilla ไม่รับ patch ซะทีเนาะ)
แต่ทำไมไม่ตัดคำ อืมม์.. pango บน gentoo ได้ build แบบมี libthai support หรือเปล่าครับ (มีไฟล์ /usr/lib/pango/1.6.0/modules/pango-thai-lang.so หรือเปล่า? และใช้ ldd เช็กแล้ว มันโยงไปถึง libthai.so.0 หรือเปล่า? อืม หรือเอาง่าย ๆ GTK+ app เช่น gedit ตัดคำหรือเปล่า?)
ณ 26 สิงหาคม 2550 เวลา 21:21 , ไม่ระบุชื่อ แถลง…
ผมไม่แน่ใจครับ ไฟล์ของแพ็กเกจ pango ที่เกี่ยวกับ thai แค่สองไฟล์
/usr/lib/pango/1.6.0/modules/pango-thai-fc.la
/usr/lib/pango/1.6.0/modules/pango-thai-fc.so
ldd /usr/lib/pango/1.6.0/modules/pango-thai-fc.so
linux-gate.so.1 => (0xb7f47000)
libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xb7ef4000)
libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xb7ef1000)
libdl.so.2 => /lib/libdl.so.2 (0xb7eed000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb7e5e000)
libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0xb7e22000)
libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0xb7df8000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb7dcf000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb7d59000)
libz.so.1 => /lib/libz.so.1 (0xb7d48000)
libc.so.6 => /lib/libc.so.6 (0xb7c21000)
/lib/ld-linux.so.2 (0x80000000)
libm.so.6 => /lib/libm.so.6 (0xb7bfd000)
libxml2.so.2 => /usr/lib/libxml2.so.2 (0xb7aeb000)
อ่า... ไม่มี libthai T_T
ลองรัน ./configure เช็คดูก็เจอนี่ครับ
checking for LIBTHAI... no
โอ้...ไม่ยอม ไม่มี libthai ebuild !!
สงสัยผมต้องไปงมทำ overlay เองอีกล่ะ
ณ 27 สิงหาคม 2550 เวลา 14:46 , ไม่ระบุชื่อ แถลง…
ผมลอง build pango(1.16.5)+libthai(0.1.8)+libdatrie(0.1.2) ได้ pango module เพิ่มมาอีกอัน
ldd /usr/lib/pango/1.6.0/modules/pango-thai-lang.so
linux-gate.so.1 => (0xb7fc2000)
libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0xb7f73000)
libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xb7f70000)
libdl.so.2 => /lib/libdl.so.2 (0xb7f6c000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb7edd000)
libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0xb7ea1000)
libthai.so.0 => /usr/lib/libthai.so.0 (0xb7e9a000)
libdatrie.so.0 => /usr/lib/libdatrie.so.0 (0xb7e95000)
libc.so.6 => /lib/libc.so.6 (0xb7d6e000)
/lib/ld-linux.so.2 (0x80000000)
libm.so.6 => /lib/libm.so.6 (0xb7d4b000)
แล้วลอง build epiphany+xulrunner+pango-break การตัดคำไทยก็ได้ผลดีพอๆกับ cttex-wbr-b4a
แต่ก็มี delay/lag บ้างครับ เวลาผมเปลี่ยนขนาด window ของ epiphany ที่กำลัง view เว็บที่มีฟอนต์ไทยเยอะๆ
บน debian มีอาการนี้มั้ยครับ
ณ 27 สิงหาคม 2550 เวลา 14:53 , ไม่ระบุชื่อ แถลง…
อ่า... ผมเจอ error ประมาณนี้
(epiphany:14483): Gtk-CRITICAL **: gtk_window_group_remove_window: assertion `GTK_IS_WINDOW_GROUP (window_group)' failed
สงสัยอาจเป็นที่ระบบผมเอง
ปล. ยังไงก็อยากใช้ patch นี้ครับ
ปล. ตอนนี้มอง epiphany+webkit ล่ะ :-))
ณ 27 สิงหาคม 2550 เวลา 15:24 , Thep แถลง…
เรื่องอืดนี่เป็น known problem ครับ เพราะ mozilla 1.8 จะเรียกตัวตัดคำค่อนข้างพร่ำเพรื่อ แต่ใน 1.9 (firefox 3) จะเร็วขึ้นเยอะ
คุณ t·o·o ได้ร่วมทำงานกับ gentoo ด้วยหรือเปล่าครับ? อยากให้ช่วยผลักดัน libthai เข้า gentoo จัง
เรื่อง webkit.. คิดเหมือนกันครับ ตอนนี้ package เข้า debian sid มาได้พักนึงแล้ว ว่าจะลอง rebuild epiphany อยู่เหมือนกัน
ณ 27 สิงหาคม 2550 เวลา 16:12 , ไม่ระบุชื่อ แถลง…
อ่อครับ แสดงว่าเป็นที่ xulruuner-1.8 งั้น รอ 1.9 หรือไม่ก็ ถึงเวลาทดลอง gnome-2.19.x แล้ว :-)
อย่างไงขอให้ข้อมูลเพิ่มเติมน่ะครับ ผมลองเปิดเว็บที่มีฟอนต์ไทยเยอะๆ ไว้ซักสองสาม tabs/windows เวลาผมสลับระหว่าง tabs/windows epiphany ก็จะอืดครับ หรือสลับไปมาระหว่าง gnome-terminal มา epiphany (ที่กำลังแสดงเว็บที่มีฟอนต์ไทยเยอะๆ) ก็อืด ไม่มีอาการนี้หากใช้แพ็จ cttex-wbr-b4a
ผมเป็นแค่ gentoo desktop user ครับ แต่ก็อยากผลักดันให้ gentoo สนับสนุนระบบภาษาไทยดีกว่านี้ แต่ปัญหาก็คือ
"มีคน(คนไทย)อื่นอีกมั้ย ที่ยังใช้ gentoo เป็น desktop?" lol จะได้มาช่วยกันผลักดัน
ภาษาอังกฤษผมก็ห่วยซ่ะเหลือเกิน ที่จะติดต่อกลับ devs อิอิ Gnome ก็ดูเหมือนมีคน(gentooer) ใช้น้อย
ขอวกมาเรื่อง libthai ทำไมไม่รวม libdatrie เข้าไปใน แพ็กเกจ libthai อีกด้วยเลยครับ ผมแอบเห็น libthai.spec แพ็กเกจของ fedora7 ดูเหมือนเค้าจะรวม เพื่อให้ dependencies มันลดลง หรือยังไง :-)
ณ 27 สิงหาคม 2550 เวลา 17:00 , Thep แถลง…
libthai ใช้คนละ algorithm กับ cttex ครับ cttex จะใช้ depth-first search ซึ่งจะให้ผลเป็น longest matching (หาคำที่ยาวที่สุด) ส่วน libthai จะใช้ best-first search ซึ่งให้ผลเป็น maximal matching (ตัดให้ได้จำนวนคำน้อยที่สุด) มีการสำรวจ case มากกว่า การ search เลยกินเวลามากกว่า
เรื่อง gentoo อาจจะลองถามคุณ กำธร ดู ว่ายังใช้ gentoo อยู่หรือเปล่า เผื่อจะช่วยกันได้ :-)
libdatrie ไม่ได้รวมกับ libthai เพราะมีคนทำตัดคำคนอื่นอยากใช้ datrie ด้วยน่ะครับ
แสดงความเห็น (มีการกลั่นกรองสำหรับ blog ที่เก่ากว่า 14 วัน)
<< กลับหน้าแรก