23 กรกฎาคม 2551

Qt-4.4 HarfBuzz libthai patch

จริง ๆ แล้วผมไล่ส่งบล็อกนี้เข้า thai-linux-foss-devel ณ googlegroups.com ด้วยจีแมวมาก่อนแล้ว

แต่ส่งยังไง ๆ ก็ส่งไม่ได้

โพสต์ผ่านหน้าเว็บของกลุ่มก็ยังไม่ได้อีก ฮ่วย -_-'



จำต้องเอามาลงไว้ที่บล็อก - -!



หลังจากนั่งปลง ๆ เรื่องตามแปล l10n ของ KDE 4.1 เพราะใกล้วันที่ KDE 4.1 จะออกเต็มทีแล้ว

เพราะเยอะซะเหลือเกิน และที่เหลือก็เป็นประโยคที่เริ่มซับซ้อนขึ้นเรื่อย ๆ :P

เมื่อวานเลยมานั่งไล่ harfbuzz ใน qt 4.4 ดูให้หายเซ็ง

ปรากฏว่าฟลุ้คแก้ให้มันตัดคำกับ libthai ได้ครับ

เลยเอามาให้ช่วยกันลองดู ช่วยกันหาบั๊ก รวมทั้งช่วยแก้ไขจุดที่ผมพลาด ๆ ด้วยละกัน

โค้ดผมใช้ dlopen เพื่อโหลดไลบรารีนะครับ

แต่ว่ายังไม่รู้ว่าจะไปดักการเลิกใช้ไลบรารี

เพื่อเรียก dlclose ตอนไหน เลยไม่แน่ใจว่าจะส่งผลต่อหน่วยความจำมากหรือเปล่า

(ตอนแรกก็เขียนให้ลิงค์กับ libthai โดยตรง แต่ดู ๆ แล้วแบบ dynamic load

จะทำให้ไม่ต้องแก้ซอร์สที่นำไปใช้มากนัก)



ทั้งนี้ KHTML ยังต้องพึ่ง libthai.la อยู่นะครับ ผมยังไม่ได้ตามไปไล่ดู

ว่าถ้าตัดออกแล้วมันจะมาใช้ harfbuzz เหมือนกันหรือเปล่า



แพตช์ ชื่อไฟล์
qt-x11-4.4.0-harfbuzz_thai.patch



เอาไปช่วย ๆ กันทดสอบ ทดลอง แก้ไข กันนะครับ
พร้อมกันนี้ก็รอผู้เกี่ยวข้องมาตรวจสอบ และส่งเข้าต้นน้ำตามลำดับ





KDE 4.1RC1 on Qt 4.4 - Screen shot:
















07 กรกฎาคม 2551

พัสดุจากเยอรมัน

ได้รับเมื่อตอนเย็น ๆ หลังเลิกงานนี่เอง






หน้าตากล่อง ใหญ่เอาเรื่อง









อ่าฮะ openSUSE 11.0 Retail Box!!!! สวยมาก สวยจริง ๆ ฮี่ ๆ :-D









ดูด้านหลังของกล่องมั่ง









ข้างในกล่อง ประกอบไปด้วยแผ่นดีวีดี 9 หนึ่งแผ่น และคู่มือหนึ่งเล่ม :P









เขียวอื๋ออออ ฮี่ ๆ ๆ









อ๊ะ .. เกือบไม่เห็น มันแทรกอยู่กับแผ่นพับ สติกเกอร์งาม ๆ ไว้ติดเครื่องครับ :D






หมดละ ทุกภาพอาจมิชัดเจนนัก เพราะใช้มือถือถ่าย แฮ่ ๆ

06 เมษายน 2551

KDE4.1-svn กับ compiz - kde4-window-decorator

ตั้งแต่เปลี่ยนมาใช้ KDE4.1-svn ได้ร่วมเดือนแล้วก็ติดปัญหาหลาย ๆ อย่างที่ตัวจัดการหน้าต่าง (kwin) ของ KDE4.1 มันยังไม่ได้ดังใจ เช่น


- ส่วนตัวแล้ว ถ้าขาดลูกเล่น Composite แล้วหงุดหงิด แบบเป็นคนติด Eye Candy อ่ะ :p

- ลูกเล่น Composite ของหน้าต่างยังอืด ๆ ทำงานช้า และบางทีก็ทำให้ KDE freeze ไปซะเฉย ๆ



เลยจำเป็นต้องหันมาใช้ compiz-fusion เจ้าเก่าเจ้าเดิม ที่ทำงานได้ดีบน KDE 4.0.x โดยตอนนั้นผมเลือกใช้ kde4-window-decorator เป็น WM เจ้าประจำ

ครั้นพอเปลี่ยนมาใช้ KDE4.1-svn ก็ปรากฏว่า เจ้า kde4-window-decorator ดันมีปัญหากับ KDE4.1 เสียแล้ว



- ถ้าเปิดหน้าต่างตั้งแต่ 2 หน้าต่างขึ้นไป จะไม่สามารถสลับหน้าต่างผ่านการคลิกเมาส์บนหัวหน้าต่างได้

- คลิกแล้วมันกลายเป็นการปรับขนาดหน้าต่างของตัวหน้าต่างที่ได้รับโฟกัสเป็นตัวแรกแทนซะงั้น

- ไล่ ๆ ดูบนอินเทอร์เน็ต ไม่พบคำตอบ แม้กระทั่งบนเว็บไซต์ของ compiz-fusion เอง ฤาจะไม่มีคนใช้ kde4-window-decorator กับ KDE 4.1-svn ???

- ตามไปถามใน IRC ทั้งที่ห้อง KDE และห้อง compiz ฝรั่งก็ตอบไม่ได้ (ไม่มีใครใช้แบบผม ???)



ถ้าให้เดาผมว่าน่าจะเป็นบั๊กที่ไลบรารีของ KDE 4.1 มากกว่า ก็ไปแจ้งให้ผู้พัฒนา KDE ทราบบน IRC แล้ว ตั้งแต่ 2 อาทิตย์ก่อน ไม่รู้เค้าลองหรือยังเห็นบอกว่ากำลังคอมไพล์ :-P



มันคันมันคาใจ พอแจ้งเสร็จก็เลยไล่แก้เองซะ แก้ที่ตัว kde4-window-decorator ของ compiz-fusion มันนี่แหละ ง่ายดีแต่ลืมมาบล็อกไว้ เผื่อมีคนอยากใช้อย่างผม

ผมแก้ที่ไฟล์ kde/window-decorator-kde4/decorator.cpp ในต้นฉบับของ compiz แก้แบบไม่เอาความสมบูรณ์เอาพอใช้ได้:-P ได้ผลลัพธ์ออกมาเป็นแพตช์ดังนี้ (ใช้กับ compiz-0.7.2)




diff -uNr compiz-0.7.2.orig/kde/window-decorator-kde4/decorator.cpp compiz-0.7.2/kde/window-decorator-kde4/decorator.cpp
--- compiz-0.7.2.orig/kde/window-decorator-kde4/decorator.cpp 2008-02-05 23:06:18.000000000 +0700
+++ compiz-0.7.2/kde/window-decorator-kde4/decorator.cpp 2008-04-06 19:32:19.000000000 +0700
@@ -598,10 +598,23 @@
xbe2.x = xbe->x - child->pos ().x ();
xbe2.y = xbe->y - child->pos ().y ();
}
-
- QApplication::x11ProcessEvent ((XEvent *) &xbe2);
-
- return true;
+ bool chk = xbe->button==1 && (xbe->x == xbe2.x && xbe->y == xbe2.y);
+ if (client->activeChild() != child) client->setActiveChild(child);
+ if (chk)
+ {
+ Qt::MouseButton mouseBtn = xbe->button==1 ? Qt::LeftButton : (xbe->button==3 ? Qt::RightButton : Qt::NoButton);
+ QPoint qp2 (xbe2.x, xbe2.y);
+ QMouseEvent qme (xevent->type==ButtonPress ? QEvent::MouseButtonPress : QEvent::MouseButtonRelease,
+ qp2,
+ mouseBtn,
+ mouseBtn,
+ Qt::NoModifier);
+ QApplication::sendEvent (child, &qme);
+ return false;
+ }
+ else {
+ return QApplication::x11ProcessEvent ( (XEvent *) &xbe2);
+ }
}
} break;
case ClientMessage:



