แสดงบทความที่มีป้ายกำกับ XeTeX แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ XeTeX แสดงบทความทั้งหมด

วันพุธ, ตุลาคม 10, 2550

en-dash และ em-dash ใน XeLaTeX

เนื่องจาก TeX ประมวลผลอินพุตไฟล์ซึ่งเป็นASCII 8-bit codepage ที่ไม่มีตัวอักษรซึ่งตรงกับ en-dash และ em-dash ทำให้ใช้ไฮเฟ่น 2 หรือ 3 อัน (--, ---) แทน. แต่เนื่องจาก XeTeX นั้นประมวลผลอินพุตเท็กส์ที่เป็นยูนิโค้ด ซึ่งมีอักขระสำหรับ en-dash และ em-dash ทำให้การใช้ --/--- จึงไม่จำเป็น
วิธีการพิมพ์ en/em-dash นั้น สำหรับวินโด้เอ๊กพี ทำได้โดย
  • เปิด Num Lock
  • กด Alt ค้าง พิมพ์ 0150 / 0151 ที่แป้น Numeric Pad ถ้าพิมพ์ที่คีย์บอร์ดธรรมดา จะไม่ติด

วันพฤหัสบดี, มีนาคม 29, 2550

ว่าด้วยเรื่องของการใช้ภาษาไทยใน TeX ด้วย XeTeX (Another solution for using Thai in TeX)

keyword: ภาษาไทย, ไทย, Thai, เรียงพิมพ์, XeTeX, LaTeX, TeX, typesetting, multilingual.

ความเป็นมา
เรื่องมันก็เริ่มขึ้นจากการหยิบหนังสือวิธีฝึกสมาธิ วิปัสสนาของท่านพุทธทาส มาอ่านในยามดึกของคืนๆหนึ่ง. แล้วเราก็นึกออกว่าเคยดาวน์โหลดไฟล์พระไตรปิฎกที่เป็นเท็กส์ไฟล์ (TIS-620) มานี่หว่า แต่ไม่เคยอ่านเลย. พอลองเปิดดูก็ปรากฏว่าอ่านไม่ได้, เลยลอง convert ไปเป็น UTF-8 ด้วย iconv ดู แล้วเปิดด้วย Eclipse ก็อ่านได้ไม่มีปัญหา. คราวนี้ก็เลยลองกูเกิ้นดู ว่าพอจะมีพระไตรปิฎกแบบที่เป็น pdf ไฟล์สวยๆบ้างมั้ยจะได้เอามาปริ้นท์อ่าน. ก็หาไม่เจอ เดาว่าคงไม่มีด้วยเลยเกิดความคิดที่จะใช้ TeX มาเรียงพิมพ์พระไตรปิฎกให้เป็นรูปร่างสวยงาม ดูน่าอ่านกว่าแบบที่เป็นเท็กส์ไฟล์

วิธีอื่นนอกจาก XeTeX
เท่าที่ลองคุ้ยๆดูในเนตก็เห็นว่ามี thai extension สำหรับ miktex ลองลงดูแล้วระบบอินสตอลของมันงี่เง่า ใช้กับ miktex-2.5 ไม่ได้ ลองแก้ Windows registry ดูจนลงได้แล้วก๊อปไฟล์ไปติดตั้งในเครื่องที่จะใช้จริง ก็เหมือนจะใช้ได้แต่มีปัญหาเรื่องฟอนต์ ก็เลยไม่ใช้ หัดใช้ XeTeX ดีกว่าเพราะสามารถใช้ภาษาอะไรก็ได้ด้วย เนื่องจากรองรับยูนิโค้ด
ต่อไปนี้เป็นบันทึกเกี่ยวกับการติดตั้ง XeTeX

การติดตั้ง
ดูได้ที่ http://www.fsci.fuk.kindai.ac.jp/kakuto/win32-ptex/web2c75-e.html (ฮิตจากการคุ้ยด้วยคีย์เวิร์ด: win32 xetex)

ก๊อปปี้ฟอนต์ที่ต้องการมาเพิ่ม
ณ ที่นี้เราก๊อปจาก Font Book ของ Mac OS X โดยฟอนต์ที่ก๊อปปี้มาคือฟอนต์ดีฟอลท์ของ Thai LaTeX ได้แก่ : Norasi, Thonburi, Loma.
ไม่แน่ใจว่ามันมีมาแต่แรกเริ่มเดิมทีหรือมาลงเองทีหลังตอนที่ลง XeTeX บนเครื่องmac.

แก้ไขไฟล์เพื่อเพิ่มฟอนต์
แก้ไฟล์ $TEX/share/texmf/fonts/conf/fonts.conf
  c:/windows/fonts
c:/myfonts
จากนั้นรันคำสั่ง
  $ fc-cache -f -v
เพื่อสร้างแคชไฟล์ใน $TEX/share/texmf/fonts/cache
ถ้าต้องการดูว่าเรามีฟอนต์อะไรใช้บ้างก็รันคำสั่ง
$ fc-list > fontlist.txt
ก็จะได้ไฟล์ fontlist.txt มาเป็น UTF-8.
รันคำสั่งเพื่อให้มันรู้ว่ามีการเพิ่มฟอนต์ใหม่เข้าไป(เมื่อแก้ fonts.conf)
    $ fc-cache -r -v
คำสั่งนี้จะเคลียร์ข้อมูลในแคชแล้วสร้างใหม่

ถ้าก๊อปปี้ไฟล์เพิ่มเข้ามาใส่ในฟอนต์ไดเรคทอรี่ก็รันคำสั่ง,
$ fc-cache -v

การกำหนดฟอนต์สำหรับแสดงผลภาษาไทย
\usepackage{fontspec} % อันนี้ยังไม่ค่อยรู้ว่าแพคเกจนี้เอาไว้ทำอะไร fontspec
% define font
\setromanfont{Norasi}
\setmonofont[Scale=0.8]{Loma}

บทความภาษาไทยที่ตามมาก็จะแสดงด้วยฟอนต์ที่ระบุไว้