10 พฤศจิกายน 2552

XeTeX : การแก้ไขวรรณยุกต์ลอย

จากที่ทดลองเล่น XeTeX มาไดัสัก 1 เดือนก็เจอกับปัญหาเรื่องฟอนต์ ฟอนต์ Angsana ที่ใช้ใน Windows ถ้าเรากำหนดใช้ใน XeTeX จะมีปัญหาเรื่องวรรณยุกต์ลอย ก็ต้องแก้ไขด้วยการหาฟอนต์ที่ใช้งานได้ เช่น THNiramitAS มาทดแทน แต่ปัญหาที่บทความ หรือปริญญานิพนธ์+วิทยานิพนธ์ จะกำหนดให้ใช้ฟอนต์เป็น Angsana

เมื่อทดลองติดตั้งฟอนต์ Angsana ด้วยวิธีแบบเดิมจะทำให้ตารางฟอนต์คลาดเคลื่อนไปไม่ควรทำเป็นอย่างยิ่ง จะทำให้ต้องติดตั้ง MikTeX ใหม่

หลังจากค้นหา ลองผิดลองถูกมาก็ได้เจอบทความ X eTeX, the Multilingual Lion: TeX meets Unicode and smart font technologies ของ Jonathan Kew เลยได้คำสั่งมาทดลอง ก็ได้ผลคือต้องมีการกำหนดหลังชื่อฟอนต์ที่เราใช้ ต้องใส่ :script=thai ทำให้รู้สึกโ่ล่งอกเป็นอย่างยิ่ง
ดังตัวอย่างไฟล์ดังนี้ครับ ข้างล่างเป็นไฟล์คำสั่ง ผมใช้ TeXwork ที่มากับ MikTeX 2.8 จะเป็น UTF-8 อยู่แล้ว แล้วตอนรันเลือกใช้ XeLaTeX
——————- TestXeTeX_ScriptThai.tex ——————-
\documentclass[12pt,a4paper]{book}
\usepackage{fontspec}
\usepackage{xunicode}
\usepackage{xltxtra}
\XeTeXlinebreaklocale “th_TH” % สำหรับตัดคำ
\begin{document}
\font\x=”Angsana New:script=thai” at 16pt
\x ป้า กะ ปู่ กู้อีจู้
\font\thai=”LilyUPC:script=thai” at 14pt
\thai $x^2+4$ ทดสอบภาษาไทย Test English Language
\[ \int^\infty_0x^2dx \]
\end{document}
ผลการรัน


1 ความคิดเห็น: