เรื่องระบบตัดคำไทยของ KDE4
Submitted by ชายเจตน์ on Thu, 2010-04-15 20:10
นั่งทดสอบ Kubuntu มาหลายวัน แต่สังเกตว่าภาษาไทยในหลายส่วนหลายโปรแกรมยังไม่มีระบบตัดคำไทย หาข้อมูลพบว่าที่ Thai Linux/FOSS developer คุณอ๊อทกับพี่โด่งคุยกันในเรื่องระบบภาษาไทยของ KDE4 .... คือแบบว่า ... :P ทำไม่เป็น... สอนการแพชท์ภาษาไทยหน่อยซิครับ พี่โด่งอ่ะจ้ะ ...
มีอีกส่วนที่เหมือนไม่เกี่ยวแต่ก็เกี่ยว คือ หากตั้งระบบให้เป็นภาษาไทยเมื่อไหร่จะใช้ K3b โปรแกรมจะแครชเลยครับ (ข้อนี้ขอแถมเผื่อรู้คำตอบน่ะครับ) ...
Forums:
Re: เรื่องระบบตัดคำไทยของ KDE4 (ถึงพี่โด่ง)
ขอตอบในส่วนของ konqueror นะครับ
ตามที่ผมใช้ใน pclinuxos ก็ให้ติดตั้ง libthai
ใน kubuntu ก็น่าจะคล้ายกันมั้งครับ
Re: เรื่องระบบตัดคำไทยของ KDE4 (ถึงพี่โด่ง)
[quote="phong_th"]
ขอตอบในส่วนของ konqueror นะครับ
ตามที่ผมใช้ใน pclinuxos ก็ให้ติดตั้ง libthai
ใน kubuntu ก็น่าจะคล้ายกันมั้งครับ[/quote]
ขอบคุณครับ _/|\_
ผมเข้าไปดูแพกเกจพบว่า libthai ก็มีการติดตั้งอยู่แล้ว พอดีเหลือบไปเห็นแพกเกจอยู่ตัว libthai-dev คุ้นๆว่าต้องติดตั้งสมัยที่เคยใช้ KDE3 ลองติดตั้งทดสอบดูแล้ว ใช่เลย! ตอนนี้ทั้งระบบตัดคำไทยได้แล้วครับ ...
แต่ปัญหาถ้าเลือกใช้โลแคลไทย จะมีแพกเกจหลายตัวแคลช ยังพบอยู่ไม่หาย ตอนนี้ใช้ Kubuntu 10.04 beta2 อยู่ครับ รอดูรีลิสจริงตอนสิ้นเดือนอีกที ...
;D
Re: เรื่องระบบตัดคำไทยของ KDE4
เรียน ทุกท่าน (เน้นพี่ชายเจตน์ ;D)
เรื่องตัดคำไทยของ KDE ต้องแบ่งเป็น 2 ส่วนครับ
[b]1. Qt Library[/b]
ส่วนนี้เป็นส่วนสำคัญที่สุด Qt 4.3 เป็นต้นมา ได้หันมาใช้ [url=http://www.freedesktop.org/wiki/Software/HarfBuzz]HarfBuzz[/url] เต็มรูปแบบแล้วครับ
ซึ่งแพตช์ที่เขียนไป คุณอ๊อทได้ส่งไปให้ทาง Trolltech (Nokia ในปัจจุบัน) ไปหลายรอบแล้ว แต่ยังไม่รับเข้าในชุด Qt
หากต้องการให้มีการตัดคำก็ต้องแพตช์ Qt ก่อนครับ ลองไล่ ๆ ดูใน thai-linux-foss-devel ได้ครับ
หลักการแพตช์ก็ง่าย ๆ คือมี source Qt แล้วก็แพตช์ จากนั้นก็ลงมือแพตช์
[code] # cd qt-everywhere-opensource-src-4.x.x
# patch -p1 < /path/to/patch1
# patch -p1 < /path/to/patch2
...
[/code]
แล้วก็คอมไพล์
ถ้าอยากทำเป็นแพกเกจ deb แนะนำให้พี่ชายเจตน์สอบถามคุณอ๊อทครับ เพราะคุณอ๊อทแกก็ใช้ Kubuntu
หลังจากได้ Qt lib ที่ผ่านการแพตช์ไทยแล้ว โปรแกรมต่าง ๆ ของ KDE จะสามารถตัดคำได้เกือบทั้งหมด โดยจะต้องติดตั้ง libthai ให้ด้วย
[b]2. KDElibs[/b]
ในส่วนแพตช์ของ kdelibs นี้ จะเป็นการแพตช์ให้มีการตัดคำในส่วนของ KatePart (Text Editor component), Konqueror
โดยจะอาศัยมอดูล HarfBuzz-Thai ของ Qt ที่แพตช์ไป
สามารถหาแพตช์ไทยต่าง ๆ ได้ที่
http://linux.thai.net/websvn/wsvn/software.qt/
และ
http://linux.thai.net/websvn/wsvn/software.kde/
และ
http://groups.google.com/group/thai-linux-foss-devel
ฮะ
ขอแสดงความนับถือฮะ
8) 8)
Re: เรื่องระบบตัดคำไทยของ KDE4
[quote="ชายเจตน์"]
มีอีกส่วนที่เหมือนไม่เกี่ยวแต่ก็เกี่ยว คือ หากตั้งระบบให้เป็นภาษาไทยเมื่อไหร่จะใช้ K3b โปรแกรมจะแครชเลยครับ (ข้อนี้ขอแถมเผื่อรู้คำตอบน่ะครับ) ...
[/quote]
เดาว่าเป็นบั๊กร้ายแรงของ Qt ครับ ตามที่แจ้งที่
http://groups.google.com/group/thai-linux-foss-devel/browse_thread/thread/c1784080a86c212e
[quote]ใน gui/text/qtextengine.cpp
ฟังก์ชัน glyph_metrics_t QTextEngine::boundingBox(int from, int len) const
มีการเรียก index ของ array *logClusters* เกินค่าที่มันมี (ทำไมถึงเกิน ??)
จึงได้เพิ่มการตรวจเข้าไปดังนี้ครับ
if (logClusters[pos + ilen - 1] >= glyphs.numGlyphs)
logClusters[pos + ilen - 1] = glyphs.numGlyphs - 1; [/quote]
คือถ้า QT ที่ยังไม่แพตช์ เมื่อเจอภาษาไทยจะ Crash ทันทีครับ ดังนั้นต้องแพตช์ไทยให้ Qt สถานเดียวครับ
[hr][/hr]
ท้ายสุด l10n-thai ของ KDE SC 4.4.X อยู่ที่ SVN นะครับ
ผมอัปเดตไปล่าสุดเมื่อ 3 อาทิตย์ก่อน
เอา จาก svn ของ stable branches ได้เลย ตามคอมมานด์ไลน์ด้านล่างครับ
# cd ~/l10n-kde4
# svn co svn://anonsvn.kde.org/home/kde/branches/stable/l10n-kde4/th
ส่วนจาก trunk นั้น messages ไม่ตรงกันกับ 4.4.x ค่อนข้างมากแล้วครับ (ตอนนี้เป็น 4.4.72svn หรือ 4.5 รุ่นตั้งไข่นั่นเอง)
แต่สามารถเอาพวก extragear-* ต่าง ๆ จาก trunk มาใช้ได้ครับ (digikam, amarok, เป็นต้น)
ซึ่ง l10 ของพวก extragear-* พวกนี้มักจะมากับแพกเกจของมันเลยไม่ได้รวมมากับ stable
อัปเดตสุดของผมจะอยู่ที่ trunk ครับ messages ต่าง ๆ จะตรงกว่า หมายถึง digiKam, Amarok, K3b etc. ที่อยู่ใน extragear นะครับ
;D
Re: เรื่องระบบตัดคำไทยของ KDE4
ขอบคุณครับพี่โด่ง ... :-*
ข้อมูลเพียงพอต่อความเข้าใจอยู่บ้าง เมื่อคืนก็ลองทำดูโดยดาวน์โหลดซอร์ส qt4-x11 มาแพทช์ซอร์สที่แนะนำ นั่งรอขั้นตอนคอมไพล์จนง่วงก็เลยนอนปล่อยเครื่องทิ้งไว้ทั้งคืน เมื่อเช้าตรวจสอบดูไม่พบ Error ในตอนจบ คืนนี้กลับไปทำต่อให้จบ ...
ส่วนการ"ตัดทำไทย" ที่แพทช์ตามที่คุณโ่ด่งแนะนำนั้น แล้วกรณีที่ผมติดตั้ง libthai-dev ผลก็คือระบบตัดคำไทยได้ ขอถามความรู้เพิ่มเติมอีกหน่อย ข้อที่แตกต่างกันคืออะไรหรือครับ ...
ส่วนบั๊กโปรแกรมแครชเมื่อใช้โลแคลไทย เห็นบอกว่าต้องแพทช์ qt ความหมายว่าทำขั้นตอนข้างบนแล้วส่วนนี้จะหายไปแบบนั้นหรือเปล่าครับ คืออ่านแล้วไม่เข้าใจว่าเกี่ยวข้องหรือไม่เกี่ยวกัน...
อีกนิดครับ ตามส่งบั๊ก/แพทช์ไปยังแหล่งต้นน้ำ KDE ภาษาไทยจะสมบูรณ์ในรุ่นไหนครับ...
ถ้าไม่มีพี่โด่งกะพี่อ๊อท อนาคตภาษาไทยของ KDE ล่ะครับเนี่ย ...
ปล.กระทู้นี้โยกมาจากหมวด OSS/Developer ชักเริ่มสนสนมันจะอยู่หมวดไหนดี... :P
Re: เรื่องระบบตัดคำไทยของ KDE4
กลับบ้านมาใช้คำสั่ง [b]make install[/b] ผ่านไปได้ด้วยดี แต่ลองจัดทำเป็นแพกเกจ deb ด้วยคำสั่ง [b]debuild -us -uc[/b] ไม่ผ่านง่ะ ลอกเมสบางส่วนให้ดูครับ พอไหวมั้ยครับ ... ;D
[code]rm -rf /root/qt4-x11-4.6.2/bin/qmake .deps
make[3]: Leaving directory `/root/qt4-x11-4.6.2/qmake'
cd src/tools/bootstrap/ && /usr/bin/make -f Makefile distclean
make[3]: Entering directory `/root/qt4-x11-4.6.2/src/tools/bootstrap'
/root/qt4-x11-4.6.2/bin/qmake -spec ../../../mkspecs/linux-g++ -unix -o Makefile bootstrap.pro
make[3]: /root/qt4-x11-4.6.2/bin/qmake: Command not found
make[3]: