Thai Extension
Thai Extension คืออะไร
Thai Extension หรือเรียกย่อๆว่า TE เป็นแพกเกจโปรแกรมหรือสคริปต์ที่อำนวยความสะดวกในการติดตั้งฟอนต์, โปรแกรมที่สนับสนุนภาษาไทยเพิ่มเติมจากดิสทริบิวชันที่ไม่สนุนภาษาไทยอย่างเต็มที่. ดิสทริบิวชันที่ไม่สนับสนุนภาษาไทยเต็มที่นี้หมายถึงดิสทริบิวชันภาษาอังกฤษเช่น RedHat, Slackware, Debian ฯลฯ. ดิสทริบิวชันเหล่านี้ยังไม่สนับสนุนภาษาไทยอย่างเป็นทางการ. บางดิสทริบิวชันไม่มีฟอนต์ภาษาไทย(หรือมีเพียงบางส่วน), ไม่มีการปรับแต่งคีย์บอร์ดภาษาให้, หรือขาดโปรแกรมใช้งานที่สนับสนุนภาษาไทย. ปัจจุบันมีมีอาสาสมัครเช่น TLWG, OpenTLE ฯลฯ ช่วยพัฒนาโปรแกรมต่างๆและ patch กลับไปสู่ผู้พัฒนาโปรแกรมต้นทางที่อยู่ต่างประเทศทำให้เราได้ใช้ภาษาไทยโดยไม่ต้องปรับแต่งได้มากขึ้น (ตัวอย่างเช่น mozilla ที่มีการสนับสนุนการใช้ภาษาไทยในระดับหนึ่ง). Thai Extension จะหมดหน้าที่ก็ต่อเมื่อโปรแกรมสากลต่างๆเริ่มสนับสนุนการใช้ภาษาไทยโดยปริยาย.
ประวัติความเป็นมา
Thai Extension เดิมเป็นส่วนหนึ่งของโครงการ สื่อไทย (ZzzThai) เริ่มต้นโดยกลุ่มนักศึกษาไทยที่ University of Electro-communications (UEC) ประเทศญี่ปุ่น ซึ่งมีความพยายามที่จะใช้ภาษาไทยในหลาย ๆ computer platform โดยการพัฒนาโปรแกรม ส่วนขยายต่าง ๆ รวมถึงจัดทำเอกสารแนะแนวทาง และฟอนต์ให้แก่บุคคลทั่วไป. โดยบุคคลเหล่านั้นยังสามารถแจกจ่ายโปรแกรม ฟอนต์ หรือส่วนประกอบใด ๆ ที่เกี่ยวข้องต่อไปได้.
TE รุ่นแรก (TE_Jan22.tar.gz) พัฒนาโดยคุณพูลลาภ วีระธนาบุตร และคุณไพศาล เตชะจารุวงศ์, มีโปรแกรมติดตั้งแบบ GUI ติดตั้งฟอนต์ภาษาไทย, ปรับแต่งคีย์บอร์ดและติดตั้งโปรแกรมที่สนับสนุนภาษาไทย. ปัจจุบัน TE_Jan22.tar.gz ล้าสมัยแล้วไม่สามารถนำมาใช้ได้อีกต่อไป.
ในเวลาต่อมามีการพัฒนาลินุกซ์ภาษาไทยอย่างต่อเนื่องและทาง TLWG ได้ทำ Thai Extension ต่อและแจกจ่ายในรูปของแพกเกจแบบ RPM หรือ SRPM ซึ่งสะดวกสำหรับดิสทริบิวชันตระกูล Red Hat. ต่อมาทาง NECTEC ได้พัฒนาลินุกซ์ TLE โดยใช้ Mandrake/RedHat เป็นแม่แบบทำให้ TE ได้รับผลพลอยได้คือใช้แพกเกจ RPM จาก Linux TLE ได้ทันที. ส่วนเรื่องการปรับแต่งคีย์บอร์ดให้เป็นหน้าที่ของผู้ใช้ที่ต้องปรับแต่งเอง.
ปัจจุบันแพกเกจหลักของ TE รวบรวมจากการพัฒนาซอฟต์แวร์ของสมาชิกกลุ่ม TLWG และแพกเกจที่พัฒนาโดย Linux TLE. สำหรับผู้ใช้ที่ต้องการติดตั้งแพกเกจเหล่านี้ด้วยตนเองให้ดาว์นโหลดโปรแกรมต่างๆได้จาก http://linux.thai.net/cvs. แพกเกจที่สร้างและแจกจ่ายโดย OpenTLE สามารถดาว์นโหลดได้ที่ http://ftp.opentle.org/pub/linux-tle/.
TE สำหรับ Red Hat
TE สำหรับ Red Hat ส่วนใหญ่จะเป็นในรูปของ RPM. ซึ่งผู้ใช้สามาถดาว์นโหลดและติดตั้งด้วยคำสั่ง rpm เช่น
# rpm -ihv xxxxxxx.rpmTE สำหรับ Red Hat 8.0 เป็นต้นไปจะใช้เชลล์สคิรปต์เป็นโปรแกรมติดตั้งและจะติดตั้งโปรแกรมที่จำเป็นเท่านั้น. ผู้ใช้ไม่ต้องสั่งคำสั่ง rpm ด้วยตนเองให้ใช้สคริปต์ที่เตรียมไว้.
TE สำหรับ Mandrake
ไม่มีการทดสอบ TE กับ Mandrake อย่างเป็นทางการแต่เนื่องจากใช้ RPM เหมือนกันให้ลอง TE สำหรับ Red Hat.
TE สำหรับ Slackware
| รุ่น | TE แพกเกจ |
|---|---|
| 9.0 | ftp://linux.thai.net/pub/thailinux/cvs/software/te/ |
ภาษาไทยสำหรับ Debian
หลังจากติดตั้งไปแล้ว สามารถติดตั้ง package ภาษาไทยเพิ่มเติมได้โดยสั่งคำสั่ง ดังนี้
apt-get install thai-systemนอกจากนี้ยังมี package ภาษาไทยเพิ่มเติม เช่น kdictthai, libthai (ที่ยังไม่ได้ check-in เข้า mainstream ของ debian) ซึ่งหาลงได้โดยเพิ่มบรรทัดด้านล่างนี้ลงใน /etc/apt/sources.list และหลังจากนั้น สั่ง apt-get update และ apt-get install
deb http://linux.thai.net/apt/ ./วิธีการใช้งานโดยละเอียด สามารถดูได้ที่ Poonlap's blog ตอน apt repository ของ LTN
ภาษาไทยสำหรับ Gentoo
ต่อไปนี้จะแนะนำการติดตั้งคีย์บอร์ดและฟอนต์เพื่อใช้ใน X window หลังจากที่คุณติดตั้ง Gentoo ลินุกซ์แล้วและสามารถใช้ X Window ได้เรียบร้อยแล้ว.คีย์บอร์ด
เนื่องจาก Xfree86 ที่มากับ Gentoo จะเป็นรุ่นตั้งแต่ 4.3 ซึ่งสนับสนุนคีย์บอร์ดภาษาไทยด้วย XKB อยู่แล้ว. ผู้ใช้ต้องปรับแต่ง X server เล็กน้อยโดยแก้ไขไฟล์ /etc/X11/XF86Config ดังตัวอย่างต่อไปนี้.
Section "InputDevice"
Identifier "Keyboard1"
Driver "Keyboard"
Option "AutoRepeat" "500 30"
Option "XkbRules" "xfree86"
Option "XkbModel" "pc101"
Option "XkbLayout" "us,th"
Option "XkbOptions" "grp:alt_shift_toggle"
EndSection
ให้แก้ไขเฉพาะบรรทัดที่จำเป็นเท่านั้น, ไม่ต้องเขียนให้เหมือนทั้งหมด. ผมมักจะสลับให้ Caps Lock กลับกับ Ctrl แก้ไขบรรทัด XkbOptions แบบนี้
Option "XkbOptions" "grp:alt_shift_toggle,ctrl:swapcaps"
หรือถ้าไม่เอาคีย์ Caps Lock เลย
Option "XkbOptions" "grp:alt_shift_toggle,ctrl:nocaps"
ส่วนคีย์ที่ใช้สำหรับเปลี่ยนคีย์บอร์ด us กับ th คือ "Alt+Shift". สำหรับผู้ที่ต้องการใช้คีย์อื่นๆตัวเลือกทั้งหมดได้จากไฟล์ /usr/X11R6/lib/X11/xkb/rules/xfree86
$ grep grp: /usr/X11R6/lib/X11/xkb/rules/xfree86 grp:switch = +group(switch) grp:lswitch = +group(lswitch) grp:win_switch = +group(win_switch) grp:lwin_switch = +group(lwin_switch) grp:rwin_switch = +group(rwin_switch) grp:toggle = +group(toggle) grp:shift_toggle = +group(shift_toggle) grp:ctrls_toggle = +group(ctrls_toggle) grp:alts_toggle = +group(alts_toggle) grp:ctrl_shift_toggle = +group(ctrl_shift_toggle) grp:caps_toggle = +group(caps_toggle) grp:ctrl_alt_toggle = +group(ctrl_alt_toggle) grp:alt_shift_toggle = +group(alt_shift_toggle) grp:menu_toggle = +group(menu_toggle) grp:lwin_toggle = +group(lwin_toggle) grp:rwin_toggle = +group(rwin_toggle) grp:lshift_toggle = +group(lshift_toggle) grp:rshift_toggle = +group(rshift_toggle) grp:lctrl_toggle = +group(lctrl_toggle) grp:rctrl_toggle = +group(rctrl_toggle) grp:lalt_toggle = +group(lalt_toggle)หลังจากที่แก้ไขไฟล์ /etx/X11/XF86Config แล้วให้รีสตาร์ท X server. หรือถ้าต้องการลองคีย์บอร์ดทันทีโดยไม่ต้องการรีสตาร์ท X server ก็สามารถสั่งคำสั่ง setxkbmap เพื่อเปลี่ยนคีย์บอร์ดทันที.
$ setxkbmap -layout "us,th" -option "grp:shift_toggle"
ฟอนต์ภาษาไทย
คุณพัฒทนนท์ ดวงดารา (sf_alpha) ได้ทำ portage สำหรับ merge ฟอนต์ภาษาไทยไว้ให้ใช้ที่ http://www.opentle.org/sf_alpha/gentoo. ผู้ใช้สามารถใช้คำสั่ง emerge เหมือนกับแพกเกจมาตรฐานทั่วไป.
ก่อนอื่นให้สร้างไดเรกทอรี /usr/local/portage เป็น portage ไดเรกทอรีสำหรับแพกเกจที่สร้างเอง.
# mkdir -p /usr/local/portageเปลี่ยนไดเรกทอรีไปที่ /usr/local/portage แล้วใช้ wget เอาไฟล์ที่จำเป็นมา.
# cd /usr/local/portage # wget http://opentle.org/sf_alpha/gentoo/portage-archives/all-portage.tar.bz2\ -O - | tar -xjvขั้นตอนสุดท้ายสั่งคำสั่ง emerge ด้วยตัวแปรสภาพแวดล้อม PORTDIR_OVERLAY.
# PORTDIR_OVERLAY=/usr/local/portage emerge thai-ttf thaixfontsถ้าจะติดตั้งฟอนต์ตระกูล JS ด้วยให้สั่งคำสั่งดังนี้.
# ACCEPT_KEYWORDS="~x86" PORTDIR_OVERLAY="/usr/local/portage" emerge thai-ttf-js
เสร็จแล้วตรวจสอบดูว่าติดตั้งฟอนต์สำเร็จหรือไม่ดังนี้.
# fc-list | grep Garuda Garuda:style=Italic Garuda:style=Regular Garuda:style=Bold Italic Garuda:style=Boldจะเห็นว่า fontconfig รู้จักฟอนต์ Garuda เรียบร้อยแล้ว. หลังจากนั้นใช้ mozilla ดูเพจภาษาไทยเขียนภาษาไทยได้.
สำหรับ thaixfonts ต้องทำการแก้ไขไฟล์ /etc/X11/XF86Config เล็กน้อยโดยการเติมบรรทัดต่อไปนี้ลงไปช่วงที่เซ็ตเกี่ยวกับฟอนต์.
FontPath "/usr/X11R6/lib/X11/fonts/thai"
แนะนำซอฟต์แวร์ที่สนับสนุนภาษาไทย
หมายเหตุ: ซอฟต์แวร์บางอย่างไม่ได้รวมอยู่ใน TE
- thaixfonts
- thaiscaleable-font
- thailatex
- swath
- cttex
- xiterm
- mozilla + thai word segmentation
- ฯลฯ
TE รุ่นล่าสุด
ในปัจจุบัน TE ออกแบบให้มีตัวติดตั้งเป็นเชลล์สคริปต์เป็นเมนูหลักแล้วให้ผู้ใช้เลือกดิสทริบิวชันที่ต้องการใช้. จากนั้นเชลล์สคริปต์จะทำการดาว์นโหลดแพกเกจต่างๆที่จำเป็นและติดตั้งให้โดยอัตโนมัติ. ร่วมพัฒนา TE (เชลล์สคริปต์) รุ่นล่าสุดได้จาก TLWG CVS.
ใช้งานมีปัญหาจะปรึกษาได้ที่ไหน
ที่ที่เหมาะสมที่สุดคือ http://linux.thai.net/wwwboard/ เนื่องจากทีมพัฒนา Thai Extension มีเพียงหยิบมือเดียว ฉะนั้น จึงเป็นไปไม่ได้ที่ท่านจะคาดหวังให้คนเหล่านี้ มาแก้ปัญหาให้ท่านทุกอย่าง.
แหล่งอ้างอิง
- The Linux Thai-HOWTO (ภาษาไทย)
- TLWG CVS
- TLWG Webboard
- TLWG Devloper Webboard
- OpenTLE ลินุกซ์ทะเล
- อธิบาย TE สำหรับ Red Hat 9.0
- Gentoo แพกเกจภาษาไทย โดยคุณพัฒทนนท์
Link เก่า
- http://www.fedu.uec.ac.jp/ZzzThai/linux/te.html
ขอบคุณ
อาสาสมัครผู้พัฒนาซอฟต์แวร์ภาษาไทยสำหรับลินุกซ์ทุกท่านและสมาชิก TLWG.
Contributors : Pattara Kiatisevi, Poonlap Veerathanabutr
Last modified 2005-04-07 12:09 PM