XeLaTeX กับฟอนต์ Garuda

ทุกคนที่ทำงานเอกสารบน LaTeX ส่วนใหญ่ก็จะต้องทำงานกับสมการ ตัวเลข เอกสารอ้างอิง ฯลฯ ตั้งแต่การมาของ XeLaTeX (ต่อไปบางครั้งจะเรียกสั้น ๆ ว่า LaTeX) ความหวังในการใช้งานเอกสารภาษาไทยบน LaTeX ก็ดูสดใสมากขึ้น ทั้งระบบตัดคำที่ไม่ต้องใช้โปรแกรมตัดคำแยกแบบ ctex หรือ swath การสร้างเอกสาร pdf ก็ทำได้แบบอัตโนมัติ รูปภาพก็ใช้รูปแบบต่าง ๆ ได้มากขึ้น จะว่าไปผมไม่เคยมีปัญหากับ XeLaTeX เลย เมื่อใช้งานกับเอกสารภาษาอังกฤษ ทั้งเอกสารการสอน ใบงานการทดลอง (lab sheet) screen presentation เหล่านี้ล้วนแล้วแต่สะดวกสบาย

ตั้งแต่ใช้ LaTeX  มาสิบกว่าปี ในยุคของ pdfLaTeX ชีวิตผมมีความสุขดีกับฟอนต์ที่เป็นทางการอย่าง Garuda (ครุฑ) ครับ ไม่ว่าจะทำงานบน Windows หรือ Linux พอมายุคของ XeLaTeX คู่กับบรรณาธิกรณ์ (editor) แบบ Unicode ฟอนต์ Garuda รุ่นเก่า ๆ ก็ใช้งานได้ไม่มีปัญหาครับ แต่ส่วนใหญ่ก็ไปใช้งานฟอนต์ Browalia New เพราะสะดวกกว่า ปัญหาเกิดมาในช่วงที่ต้องเขียนหนังสือวิชาการนี่แหละครับ

ในการเขียนหนังสือวิชาการที่มีสมการคณิตศาสตร์ ฟอนต์พวก Browalia New และอื่น ๆ นั้น ตัวเลขจะมีขนาดเล็กกว่าตัวเลขใน Math mode พยายามหาวิธีแก้ไขก็ไม่สามารถทำได้ พอกลับไปใช้ฟอนต์ Garuda จะได้เหตุผลอะไรก็ไม่รู้เหมือนกัน มันไม่สามารถใช้งานแบบเก่าได้ ก็เลยเปลี่ยนไปใช้ฟอนต์ ฺฺฺBromlila ซึ่งเป็นฟอนต์ทดแทนที่มีตัวเลขเหมือนกับฟอนต์ Garuda มีความสุขกับฟอนต์นี้อยู่นานมาก จนในที่สุดก็พบบักของฟอนต์ตัวนี้คือ ตัวหนาบางตัวเช่น อยู่ สระลอย ในขณะที่ตัวปกติไม่ลอย พยายามแก้เองอยู่นาน จนเปลี่ยนไปใช้ฟอนต์ MN Pimai ที่เขาแจกให้ทดลองใช้ฟรี (ฟอนต์ตัวนี้สวย แต่มีปัญหากับ windows 7, 8 ไม่พบกับ windows 8.1 ปัญหาจะทำให้การบูทของ windows ใช้เวลาเป็นหลายนาที)  ก็มีความสุขดีครับ แต่ดันมีปัญหากับคำสั่ง \cdot อีกแล้ว

เมื่อวานนี่เอง คิดว่าเอาวะ โหลด FontForge มาแก้เองก็ได้ คนอื่นทำได้เราก็ต้องทำได้ (ติดต่อเจ้าของฟอนต์ Bromlila ให้แก้ไขแล้วครับ แต่คุณหมอน่าจะงานยุ่งมากครับ)  ทำอยู่สองวัน (รวมวันนี้) พบว่าถ้าจะทำจริง ๆ ต้องลงทุนลงแรงมากหลายวัน ภาระงานที่ทำอยู่ไม่เอื้อเลยครับ ก็เลยคิดจะมาใช้ฟอนต์ Garuda อีกครั้ง (แจ้งคุณเทพเรื่องปัญหาของฟอนต์นี้ไปด้วย) นั่งค้นคว้าในเว็บ จนจะถอดใจนั่นแหละครับ ถึงได้รู้ว่าปัญหานี้มีการรับรู้มาตั้งแต่มี 2008 โน่น และแก้ง่าย ๆ แค่ใส่ชื่อฟอนต์พร้อมนามสกุลให้ครับ จริงอะ

ลองทดสอบดูกับฟอนต์ Garuda ตัวปกติ ได้ผลตามที่ต้องการ ดีใจจนน้ำตาไหล (ปัญหานี้พยายามแก้มาสองปีแล้วครับ)  ส่วนการแก้ไขทั้งหมดก็ต้องไปอ่านคู่มือของ fontspec พบว่าเปลี่ยนไปพอสมควร (ก็ไม่ได้ไปอ่านมาหลายปีแล้ว)  และต่อไปนี้เป็นรหัสต้น (code) ของ preamble ของ XeLaTeX ที่ผมใช้ครับ

หวังว่าจะมีประโยชน์กันนะครับ

4 Responses to XeLaTeX กับฟอนต์ Garuda

  1. k_sukhum says:

    อาจารย์ครับ

    บรรทัดที่ 8 การใส่ % ท้ายบรรทัด มีผลอย่างไรครับ

    ขอบคุณครับ

  2. admin says:

    ไม่มีนะครับ แค่ป้องกันการเผลอไปพิมพ์อะไรต่อท้ายแค่นั้นเองครับ

  3. k_sukhum says:

    ขอบคุณครับ

  4. chakkree says:

    รอบแรกรันไม่ออกครับ พอค้นหาคำสั่งที่ไม่เคยเห็นมาก่อน \setstretch{1.23}
    ลองค้นแถวๆ stackexchange เห็นมี \usepackage{setspace} เพิ่ม รอบสองรันผ่านครับวรรณยุกต์ไม่มีปัญหา

    แต่ผมเอา Garuda ไปประกาศ {\fontspec{Garuda}ป้ากะปู่กู้อีจู้ ไฟฟ้า ปัญหา } โดย \setmainfont{TH SarabunPSK} วรรณยุกต์เพื้ยน สงสัยต้องแต่งอะไรเพิ่มสักอย่างครับ

Leave a Reply

Your email address will not be published. Required fields are marked *