Skip to content

LTN/Plone

Sections
Personal tools
You are here: Home » TLWG » Thai Extension
Navigation
Log in
 

Thai Extension

Thai Extension is add-on software to enable Thai on GNU/Linux Systems

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.rpm
TE สำหรับ Red Hat 8.0 เป็นต้นไปจะใช้เชลล์สคิรปต์เป็นโปรแกรมติดตั้งและจะติดตั้งโปรแกรมที่จำเป็นเท่านั้น. ผู้ใช้ไม่ต้องสั่งคำสั่ง rpm ด้วยตนเองให้ใช้สคริปต์ที่เตรียมไว้.

รุ่นTE แพกเกจ
6.0/6.1ftp://linux.thai.net/pub/thailinux/software/software.old/TE/redhat-6.0-6.1/
6.2/7.0ftp://linux.thai.net/pub/thailinux/software/software.old/TE/redhat-6.2-7.0
7.1ftp://linux.thai.net/pub/thailinux/software/software.old/TE/redhat-7.1
7.2ftp://ftp.nectec.or.th/pub/linux.tle/4.1/TE/
8.0/9.0ftp://linux.thai.net/pub/thailinux/cvs/software/te/

TE สำหรับ Mandrake

ไม่มีการทดสอบ TE กับ Mandrake อย่างเป็นทางการแต่เนื่องจากใช้ RPM เหมือนกันให้ลอง TE สำหรับ Red Hat.

TE สำหรับ Slackware

รุ่นTE แพกเกจ
9.0ftp://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 ตามความสะดวก เช่น apt-get install kdictthai, apt-get install libthai0 libthai-dev
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 มีเพียงหยิบมือเดียว ฉะนั้น จึงเป็นไปไม่ได้ที่ท่านจะคาดหวังให้คนเหล่านี้ มาแก้ปัญหาให้ท่านทุกอย่าง.

แหล่งอ้างอิง

Link เก่า

  • http://www.fedu.uec.ac.jp/ZzzThai/linux/te.html

ขอบคุณ

อาสาสมัครผู้พัฒนาซอฟต์แวร์ภาษาไทยสำหรับลินุกซ์ทุกท่านและสมาชิก TLWG.

Created by ott
Contributors : Pattara Kiatisevi, Poonlap Veerathanabutr
Last modified 2005-04-07 12:09 PM
 

Powered by Plone

This site conforms to the following standards: