สามารถดูบทความนี้ในฉบับที่เรียงพิมพ์ด้วย XeLaTeX ซึ่งมีตัวอย่างฟอนต์ภาษาไทยแบบสมบูรณ์ได้ที่นี่
สรุป: การเรียงพิมพ์เอกสารภาษาไทยสามารถทำได้ด้วยการใช้ XeLaTeX ร่วมกับแพคเกจภาษา polyglossia
ด้วยฟอนต์ภาษาไทยจากโครงการ TLWG เพื่อให้ได้เอกสารรูปแบบที่สวยงาม และมีมาตรฐานเช่นเดียวกับเอกสารที่เรียงพิมพ์เป็นภาษาอังกฤษด้วย LaTeX
บทเกริ่นนำ
เป็นที่ทราบกันดีว่าการเรียงพิมพ์ (typeset) ในภาษาไทยด้วย LaTeX ในภาษาไทยเมื่อก่อนนั้นเป็นไปด้วยความยากลำบาก กล่าวคือกระบวนการการตั้งค่าแบบอักษรนั้นไม่ง่าย (เนื่องด้วยระบบการจัดการแบบอักษรของตัว LaTeX เอง) และการตัดคำภาษาไทย (word wrap) นั้นจำเป็นต้องทำด้วยมือ (ผ่าน swath
)
อย่างไรก็ตาม การเกิดขึ้นของ TeX distribution ที่นอกเหนือจาก LaTeX เอง ได้สร้างความเปลี่ยนแปลงมหาศาลกับวงการผู้ใช้ไทย ในปัจจุบันมีการแจกจ่าย TeX สองรูปแบบที่ได้รับการพูดถึงว่าจะเป็น “อนาคต” ของ LaTeX ได้แก่ LuaLaTeX และ XeLaTeX
ความสามารถอันเป็นที่น่าประทับใจของ XeLaTeX ที่ทำให้การรองรับภาษาไทยเป็นไปได้อย่างยอดเยี่ยมนั้นได้แก่
- การรองรับคำสั่งสำหรับการจัดการการตัดคำอัตโนมัติ
- การรองรับแบบอักษร (font) ในรูปแบบของไฟล์ TrueType Font (
ttf
) - การรองรับแพคเกจ
polyglossia
สำหรับการจัดองค์ประกอบเป็นภาษาไทย
เอกสารนี้จะพูดถึงการเรียงพิมพ์ด้วย XeLaTeX โดยไม่ได้พิจารณาการตั้งค่า IDE หรือโปรแกรมแก้ไขเอกสาร (text editor) ให้มีความสามารถในการรองรับ XeLaTeX แต่อย่างใด
ติดตั้ง XeLaTeX
วิธีการติดตั้ง XeLaTeX ที่น่าจะง่ายที่สุด คือการติดตั้งผ่าน MiKTeX ผ่านหน้าดาวน์โหลดที่ https://miktex.org/download
เมื่อติดตั้งสำเร็จ ควรจะสามารถสั่ง xelatex
เหมือนที่สั่ง pdftex
เพื่อสร้างเอกสารออกมาเป็นไฟล์ .pdf
ได้
ติดตั้งฟอนต์ภาษาไทย
ฟอนต์ภาษาไทยของโครงการ TLWG (Thai Linux Working Group) เป็นฟอนต์ภาษาไทยที่สามารถใช้แทนฟอนต์ราชการในแทบทุกส่วนได้ โดยมีฟอนต์ดังรายชื่อนี้ที่เทียบเท่าฟอนต์ใน Microsoft Windows
- Garuda เทียบเท่า Browalia New (ฟอนต์ลักษณะ Humanist)
- Kinnari เทียบเท่า Angsana New (ฟอนต์ลักษณะ French Influence)
- Laksaman เทียบเท่า TH Sarabun New (ฟอนต์ลักษณะ Geometric Humanist)
- Umpush เทียบเท่า Cordia New (ฟอนต์ลักษณะ Geometric)
ฟอนต์ของโครงการ TLWG มีนอกเหนือจากรายการดังแสดงสี่ตัวนี้ ฟอนต์ทั้งหมดสามารถดาวน์โหลดได้จาก GitHub ของ fonts-tlwg
ที่ https://github.com/tlwg/fonts-tlwg/releases/
แก้ไขเอกสารให้รองรับ XeLaTeX และภาษาไทย
เพียงเพิ่มบรรทัดดังกล่าวในส่วนหัวของเอกสาร (เปลี่ยนชื่อฟอนต์ Laksaman
เป็นตัวอื่นที่คุณต้องการใช้) เพื่อให้ XeLaTeX ทำงานกับภาษาไทย
% ใช้ fontspec เพื่อตั้งค่าฟอนต์
\usepackage{fontspec}
% ใช้ polyglossia เพื่อภาษาไทย
\usepackage{polyglossia}
% ตั้งค่าฟอนต์
\setdefaultlanguage{thai}
% ตั้งค่าฟอนต์หลักของเอกสาร
\setmainfont{Laksaman:script=thai}
\newfontfamily\thaifont{Laksaman:script=thai}
% ตั้งค่าฟอนต์แบบความกว้างคงที่ (monospace) ของเอกสาร
% แนะนำให้ใช้ Tlwg Typist
\newfontfamily\thaifonttt{Tlwg Typist:script=thai}
% ตั้งค่าให้ตัดคำภาษาไทย
\XeTeXlinebreaklocale "th"
เพียงเท่านี้ คุณควรจะสามารถใช้ XeLaTeX ในการเรียงพิมพ์เอกสารภาษาไทยได้โดยไม่มีปัญหาแต่อย่างใด
Leave a Reply