โดยยังมีบั๊กอยู่คือ

- ไม่ตอบสนองการดับเบิลคลิกที่หัวหน้าต่าง

- เมนูผุดจากการคลิกเมาส์ปุ่มขวาจะไม่แสดงค้างถ้าปล่อยปุ่มเมาส์ ต้องคลิกขวาค้างไว้เพื่อเรียกเมนู

- อื่น ๆ ที่ยังไม่รู้



เอาเป็นว่าผมได้ Eye Candy คืนมาละ ในขณะที่ยังได้ใช้กรอบหน้าต่างแบบ Oxygen ต่อไปได้อีกด้วย โฮ่ะ ๆ ๆ

พอใจแล้ว ไม่แก้เพิ่มแล้ว ไม่มีเวลา ใครว่าง ๆ แก้ให้สมบูรณ์ด้วยก็ดีครับ โค้ดยังห่วยเลยไม่ส่งกลับ compiz ขออภัย ลอล

Amarok SVN rev.793903 2008/04/06

ใช้ Amarok 2.0 alpha ตัว svn เดิม (rev ไหนหว่า จำมิได้แล้ว) มาพักนึงรู้สึกบั๊กยังเพียบ ๆ

ประกอบกับตอนนี้คำแปล Amarok ที่คุณหมอไรเดอร์ แปลไว้ใช้กับ KDE 3.5.x มันมีคำเพิ่มขึ้นมาอีกพอสมควร แล้วก็มี fuzzy อีกหนึ่งกระบุง

เลยลองไล่ ๆ แก้แล้วก็แปลเพิ่ม แต่ว่าคำมันไม่ตรงกับ Amarok ตัวที่ผมใช้อยู่อีกเยอะ ก็เลยดึงของสดมาจาก Amarok SVN เช่นเคย

ก็ปรากฏว่าคำแปลตรง ใช้ไล่แปลต่อได้ หึหึ


ไหน ๆ ก็ลองของสดแล้วก็เอามาให้ดูกันดีกว่าว่าของสด (svn-rev793903-20080406) มันเปลี่ยนอะไรไปมั่ง



  • มีแอพเพล็ตของพลาสมาเพิ่มเข้ามาแล้วหลายตัว....

  • แต่ (ดูภาพด้านล่างประกอบ) มันมืดตึ๊บ ดูไม่เห็นตัวหนังสือเลยน่ะสิ -_-!!

  • แสดงภาษาไทยในรายการเล่นได้เมื่อเพิ่มเพลง แต่....

  • เมื่อออกจากโปรแกรมแล้วเรียกโปรแกรมใหม่ มันดันแสดงเป็นตัวอะไรก็ไม่รู้ อ่านไม่ออก

  • บั๊กอีกกองพะเนิน สมแล้วที่ยังเป็น Alpha หึหึ

















:-)

Qt4.4-beta แพตช์ภาษาไทยถูกย้าย

แจ้งไว้ที่ Thai Linux/FOSS developers แล้ว


เนื่องจากตอนนี้ผมใช้แพตช์ที่
http://linux.thai.net/viewvc/viewvc.cgi/software/qt/x11-free-4.3.1/

มาใช้กับ Qt4.4 beta ไม่ได้เสียแล้ว เนื่องจากไฟล์ src/gui/text/qscriptengine.cpp มันไม่มีอยู่แล้ว -_-'

ไล่ตามไปดูเห็นพวกการเรนเดอร์ฟอนต์ภาษาต่าง ๆ ถูกย้ายไปที่src/3rdparty/harfbuzz กันหมดแล้ว

และไม่ถูกคอมไพล์รวมเข้ากับ Qt ซะด้วย เฮ้อ...



ไล่แปล KDE4.1-l10n-th ก็กินเวลาผมแทบหมดแล้ว ไหนตอนนี้ยังต้องเร่ง openSUSE-l10n ให้ทันก่อนออกรุ่น 11.0 ด้วย เฮ้ออออ (อีกที)



