วันพฤหัสบดีที่ 24 กุมภาพันธ์ พ.ศ. 2554

Thai labels for LibreOffice และ OpenOffice.org

วันนี้ขอมาเขียนสั้นๆ ครับเนื่องจากได้เคยทำ extensions label ไว้นานแล้ว เป็น extensions ที่ติดตั้ง size กระดาษที่เป็น label ที่มีขายอยู่ในประเทศไทย สามารถ download ได้จาก

http://extensions.services.openoffice.org/project/thailabels

ซึ่งที่ได้ทำไปมีอยู่ 2 ยี่ห้อครับคือ labellion และตราช้างนะครับ
ลองเอาไป download ใช้กันดูนะครับ
Continue Reading...

วันจันทร์ที่ 7 กุมภาพันธ์ พ.ศ. 2554

วิธีการ debug LibreOffice/OpenOffice.org ด้วย Visual Studio

การ debug LibO หรือ OOo บน Windows นั้นมีอยู่หลายวิธีด้วยกันแต่ผมจะขอนำวิธีการใช้ Visual Studio มาเล่าให้ฟังละกันครับ เพราะว่ามันสามารถตอบโจทย์การ debug ครั้งนี้ได้

ขอเล่าวิธีการทั่วไปหากต้องการ debug ก่อนครับ ก่อนอื่นหากเราต้องการ debug code ในส่วนใดเราจำเป็นต้อง build module นั้นๆ ด้วย parameter debug=true ก่อนแล้ว copy output ไปไว้ที่ LibO/OOo Installation folder (copy <module name>/<output folder>/bin/*.dll ไปไว้ที่ <LibO Root>/program/)

โจทย์ในครั้งนี้คือ ต้อง debug code ในส่วนตอนเริ่มโปรแกรม ซึ่งการ Attach to process ธรรมดาไม่สามารถใช้งานได้ เนื่องจากกว่าเราจะได้ Attach to process, program มันก็ถูกรันไปเรียบร้อยแล้ว


อีกทั้ง LibO และ OOo ตัว binary จริงๆ นั้นไม่ใช่ exe ไฟล์แต่เป็น bin(soffice.bin) ซึ่งตามปรกติแล้ว Visual Studio ไม่สามารถเปิดไฟล์ชนิดดังกล่าวได้ ดังนั้นเราจึงจำเป็นต้อง rename soffice.bin ให้กลายเป็น .exe ซะหรือจะใส่นามสกุลเพิ่มไปเลยก็ได้ (soffice.bin.exe)


จากนั้นให้ไปเพิ่ม path ที่จำเป็นเข้าไปใน Windows ด้วยซึ่ง path ที่ต้องเพิ่มมีดังนี้
  1. <LibO Root>\URE\bin
  2. <LibO Root>\Basis\program
เมื่อเพิ่ม path เรียบร้อยแล้ว ก็สามารถ debug ได้ตามปรกติเลยครับ
Continue Reading...

วันศุกร์ที่ 4 กุมภาพันธ์ พ.ศ. 2554

แก้ปัญหา Font ภาษาไทยซ้อนกันบน OpenOffice.org และ LibreOffice

จากปัญหา http://www.leknarm.com/2009/11/openofficeorg-calc-windows-7.html

จากตอนแรกเดาปัญหาว่าเกิดจากการที่ตัว OpenOffice.org หรือ LibreOffice เมื่อใช้งาน UI font ของ Windows จะทำให้แสดงผลได้ผิดพลาดเนื่องจาก font ที่ใช้เป็น UI ของ Windows นั้นไม่มี gryph ไทยซึ่งก็จริงตามนั้น แต่หากใน OOo หรือ LibO ไม่ได้ใช้ Use system font for user interface มันควรจะใช้ได้แต่ดันไม่ได้

ปัญหาที่แท้จริงนั้นเกิดจาก default font ที่ใช้เป็น UI ของ OOo และ LibO นั้นใช้เป็น Andale Sans UI ซึ่งเป็น font ของ StarOffice แต่เนื่องจากเราไม่ได้ใช้ version StarOffice จึงทำให้เราไม่มี font ดังกล่าว

ปัญหานี่สามารถแก้ไขได้ 2 วิธีคือ
  1. ไปแก้ที่ default font ใน project officecfg โดยให้ default font นั้นเป็น font อื่นที่มี gryph ครบทุกภาษา
  2. แก้ replacement table ซึ่งมีขั้นตอนดังนี้
    1. ไปที่เมนู Tools > Option > LibreOffice(OpenOffice.org) > Fonts 
    2. เลือก Apply replacement table แล้ว replace font จาก Andale Sans UI ไปเป็น Tahoma หรือ font อื่นๆ ที่ชอบ 
    3. แล้วกดเครื่องหมายถูกด้านขวาจะได้ font replace ไปอยู่ในกล่องด้านล่าง
    4. คลิกเครื่องหมายถูกหน้า Always แล้วกด OK

 
แค่นี้เราก็สามารถใช้งานภาษาไทยบน LibO และ OOo ได้อย่างมีความสุขแล้ว

อ่อลืมบอกไป ต้องไม่ใช้ Use system font for user interface ด้วยนะครับโดยปิดที่
Tools > Option > LibreOffice > View แล้วเลือกเครื่องหมาถูกหน้า Use system font for user interface ออกครับ
Continue Reading...

Blogroll

About