Scribus กะ patch ภาษาไทยของอาจารย์โด่ง

 

อาจารย์โด่งไปเปิดประเด็น Scribus 1.3.8 และ patch แก้ปัญหาภาษาไทยในเรื่อง [b]วรรณยุกต์ลอ[/b]ย กับ [b]ตัดคำไทย[/b]
http://forum.ubuntuclub.com/forum/topic,17290.msg118695.html#msg118695

ผมก็เอาสูตรการจัดทำมาใช้ใน Ubuntu ก็ใช้งานได้ดีครับ เป็นสิ่งที่ผมเฝ้ารอมานานพอๆกับฟอนต์เตยหอมของ อ.วิทยา ...

[url=http://www.picza.net/uppic/pic/2010_09_02/ac3/ac372ecb306905386fbb12c014575454.png][img]http://www.picza.net/uppic/thumb/2010_09_02/ac3/ac372ecb306905386fbb12c014575454.png[/img][/url]

ที่สำคัญชอบใจที่คนใกล้ๆตัวเป็นคนทำ เปิดประเด็นทิ้งให้อาจารย์โด่งมาแจ้งข้อมูลให้ทราบเรื่อยๆครับสำหรับกระทู้นี้ ...

 

ขอบคุณครับพี่ชายเจตน์  ;D

งั้นยกมาเป็นเธรดคู่ขนานกับ thai-linux-foss-devel (http://groups.google.com/group/thai-linux-foss-devel/browse_thread/thread/f8457e31f9b6ce1e) ละกัน

[size=130][color=navy][b][u]Scribus Thai Enable Development[/u][/b][/color][/size]

ผมกำลังทดลองแฮ็ก Scribus รุ่น 1.3.8 ให้รองรับภาษาไทยอยู่
ตอนนี้ทำส่วนการแสดงผลภาษาไทยในการตัดคำและจัดลำดับสระ/วรรณยุกต์ให้กับ textframe object เสร็จไปแล้ว (แต่ยังไม่น่าจะดีพอ)
[list]
[*]ตัดคำไทย อาศัยการตัดคำผ่านทาง QTextLayout ซึ่งจำเป็นที่จะต้องใช้งานกับ Qt4 ที่ผ่านการแพตช์ไทยแล้วเท่านั้น จึงจะสามารถตัดคำไทยได้
[/*:m]
[*]ส่วนจัดลำดับสระ/วรรณยุกต์ ยกโค้ดมาจาก HarfBuzz กันเลยทีเดียว แล้วมาแก้เล็กน้อย โดยในการเรียก th_render_cell ไปยัง libthai นั้น ผมจะไม่แยกสระอำครับ เพื่อให้ง่ายต่อการแฮ็ก ไม่งั้นต้องไปหาส่วนการเพิ่ม glyph อีก ซึ่งจะทำให้เสียเวลา ไว้เสร็จหมดทุกส่วนค่อยมาเก็บตกอีกทีครับ[/*:m][/list:u]

ขอเชิญท่านที่สนใจมาช่วยกันแฮ็กช่วยกันแก้นะครับ หลายหัวย่อมดีกว่าหัวเดียว

[b]แพตช์เบื้องต้นอยู่ที่ LTN svn: http://linux.thai.net/websvn/wsvn/software.scribus[/b]

[b]เช็กเอาต์ไฟล์ได้ด้วยคำสั่ง[/b]
[code]svn co http://linux.thai.net/svn/software/scribus scribus[/code]

[b]ภาพตัวอย่าง:[/b]
[img]http://www.fileden.com/files/2010/2/18/2766294/snapshot29.png[/img]

แพกเกจสำเร็จสำหรับ openSUSE ที่ repositories : ftp://119.46.22.115/openSUSE/DongaBuild/ (มีทั้ง i586 และ x86_64)
[b]
สิ่งที่ต้องทำต่อ[/b]
[list]
[*]ส่วนการแสดงผลภาษาไทยของ text path[/*:m][/list:u]
[list][*][s]ส่วนจัดการการแก้ไขข้อความที่ต้องจัดการเป็นเซลล์ไม่ใช่เป็นตัวอักษร[/s][/*:m][/list:u]
[list][*]ส่วนการรับการพิมพ์ ของ Scribus ยังไม่รองรรับการพิมพ์กับ IM ทำให้ไม่มีการจัดลำดับการพิมพ์ไทยที่ถูกต้อง[/*:m]
[*][s]ปรับแต่งคลาสให้เหมาะสมเพื่อให้มีลักษณะเป็นอินเทอร์เฟซคลาสเพื่อให้ภาษาอื่นๆ สามารถเขียนเพิ่มเติมได้ด้วย ซึ่งคิดว่าน่าจะทำให้ทางทีมพัฒนา Scribus พิจารณายอมรับแพตช์ได้ง่ายขึ้น[/s][/*:m]
[*]ออปติไมซ์โค้ดให้มีประสิทธิภาพมากขึ้น[/*:m][/list:u]

[hr][/hr]
[size=120][b]UPDATE: 2010-09-25[/b][/size]
เพิ่งมีอารมณ์มาทำต่อครับ แหะ ๆ

[size=110][b]Scribus 1.3.8 Thai Enabled Patch - Revision 3[/b][/size]

[b]Added features:[/b]
- Script checking for choose the correct language of text attributes.
- Logcluster management in TextFrame's edit mode.

[b]Bugs fixed:[/b]
- Return the original char when the list of render glyphs empty.

[b]Known Bugs:[/b]
- Mouse click/double click in edit mode may be move edit cursor position within text cell.

เช่นเคยครับ
[b]ดูแพตช์ได้ที่ LTN svn  http://linux.thai.net/websvn/wsvn/software.scribus[/b]

เช็กเอาต์ไฟล์ได้ด้วยคำสั่ง

[b]svn co http://linux.thai.net/svn/software/scribus scribus[/b]

[hr][/hr]
[size=120][b]UPDATE: 2010-09-26[/b][/size]

[b]Revision 4:[/b]
แก้ไขการลบตัวอักษรด้วยปุ่ม Backspace ครับ ลืมตรวจดูว่ามันลบไม่ถูก แหะๆ

สรุปส่วนที่ทำเพิ่มในโหมดแก้ไขของ TextFrame นะครับ
- การเลื่อนเคอร์เซอร์ด้วยปุ่มลูกศรซ้าย/ขวา เคอร์เซอร์จะเลื่อนทีละเซลล์
- การลบด้วยปุ่ม Del จะลบเซลล์ข้อความที่อยู่ถัดจากตำแหน่งเคอร์เซอร์ออกทีละหนึ่งเซลล์
- การลบด้วยปุ่ม Del พร้อมกับการกดปุ่ม Ctrl จะเป็นการลบข้อความที่อยู่ถัดจากตำแหน่งเคอร์เซอร์ออกหนึ่งคำ
- การลบด้วยปุ่ม Backspace จะลบตัวอักษรที่อยู่ก่อนหน้าตำแหน่งเคอร์เซอร์ทีละหนึ่งตัวอักษร
- การลบด้วยปุ่ม Backspace พร้อมกับการกดปุ่ม Ctrl จะเป็นการลบข้อความที่อยู่ก่อนหน้าตำแหน่งเคอร์เซอร์ออกหนึ่งคำ

[hr][/hr]

แต่ก็ยังไม่ได้ดูในส่วน Text Path นะครับ ชักเริ่มขี้เกียจ
จะลองส่งแพตช์ตัวนี้ไปให้ทางโครงการ Scribus ดูก่อนดีหรือเปล่า คิดว่าอย่างไรบ้างครับ

โด่งครับ.
[i]
ป.ล. ไม่มีการรายงานการทดลองและบั๊กที่พบเลยแฮะ สงสัยแพตช์จะใช้ได้ดี ฮาาาาา[/i]
:P

 

ดีใจที่จะได้ใช้ Scribus  :D
แต่เสียใจที่โรงพิมพ์ไม่รู้จักโปรแกรมนี้ เขารู้จักแต่ InDesign  :-\

เอ่อ... เนื้อหาไฟล์ตัวอย่างของคุณโด่งน่าอ่านมากครับ หาอ่านได้ที่ไหนครับ

 

[quote="wd"]
ดีใจที่จะได้ใช้ Scribus  :D
แต่เสียใจที่โรงพิมพ์ไม่รู้จักโปรแกรมนี้ เขารู้จักแต่ InDesign  :-\
[/quote]
เห็นว่าโรงพิมพ์ที่ไม่ใหญ่มากที่ไม่อยากจะจ่ายเงินค่าลิขสิทธิ์แพงๆ รู้จักกันมากพอสมควรนะครับ
ต้องให้ทางภาครัฐเป็นหัวเรี่ยวหัวแรงในการประชาสัมพันธ์ครับ

[quote="wd"]
เอ่อ... เนื้อหาไฟล์ตัวอย่างของคุณโด่งน่าอ่านมากครับ หาอ่านได้ที่ไหนครับ
[/quote]
ยกมาจากท้ายนิยายเรื่อง "ทางนฤพาน" ครับ ของคุณดังตฤณ อ่านผ่านหน้าเว็บหรือจะดาวน์โหลดเป็น PDF ก็ได้ครับ
http://dungtrin.com/narupan/chapter01.html

ที่เป็นนิยายมีอีกสองเรื่องที่น่าอ่าน (แนะนำครับ)
1. [url=http://dungtrin.com/index.php?option=com_content&view=category&id=45:deed-forecast&Itemid=278]กรรมพยากรณ์ ตอน ชนะกรรม[/url]
2. [url=http://dungtrin.com/index.php?option=com_content&view=category&id=81:2009-10-27-07-56-26&Itemid=278]กรรมพยากรณ์ ตอน เลือกเกิดใหม่[/url]

ผมมีเป็นหนังสือทั้งสามเรื่องเลย  ;)

อีกชุดที่ชอบคือ "เสียดายคนตายไม่ได้อ่าน" และ " ๗ เดือน บรรลุธรรม" ซื้อหนังสือไว้เหมือนกัน

แต่ที่หาซื้อหนังสือไม่ได้เลยคือ "มหาสติปัฎฐานสูตร" ที่เขียนโดยคุณดังตฤณ หามานาน หามาหลายร้าน ไม่เจอเลย ได้แต่อ่านจากไฟล์ PDF :P

 

ขอบคุณมากครับ :)

 

เพิ่งมีอารมณ์มาทำต่อครับ แหะ ๆ

Scribus 1.3.8 Thai Enabled Patch - Revision 3

Added features:
- Script checking for choose the correct language of text attributes.
- Logcluster management in TextFrame's edit mode.

Bugs fixed:
- Return the original char when the list of render glyphs empty.

Known Bugs:
- Mouse click/double click in edit mode may be move edit cursor position within text cell.

เช่นเคยครับ
ดูแพตช์ได้ที่ LTN svn  http://linux.thai.net/websvn/wsvn/software.scribus

เช็กเอาต์ไฟล์ได้ด้วยคำสั่ง

svn co http://linux.thai.net/svn/software/scribus scribus

แต่ก็ยังไม่ได้ดูในส่วน Text Path นะครับ ชักเริ่มขี้เกียจ
จะลองส่งแพตช์ตัวนี้ไปให้ทางโครงการ Scribus ดูก่อนดีหรือเปล่า คิดว่าอย่างไรบ้างครับ

โด่งครับ.

ป.ล. ไม่มีการรายงานการทดลองและบั๊กที่พบเลยแฮะ สงสัยแพตช์จะใช้ได้ดี ฮาาาาา
:P

 

[b]Revision 4:[/b]
แก้ไขการลบตัวอักษรด้วยปุ่ม Backspace ครับ ลืมตรวจดูว่ามันลบไม่ถูก แหะๆ

สรุปส่วนที่ทำเพิ่มในโหมดแก้ไขของ TextFrame นะครับ
- การเลื่อนเคอร์เซอร์ด้วยปุ่มลูกศรซ้าย/ขวา เคอร์เซอร์จะเลื่อนทีละเซลล์
- การลบด้วยปุ่ม Del จะลบเซลล์ข้อความที่อยู่ถัดจากตำแหน่งเคอร์เซอร์ออกทีละหนึ่งเซลล์
- การลบด้วยปุ่ม Del พร้อมกับการกดปุ่ม Ctrl จะเป็นการลบข้อความที่อยู่ถัดจากตำแหน่งเคอร์เซอร์ออกหนึ่งคำ
- การลบด้วยปุ่ม Backspace จะลบตัวอักษรที่อยู่ก่อนหน้าตำแหน่งเคอร์เซอร์ทีละหนึ่งตัวอักษร
- การลบด้วยปุ่ม Backspace พร้อมกับการกดปุ่ม Ctrl จะเป็นการลบข้อความที่อยู่ก่อนหน้าตำแหน่งเคอร์เซอร์ออกหนึ่งคำ

 

เอ้ว เอ้ว Revision 4 แล้ว ...  ;D

 

[quote="donga"]ลืมบอกพี่ชายเจตน์ไป พี่ชนกลุ่มน้อยโอเอส แกเจอบั๊กที่เมื่อพยายามดึงไฟล์ ODT เข้ามายัง Scribus จะทำให้โปรแกรม Scribus แครชนะครับ
บั๊กดังกล่าว: http://bugs.scribus.net/view.php?id=8531
มีแพตช์แก้อยู่ในการรายงานบั๊กด้านบนแล้วนะครับ http://bugs.scribus.net/file_download.php?file_id=4883&type=bug

แจ้งมาเพื่อทราบครับ  ;)[/quote]

มีโอกาสได้ลองทำดูสำหรับ patch ที่ quote มาด้านบน ปรากฏว่าแพทช์ไม่ผ่านมีแจ้ง Error คิดว่าแพทช์คงจะคนละเวอร์ชั่น (เราก็ดูโค๊ดไม่เป็นซะด้วย  :P ) ...

มารายงานของข้อสังเกตเพิ่มเติม แพทช์ภาษาไทยที่พี่โด่งทำดังกล่าวได้ผลดีกับฟอนต์ที่มีตารางโอเพ่นไทป์ ผมลองกับฟอนต์ที่ไม่มีตารางโอเพ่นไทป์(ฟอนต์เก่าๆฝั่งวินโดว์ส) การแสดงผลของวรรณยุกต์ จะลอยสูง จึงเรียนมาเพื่อทราบครับ ...

[i]ปล.นอกเรื่องจากกระทู้ ตอนนี้ปัญหาของ Chromium มีทีมงานของ lew ได้ทำการแพทช์แก้ปัญหาดังกล่าว แต่ทำผ่านช่องทาง launchpad (PPA)(ไม่ใช่แพกเกจหลัก) ก็บรรเทาการใช้งานบราวเซอร์ของกูเกิลของผู้ใช้งาน Ubuntu ได้เยอะเลยครับ ...[/i]

 

[quote="ชายเจตน์"]
มารายงานของข้อสังเกตเพิ่มเติม แพทช์ภาษาไทยที่พี่โด่งทำดังกล่าวได้ผลดีกับฟอนต์ที่มีตารางโอเพ่นไทป์ ผมลองกับฟอนต์ที่ไม่มีตารางโอเพ่นไทป์(ฟอนต์เก่าๆฝั่งวินโดว์ส) การแสดงผลของวรรณยุกต์ จะลอยสูง จึงเรียนมาเพื่อทราบครับ ...
[/quote]

[url=http://www.facebook.com/note.php?note_id=158766867486031]ฟอนต์ไทย ใน Scribus, งง[/url] บ่นไว้เมื่อ 2 ตุลาคม 2553

ผมเพิงกลับมาจากต่างจังหวัดครับ พ่อตาป่วย
ช่วงนี้ช่วงงานเข้าด้วย
- KDE 4.6 l10n  เหลือเวลาแปลอีก 15 วัน
- openSUSE 11.4 l10n trunk แก้เยอะ

เนื่องจาก Scribus ไม่ค่อยมีคนแจ้งบั๊ก จึงขอพักการไล่โค้ดไว้อย่างไม่มีกำหนดครับ (รวมเขียนเกะใหม่ด้วย)

 

Syndicate

Subscribe to Syndicate

Who's online

There are currently 0 users online.