mirror of https://github.com/tLDP/LDP
1139 lines
40 KiB
Plaintext
1139 lines
40 KiB
Plaintext
<!doctype linuxdoc system>
|
||
|
||
<article>
|
||
|
||
<title>The Linux Thai HOWTO
|
||
<author>Poonlap Veeratanabutr, <tt/<htmlurl url="mailto:poon-v@fedu.uec.ac.jp"
|
||
name="poon-v@fedu.uec.ac.jp">/
|
||
<date>v0.4, 4 August 1998
|
||
|
||
<abstract>
|
||
This document describes how to use Thai language with Linux. This will cover
|
||
setting Thai fonts, Thai keyboard and some Thai applications.
|
||
</abstract>
|
||
|
||
<toc>
|
||
|
||
<sect>Introduction
|
||
|
||
<p>
|
||
It's about one year that I didn't update this document. There were a lot of
|
||
movement in Thai computing and using Linux in Thailand. For example, Linux
|
||
boxes are used as server in many <url url="http://www.school.net.th"
|
||
name="schools in Thailand">.
|
||
<p>
|
||
The purpose of this document is to show how to set your Linux to use Thai
|
||
language. I use Linux RedHat 5.0 as I wrote this document, so directories
|
||
which I mention in this document may be different from other distribution.
|
||
|
||
<p>
|
||
First I would like to talk about Thai standard character set. Thai standard
|
||
character set is TIS-620. There are also other Thai standard
|
||
character sets such as ISO-IR-166, CP874, etc. Please see <url
|
||
url="http://www.inet.co.th/cyberclub/trin/thairef/"
|
||
name="http://www.inet.co.th/cyberclub/trin/thairef/"> for further information
|
||
about Thai standard character set.
|
||
TIS-620 is 8-bit character set. It has the same range as ISO-8859-1,
|
||
so we can use apllications that support ISO-8859-1 character set
|
||
also. Although we can use Thai language with apllications that support
|
||
ISO-8859-1 character set, but it does not mean those applications support Thai language.
|
||
<p>
|
||
Thai characters are different from English characters.
|
||
There is a variation of position,
|
||
normal position, character can be on other character,
|
||
character can be under other character. There is no space between words. These
|
||
are some problems in
|
||
developing Thai supported application.
|
||
<p>
|
||
You can find the lastest version of Thai-HOWTO document from <url
|
||
url="http://www.fedu.uec.ac.jp/ZzzThai/Linux"
|
||
name="http://www.fedu.uec.ac.jp/ZzzThai/Linux">.
|
||
Your comment is welcome.
|
||
|
||
|
||
<sect>Thai Input and Output
|
||
|
||
<sect1>Linux console<label id="console">
|
||
<p>
|
||
Thai characters do not display properly in Linux console. If you mainly use X
|
||
window, you may pass this section.
|
||
<sect2>Thai fonts
|
||
<p>
|
||
You can obtain Linux Thai console fonts which created by Mr. <htmlurl
|
||
url="mailto:phaisarn_te@hotmail.com" name="Phaisarn
|
||
Techajaruwong"> from <url
|
||
url="ftp://ftp.fedu.uec.ac.jp/pub/thai/UEC/ZzzThai/Sofware/Linux/fonts/console"
|
||
name="ZzzThai ftp site">
|
||
|
||
For example, there is a font name "phaisarn.psf". Put it in
|
||
<tt>/usr/lib/kbd/consolefonts/</tt> directory. Then, you can load the new
|
||
font from Linux console by command
|
||
<tscreen><verb>
|
||
%setfont phaisarn.psf
|
||
</verb></tscreen>
|
||
|
||
<sect2>Keyboard layout
|
||
<p>
|
||
You can set keyboard behavior as you like by using <tt/loadkeys/
|
||
command. Usually, you use <tt/loadkeys/ to load the file located in
|
||
<tt>/usr/lib/kbd/keytables</tt>. You can create a US/Thai keyboard-map file and save it
|
||
in this directory. Here is a sample.
|
||
<p>
|
||
<tscreen><verb>
|
||
keycode 0 =
|
||
keycode 1 = Escape Escape
|
||
alt keycode 1 = Meta_Escape
|
||
keycode 2 = +one exclam +0x0e5 plus
|
||
alt keycode 2 = Meta_one
|
||
alt shift keycode 2 = Meta_exclam
|
||
keycode 3 = +two at +slash 0x0f1
|
||
control keycode 3 = nul
|
||
control shift keycode 3 = nul
|
||
alt keycode 3 = Meta_two
|
||
alt shift keycode 3 = Meta_at
|
||
keycode 4 = +three numbersign +underscore 0x0f2
|
||
control keycode 4 = Escape
|
||
alt keycode 4 = Meta_three
|
||
alt shift keycode 4 = Meta_numbersign
|
||
keycode 5 = +four dollar +0x0c0 0x0f3
|
||
control keycode 5 = Control_backslash
|
||
alt keycode 5 = Meta_four
|
||
alt shift keycode 5 = Meta_dollar
|
||
keycode 6 = +five percent +0x0b6 0x0f4
|
||
control keycode 6 = Control_bracketright
|
||
alt keycode 6 = Meta_five
|
||
alt shift keycode 6 = Meta_percent
|
||
keycode 7 = +six asciicircum +0x0d8 0x0d9
|
||
control keycode 7 = Control_asciicircum
|
||
alt keycode 7 = Meta_six
|
||
alt shift keycode 7 = Meta_asciicircum
|
||
keycode 8 = +seven ampersand +0x0d6 0x0df
|
||
control keycode 8 = Control_underscore
|
||
alt keycode 8 = Meta_seven
|
||
keycode 9 = +eight asterisk +0x0a4 0x0f5
|
||
control keycode 9 = Delete
|
||
alt keycode 9 = Meta_eight
|
||
keycode 10 = +nine parenleft +0x0b5 0x0d6
|
||
alt keycode 10 = Meta_nine
|
||
keycode 11 = +zero parenright +0x0a8 0x0f7
|
||
alt keycode 11 = Meta_zero
|
||
keycode 12 = +minus underscore +0x0a2 0x0f8
|
||
control keycode 12 = Control_underscore
|
||
control shift keycode 12 = Control_underscore
|
||
alt keycode 12 = Meta_minus
|
||
keycode 13 = +equal plus +0x0aa 0x0f9
|
||
alt keycode 13 = Meta_equal
|
||
keycode 14 = Delete Delete Delete Delete
|
||
alt keycode 14 = Meta_Delete
|
||
keycode 15 = Tab Tab Tab Tab
|
||
alt keycode 15 = Meta_Tab
|
||
keycode 16 = +q Q +0x0e6 0x0f0
|
||
keycode 17 = +w W +0x0e4 quotedbl
|
||
keycode 18 = +e E +0x0d3 0x0ae
|
||
keycode 19 = +r R +0x0be 0x0b1
|
||
keycode 20 = +t T +0x0d0 0x0b8
|
||
keycode 21 = +y Y +0x0d1 0x0ed
|
||
keycode 22 = +u U +0x0d5 0x0ea
|
||
keycode 23 = +i I +0x0c3 0x0b3
|
||
keycode 24 = +o O +0x0b9 0x0cf
|
||
keycode 25 = +p P +0x0c2 0x0ad
|
||
keycode 26 = +bracketleft braceleft +0x0ba 0x0b0
|
||
control keycode 26 = Escape
|
||
alt keycode 26 = Meta_bracketleft
|
||
alt shift keycode 26 = Meta_braceleft
|
||
keycode 27 = +bracketright braceright +0x0c5 comma
|
||
control keycode 27 = Control_bracketright
|
||
alt keycode 27 = Meta_bracketright
|
||
alt shift keycode 27 = Meta_braceright
|
||
keycode 28 = Return Return Return Return
|
||
alt keycode 28 = 0x080d
|
||
keycode 29 = Control Control Control Control
|
||
keycode 30 = +a A +0x0bf 0x0c4
|
||
keycode 31 = +s S +0x0cb 0x0a6
|
||
keycode 32 = +d D +0x0a1 0x0af
|
||
keycode 33 = +f F +0x0b4 0x0e2
|
||
keycode 34 = +g G +0x0e0 0x0ac
|
||
keycode 35 = +h H +0x0e9 0x0e7
|
||
keycode 36 = +j J +0x0e8 0x0eb
|
||
keycode 37 = +k K +0x0d2 0x0c9
|
||
keycode 38 = +l L +0x0ca 0x0c8
|
||
keycode 39 = +semicolon colon +0x0c7 0x0ab
|
||
alt keycode 39 = Meta_semicolon
|
||
keycode 40 = +apostrophe quotedbl +0x0a7 period
|
||
control keycode 40 = Control_g
|
||
alt keycode 40 = Meta_apostrophe
|
||
keycode 41 = +grave asciitilde +minus percent
|
||
control keycode 41 = nul
|
||
alt keycode 41 = Meta_grave
|
||
keycode 42 = Shift Shift Shift Shift
|
||
keycode 43 = +backslash bar +0x0a3 0x0a5
|
||
control keycode 43 = Control_backslash
|
||
alt keycode 43 = Meta_backslash
|
||
alt shift keycode 43 = Meta_bar
|
||
keycode 44 = +z Z +0x0bc parenleft
|
||
keycode 45 = +x X +0x0bb parenright
|
||
keycode 46 = +c C +0x0e1 0x0a9
|
||
keycode 47 = +v V +0x0cd 0x0ce
|
||
keycode 48 = +b B +0x0d4 0x0da
|
||
keycode 49 = +n N +0x0d7 0x0ec
|
||
keycode 50 = +m M +0x0b7 question
|
||
keycode 51 = +comma less +0x0c1 0x0b2
|
||
alt keycode 51 = Meta_comma
|
||
alt shift keycode 51 = Meta_less
|
||
keycode 52 = +period greater +0x0e3 0x0cc
|
||
alt keycode 52 = Meta_period
|
||
alt shift keycode 52 = Meta_greater
|
||
keycode 53 = +slash question +0x0bd 0x0c6
|
||
control keycode 53 = Delete
|
||
alt keycode 53 = Meta_slash
|
||
keycode 54 = Shift Shift Shift Shift
|
||
keycode 55 = KP_Multiply
|
||
keycode 56 = Alt Alt Alt Alt
|
||
keycode 57 = space space space space
|
||
control keycode 57 = nul
|
||
alt keycode 57 = Meta_space
|
||
keycode 58 = Caps_Lock Caps_Lock Caps_Lock Caps_Lock
|
||
keycode 59 = F1 F11 Console_13
|
||
control keycode 59 = F1
|
||
alt keycode 59 = Console_1
|
||
control alt keycode 59 = Console_1
|
||
keycode 60 = F2 F12 Console_14
|
||
control keycode 60 = F2
|
||
alt keycode 60 = Console_2
|
||
control alt keycode 60 = Console_2
|
||
keycode 61 = F3 F13 Console_15
|
||
control keycode 61 = F3
|
||
alt keycode 61 = Console_3
|
||
control alt keycode 61 = Console_3
|
||
keycode 62 = F4 F14 Console_16
|
||
control keycode 62 = F4
|
||
alt keycode 62 = Console_4
|
||
control alt keycode 62 = Console_4
|
||
keycode 63 = F5 F15 Console_17
|
||
control keycode 63 = F5
|
||
alt keycode 63 = Console_5
|
||
control alt keycode 63 = Console_5
|
||
keycode 64 = F6 F16 Console_18
|
||
control keycode 64 = F6
|
||
alt keycode 64 = Console_6
|
||
control alt keycode 64 = Console_6
|
||
keycode 65 = F7 F17 Console_19
|
||
control keycode 65 = F7
|
||
alt keycode 65 = Console_7
|
||
control alt keycode 65 = Console_7
|
||
keycode 66 = F8 F18 Console_20
|
||
control keycode 66 = F8
|
||
alt keycode 66 = Console_8
|
||
control alt keycode 66 = Console_8
|
||
keycode 67 = F9 F19 Console_21
|
||
control keycode 67 = F9
|
||
alt keycode 67 = Console_9
|
||
control alt keycode 67 = Console_9
|
||
keycode 68 = F10 F20 Console_22
|
||
control keycode 68 = F10
|
||
alt keycode 68 = Console_10
|
||
control alt keycode 68 = Console_10
|
||
keycode 69 = Num_Lock
|
||
keycode 70 = Scroll_Lock Show_Memory Show_Registers
|
||
control keycode 70 = Show_State
|
||
alt keycode 70 = Scroll_Lock
|
||
keycode 71 = KP_7
|
||
alt keycode 71 = Ascii_7
|
||
keycode 72 = KP_8
|
||
alt keycode 72 = Ascii_8
|
||
keycode 73 = KP_9
|
||
alt keycode 73 = Ascii_9
|
||
keycode 74 = KP_Subtract
|
||
keycode 75 = KP_4
|
||
alt keycode 75 = Ascii_4
|
||
keycode 76 = KP_5
|
||
alt keycode 76 = Ascii_5
|
||
keycode 77 = KP_6
|
||
alt keycode 77 = Ascii_6
|
||
keycode 78 = KP_Add
|
||
keycode 79 = KP_1
|
||
alt keycode 79 = Ascii_1
|
||
keycode 80 = KP_2
|
||
alt keycode 80 = Ascii_2
|
||
keycode 81 = KP_3
|
||
alt keycode 81 = Ascii_3
|
||
keycode 82 = KP_0
|
||
alt keycode 82 = Ascii_0
|
||
keycode 83 = KP_Period
|
||
altgr control keycode 83 = Boot
|
||
control alt keycode 83 = Boot
|
||
keycode 84 = Last_Console
|
||
keycode 85 =
|
||
keycode 86 = less greater bar
|
||
alt keycode 86 = Meta_less
|
||
keycode 87 = F11 F11 Console_23
|
||
control keycode 87 = F11
|
||
alt keycode 87 = Console_11
|
||
control alt keycode 87 = Console_11
|
||
keycode 88 = F12 F12 Console_24
|
||
control keycode 88 = F12
|
||
alt keycode 88 = Console_12
|
||
control alt keycode 88 = Console_12
|
||
keycode 89 =
|
||
keycode 90 =
|
||
keycode 91 =
|
||
keycode 92 =
|
||
keycode 93 =
|
||
keycode 94 =
|
||
keycode 95 =
|
||
keycode 96 = KP_Enter
|
||
keycode 97 = Control
|
||
keycode 98 = KP_Divide
|
||
keycode 99 = Control_backslash
|
||
control keycode 99 = Control_backslash
|
||
alt keycode 99 = Control_backslash
|
||
keycode 100 = AltGr_Lock
|
||
keycode 101 = Break
|
||
keycode 102 = Find
|
||
keycode 103 = Up
|
||
keycode 104 = Prior
|
||
shift keycode 104 = Scroll_Backward
|
||
keycode 105 = Left
|
||
alt keycode 105 = Decr_Console
|
||
keycode 106 = Right
|
||
alt keycode 106 = Incr_Console
|
||
keycode 107 = Select
|
||
keycode 108 = Down
|
||
keycode 109 = Next
|
||
shift keycode 109 = Scroll_Forward
|
||
keycode 110 = Insert
|
||
keycode 111 = Remove
|
||
altgr control keycode 111 = Boot
|
||
control alt keycode 111 = Boot
|
||
keycode 112 =
|
||
keycode 113 =
|
||
keycode 114 =
|
||
keycode 115 =
|
||
keycode 116 =
|
||
keycode 117 =
|
||
keycode 118 =
|
||
keycode 119 =
|
||
keycode 120 =
|
||
keycode 121 =
|
||
keycode 122 =
|
||
keycode 123 =
|
||
keycode 124 =
|
||
keycode 125 =
|
||
keycode 126 =
|
||
keycode 127 =
|
||
string F1 = "\033[[A"
|
||
string F2 = "\033[[B"
|
||
string F3 = "\033[[C"
|
||
string F4 = "\033[[D"
|
||
string F5 = "\033[[E"
|
||
string F6 = "\033[17~"
|
||
string F7 = "\033[18~"
|
||
string F8 = "\033[19~"
|
||
string F9 = "\033[20~"
|
||
string F10 = "\033[21~"
|
||
string F11 = "\033[23~"
|
||
string F12 = "\033[24~"
|
||
string F13 = "\033[25~"
|
||
string F14 = "\033[26~"
|
||
string F15 = "\033[28~"
|
||
string F16 = "\033[29~"
|
||
string F17 = "\033[31~"
|
||
string F18 = "\033[32~"
|
||
string F19 = "\033[33~"
|
||
string F20 = "\033[34~"
|
||
string Find = "\033[1~"
|
||
string Insert = "\033[2~"
|
||
string Remove = "\033[3~"
|
||
string Select = "\033[4~"
|
||
string Prior = "\033[5~"
|
||
string Next = "\033[6~"
|
||
string F21 = ""
|
||
string F22 = ""
|
||
string F23 = ""
|
||
string F24 = ""
|
||
string F25 = ""
|
||
string F26 = ""
|
||
</verb></tscreen>
|
||
|
||
Suppose you save this file as <tt/thai.map/. From Linux console, use command
|
||
<tt/loadkeys/ to load <tt/thai.map/.
|
||
<tscreen><verb>
|
||
%loadkeys thai.map
|
||
</verb></tscreen>
|
||
You can switch to Thai keyboard by pressing the right Alt key. If you want to
|
||
switch the keyboard back, press the right Alt key again.
|
||
|
||
|
||
<sect1>X Window system<label id="xwindow">
|
||
<sect2>Thai fonts<label id="install_fonts">
|
||
<p>
|
||
You can obtain Thai fonts in bdf format or
|
||
pcf format from internet. You can also use scalable fonts such as Type1 or
|
||
TrueType fonts. But I will not describe about these.
|
||
<p>
|
||
|
||
<sect3>Installing Thai fonts
|
||
<p>
|
||
You must log in as root. Let's put Thai fonts in
|
||
<tt>/usr/X11R6/lib/X11/fonts/misc/</tt>, this is a default font path. Change directory to
|
||
<tt>/usr/X11R6/lib/X11/fonts/misc/</tt> and run command
|
||
<tscreen><verb>
|
||
%mkfontdir
|
||
%xset fp rehash
|
||
</verb></tscreen>
|
||
If you put Thai fonts in different directory, you must use <tt/xset/ to add
|
||
the new font path. Please see man-page for further information.
|
||
You can check the new fonts by running command <tt/xlsfonts/ and see whether
|
||
there are Thai fonts or not. If you can not see any Thai fonts from this
|
||
command, you may need to restart X window.
|
||
<p>
|
||
|
||
<sect2>Thai keyboard layout
|
||
There are two ways to map Thai keyboard on X window, using X Keyboard
|
||
Extension (XKB) and using <tt/xmodmap/. Please select how you map Thai keyboard. I
|
||
recommend using XKB.
|
||
<p>
|
||
<sect3>XKB and Thai keyboard layout.
|
||
<p>
|
||
Beginning with XFree86 3.1.2D, you can use the new X11R6.1 XKEYBOARD
|
||
extension to manage the keyboard layout. This is
|
||
very helpful.
|
||
<p>
|
||
During X server configuration with <tt/xf86config/ you will be asked
|
||
about XKB, if you want to to set Thai keyboard layout for your system,
|
||
say yes. There are a list of pre-configured keymaps. Choose Standard
|
||
101-key, Thai encoding.
|
||
<p>
|
||
<tt/XF86Setup/ is the graphical X server configuration utility for XFree86 X server.
|
||
It is easier than traditional <tt/xf86config/. You can
|
||
select a keyboard layout easily with this tool.
|
||
<p>
|
||
Ther are many choices of keyboard switch key to select. The default is
|
||
LeftAlt+RightShift switch to Thai and LeftAlt+LeftShift switch to US. You can
|
||
type Thai characters in any applications which support ISO-8859-1 character
|
||
set, but don't forget to use Thai fonts with those applications too.
|
||
<p>
|
||
I found that pre-configured keymaps that came with XFree86-3.2
|
||
is not correct. You may not be able to type
|
||
THO THUNG which located at &dquot 5 key &dquot . To fix this problem, you should
|
||
add the line
|
||
<tscreen><verb>
|
||
key <AE05> { [], [ paragraph, ocircumflex ] };
|
||
</verb></tscreen>
|
||
in the file <tt>/usr/X11R6/lib/X11/xkb/symbols/th</tt> as the example.
|
||
<tscreen><verb>
|
||
.................
|
||
key <AE03> { [], [ minus, ograve ] };
|
||
key <AE04> { [], [ Agrave, oacute ] };
|
||
key <AE05> { [], [ paragraph, ocircumflex ] };
|
||
key <AE06> { [], [ Ooblique, Ugrave ] };
|
||
key <AE07> { [], [ Odiaeresis, ssharp ] };
|
||
.................
|
||
</verb></tscreen>
|
||
You can not type SORUSI also. Please change the line from
|
||
<tscreen><verb>
|
||
key <AC08> { [], [ Ograve, eacute ] };
|
||
</verb></tscreen>
|
||
to
|
||
<tscreen><verb>
|
||
key <AC08> { [], [ Ograve, Eacute ] };
|
||
</verb></tscreen>
|
||
Note that eacute is equal to MAITHO and Eacute is equal to SORUSI.
|
||
<p>
|
||
There are also XKB extension utilities such as <tt/setxkbmap/,
|
||
<tt/xkbcomp/, etc. Please see man-page for more information. I recommend to
|
||
use <tt/xkbvled/. The leds will be on when you are using Thai keyboard so you
|
||
can know your keyboard's status.
|
||
|
||
The following is part of <tt/XF86Config/ file
|
||
about keyboard section. If you want to configure the keyboard by hand, change
|
||
the content of <tt>/usr/X11R6/lib/X11/XF86Config</tt> as an example
|
||
below. This configuration uses the default toggle key.
|
||
<tscreen><verb>
|
||
Section "Keyboard"
|
||
Protocol "Standard"
|
||
AutoRepeat 500 5
|
||
LeftAlt Meta
|
||
RightAlt Meta
|
||
ScrollLock Compose
|
||
RightCtl Control
|
||
# XkbDisable
|
||
XkbKeycodes "xfree86"
|
||
XkbTypes "default"
|
||
XkbCompat "default"
|
||
XkbSymbols "us(pc101)"
|
||
XkbGeometry "pc"
|
||
XkbRules "xfree86"
|
||
XkbModel "pc101"
|
||
XkbLayout "th"
|
||
EndSection
|
||
</verb></tscreen>
|
||
<p>
|
||
If you use XKB extension, Thai keyboard mapping with <tt/xmodmap/ may not work.
|
||
See <tt/XF86Config/ man-page for mor information.
|
||
<p>
|
||
<sect3>Thai keyboard layout with xmodmap
|
||
<p>
|
||
You can use the utility <tt/xmodmap/ to map Thai keyboard.
|
||
Normally <tt/xmodmap/ is used to load a keyboard configured file.
|
||
For most Linux distributions,
|
||
when you start X window with <tt/startx/, X server will find <tt/.Xmodmap/ in
|
||
<tt>/usr/X11R6/lib/X11/xinit/</tt> first. If <tt/.Xmodmap/ does not exist, X
|
||
server will find <tt/.Xmodmap/ in your home directory. Please see the content of
|
||
<tt>/usr/X11R6/lib/X11/xinit/xinitrc</tt>.
|
||
<p>
|
||
The following is the sample of <tt/.Xmodmap/ for Thai Kedmanee
|
||
keyboard layout.
|
||
|
||
<tscreen><verb>
|
||
!
|
||
! Linux/XFree86 Thai Kedmanee layout (based on US keyboard)
|
||
! Use ScrollLock to switch to Thai keyboard.
|
||
! This file will work with XFree86 only.
|
||
!
|
||
|
||
keycode 0x09 = Escape
|
||
keycode 0x43 = F1
|
||
keycode 0x44 = F2
|
||
keycode 0x45 = F3
|
||
keycode 0x46 = F4
|
||
keycode 0x47 = F5
|
||
keycode 0x48 = F6
|
||
keycode 0x49 = F7
|
||
keycode 0x4A = F8
|
||
keycode 0x4B = F9
|
||
keycode 0x4C = F10
|
||
keycode 0x5F = F11
|
||
keycode 0x60 = F12
|
||
keycode 0x6F = Print
|
||
keycode 0x4E = Mode_switch XF86ModeLock
|
||
keycode 0x6E = Pause
|
||
keycode 0x31 = grave asciitilde minus percent
|
||
keycode 0x0A = 1 exclam 0x0e5 plus
|
||
keycode 0x0B = 2 at slash 0x0f1
|
||
keycode 0x0C = 3 numbersign underscore 0x0f2
|
||
keycode 0x0D = 4 dollar 0x0c0 0x0f3
|
||
keycode 0x0E = 5 percent 0x0b6 0x0f4
|
||
keycode 0x0F = 6 asciicircum 0x0d8 0x0d9
|
||
keycode 0x10 = 7 ampersand 0x0d6 0x0df
|
||
keycode 0x11 = 8 asterisk 0x0a4 0x0f5
|
||
keycode 0x12 = 9 parenleft 0x0b5 0x0f6
|
||
keycode 0x13 = 0 parenright 0x0a8 0x0f7
|
||
keycode 0x14 = minus underscore 0x0a2 0x0f8
|
||
keycode 0x15 = equal plus 0x0aa 0x0f9
|
||
keycode 0x33 = backslash bar 0x0a3 0x0a5
|
||
keycode 0x16 = BackSpace
|
||
keycode 0x6A = Insert
|
||
keycode 0x61 = Home
|
||
keycode 0x63 = Prior
|
||
keycode 0x4D = Num_Lock
|
||
keycode 0x70 = KP_Divide
|
||
keycode 0x3F = KP_Multiply
|
||
keycode 0x52 = KP_Subtract
|
||
keycode 0x17 = Tab
|
||
keycode 0x18 = q Q 0x0e6 0x0f0
|
||
keycode 0x19 = w W 0x0e4 quotedbl
|
||
keycode 0x1A = e E 0x0d3 0x0ae
|
||
keycode 0x1B = r R 0x0be 0x0b1
|
||
keycode 0x1C = t T 0x0d0 0x0b8
|
||
keycode 0x1D = y Y 0x0d1 0x0ed
|
||
keycode 0x1E = u U 0x0d5 0x0ea
|
||
keycode 0x1F = i I 0x0c3 0x0b3
|
||
keycode 0x20 = o O 0x0b9 0x0cf
|
||
keycode 0x21 = p P 0x0c2 0x0ad
|
||
keycode 0x22 = bracketleft braceleft 0x0ba 0x0b0
|
||
keycode 0x23 = bracketright braceright 0x0c5 comma
|
||
keycode 0x24 = Return
|
||
keycode 0x6B = Delete
|
||
keycode 0x67 = End
|
||
keycode 0x69 = Next
|
||
keycode 0x4F = KP_7
|
||
keycode 0x50 = KP_8
|
||
keycode 0x51 = KP_9
|
||
keycode 0x56 = KP_Add
|
||
keycode 0x42 = Caps_Lock
|
||
keycode 0x26 = a A 0x0bf 0x0c4
|
||
keycode 0x27 = s S 0x0cb 0c0a6
|
||
keycode 0x28 = d D 0x0a1 0x0af
|
||
keycode 0x29 = f F 0x0b4 0x0e2
|
||
keycode 0x2A = g G 0x0e0 0x0ac
|
||
keycode 0x2B = h H 0x0e9 0x0e7
|
||
keycode 0x2C = j J 0x0e8 0x0eb
|
||
keycode 0x2D = k K 0x0d2 0x0c9
|
||
keycode 0x2E = l L 0x0ca 0x0c8
|
||
keycode 0x2F = semicolon colon 0x0c7 0x0ab
|
||
keycode 0x30 = apostrophe quotedbl 0x0a7 period
|
||
keycode 0x53 = KP_4
|
||
keycode 0x54 = KP_5
|
||
keycode 0x55 = KP_6
|
||
keycode 0x32 = Shift_L
|
||
keycode 0x34 = z Z 0x0bc parenleft
|
||
keycode 0x35 = x X 0x0bb parenright
|
||
keycode 0x36 = c C 0x0e1 0x0a9
|
||
keycode 0x37 = v V 0x0cd 0x0ce
|
||
keycode 0x38 = b B 0x0d4 0x0da
|
||
keycode 0x39 = n N 0x0d7 0x0ec
|
||
keycode 0x3A = m M 0x0b7 question
|
||
keycode 0x3B = comma less 0x0c1 0x0b2
|
||
keycode 0x3C = period greater 0x0e3 0x0cc
|
||
keycode 0x3D = slash question 0x0bd 0x0c6
|
||
keycode 0x3E = Shift_R
|
||
keycode 0x62 = Up
|
||
keycode 0x57 = KP_1
|
||
keycode 0x58 = KP_2
|
||
keycode 0x59 = KP_3
|
||
keycode 0x6C = KP_Enter
|
||
keycode 0x25 = Control_L
|
||
keycode 0x40 = Alt_L Meta_L
|
||
keycode 0x41 = space
|
||
keycode 0x71 = Alt_R Meta_R
|
||
keycode 0x6D = Control_R
|
||
keycode 0x64 = Left
|
||
keycode 0x68 = Down
|
||
keycode 0x66 = Right
|
||
keycode 0x5A = KP_0
|
||
keycode 0x5B = KP_Decimal
|
||
|
||
clear Shift
|
||
clear Lock
|
||
clear Control
|
||
clear Mod1
|
||
clear Mod2
|
||
clear Mod3
|
||
clear Mod4
|
||
clear Mod5
|
||
|
||
add Shift = Shift_L Shift_R
|
||
add Lock = Caps_Lock
|
||
add Control = Control_L Control_R
|
||
add Mod1 = Alt_L Alt_R
|
||
add Mod2 = Mode_switch
|
||
</verb></tscreen>
|
||
Just put <tt/.Xmodmap/ in your home directory will be OK. When you start X window, X
|
||
server will load this file.
|
||
|
||
You can also load <tt/.Xmodmap/ from command line.
|
||
<tscreen><verb>
|
||
%xmodmap ~/.Xmodmap
|
||
</verb></tscreen>
|
||
|
||
<p>
|
||
In above <tt/.Xmodmap/ file, US/Thai switch key is
|
||
assigned to keycode 0x4E (78), Scroll Lock key, with the statement
|
||
<tscreen><code>
|
||
keycode 0x4E = Mode_switch XF86ModeLock
|
||
</code></tscreen>
|
||
<tt/XF86ModeLock/ is the special keysym for XFree86 X server. If you
|
||
don't add this keysym, you have to hold the scroll lock key while you
|
||
are typing Thai characters. Note that if you use commercial X server, some
|
||
keycodes are different. You may have to map keyboard by yourself.
|
||
See man-pages of <tt/X/ and <tt/xev/ for further information.
|
||
|
||
<p>
|
||
<bf/Note:/ If you are using XFree86 version 3.1.2D or later, you need to
|
||
add the line <tt/XkbDisable/ in keyboard section of
|
||
<tt/XF86Config/ file. You may config the keyboard section
|
||
like the following sample.
|
||
<tscreen><verb>
|
||
Section "Keyboard"
|
||
Protocol "Standard"
|
||
AutoRepeat 500 5
|
||
LeftAlt Meta
|
||
RightAlt ModeShift
|
||
ScrollLock ModeLock
|
||
RightCtl Compose
|
||
XkbDisable
|
||
EndSection
|
||
</verb></tscreen>
|
||
<p>
|
||
|
||
<p>
|
||
|
||
<sect>Applications with Thai language
|
||
<p>
|
||
This is the tricky part. Most applications support ISO-8859-1
|
||
character set. For example, emacs can display
|
||
ISO-8859-1 character. If we set emacs to display
|
||
ISO-8859-1 and use
|
||
Thai font, you can edit Thai document with emacs. But this is not a good
|
||
policy. You should avoid using this trick as possible. What we need is Thai
|
||
locale or Thai supported applications to manage these things.
|
||
|
||
<p>
|
||
To make X window application displays Thai font,
|
||
you should run the application with <tt/-fn/ option. For example,
|
||
<tscreen><verb>
|
||
%xedit -fn thai8x16
|
||
</verb></tscreen>
|
||
Note that <tt/thai8x16/ is just a one of Thai font names. You can see all
|
||
available fonts by command <tt/xlfonts/.
|
||
If you don't want to fill <tt/-fn/ option every time you run
|
||
application. You should set Thai font in your <tt>~/.Xdefaults</tt> or
|
||
<tt>~/.Xresources</tt> like this
|
||
<tscreen><verb>
|
||
XTerm*font: thai8x16
|
||
</verb></tscreen>
|
||
|
||
|
||
<sect1>Some X applications and Thai language
|
||
<p>
|
||
|
||
<sect2>txterm
|
||
<p>
|
||
<tt/txterm/ is Thai version of <tt/xterm/. There are several programs running
|
||
under <tt/xterm/ such as shell, <tt/pine/, <tt/vi/, <tt/less/, etc. We can type Thai
|
||
characters without any problems with <tt/txterm/. <tt/Txterm/ also provides
|
||
its own Thai input method by pressing &dquot F1 &dquot key. <tt/Txterm/ will
|
||
use fonts <tt/thai9x13/ as default Thai font. You can change this by add <tt/-fn/ option.
|
||
|
||
You can get <tt/txterm/ from
|
||
<url url="http://thaigate.nacsis.ac.jp" name="Thaigate"> or
|
||
<url url="ftp://ftp.fedu.uec.ac.jp/pub/thai/UEC/ZzzThai/Software/Linux"
|
||
name="ZzzThai">.
|
||
|
||
|
||
<descrip>
|
||
<tag/<tt>bash shell</tt> :/
|
||
Normally, shell accepts only ASCII character set. To type Thai characters in
|
||
shell command line, you should set environment <tt/LC_CTYPE/ to
|
||
<tt/iso_8859_1/.
|
||
|
||
I don't set <tt/LC_CTYPE/ environment variable to
|
||
iso_8859_1 because this environment variable will effect
|
||
other applications too. With bash shell, you can specify which
|
||
environment variable to be passed to the application. For example, I can make
|
||
a fake Thai X
|
||
terminal with this syntax.
|
||
<tscreen><verb>
|
||
LC_CTYPE=iso_8859_1 xterm -fn thai8x16
|
||
</verb></tscreen>
|
||
This xterm display Thai characters well, but not good for typing Thai
|
||
characters. I strongly recommend you to use <tt/txterm/.
|
||
|
||
<tag/<tt>ls</tt> :/
|
||
If you name a filename in Thai. Issue the command as
|
||
<tscreen><verb>
|
||
ls -N
|
||
</verb></tscreen>
|
||
|
||
You may set <tt/alias/ in <tt>~/.bashrc</tt> or <tt>~/.cshrc</tt>, so
|
||
you can type <tt/ls/ without option. If you don't use <tt/ls/ with
|
||
<tt/-N/ option, you may see Thai filename as ?????.
|
||
|
||
</descrip>
|
||
|
||
<sect2>Emacs, Mule
|
||
<p>
|
||
Mule stands for &dquot Multilingual Enhancement to GNU Emacs &dquot . It has
|
||
the same functions as emacs and supports many languages. <tt/Mule/ provides
|
||
its own input method, so you don't need any configuration for typing Thai. You
|
||
needs only Thai fonts for <tt/mule/ which you can get from,
|
||
<url
|
||
url="ftp://ftp.fedu.uec.ac.jp/pub/thai/UEC/ZzzThai/Software/Linux/fonts/"
|
||
name="ZzzThai"> or <url url="ftp://etlport.etl.go.jp/pub/mule/fonts/ETL/" name="Etl site">.
|
||
These Thai fonts are fixed width fonts.
|
||
|
||
You need some configuration for <tt/mule/. Puts the following lines in
|
||
your <tt/.emacs/.
|
||
<tscreen><verb>
|
||
;;
|
||
;; Thai System, add in .emacs
|
||
;;
|
||
(set-file-coding-system-for-read '*tis620*)
|
||
(set-default-file-coding-system '*tis620*)
|
||
(set-display-coding-system '*tis620*)
|
||
(set-keyboard-coding-system '*tis620*)
|
||
(setq-deafault quail-current-package (assoc "thai" quail-package-alist))
|
||
</verb></tscreen>
|
||
Add the following lines in <tt/.Xdefaults/.
|
||
<tscreen><verb>
|
||
!
|
||
! Emacs, Mule - Font menu
|
||
!
|
||
Emacs*FontSetList: thai14, thai16, thai24
|
||
Emacs*FontSet-thai14:\
|
||
-etl-fixed-medium-r-normal--14-140-72-72-m-70-tis620.2529-1
|
||
Emacs*FontSet-thai16:\
|
||
-etl-fixed-medium-r-normal--16-160-72-72-m-80-tis620.2529-1
|
||
Emacs*FontSet-thai24:\
|
||
-etl-fixed-medium-r-normal--24-500-72-72-m-120-tis620.2529-1
|
||
</verb></tscreen>
|
||
|
||
When you hold shift key and press
|
||
left mouse's button, you can select Thai fonts to display in <tt/mule/ window.
|
||
To type Thai characters, press &dquot Ctrl + ] &dquot . To type English, press
|
||
&dquot Ctrl + ] &dquot again.
|
||
<p>
|
||
You can get <tt/mule/ from <url url="ftp://etlport.etl.go.jp/pub/mule/"
|
||
name="ElectroTechnical Laboratory(ETL)">
|
||
|
||
<sect2>vi
|
||
<p>
|
||
Vi should be run on <tt/txterm/.
|
||
|
||
<sect2>pine
|
||
<p>
|
||
In the past, we could not send 8-bit characters through E-mail. Now, although
|
||
mail transfer agent can handle 8-bit characters but some old mail transfer
|
||
agent can not.
|
||
We can send Thai e-mail by using e-mail application that supports MIME (Multipurpose Internet Mail Extensions)
|
||
E-mail applications that support
|
||
MIME are <tt/pine/, <tt/elm/, Netscape mail, etc.
|
||
|
||
Put the following definition in your <tt>~/.pinerc</tt> file:
|
||
<tscreen><verb>
|
||
character-set=ISO-8859-1
|
||
</verb></tscreen>
|
||
This can also be set via the <tt/Setup/ option in <tt/pine/ window. You can find
|
||
it under <tt/Config/. You can read Thai news from pine, too.
|
||
|
||
<tt/Pine/ should be run in <tt/txterm/.
|
||
|
||
<sect2>Netscape
|
||
<p>
|
||
If you have Thai fonts in your system. Just set Thai font from
|
||
preference. Thai fonts will appear in User defined area. See <url
|
||
url="http://www.fedu.uec.ac.jp/ZzzThai/unix"
|
||
name="http://www.fedu.uec.ac.jp/ZzzThai/unix"> for setting Thai
|
||
language on Netscape.
|
||
|
||
Some movement about Thai Mozilla project at <url
|
||
url="http://members.xoom.com/inThai/mozthai.html"
|
||
name="http://members.xoom.com/inThai/mozthai.html">.
|
||
|
||
<sect2>Ss, Simple thai word Separator
|
||
<p>
|
||
<tt/ss/ is a dictionary based Thai word separation program similar to
|
||
<tt/cttex/. It can be used to insert a configurable string between
|
||
Thai words. It can also show words that cannot be found in the
|
||
dictionary. More words can be added to the dictionary. Developed by Mr.Teera
|
||
Kittichareonpot.
|
||
|
||
We can use this program to insert <tt/< WBR >/ tag between Thai words in html
|
||
file. Browser will display Thai homepage better than normal html document.
|
||
|
||
<sect2>Xzthai, X keyboard configurator + simple editor
|
||
<p>
|
||
<tt/Xzthai/, this is the Tcl/Tk application for mapping Thai keyboard on any
|
||
keyboard with graphical user interface. Also provides simple editor and
|
||
keyboard layout figure. It actually uses
|
||
<tt/xmodmap/ program in background to map Thai
|
||
keyboard. This may be useful for commercial X server and X server on UNIX.
|
||
|
||
<sect1>Printing Thai document
|
||
<p>
|
||
<tt/Thai2ps/ is used to convert plain text file to postscript file.You can use
|
||
ghostscript(<tt/gs/) to print your Thai document. For better quality document,
|
||
you have to use (La)TeX.
|
||
|
||
<sect2>Latex and Thai language
|
||
<p>
|
||
Dr. Manop Wongsaisuwan first tried to use Thai language with <tt/latex/. He
|
||
wrote some perl script as filter for latex source code that contains Thai
|
||
language. Then pass the result to <tt/latex/. Mr. Vuthichai Ampornaramvech
|
||
used this concept and wrote a program in C language, <tt/cttex/, to handle this. It runs
|
||
faster and makes Thai word segmentation based on dictionary. <tt/Cttex/ also
|
||
fixes the position of Thai characters in word, so SARA and WANNAYUK will be
|
||
placed in the beautiful position.
|
||
|
||
You can find Thai latex filter from <url
|
||
url="http://thaigate.nacsis.ac.jp/files/ttex.html"
|
||
name="http://thaigate.nacsis.ac.jp/files/ttex.html">.
|
||
|
||
<sect2>Latex's configuration for Thai language
|
||
<p>
|
||
You must have <tt/latex/ installed in your computer.
|
||
First, download Thai postscript (Type1) fonts, tfm fonts and Thai style
|
||
file. These fonts are needed by
|
||
<tt/Latex/. This is the list of files you should download.
|
||
<tscreen><verb>
|
||
tfm fonts:
|
||
dbtt.tfm dbttb.tfm dbttbi.tfm dbtti.tfm
|
||
postscript fonts:
|
||
dbtt.pfa dbttb.pfa dbttbi.pfa dbtti.pfa
|
||
style files:
|
||
thai.sty sakka.sty
|
||
Thai Latex filter:
|
||
cttex
|
||
Sample Latex file:
|
||
ttex.ttex test.ttex
|
||
</verb></tscreen>
|
||
|
||
<p>
|
||
There is <tt/latex/'s directory at
|
||
<tt>/usr/lib/texmf/texmf/</tt> (RedHat 5.0). I will call <tt>/usr/lib/texmf/texmf/</tt> as
|
||
&dquot $texroot &dquot . We will concentrate at <tt>$texroot/texmf/</tt> directory.
|
||
In <tt>$texroot/texmf/</tt> directory, there are many files
|
||
about tex's configuration. You have to edit files in <tt/dvips, fonts, tex/ subdirectories.
|
||
<p>
|
||
Add the following lines to <tt>$texroot/texmf/dvips/misc/psfonts.map</tt>
|
||
<tscreen><verb>
|
||
dbtt DBThaiText <dbtt.pfa
|
||
dbttb DBThaiTextBold <dbttb.pfa
|
||
dbttbi DBThaiTextBoldItalic <dbttbi.pfa
|
||
dbtti DBThaiTextItalic <dbtti.pfa
|
||
</verb></tscreen>
|
||
|
||
<p>
|
||
Make a new directories and copy files to the appropriate directories.
|
||
<tscreen><verb>
|
||
%mkdir /usr/lib/texmf/texmf/fonts/tfm/public/thai
|
||
%mkdir /usr/lib/texmf/texmf/fonts/type1/public/thai
|
||
%mkdir /usr/lib/texmf/texmf/tex/generic/thai
|
||
%cp *.tfm /usr/lib/texmf/texmf/fonts/tfm/public/thai
|
||
%cp *.pfa /usr/lib/texmf/texmf/fonts/type1/public/thai
|
||
%cp *.sty /usr/lib/texmf/texmf/tex/generic/thai
|
||
</verb></tscreen>
|
||
|
||
<p>
|
||
Run <tt/texhash/ or <tt/MakeTeXls-R/(in some system) to update <tt/Tex/ database.
|
||
<tscreen><verb>
|
||
%/usr/bin/texhash
|
||
texhash: updating /usr/lib/texmf/texmf/ls-R ...
|
||
texhash: Done.
|
||
</verb></tscreen>
|
||
|
||
<sect2>Use Thai <tt/LaTeX/ filter
|
||
<p>
|
||
We can use <tt/cttex/ as filter like this,
|
||
<tscreen><verb>
|
||
%cttex < ttex.ttex > ttex.tex
|
||
C-TTeX $Revivsion: 1.15 $
|
||
Usage : cttex [cutcode] < infile > outfile
|
||
Usage : cutcode=0 forces operation in HTML mode.
|
||
Build-in dictionary size: 9945 words
|
||
343
|
||
Done
|
||
%latex ttex.tex
|
||
...
|
||
%xdvi ttex.dvi
|
||
</verb></tscreen>
|
||
You can convert dvi file to postscript file by,
|
||
<tscreen><verb>
|
||
%dvips -o ttex.ps ttex.dvi
|
||
</verb></tscreen>
|
||
<p>
|
||
Finally, you can print ttex.ps by using <tt/gs/ or <tt/lpr/. You must configure
|
||
printer before printing. See man-pages of <tt/printcap/, <tt/gs/, <tt/lpr/
|
||
for more information.
|
||
|
||
<sect2>Editing <tt/LaTex/ source file
|
||
<p>
|
||
For new <tt/latex/ user, <tt/lyx/ is helpful. But I recommend to use <tt/mule/
|
||
to edit Thai <tt/latex/ source file because <tt/mule/ supports Thai language
|
||
and it is a powerful editor. You may take a look a <url
|
||
url="http://www.fedu.uec.ac.jp/ZzzThai/Linux/ttex" name="Thai Latex tutorial">.
|
||
|
||
|
||
<sect1>X Application Resources
|
||
<p>
|
||
Because Xt based applications allow user to configure
|
||
the applications by resources. We can make the menu or label to be
|
||
Thai language.
|
||
<p>
|
||
For example, if you want <tt/xman/ to display Thai labels. You may add
|
||
these lines in your <tt/.Xdefaults/
|
||
<tscreen><verb>
|
||
......
|
||
!! Xman section
|
||
Xman*Font: thai8x16
|
||
Xman*helpButton.Label: <20><><EFBFBD><EFBFBD>
|
||
Xman*quitButton.Label: <20>͡
|
||
Xman*manpageButton.Label: <20><><EFBFBD><EFBFBD><EFBFBD>͡<EFBFBD><CDA1><EFBFBD><EFBFBD><EFBFBD>
|
||
......
|
||
</verb></tscreen>
|
||
<p>
|
||
You can use the same idea to set window manager to be more Thai environment too.
|
||
|
||
<sect1> Thai Extension for Linux (TE)
|
||
<p>
|
||
Thai Extension for Linux is a installation package comes with applicaions and
|
||
Thai fonts. You don't have to configure Linux system and applications by yourself.
|
||
Let TE do configuration task for you. After installation, you can use
|
||
Thai language suddenly. Get TE from <url
|
||
url="ftp://fedu.uec.ac.jp/pub/thai/UEC/ZzzThai/Software/Linux/" name="ftp://fedu.uec.ac.jp/pub/thai/UEC/ZzzThai/Software/Linux/">
|
||
|
||
|
||
<sect>References and FTP sites
|
||
<p>
|
||
<sect1>Other documents of relevance<label id="docs">
|
||
|
||
<p>
|
||
The HOWTOs ought to be available from all mirrors of <tt/sunsite.unc.edu/.
|
||
|
||
The Linux Danish/International HOWTO by Niels Kristian Bech Jensen
|
||
|
||
The Linux Cyrillic HOWTO by Alexander L. Belikoff
|
||
|
||
The Keystroke mini-HOWTO by Zenon Fortuna.
|
||
|
||
The Locales mini-HOWTO by Peeter Joot. (This one is mainly for developers.)
|
||
|
||
The ISO-8859-1 FAQ and Programming for Internationalization FAQ (plus much
|
||
more) by Michael Gschwind is available from
|
||
<url url="http://www.vlsivie.tuwien.ac.at/mike/i18n.html"
|
||
name="his homepage">.
|
||
|
||
<sect1> Thai related stuffs<label id="thstuffs">
|
||
<p>
|
||
&dquot NACSIS R& D Thai
|
||
Project Page &dquot ,<url url="http://thaigate.nacsis.ac.jp" name="http://thaigate.nacsis.ac.jp">
|
||
<itemize>
|
||
<item> Information about Thai computing.
|
||
<item> Discussion groups in Thai language, such as thai-l (Thai Mailing list),
|
||
Thai news, etc.
|
||
<item> Thai references and Thai softwares.
|
||
<item> Thai Latex filter.
|
||
</itemize>
|
||
|
||
&dquot ZzzThai Project &dquot , <url url="http://www.fedu.uec.ac.jp/ZzzThai/"
|
||
name="http://www.fedu.uec.ac.jp">
|
||
<itemize>
|
||
<item> Most softwares and Thai fonts introduced here can download from ZzzThai.
|
||
<item> Describe how to use Thai with 3 main computer platforms, UNIX like, Windows
|
||
and Mac.
|
||
<item> Linux information at <url url="http://www.fedu.uec.ac.jp/ZzzThai/Linux"
|
||
name="http://www.fedu.uec.ac.jp/ZzzThai/Linux">, TE, Thai LaTeX tutorial, etc.
|
||
<item> By The group of students at The University of Electro-Communications, Tokyo.
|
||
</itemize>
|
||
|
||
&dquot Vuthichai's Page &dquot , <url
|
||
url="http://www.ctrl.titech.ac.jp:80/~vuthi/"
|
||
name="http://www.ctrl.titech.ac.jp:80/~vuthi/">
|
||
<itemize>
|
||
<item>Information about Thai computing by Mr. Vuthichai Ampornaramveth.
|
||
</itemize>
|
||
|
||
&dquot An annotated
|
||
reference to the Thai implementations &dquot , <url
|
||
url="http://www.inet.co.th/cyberclub/trin/thairef/"
|
||
name="http://www.inet.co.th/cyberclub/trin/thairef/">
|
||
<itemize>
|
||
<item> Information about Thai character standard.
|
||
<item> By Mr.Trin Tantsetthi.
|
||
</itemize>
|
||
|
||
&dquot X window and Thai
|
||
language &dquot , <url url="http://members.xoom.com/cwg/x11th/"
|
||
name="http://members.xoom.com.cwg.x11th/">
|
||
<itemize>
|
||
<item> By Mr.Rawat S.Pirom
|
||
</itemize>
|
||
|
||
&dquot SchoolNet
|
||
Internet Sever &dquot , <url url="http://www.school.net.th/linux-sis/"
|
||
name="http://www.school.net.th/linux-sis/">
|
||
<itemize>
|
||
<item> Using Linux in School, Thailand.
|
||
<item> By <url url="http://www.nectec.or.th" name="NECTEC"> (National
|
||
Electronics and Computer Technology Center).
|
||
</itemize>
|
||
|
||
&dquot Thai Open Source
|
||
Development &dquot , <url url="http://members.xoom.com/inThai"
|
||
name="http://members.xoom.com/inThai">
|
||
<itemize>
|
||
<item> Mozilla Thai enabling.
|
||
<item> Open source Thai softwares and Libraries.
|
||
<item> By Mr.Samphan Raruenrom
|
||
</itemize>
|
||
|
||
&dquot Linux
|
||
Thai Project &dquot , <url url="http://www.geocities.com/SiliconValley/8302"
|
||
name="http://www.geocities.com/SiliconValley/8302">
|
||
<itemize>
|
||
<item> Information about Linux in Thai language.
|
||
<item> By Kaiwal Development Team.
|
||
</itemize>
|
||
|
||
&dquot ThaiLinux unofficial Webboard &dquot ,
|
||
<url url="http://lulu.mptc.eng.cmu.ac.th/HyperNews/get/ThaiLinux.html"
|
||
name="http://lulu.mptc.eng.cmu.ac.th/HyperNews/get/ThaiLinux.html">
|
||
<itemize>
|
||
<item> Questions and answers about Linux in Thai language.
|
||
<item> By Mr.Pruet Boonma
|
||
</itemize>
|
||
|
||
&dquot Thai Linux
|
||
installation project &dquot ,
|
||
<url url="http://www.geocities.com/Tokyo/Bay/4521/"
|
||
name="http://www.geocities.com/Tokyo/Bay/4521/ ">
|
||
<itemize>
|
||
<item> Installation guide in Thai language
|
||
</itemize>
|
||
|
||
<sect1>FTP and Web sites<label id="ftp">
|
||
<p>
|
||
|
||
Most softwares and Thai fonts which introdued in this howto.
|
||
<itemize>
|
||
<item> <url url="ftp://ftp.fedu.uec.ac.jp/pub/thai/UEC/ZzzThai/Software/Linux"
|
||
name="ftp://ftp.fedu.uec.ac.jp/pub/thai/UEC/ZzzThai/Software/Linux">
|
||
<item> <url url="http://thaigate.nacsis.ac.jp/files/index.html"
|
||
name="http://thaigate.nacsis.ac.jp/files/index.html">
|
||
<item> <url url="http://www.nectec.or.th/pub/software/i18n/thai"
|
||
name="http://www.nectec.or.th/pub/software/i18n/thai" >
|
||
</itemize>
|
||
|
||
<tt/Mule/
|
||
<itemize>
|
||
<item><url url="ftp://etlport.etl.go.jp/pub/mule"
|
||
name="ftp://etlport.etl.go.jp/pub/mule">
|
||
</itemize>
|
||
|
||
<tt/Ss/
|
||
<itemize>
|
||
<item> <url url="http://members.xoom.com/theera/ss/"
|
||
name="http://members.xoom.com/theera/ss/">
|
||
</itemize>
|
||
|
||
<url url="ftp://sunsite.unc.edu/pub/linux/" name="SunSite"> and mirrors.
|
||
<tt>doc/howto</tt> has the above mentioned HOWTOs. <tt>utils/nls</tt> and
|
||
subdirectories contain files related to National Language Support.
|
||
Developers should take a look at <tt>locale-tutorial-0.8.txt.gz</tt>,
|
||
<tt>locale-pack-0.8.tar.gz</tt> and <tt/cat-pack.tar.gz/.
|
||
|
||
<url url="ftp://prep.ai.mit.edu/pub/gnu/" name="The GNU archives"> has the
|
||
<tt/recode/ package for character table conversion, the <tt/ABOUT-NLS/ file
|
||
and the <tt/gettext/ package for locale support of some GNU applications and
|
||
(of course) the latest versions of GNU emacs.
|
||
|
||
<tscreen>
|
||
</tscreen>
|
||
|
||
<sect>Acknowledgments and Copyright
|
||
|
||
<p>
|
||
Some parts of this HOWTO comes from The Linux Danish/International
|
||
HOWTO by Thomas Petersen, <tt/petersen@post1.tele.dk/ (the original
|
||
author) and Niels Kristian Bech Jensen, <tt/nkbj@image.dk/.
|
||
|
||
Thank you to Phaisarn Techajaruwong for building Thai fonts and
|
||
valuable discussion.
|
||
|
||
Thank you to Thai students at The University of Electro-Communications and
|
||
Mr. Vuthichai Ampornaramveth for every help.
|
||
|
||
This HOWTO is copyrighted by Poonlap Veeratanabutr,
|
||
<tt/poon-v@fedu.uec.ac.jp/. It is distributed as other Linux HOWTOs
|
||
under the terms described below.
|
||
|
||
Linux HOWTO documents may be reproduced and distributed in whole or in
|
||
part, in any medium physical or electronic, as long as this copyright
|
||
notice is retained on all copies. Commercial redistribution is allowed
|
||
and encouraged; however, the authors would like to be notified of any
|
||
such distributions.
|
||
|
||
All translations, derivative works, or aggregate works incorporating any
|
||
Linux HOWTO documents must be covered under this copyright notice. That
|
||
is, you may not produce a derivative work from a HOWTO and impose
|
||
additional restrictions on its distribution. Exceptions to these rules
|
||
may be granted under certain conditions; please contact the Linux HOWTO
|
||
coordinator at the address given below.
|
||
|
||
If you have questions, please contact Tim Bynum, the Linux HOWTO
|
||
coordinator, at <tt/<htmlurl url="mailto:linux-howto@sunsite.unc.edu"
|
||
name="linux-howto@sunsite.unc.edu">/ via email.
|
||
|
||
</article>
|