เอาใจช่วยทีมคุณอ๊อทให้แก้ได้ไว ๆ ครับ ผมรอใช้อยู่เน้อ แหะ ๆ

25 มีนาคม 2551

digiKam 0.10-svn for KDE4.x, YO!!

ตามแปล l10n ของ KDE4.1 แล้วไม่มีโปรแกรมใช้เพื่อดูว่าคำที่แปลอยู่ถูกที่ถูกทางหรือเปล่านี่เรื่องใหญ่

ยิ่งตัว digiKam นี่ รายการข้อความให้แปลนี่เยอะมาก ๆ เยอะกว่ารุ่น 0.9.3 เพียบเลย

เลยขอเอามาลองดูหน่อยดิ๊ ว่าใช้กับ KDE4.1 (svn) ได้เนียนหรือยัง



หลังจากเช็คเอาต์แฟ้มจาก svn ของ KDE เรียบร้อยแล้ว

ก็จัดการคอมไพล์ ใช้เวลาค่อนข้างนานเหมือนกัน

ติดตั้งแล้วได้โปรแกรมมา 2 ตัว digiKam กับ showFoto

showFoto นี่เป็นเหมือนกับ KDE Part สำหรับดูรูปเอาไว้ฝังรวมกับ digiKam ได้ตอนแสดงภาพ

แต่ไม่ขอพูดถึงละกันเพราะใช้ digiKam ก็ได้ showFoto ฝังมาในตัวอยู่แล้ว (แต่ showFoto ทำงานอิสระได้นะ)


จากนั้นก็ทดลองใช้งาน digiKam



สัมผัสแล้ว

- น่าใช้ขึ้นมากครับ ขนาดยังไม่เป็นประกาศเป็นตัว alpha เลย แต่ให้ความรู้สึกว่าทำงานได้เร็วขึ้นกว่ารุ่น 0.9.3 พอสมควร

- บั๊กยังมีอยู่เยอะพอสมควร ใช้ ๆ ไปก็แครชเอาดื้อ ๆ ก็หลายรอบอยู่เหมือนกัน

- ปลั๊กอิน Kipi ยังพอร์ตมาไม่เต็มร้อย ทำให้ขาดความสามารถหลาย ๆ อย่างที่เคยมีในรุ่นเก่า

- รวม ๆ แล้วชอบครับ ถ้ารีลีสแล้วคงแจ๋วกว่านี้แน่นอน ชอบ ๆ ๆ :-D




ดูรูปกันไปพลาง ๆ ครับ







































13 มีนาคม 2551

Konqueror 4.1 - KDE4.1 with TLWG ThaiFonts-Scalable

เพิ่งจะมาสังเกตุจริง ๆ จัง เมื่อติดตั้ง Konqueror 4.1 บน KDE 4.1 (รุ่นจริง 4.0.65 - 20080305svn)

พบว่าการแสดงผลภาษาไทยที่มีสระบนหรือล่างร่วมกับวรรณยุกต์มันเพี้ยน ๆ ส่วนใหญ่เป็นกับแบบอักษรในชุด TLWG ThaiFonts-Scalable เสียด้วย -_-




เริ่มกันที่ฟอนต์ Lucida Sans ที่มากับ Sun's Java Runtime ไม่เพี้ยน





ต่อกันด้วย Garuda อันนี้เพี้ยนละ สังเกตุคำว่า รองรับอยู่ภายใน นะครับ





ตามมาด้วย Loma เช่นกัน สังเกตุคำว่า รองรับอยู่ภายใน ครับ





ตามมาด้วย Norasi เพี้ยนเช่นกัน





ตามมาด้วย Sawasdee อันนี้ไม่เพี้ยนแฮะ -_-a





ตามมาด้วย Umpush เพี้ยนอีกละ





ปิดท้ายด้วย Waree เพี้ยนเช่นกัน





จริง ๆ แล้วบน KDE 4.0.x ก็คงเป็นเหมือนกัน แต่ผมไม่ค่อยได้สังเกตุ เลยไม่มีหลักฐานมายืนยัน :-P
เดี๋ยวขอตรวจสอบ l10n ดูก่อนว่าลำดับ สระ - วรรณยุกต์ถูกต้องหรือเปล่า