Differences between current version and previous revision of HowToThaiHOWTO.
Other diffs: Previous Major Revision, Previous Author, or view the Annotated Edit History
Newer page: | version 3 | Last edited on Thursday, October 21, 2004 2:48:41 pm | by JohnMcPherson | |
Older page: | version 2 | Last edited on Friday, June 7, 2002 1:07:41 am | by perry | Revert |
@@ -1,1522 +1 @@
-
-
-
-The Linux Thai HOWTO
-
-
-
-----
-
-!!!The Linux Thai HOWTO
-
-!!Poonlap Veeratanabutr,
-poon-v@fedu.uec.ac.jpv0.4, 4 August 1998
-
-
-----
-''This document describes how to use Thai language with Linux. This will cover
-setting Thai fonts, Thai keyboard and some Thai applications.''
-----
-
-
-
-
-!!1. Introduction
-
-
-
-
-!!2. Thai Input and Output
-
-
-****2.1 Linux console
-
-****2.2 X Window system
-
-
-
-
-
-!!3. Applications with Thai language
-
-
-****3.1 Some X applications and Thai language
-
-****3.2 Printing Thai document
-
-****3.3 X Application Resources
-
-****3.4 Thai Extension for Linux (TE)
-
-
-
-
-
-!!4. References and FTP sites
-
-
-****4.1 Other documents of relevance
-
-****4.2 Thai related stuffs
-
-****4.3 FTP and Web sites
-
-
-
-
-
-!!5. Acknowledgments and Copyright
-----
-
-!!1. Introduction
-
-
-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
-schools in Thailand.
-
-
-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.
-
-
-
-
-
-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
-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.
-
-
-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.
-
-
-You can find the lastest version of Thai-HOWTO document from
-http://www.fedu.uec.ac.jp/!ZzzThai/Linux.
-Your comment is welcome.
-
-
-
-
-
-
-----
-
-!!2. Thai Input and Output
-
-!! 2.1 Linux console
-
-
-
-Thai characters do not display properly in Linux console. If you mainly use X
-window, you may pass this section.
-
-!Thai fonts
-
-
-You can obtain Linux Thai console fonts which created by Mr.
-Phaisarn Techajaruwong from
-!ZzzThai ftp site
-
-For example, there is a font name "phaisarn.psf". Put it in
-/usr/lib/kbd/consolefonts/ directory. Then, you can load the new
-font from Linux console by command
-
-
-%setfont phaisarn.psf
-
-
-
-
-
-
-!Keyboard layout
-
-
-You can set keyboard behavior as you like by using loadkeys
-command. Usually, you use loadkeys to load the file located in
-/usr/lib/kbd/keytables. You can create a US/Thai keyboard-map file and save it
-in this directory. Here is a sample.
-
-
-
-
-
-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_
-alt keycode 82 = Ascii_
-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 = ""
-
-
-
-
-Suppose you save this file as thai.map. From Linux console, use command
-loadkeys to load thai.map.
-
-
-%loadkeys thai.map
-
-
-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.
-
-
-
-
-
-
-
-!! 2.2 X Window system
-
-
-! Thai fonts
-
-
-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.
-
-
-
-
-
-
-
-!Installing Thai fonts
-
-
-You must log in as root. Let's put Thai fonts in
-/usr/X11R6/lib/X11/fonts/misc/, this is a default font path. Change directory to
-/usr/X11R6/lib/X11/fonts/misc/ and run command
-
-
-%mkfontdir
-%xset fp rehash
-
-
-If you put Thai fonts in different directory, you must use xset to add
-the new font path. Please see man-page for further information.
-You can check the new fonts by running command 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.
-
-
-
-
-
-
-
-!Thai keyboard layoutThere are two ways to map Thai keyboard on X window, using X !KeyboardExtension (XKB) and using xmodmap. Please select how you map Thai keyboard. Irecommend using XKB.
-
-
-
-
-!XKB and Thai keyboard layout.
-
-
-Beginning with XFree86 3.1.2D, you can use the new X11R6.1 XKEYBOARD
-extension to manage the keyboard layout. This is
-very helpful.
-
-
-During X server configuration with 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.
-
-
-XF86Setup is the graphical X server configuration utility for XFree86 X server.
-It is easier than traditional xf86config. You can
-select a keyboard layout easily with this tool.
-
-
-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.
-
-
-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 " 5 key " . To fix this problem, you should
-add the line
-
-
-key <AE05> { [
[], [[ paragraph, ocircumflex ] };
-
-
-in the file /usr/X11R6/lib/X11/xkb/symbols/th as the example.
-
-
-.................
-key <AE03> { [[], [[ minus, ograve ] };
-key <AE04> { [[], [[ Agrave, oacute ] };
-key <AE05> { [[], [[ paragraph, ocircumflex ] };
-key <AE06> { [[], [[ Ooblique, Ugrave ] };
-key <AE07> { [[], [[ Odiaeresis, ssharp ] };
-.................
-
-
-You can not type SORUSI also. Please change the line from
-
-
-key <AC08> { [[], [[ Ograve, eacute ] };
-
-
-to
-
-
-key <AC08> { [[], [[ Ograve, Eacute ] };
-
-
-Note that eacute is equal to MAITHO and Eacute is equal to SORUSI.
-
-
-There are also XKB extension utilities such as setxkbmap,
-xkbcomp, etc. Please see man-page for more information. I recommend to
-use 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 XF86Config file
-about keyboard section. If you want to configure the keyboard by hand, change
-the content of /usr/X11R6/lib/X11/XF86Config as an example
-below. This configuration uses the default toggle key.
-
-
-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
-
-
-
-
-If you use XKB extension, Thai keyboard mapping with xmodmap may not work.
-See XF86Config man-page for mor information.
-
-
-
-
-!Thai keyboard layout with xmodmap
-
-
-You can use the utility xmodmap to map Thai keyboard.
-Normally xmodmap is used to load a keyboard configured file.
-For most Linux distributions,
-when you start X window with startx, X server will find .Xmodmap in
-/usr/X11R6/lib/X11/xinit/ first. If .Xmodmap does not exist, X
-server will find .Xmodmap in your home directory. Please see the content of
-/usr/X11R6/lib/X11/xinit/xinitrc.
-
-
-The following is the sample of .Xmodmap for Thai Kedmanee
-keyboard layout.
-
-
-
-
-
-!
-! 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_
-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
-
-
-Just put .Xmodmap in your home directory will be OK. When you start X window, X
-server will load this file.
-
-
-You can also load .Xmodmap from command line.
-
-
-%xmodmap ~/.Xmodmap
-
-
-
-
-
-
-
-In above .Xmodmap file, US/Thai switch key is
-assigned to keycode 0x4E (78), Scroll Lock key, with the statement
-
-----
-
-keycode 0x4E = Mode_switch XF86ModeLock
-
-----
-
-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 X and xev for further information.
-
-
-
-
-
-__Note:__ If you are using XFree86 version 3.1.2D or later, you need to
-add the line !XkbDisable in keyboard section of
-XF86Config file. You may config the keyboard section
-like the following sample.
-
-
-Section "Keyboard"
-Protocol "Standard"
-!AutoRepeat 500 5
-!LeftAlt Meta
-!RightAlt !ModeShift
-!ScrollLock !ModeLock
-!RightCtl Compose
-!XkbDisable
-!EndSection
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-----
-
-!!3. Applications with Thai language
-
-
-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.
-
-
-
-
-
-To make X window application displays Thai font,
-you should run the application with -fn option. For example,
-
-
-%xedit -fn thai8x16
-
-
-Note that thai8x16 is just a one of Thai font names. You can see all
-available fonts by command xlfonts.
-If you don't want to fill -fn option every time you run
-application. You should set Thai font in your ~/.Xdefaults or
-~/.Xresources like this
-
-
-XTerm*font: thai8x16
-
-
-
-
-
-
-
-
-
-!!3.1 Some X applications and Thai language
-
-
-
-
-
-
-
-
-!txterm
-
-
-txterm is Thai version of xterm. There are several programs running
-under xterm such as shell, pine, vi, less, etc. We can type Thai
-characters without any problems with txterm. Txterm also provides
-its own Thai input method by pressing " F1 " key. Txterm will
-use fonts thai9x13 as default Thai font. You can change this by add -fn option.
-
-
-You can get txterm from
-Thaigate or
-!ZzzThai.
-
-
-
-
-
-
-
-; __bash shell :__:
-
-Normally, shell accepts only ASCII character set. To type Thai characters in
-shell command line, you should set environment LC_CTYPE to
-iso_8859_1.
-
-
-I don't set 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.
-
-
-LC_CTYPE=iso_8859_1 xterm -fn thai8x16
-
-
-This xterm display Thai characters well, but not good for typing Thai
-characters. I strongly recommend you to use txterm.
-
-
-
-; __ls :__:
-
-If you name a filename in Thai. Issue the command as
-
-
-ls -N
-
-
-
-
-You may set alias in ~/.bashrc or ~/.cshrc, so
-you can type ls without option. If you don't use ls with
--N option, you may see Thai filename as ?????.
-
-
-
-
-
-
-
-
-!Emacs, Mule
-
-
-Mule stands for " Multilingual Enhancement to GNU Emacs " . It has
-the same functions as emacs and supports many languages. Mule provides
-its own input method, so you don't need any configuration for typing Thai. You
-needs only Thai fonts for mule which you can get from,
-!ZzzThai or
-Etl site.
-These Thai fonts are fixed width fonts.
-
-
-You need some configuration for mule. Puts the following lines in
-your .emacs.
-
-
-;;
-;; 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))
-
-
-Add the following lines in .Xdefaults.
-
-
-!
-! 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
-
-
-
-
-When you hold shift key and press
-left mouse's button, you can select Thai fonts to display in mule window.
-To type Thai characters, press " Ctrl + ] " . To type English, press
-" Ctrl + ] " again.
-
-
-You can get mule from
-!ElectroTechnical Laboratory(ETL)
-
-
-
-!vi
-
-
-Vi should be run on txterm.
-
-
-
-
-!pine
-
-
-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 pine, elm, Netscape mail, etc.
-
-
-Put the following definition in your ~/.pinerc file:
-
-
-character-set=ISO-8859-1
-
-
-This can also be set via the Setup option in pine window. You can find
-it under Config. You can read Thai news from pine, too.
-
-
-Pine should be run in txterm.
-
-
-
-
-!Netscape
-
-
-If you have Thai fonts in your system. Just set Thai font from
-preference. Thai fonts will appear in User defined area. See
-http://www.fedu.uec.ac.jp/!ZzzThai/unix for setting Thai
-language on Netscape.
-
-
-Some movement about Thai Mozilla project at
-http://members.xoom.com/inThai/mozthai.html.
-
-
-
-
-!Ss, Simple thai word Separator
-
-
-ss is a dictionary based Thai word separation program similar to
-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 < WBR > tag between Thai words in html
-file. Browser will display Thai homepage better than normal html document.
-
-
-
-
-!Xzthai, X keyboard configurator + simple editor
-
-
-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
-xmodmap program in background to map Thai
-keyboard. This may be useful for commercial X server and X server on UNIX.
-
-
-
-
-!!3.2 Printing Thai document
-
-
-
-Thai2ps is used to convert plain text file to postscript file.You can use
-ghostscript(gs) to print your Thai document. For better quality document,
-you have to use (La)TeX.
-
-
-
-
-!Latex and Thai language
-
-
-Dr. Manop Wongsaisuwan first tried to use Thai language with latex. He
-wrote some perl script as filter for latex source code that contains Thai
-language. Then pass the result to latex. Mr. Vuthichai Ampornaramvech
-used this concept and wrote a program in C language, cttex, to handle this. It runs
-faster and makes Thai word segmentation based on dictionary. 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
-http://thaigate.nacsis.ac.jp/files/ttex.html.
-
-
-
-
-!Latex's configuration for Thai language
-
-
-You must have latex installed in your computer.
-First, download Thai postscript (Type1) fonts, tfm fonts and Thai style
-file. These fonts are needed by
-Latex. This is the list of files you should download.
-
-
-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
-
-
-
-
-
-
-
-There is latex's directory at
-/usr/lib/texmf/texmf/ (!RedHat 5.). I will call /usr/lib/texmf/texmf/ as
-" $texroot " . We will concentrate at $texroot/texmf/ directory.
-In $texroot/texmf/ directory, there are many files
-about tex's configuration. You have to edit files in dvips, fonts, tex subdirectories.
-
-
-Add the following lines to $texroot/texmf/dvips/misc/psfonts.map
-
-
-dbtt DBThaiText <dbtt.pfa
-dbttb DBThaiTextBold <dbttb.pfa
-dbttbi DBThaiTextBoldItalic <dbttbi.pfa
-dbtti DBThaiTextItalic <dbtti.pfa
-
-
-
-
-
-
-
-Make a new directories and copy files to the appropriate directories.
-
-
-%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
-
-
-
-
-
-
-
-Run texhash or !MakeTeXls-R(in some system) to update Tex database.
-
-
-%/usr/bin/texhash
-texhash: updating /usr/lib/texmf/texmf/ls-R ...
-texhash: Done.
-
-
-
-
-
-
-!Use Thai LaTeX filter
-
-
-We can use cttex as filter like this,
-
-
-%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
-
-
-You can convert dvi file to postscript file by,
-
-
-%dvips -o ttex.ps ttex.dvi
-
-
-
-
-Finally, you can print ttex.ps by using gs or lpr. You must configure
-printer before printing. See man-pages of printcap, gs, lpr
-for more information.
-
-
-
-
-!Editing !LaTex source file
-
-
-For new latex user, lyx is helpful. But I recommend to use mule
-to edit Thai latex source file because mule supports Thai language
-and it is a powerful editor. You may take a look a
-Thai Latex tutorial.
-
-
-
-
-
-
-
-!!3.3 X Application Resources
-
-
-
-Because Xt based applications allow user to configure
-the applications by resources. We can make the menu or label to be
-Thai language.
-
-
-For example, if you want xman to display Thai labels. You may add
-these lines in your .Xdefaults
-
-
-......
-!! Xman section
-Xman*Font: thai8x16
-Xman*helpButton.Label: ªegraveCcedilAcirc
-Xman*quitButton.Label: !IacuteIacute¡
-Xman*manpageButton.Label: ¤!UgraveegraveAacute×Iacute¡!OgraveAtildeatildeªeacute
-......
-
-
-
-
-You can use the same idea to set window manager to be more Thai environment too.
-
-
-
-
-!!3.4 Thai Extension for Linux (TE)
-
-
-
-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
-ftp://fedu.uec.ac.jp/pub/thai/UEC/!ZzzThai/Software/Linux/
-
-
-
-
-
-----
-
-!!4. References and FTP sites
-
-
-
-
-!! 4.1 Other documents of relevance
-
-
-
-The HOWTOs ought to be available from all mirrors of 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
-his homepage.
-
-
-
-
-!! 4.2 Thai related stuffs
-
-
-
-" NACSIS R& D Thai
-Project Page " ,
-http://thaigate.nacsis.ac.jp
-
-
-**** Information about Thai computing.
-****
-
-**** Discussion groups in Thai language, such as thai-l (Thai Mailing list),
-Thai news, etc.
-****
-
-**** Thai references and Thai softwares.
-****
-
-**** Thai Latex filter.
-****
-
-
-
-" !ZzzThai Project " ,
-http://www.fedu.uec.ac.jp
-
-
-**** Most softwares and Thai fonts introduced
here can download from !ZzzThai.
-****
-
-**** Describe how to use Thai with 3 main computer platforms, UNIX like, Windows
-and Mac.
-****
-
-**** Linux information at
-http://www.fedu.uec.ac.jp/!ZzzThai/Linux, TE, Thai LaTeX tutorial, etc.
-****
-
-**** By The group of students at The University of Electro-Communications, Tokyo.
-****
-
-
-
-" Vuthichai's Page " ,
-http://www.ctrl.titech.ac.jp:80/~vuthi/
-
-
-****Information about Thai computing by Mr. Vuthichai Ampornaramveth.
-****
-
-
-
-" An annotated
-reference to the Thai implementations " ,
-http://www.inet.co.th/cyberclub/trin/thairef/
-
-
-**** Information about Thai character standard.
-****
-
-**** By Mr.Trin Tantsetthi.
-****
-
-
-
-" X window and Thai
-language " ,
-http://members.xoom.com.cwg.x11th/
-
-
-**** By Mr.Rawat S.Pirom
-****
-
-
-
-" !SchoolNet
-Internet Sever " ,
-http://www.school.net.th/linux-sis/
-
-
-**** Using Linux in School, Thailand.
-****
-
-**** By
-NECTEC (National
-Electronics and Computer Technology Center).
-****
-
-
-
-" Thai Open Source
-Development " ,
-http://members.xoom.com/inThai
-
-
-**** Mozilla Thai enabling.
-****
-
-**** Open source Thai softwares and Libraries.
-****
-
-**** By Mr.Samphan Raruenrom
-****
-
-
-
-" Linux
-Thai Project " ,
-http://www.geocities.com/!SiliconValley/8302
-
-
-**** Information about Linux in Thai language.
-****
-
-**** By Kaiwal Development Team.
-****
-
-
-
-" !ThaiLinux unofficial Webboard " ,
-http://lulu.mptc.eng.cmu.ac.th/!HyperNews/get/!ThaiLinux.html
-
-
-**** Questions and answers about Linux in Thai language.
-****
-
-**** By Mr.Pruet Boonma
-****
-
-
-
-" Thai Linux
-installation project " ,
-http://www.geocities.com/Tokyo/Bay/4521/
-
-
-**** Installation guide in Thai language
-****
-
-
-
-
-
-!! 4.3 FTP and Web sites
-
-
-
-
-
-
-Most softwares and Thai fonts which introdued in this howto.
-
-
-****
-ftp://ftp.fedu.uec.ac.jp/pub/thai/UEC/!ZzzThai/Software/Linux
-****
-
-****
-http://thaigate.nacsis.ac.jp/files/index.html
-****
-
-****
-http://www.nectec.or.th/pub/software/i18n/thai
-****
-
-
-
-Mule
-
-
-****
-ftp://etlport.etl.go.jp/pub/mule
-****
-
-
-
-Ss
-
-
-****
-http://members.xoom.com/theera/ss/
-****
-
-
-
-
-!SunSite and mirrors.
-doc/howto has the above mentioned HOWTOs. utils/nls and
-subdirectories contain files related to National Language Support.
-Developers should take a look at locale-tutorial-.8.txt.gz,
-locale-pack-.8.tar.gz and cat-pack.tar.gz.
-
-
-
-The GNU archives has the
-recode package for character table conversion, the ABOUT-NLS file
-and the gettext package for locale support of some GNU applications and
-(of course) the latest versions of GNU emacs.
-
-
-
-
-
-
-
-
-----
-
-!!5. Acknowledgments and Copyright
-
-
-Some parts of this HOWTO comes from The Linux Danish/International
-HOWTO by Thomas Petersen, petersen@post1.tele.dk (the original
-author) and Niels Kristian Bech Jensen, 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,
-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
-linux-howto@sunsite.unc.edu via email
.
-
-
-
-----
+Describe
[HowToThaiHOWTO
] here.