annotate man/mule/languages.texi @ 108:360340f9fd5f r20-1b6

Import from CVS: tag r20-1b6
author cvs
date Mon, 13 Aug 2007 09:18:39 +0200
parents 0d2f883870bc
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1 \input texinfo @c -*-texinfo-*-
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2 @setfilename ../info/languages
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
3 @settitle Foreign Languages
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
4
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
5 @titlepage
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
6 @sp 6
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
7 @center @titlefont{Foreign Languages}
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
8 @sp 4
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
9 @center Version 2.1
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
10 @sp 5
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
11 @center TAKAHASHI Naoto
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
12 @center ntakahas@@etl.go.jp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
13 @page
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
14
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
15 @end titlepage
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
16
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
17 @node Top, , , (mule)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
18 @section Foreign Languages
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
19
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
20 This document describes how to read and write various Asian and European
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
21 languages in Mule.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
22
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
23 @menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
24 * Chinese:: Simplified and Traditional Hanzi
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
25 * Japanese:: Hiragana, Katakana, Kanji
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
26 * Korean:: Hangul and Hanja
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
27 * Thai:: Thai
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
28 * Vietnamese:: Vietnamese
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
29 * Latin Script Languages:: French, German, Swedish, etc.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
30 * Cyrillic Script Languages:: Russian, Bulgarian, Ukrainian, etc.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
31 * Greek:: Greek
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
32 * Hebrew:: Hebrew
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
33 * Arabic Script Languages:: Arabic, Farsi, etc.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
34 * Ethiopic Languages:: Amharic, Tigrigna, etc.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
35 * IPA:: International Phonetic Alphabet
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
36 @end menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
37
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
38 @comment ============================================================
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
39 @node Chinese, Japanese, , Top
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
40 @section Chinese
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
41
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
42 This section describes how to read and write Chinese (both simplified
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
43 and traditional hanzi) in Mule. To make Chinese the primary
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
44 environment, the following line should be included in the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
45 @file{$MULE/lisp/site-init.el} file at the compile time:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
46
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
47 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
48 (set-primary-environment 'chinese)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
49 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
50
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
51 If your system administrator did not do this setting, you have to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
52 include the above line in your @file{~/.emacs} file.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
53
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
54 To print Chinese text, see the online manual @samp{m2ps(1)}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
55 and @xref{Top, , m2ps, m2ps}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
56
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
57 @menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
58 * Chinese Character Sets:: GB and BIG5
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
59 * Chinese Fonts:: Running Mule as an X client program
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
60 * Coding-system for Chinese:: File I/O and Process Communication
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
61 * Using cWnn:: Network wide hanzi conversion server
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
62 * Quail for Chinese:: Simple input method
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
63 * Running Mule in cxterm:: Using cxterm's input method
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
64 * PIG-mode:: Yet another mode for Chinese
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
65 * Chinese News:: How to read alt.chinese.text[.big5]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
66 @end menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
67
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
68 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
69 @node Chinese Character Sets, Chinese Fonts, , Chinese
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
70 @subsection Chinese Character Sets
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
71
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
72 There are two character sets for Chinese, i.e., GB and BIG5. GB is
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
73 for the simplified characters used in P.R.C. On the other hand, BIG5 is
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
74 for the traditional characters used in Hong Kong and Taiwan. Mule can
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
75 handle both of them. You can make a file which contains both GB
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
76 characters and BIG5 characters, but care should be taken in this case.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
77 If you want to make such files, see @xref{Coding-system for Chinese}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
78
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
79 @quotation
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
80 [NOTE] BIG5 roughly corresponds to the first and the second plains of
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
81 CNS 11643. CNS stands for Chinese National Standard, which defines a
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
82 Chinese character set. Although Mule can also read/write/display CNS
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
83 character sets, input methods for CNS is not yet available.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
84 @end quotation
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
85
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
86 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
87 @node Chinese Fonts, Coding-system for Chinese, Chinese Character Sets, Chinese
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
88 @subsection Chinese Fonts
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
89
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
90 Unless you have a terminal that supports GB/BIG5 and will run Mule
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
91 exclusively on it, you have to use the X window system on which
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
92 appropriate GB/BIG5 fonts are installed. You should be able to read the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
93 following two lines if Chinese fonts are appropriately installed:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
94
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
95 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
96 GB : $AVPND(B $AFUM(;0(B $A::So(B $ADc:C(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
97 BIG5 : $(0GnM$(B $(0N]0*Hd(B $(0*/=((B $(0+$)p(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
98 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
99
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
100 If you cannot read the above lines, get Chinese fonts from Mule's FTP
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
101 sites (see FAQ-Mule) and install them. In addition to GB and BIG5
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
102 fonts, you also need SiSheng fonts if you want to use cWnn to input
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
103 Chinese. (For cWnn, see @xref{Using cWnn}.)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
104
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
105 Bear in mind that all fonts used in Mule must be of fixed width.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
106 Furthermore, the width of the Chinese characters must be exactly twice
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
107 as wide as the ASCII characters, and the width of the Sisheng characters
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
108 must be the same as the ASCII characters. For the detail of font
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
109 specification, see @xref{Font, , Font, mule}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
110
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
111 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
112 @node Coding-system for Chinese, Using cWnn, Chinese Fonts, Chinese
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
113 @subsection Coding-system for Chinese
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
114
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
115 When you read/write a file containing Chinese characters, you must
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
116 specify what kind of format is used. In the world of Mule, this format
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
117 is called @dfn{coding-system}. You must specify an appropriate
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
118 coding-system in your @file{~/.emacs} file, depending on your needs. We
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
119 will explain three cases one by one.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
120
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
121 @enumerate
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
122 @item
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
123 To edit files containing GB and ASCII
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
124
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
125 There are several ways to distinguish GB characters from ASCII
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
126 characters. The most frequently used method utilises the 8th bit as a
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
127 flag. If the 8th bit is set to 1, the character represents a GB.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
128 Otherwise, an ASCII. This method is adopted in cxterm. If you use
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
129 exclusively GB and ASCII, this method would be convenient. This is the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
130 default coding-system in Mule's Chinese environment.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
131
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
132 @item
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
133 To edit files containing BIG5 and ASCII
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
134
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
135 If you want to use BIG5 as the primary coding-system, add the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
136 following lines in your @file{~/.emacs} file:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
137
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
138 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
139 (set-default-file-coding-system '*big5*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
140 (set-display-coding-system '*big5*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
141 (set-keyboard-coding-system '*big5*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
142 (setq-default quail-current-package (assoc "py-b5" quail-package-alist))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
143 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
144
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
145 @item
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
146 To edit files containing GB, BIG5 and ASCII
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
147
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
148 First of all, be aware of this fact: Mule seems to be the only
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
149 software that can handle GB and BIG5 simultaneously. You cannot display
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
150 GB and BIG5 simultaneouly in cxterm, for example.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
151
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
152 If you dare to include GB and BIG5 in the same file, we recommend you
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
153 to include the following line in your @file{~/.emacs} file:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
154
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
155 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
156 (set-default-file-coding-system *junet*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
157 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
158
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
159 With this coding-system, you can include not only GB and BIG5, but
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
160 also Japanese, Hangul, European languages, etc. in a single file. The
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
161 coding-system @code{*junet*} inserts special codes, called @dfn{escape
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
162 sequences}, at the boundaries of two different character sets. The 8th
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
163 bits are always set to zero.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
164
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
165 You can also use the next one instead of using @code{*junet*}:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
166
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
167 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
168 (set-default-file-coding-system *euc-china*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
169 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
170
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
171 In this case, GB characters are saved with their 8th bits set to one.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
172 All other character sets are saved with their 8th bits set to zero, and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
173 are distinguished from one another by escape sequences.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
174
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
175 Yet another alternative is the following:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
176
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
177 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
178 (set-default-file-coding-system *ctext*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
179 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
180
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
181 You cannot specify *big5* as file-coding-system if the file contains
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
182 both GB and BIG5.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
183
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
184 @end enumerate
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
185
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
186 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
187 @node Using cWnn, Quail for Chinese, Coding-system for Chinese, Chinese
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
188 @subsection Using cWnn
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
189
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
190 The primary method for inputing Chinese is to communicate with cserver
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
191 of cWnn via Egg system. cserver is a network-wide pinyin-hanzi
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
192 conversion server. It receives pinyin sequences and returns hanzis.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
193
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
194 To use cserver, cWnn (version 4.108 or later) should have been
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
195 installed. cWnn is bound to Wnn, and available from FTP sites of Mule.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
196 SiSheng fonts are also necessary. (See @xref{Chinese Fonts}.)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
197
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
198 Note that the current version of Egg supports only GB characters.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
199 If you want to input BIG5, or if you cannot use cserver for some
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
200 reason, see @xref{Quail for Chinese}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
201
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
202 To use cserver, you must specify the hostname on which cserver is
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
203 running. Add the following lines in your @file{~/.emacs} file:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
204
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
205 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
206 (set-cwnn-host-name "hostname")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
207 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
208
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
209 @code{"hostname"} must be replaced by the real hostname on which
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
210 cserver is really running.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
211
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
212 To input chinese, type @kbd{C-\}. Make sure that the mode-line has
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
213 changed. Now you can enter pinyin. You may type several words at once.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
214 Then hit @key{SPC} to convert what you entered. If the resulting hanzi
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
215 is different from what you want, hit @key{SPC} again. Each time you hit
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
216 @key{SPC}, cserver returns another alternative.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
217
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
218 Here are some important key bindings in the conversion mode:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
219
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
220 @table @kbd
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
221 @item SPC
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
222 get another alternative
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
223
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
224 @item RET
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
225 confirm (accept that hanzi)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
226
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
227 @item C-f
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
228 move to next word
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
229
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
230 @item C-b
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
231 move to previous word
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
232
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
233 @item C-i
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
234 make current word shorter
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
235
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
236 @item C-o
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
237 make current word longer
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
238
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
239 @item C-g
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
240 quit
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
241 @end table
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
242
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
243 At the very first time of usig cserver, you may be asked if you
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
244 want to make dictionaries. Just type @kbd{yes} to all questions.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
245
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
246 To quit from Chinese input mode, type @kbd{C-\} again.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
247
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
248 For more information, see @xref{Top, , Egg, egg}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
249
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
250 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
251 @node Quail for Chinese, Running Mule in cxterm, Using cWnn, Chinese
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
252 @subsection Quail for Chinese
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
253
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
254 For those who want to input BIG5 or who cannot use cserver for some
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
255 reason, Mule provides another input method called @dfn{quail}. Quail is
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
256 included in the standard distribution of Mule. If you are familiar with
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
257 cxterm, it would be very easy to use quail, as quail supports all of the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
258 input method provided by X11R5 cxterm.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
259
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
260 All input methods called @samp{XXX.tit} in X11R5 cxterm are already
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
261 registered in Mule. To use some of them, just type @kbd{C-]} and select
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
262 a package you want by @kbd{M-s}. The following packages are avairalbe
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
263 now.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
264
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
265 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
266 py, tonepy, sw, punct, qj, ccdospy, ctcps3, etzy, py-b5, zozy, qj-b5,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
267 punct-b5
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
268 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
269
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
270 In the document of X11R5 cxterm, each input method is explained as
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
271 follows. (Quoted from @file{cxterm/dict/tit/README}.)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
272
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
273 [GB input methods]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
274
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
275 @table @asis
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
276 @item py
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
277 Standard PinYin input method
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
278
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
279 @item qj
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
280 Quan Jiao -- double-byte ASCII in GB coding
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
281
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
282 @item punct
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
283 Punctuation marks input table
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
284
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
285 @item sw
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
286 CCDOS style ShouWei input method (first & last part)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
287
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
288 @item tonepy
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
289 Standard PinYin input method with tone 1-5
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
290
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
291 @item ccdospy
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
292 CCDOS style abbreviated PinYin input method
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
293
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
294 @item ctlau
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
295 Sidney Lau's Cantonese transcription scheme
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
296 @end table
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
297
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
298 [BIG5 input methods]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
299
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
300 @table @asis
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
301 @item py-b5
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
302 Standard PinYin input method with tones
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
303
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
304 @item qj-b5
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
305 Quan Jiao -- double-byte ASCII in BIG5 coding
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
306
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
307 @item punct-b5
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
308 Punctuation marks input table
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
309
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
310 @item ctlaob
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
311 Sidney Lau's Cantonese transcription scheme
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
312
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
313 @item zozy
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
314 ETen ZhuYin (phonetic) input in second keyboard layout as in ZeroOne,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
315 DACHEN system, etc.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
316
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
317 @item etzy
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
318 ETen ZhuYin (phonetic) input in ETen keyboard layout
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
319 @end table
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
320
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
321 In quail, you can toggle ASCII input mode and Chinese input mode by
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
322 typing @kbd{C-]}. @kbd{M-z} in quail-mode shows a help.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
323
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
324 @quotation
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
325 [NOTE] You can easily create a quail-package from cxterm's tit format
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
326 file. Please try the following command from your shell,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
327
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
328 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
329 @samp{% mule -batch -l quail/tit -f batch-tit-to-quail [dirname|filename] ...}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
330 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
331 @end quotation
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
332
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
333 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
334 @node Running Mule in cxterm, PIG-mode, Quail for Chinese, Chinese
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
335 @subsection Running Mule in cxterm
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
336
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
337 You can use various hanzi input method of cxterm by running Mule in a
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
338 cxterm window. In this case you can use the latest veresion of cxterm.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
339 To run Mule in a cxterm window, execute the following command:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
340
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
341 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
342 @samp{% mule -nw}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
343 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
344
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
345 Make sure that you have configured cxterm so that it matches Mule's
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
346 coding-system. Set cxterm to GB-mode if you use *euc-china* in Mule; to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
347 BIG5-mode if you use *big5*. Note that you cannot use GB and BIG5
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
348 simultaneously in cxterm.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
349
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
350 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
351 @node PIG-mode, Chinese News, Running Mule in cxterm, Chinese
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
352 @subsection PIG-mode
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
353
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
354 PIG-mode is a very convenient system. It converts several characters
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
355 at once, accepts abbreviated pinyin input, etc. It is available via
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
356 anonymous FTP from the following sites:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
357
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
358 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
359 etlport.etl.go.jp [192.31.197.99]: /pub/mule/contrib
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
360 sh.wide.ad.jp [133.4.11.11]: /JAPAN/mule/mule-1.0/contrib
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
361 ftp.mei.co.jp [132.182.49.2]:/public/free/gnu/emacs/Mule/contrib
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
362 ftp.funet.fi [128.214.6.100]:/pub/gnu/emacs/mule/mule-1.0/contrib
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
363 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
364
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
365 A useful readme file is included.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
366
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
367 According to burt@@dfki.uni-kl.de, the definition of the following
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
368 function is missing:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
369
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
370 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
371 (defun pig-parse-cz (string)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
372 (let ((indx 0) list)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
373 (while (string-match "\\([^0-5]+[0-5]\\)-*" string indx)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
374 (setq list (cons (substring string (match-beginning 1) (match-end 1))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
375 list))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
376 (setq indx (match-end 0)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
377 (nreverse list)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
378 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
379
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
380 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
381 @node Chinese News, , PIG-mode, Chinese
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
382 @subsection Chinese News
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
383
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
384 It is possible to read the articles posted to @samp{alt.chinese.text}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
385 and @samp{alt.chinese.text.big5} if you use @code{GNUS} and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
386 @code{gnusutil} together in Mule.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
387
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
388 Add the following line in your @file{~/.emacs} file:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
389
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
390 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
391 (setq gnus-group-mode-hook 'gnusutil-initialize)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
392 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
393
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
394 Now you can read @samp{alt.chinese.text} and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
395 @samp{alt.chinese.text.big5} in hanzi.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
396
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
397 Once you install gnusutil, no special procedure is required to post an
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
398 article to those newsgroups. You can write your article in hanzi and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
399 can post it as if it were written in ASCII. gnusutil automatically
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
400 converts your hanzi article to appropriate format. Use a GB input
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
401 method for @samp{alt.chinese.text}, and a BIG5 input method for
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
402 @samp{alt.chinese.text.big5}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
403
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
404 @comment ============================================================
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
405 @node Japanese, Korean, Chinese, Top
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
406 @section Japanese
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
407
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
408 [IN PREPARATION]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
409
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
410 This section describes how to read and write Japanese in Mule. To
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
411 make Japanese the primary environment, the following line should be
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
412 included in the @file{$MULE/lisp/site-init.el} file at the compile time:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
413
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
414 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
415 (set-primary-environment 'japanese)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
416 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
417
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
418 If your system administrator did not do this setting, you have to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
419 include the above line in your @file{~/.emacs} file.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
420
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
421 To print Japanese text, see the online manual @samp{m2ps(1)}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
422 and @xref{Top, , m2ps, m2ps}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
423
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
424 @comment ============================================================
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
425 @node Korean, Thai, Japanese, Top
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
426 @section Korean
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
427
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
428 This section describes how to read and write Korean in Mule. To make
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
429 Korean the primary environment, the following line should be included
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
430 in the @file{$MULE/lisp/site-init.el} file at the compile time:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
431
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
432 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
433 (set-primary-environment 'korean)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
434 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
435
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
436 If your system administrator did not do this setting, you have to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
437 include the above line in your @file{~/.emacs} file.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
438
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
439 To print Korean text, see the online manual @samp{m2ps(1)}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
440 and @xref{Top, , m2ps, m2ps}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
441
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
442 @menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
443 * Korean Character Set:: KSC5601
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
444 * Inputing Hangul:: Quail Package for Hangul
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
445 * Inputing Hanja:: Quail Package for Hanja
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
446 @end menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
447
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
448 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
449 @node Korean Character Set, Inputing Hangul, , Korean
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
450 @subsection Korean Character Set
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
451
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
452 Mule uses the KSC5601 character set for displaying Korean. Unless you
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
453 have a terminal that supports KSC5601 and will run Mule exclusively on
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
454 it, you have use the X window system on which appropriate KSC5601 fonts
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
455 are installed.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
456
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
457 If the Korean fonts have been properly installed, you should be able
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
458 to read the following text:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
459
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
460 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
461 Mule $(C@:(B GNU Emacs $(C8&(B $(C:9<v@G(B $(C>p>n?!(B $(C4k@@GR(B $(C<v(B $(C@V557O(B $(C0-H-GQ(B $(C?!5pEM(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
462 $(C@T4O4Y(B.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
463 GNU Emacs Ver.18 $(C@;(B $(C1bCJ7N(B $(CGQ(B Mule Ver.1 $(C0z(B GNU Emacs Ver.19 $(C8&(B $(C1bCJ(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
464 $(C7N(B $(CGQ(B Mule Ver.2 $(C0!(B $(C@V=@4O4Y(B. $(C1]HD4B(B Mule Ver.2 $(C88(B $(C039_@L(B $(C0h<S5I(B $(C0M(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
465 $(C@T4O4Y(B.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
466 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
467
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
468 Bear in mind that all fonts used in Mule must be of fixed width.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
469 Furthermore, the width of the Korean characters must be exactly twice as
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
470 wide as the ASCII characters. For the detail of font specification, see
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
471 @xref{Font, , Font, mule}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
472
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
473 In most cases, the coding-system that you want to use for file I/O
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
474 would be either @code{*iso-2022-kr*} or @code{*euc-korea*}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
475
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
476 @code{*iso-2022-kr*} is the coding-system that is used in Korea for
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
477 e-mail communication. It is a 7-bit encoding and uses locking shift.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
478 In the current version of Mule, it is the default file-coding-system for
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
479 Korean.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
480
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
481 On the other hand, @code{*euc-korea*} is an 8-bit encoding. If the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
482 8th bit is set to zero, it represents an ASCII character; if set to one,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
483 a Korean character. If you rarely use other character sets, this
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
484 coding-system would be useful. To use @code{*euc-korea*} for file I/O,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
485 add the following line in your @file{~/.emacs} file:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
486
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
487 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
488 (set-default-file-coding-system *euc-korea*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
489 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
490
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
491 Another frequently used coding-system is @code{*junet*}. It is the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
492 default coding-system in the @samp{mule@@etl.go.jp} mailing list for
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
493 multilingual communication. To use @code{*junet*} for file I/O, add the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
494 following line to your @file{~/.emacs} file:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
495
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
496 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
497 (set-default-file-coding-system *junet*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
498 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
499
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
500 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
501 @node inputing Hangul, Inputing Hanja, Korean Character Set, Korean
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
502 @subsection Inputing Hangul
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
503
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
504 To input Hangul, use the Quail system. The Quail system converts one
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
505 or more ASCII characters into a Hangul. There are two different
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
506 @dfn{Quail packages} for Hangul, namely @code{hangul} and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
507 @code{hangul3}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
508
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
509 @code{hangul} uses the translation table below:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
510
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
511 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
512 $(CGQ1[(B: $(C$!(B $(C$"(B $(C$$(B $(C$'(B $(C$((B $(C$)(B $(C$1(B $(C$2(B $(C$3(B $(C$5(B $(C$6(B $(C$7(B $(C$8(B $(C$9(B $(C$:(B $(C$;(B $(C$<(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
513 KEY: r R s e E f a q Q t T d w W c z x
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
514
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
515 $(CGQ1[(B: $(C$=(B $(C$>(B $(C$?(B $(C$A(B $(C$C(B $(C$D(B $(C$F(B $(C$E(B $(C$G(B $(C$K(B $(C$L(B $(C$P(B $(C$Q(B $(C$S(B $(C$@(B $(C@g(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
516 KEY: v g k i j p P u h y n b m l o O
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
517 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
518
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
519 Here are some examples:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
520
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
521 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
522 <key sequence> r k r k
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
523 <string inserted> $(C$!(B $(C0!(B $(C0"(B $(C0!0!(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
524
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
525 <key sequence> r k r <M-SPC> k
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
526 <string inserted> $(C$!(B $(C0!(B $(C0"(B $(C0"(B $(C0"$?(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
527 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
528
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
529 On the other hand, @code{hangul3} uses the translation table below:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
530
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
531 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
532 $(CCJ<:(B: $(C$!(B $(C$"(B $(C$$(B $(C$'(B $(C$((B $(C$)(B $(C$1(B $(C$2(B $(C$3(B $(C$5(B $(C$6(B $(C$7(B $(C$8(B $(C$9(B $(C$:(B $(C$;(B $(C$<(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
533 KEY : k kk h u uu y i ; ;; n nn j l ll o 0 '
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
534
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
535 $(CCJ<:(B: $(C$=(B $(C$>(B $(C$?(B $(C$@(B $(C$A(B $(C$B(B $(C$C(B $(C$D(B $(C$E(B $(C$F(B $(C$G(B $(C$H(B $(C$I(B $(C$J(B $(C$K(B $(C$L(B $(C$M(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
536 KEY : p m f r 6 R t c e 7 v /f /r /d 4 b 9t
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
537 also: / 9
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
538
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
539 $(CCJ<:(B: $(C$N(B $(C$O(B $(C$P(B $(C$Q(B $(C$R(B $(C$S(B $(C$!(B $(C$"(B $(C$#(B $(C$$(B $(C$%(B $(C$&(B $(C$'(B $(C$)(B $(C$*(B $(C$+(B $(C$)(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
540 KEY : 9c 9d 5 g 8 d x F xq s s! S A w D C w3
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
541
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
542 $(CCJ<:(B: $(C$-(B $(C$.(B $(C$0(B $(C$1(B $(C$2(B $(C$4(B $(C$5(B $(C$6(B $(C$7(B $(C$8(B $(C$:(B $(C$;(B $(C$<(B $(C$=(B $(C$>(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
543 KEY : wq wW V z 3 X q 2 a ! Z E W Q 1
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
544 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
545
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
546 An example follows:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
547
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
548 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
549 <key sequence> k f x
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
550 <string inserted> $(C$!(B $(C0!(B $(C0"(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
551 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
552
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
553 Hit @kbd{C-]} to turn into quail-mode. If you do not see the string
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
554 @samp{[$(CGQ1[(B 2$(C9z=D(B]} or @samp{[$(CGQ1[(B 3$(C9z=D(B]} in the mode-line, then hit
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
555 @kbd{M-s} and specify the package name @samp{hangul} or @samp{hangul3}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
556 @key{SPC} works as the completion key. If you hit @key{RET} without
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
557 specifying a package name, the default package (shown in the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
558 parentheses) will be used.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
559
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
560 To exit quail-mode, hit @kbd{C-]} once again.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
561
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
562 For the detail of the Quail system, see @xref{Usage of Quail, , ,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
563 quail}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
564
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
565 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
566 @node Inputing Hanja, , Inputing Hangul, Korean
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
567 @subsection Inputing Hanja
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
568
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
569 To input Hanja, also use the Quail system. The package name for Hanja
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
570 input is @code{hanja-ksc}. To specify this package, hit @kbd{M-s} in
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
571 quail-mode and input @kbd{hanja-ksc}. Make sure the mode-line shows the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
572 string "2$(C9z=D(BKSC$(CySm.(B".
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
573
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
574 For the detail of the Quail system, see @xref{Usage of Quail, , ,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
575 quail}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
576
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
577 @comment ============================================================
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
578 @node Thai, Vietnamese, Korean, Top
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
579 @section Thai
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
580
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
581 This section describes how to read and write Thai in Mule. To make
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
582 Thai the primary environment, the following line should be included
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
583 in the @file{$MULE/lisp/site-init.el} file at the compile time:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
584
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
585 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
586 (set-primary-environment 'thai)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
587 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
588
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
589 If your system administrator did not do this setting, you have to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
590 include the above line in your @file{~/.emacs} file.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
591
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
592 To print Thai text, see the online manual @samp{m2ps(1)}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
593 and @xref{Top, , m2ps, m2ps}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
594
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
595 @menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
596 * Thai Character Set:: Character Set, Fonts, Coding-system
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
597 * Inputing Thai:: Quail Package for Thai
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
598 @end menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
599
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
600 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
601 @node Thai Character Set, Inputing Thai, , Thai
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
602 @subsection Thai Character Set
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
603
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
604 Mule uses the TIS620 character set for displaying Thai. Unless you
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
605 have a terminal that supports TIS620 and will run Mule exclusively on
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
606 it, you have to use the X window system on which appropriate TIS620
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
607 fonts are installed.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
608
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
609 Furthermore, you have to increase Mule's line spaces to display vowels
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
610 and tone marks. If you are using a 12x24 pixels ASCII font, start up
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
611 Mule with the following command:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
612
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
613 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
614 @samp{% mule -lsp 5+0}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
615 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
616
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
617 If the Thai fonts have been properly installed, you should be able to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
618 read the following text, which contains both ASCII and Thai characters:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
619
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
620 @example
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
621 Mule 0-T¤×1Í editor GNU Emacs 0·Õè10¶Ù1¡à0¾Ôè1Á¤ÇÒÁÊÒÁÒöã0Ëé1ã0ªé1ä0´é10¡Ñ1ºÀÒÉÒËÅÒ æ ÀÒÉÒ-A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
622 0-T»Ñ1¨0¨Ø10ºÑ1¹0¹Õé1 0ÁÕ1 Mule 0ÃØè1¹ 1 0«Öè1§ã0ªé1 GNU Emacs 0ÃØè1¹ 18 à0»ç1¹°Ò¹ áÅÐ Mule 0ÃØè1¹ 2 0«Öè1§ã0ªé1-A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
623 GNU Emacs 0-TÃØè1¹ 19 à0»ç1¹°Ò¹ ੾ÒÐ Mule 0ÃØè1¹ 2 à0·è1Ò0¹Ñé1¹0·Õè1¨Ð0¶Ù1¡0¾Ñ1²¹Ò»0ÃÑ1º»0ÃØ1§0µè1Íä»-A
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
624 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
625
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
626 Bear in mind that all fonts used in Mule must be of fixed width.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
627 Furthermore, the width of the Thai characters must be the same as
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
628 the ASCII characters. For the detail of font specification, see
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
629 @xref{Font, , Font, mule}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
630
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
631 In most cases, the coding-system that you want to use in file I/O
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
632 would be either @code{*tis620*} or @code{*junet*}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
633
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
634 @code{*tis620*} is an 8-bit encoding. If the 8th bit is set to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
635 zero, it represents an ASCII character; if set to one, a Thai
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
636 character. In the current version of Mule, it is the primary
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
637 coding-system for Thai. If you rarely use other character sets,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
638 this coding-system would be useful.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
639
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
640 On the other hand, @code{*junet*} is a 7-bit encoding and uses escape
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
641 sequences. It is the default coding-system in the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
642 @samp{mule@@etl.go.jp} mailing list for multilingual communication. To
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
643 use @code{*junet*} for file I/O, add the following line to your
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
644 @file{~/.emacs} file:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
645
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
646 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
647 (set-default-file-coding-system *junet*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
648 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
649
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
650 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
651 @node Inputing Thai, , Thai Character Set, Thai
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
652 @subsection Inputing Thai
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
653
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
654 To input Thai characters, use the Quail system. The Quail system
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
655 converts one or more ASCII characters into a Thai character.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
656
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
657 Hit @kbd{C-]} to turn into quail-mode. If you do not see the string
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
658 @samp{[Thai]} in the mode-line, then hit @kbd{M-s} and specify the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
659 package name @samp{thai}. @key{SPC} works as the completion key. If
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
660 you hit @key{RET} without specifying a package name, the default package
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
661 (shown in the parentheses) will be used.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
662
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
663 The Thai keymap in quail-mode looks like this:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
664
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
665 @example
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
666 -TÅ# /ñ _ò Àó ¶ô ØÙ Ö0Ñé1 ¤õ µö ¨÷ ¢ø ªù ßï £¥-A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
667 -Tæð ä\" Ó® ¾± и Ñí Õê ó ¹Ï ­ º° Å,-A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
668 -T¿Ä ˦ ¡¯ ´â ଠéç èë ÒÉ ÊÈ Ç« §Æ-A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
669 -T¼( ») á© ÍÎ ÔÚ ×ì 0·î1 Á² ãÌ ½?-A
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
670 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
671
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
672 The difference from the ordinal Thai keyboards are:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
673
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
674 @itemize @bullet
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
675 @item
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
676 @samp{-Tß} and @samp{ï} are assigned to @key{\} and @key{|}-A
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
677
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
678 @item
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
679 @samp{-T£} and @samp{¥} are assigned to @key{`} and @key{~}-A
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
680
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
681 @item
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
682 We don't know where to assign characters @samp{-Tú} and @samp{û}-A
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
683 @end itemize
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
684
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
685 To exit quail-mode, hit @kbd{C-]} once again.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
686
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
687 For the detail of the Quail system, see @xref{Usage of Quail, , ,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
688 quail}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
689
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
690 @comment ============================================================
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
691 @node Vietnamese, Latin Script Languages, Thai, Top
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
692 @section Vietnamese
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
693
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
694 This section describes how to read and write Vietnamese in Mule. To
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
695 make Vietnamese the primary environment, the following line should be
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
696 included in the @file{$MULE/lisp/site-init.el} file at the compile time:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
697
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
698 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
699 (set-primary-environment 'viet)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
700 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
701
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
702 If your system administrator did not do this setting, you have to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
703 include the above line in your @file{~/.emacs} file.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
704
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
705 To print Vietnamese text, see the online manual @samp{m2ps(1)}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
706 and @xref{Top, , m2ps, m2ps}. Note that you have to use @code{coco} (COde
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
707 COnversion library) to print Vietnamese text. The best way is to use the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
708 @code{any2ps} shell script. Both coco and any2ps can be found in Mule
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
709 FTP sites.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
710
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
711 @menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
712 * Vietnamese Character Set:: Character Set, Fonts, Coding-system
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
713 * Inputing Vietnamese:: Quail Package for Vietnamese
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
714 @end menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
715
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
716 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
717 @node Vietnamese Character Set, Inputing Vietnamese, , Vietnamese
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
718 @subsection Vietnamese Character Set
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
719
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
720 Mule supports both VISCII and VSCII fonts to display Vietnamese text.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
721 Unless you have a terminal that supports either VISCII or VSCII, and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
722 will run Mule exclusively on it, you have to use the X window system on
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
723 which appropriate Vietnamese fonts are installed.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
724
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
725 The default is set to VISCII. If you have a VISCII terminal or VISCII
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
726 fonts for the X window system, you do not have to do anything special.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
727 On the other hand, if you are going to use either a VSCII terminal or
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
728 VSCII fonts, include the following two lines in your @file{~/.emacs}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
729 file:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
730
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
731 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
732 (x-set-ccl lc-vn-1 ccl-x-vn-1-vscii)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
733 (x-set-ccl lc-vn-2 ccl-x-vn-2-vscii)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
734 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
735
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
736 If the fonts have been properly installed, you should be able to read
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
737 the following text, which contains both ASCII and Vietnamese characters:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
738
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
739 @example
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
740 Mule l-1à mµt sñ gia công v« ða ngôn ngæ cho GNU Emacs [MULtilingual-A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
741 Enhancement to GNU Emacs]. Kh-1ông nhæng nó có th¬ xØ lý chæ ASCII (7-A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
742 bit) v-1à ISO Latin-1 (8 bit) mà còn có th¬ xØ lý Nh§t ngæ, Hoa ngæ, Hàn-A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
743 ng-1æ (16 bit) mã hóa theo tiêu chu¦n ISO2022 và các d¸ bän (thí dø nhß-A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
744 EUC, Compound Text). -2ð-1¯i v¾i Hoa ngæ, Mule có th¬ phøc vø cho cä GB lçn-A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
745 Big5. Ngo-1ài ra, hi®n nay chúng tôi cûng phøc vø cho chæ Thái dña trên-A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
746 TIS620 m-1£c d¥u tiêu chu¦n này không tuân theo ISO nhßng r¤t ph± thông ·-A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
747 Th-1ái Lan.-A
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
748 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
749
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
750 Bear in mind that all fonts used in Mule must be of fixed width.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
751 Furthermore, the width of the Vietnamese characters must be the same as
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
752 the ASCII characters. For the detail of font specification, see
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
753 @xref{Font, , Font, mule}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
754
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
755 Mule supports three coding-systems for Vietnamese, i.e.,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
756 @code{*viscii*}, @code{*vscii*} and @code{*viqr*}. These are all 8-bit
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
757 coding systems. The coding-system is independent of the fonts. For
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
758 example, you can use a VISCII font to display text written in *vscii*,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
759 and vice versa. The default coding-system is set to *viscii*. If you
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
760 want to change this, include either
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
761
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
762 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
763 (setq *coding-category-bin* '*vscii*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
764 (set-default-file-coding-system '*vscii*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
765 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
766
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
767 or
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
768
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
769 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
770 (setq *coding-category-bin* '*viqr*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
771 (set-default-file-coding-system '*viqr*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
772 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
773
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
774 in your @file{~/.emacs} file.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
775
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
776 All of the three coding-systems can represent only Vietnames and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
777 ASCII. If you want to use other foreign languages at the same time, add
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
778 the following line in your @file{~/.emacs} file:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
779
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
780 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
781 (set-default-file-coding-system '*junet*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
782 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
783
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
784 The @code{*junet*} coding-system is a 7-bit encoding and uses escape
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
785 sequences. It is the default coding-system in the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
786 @samp{mule@@etl.go.jp} mailing list for multilingual communication.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
787
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
788 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
789 @node Inputing Vietnamese, , Vietnamese Character Set, Vietnamese
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
790 @subsection Inputing Vietnamese
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
791
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
792 To input Vietnamese characters, use the Quail system. The Quail
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
793 system converts one or more ASCII characters into a Vietnamese
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
794 character.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
795
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
796 Hit @kbd{C-]} to turn into quail-mode. If you do not see the string
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
797 @samp{[VIQR]} in the mode-line, then hit @kbd{M-s} and specify the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
798 package name @samp{viqr}. @key{SPC} works as the completion key. If
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
799 you hit @key{RET} without specifying a package name, the default package
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
800 (shown in the parentheses) will be used.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
801
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
802 The following table shows how to put diacritical marks:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
803
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
804 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
805 effect | postfix | examples
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
806 ------------+---------+----------
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
807 breve | ( | a( -> -1å-A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
808 circumflex | ^ | a^ -> -1â-A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
809 horn | + | o+ -> -1½-A
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
810 ------------+---------+----------
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
811 acute | ' | a' -> -1á-A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
812 grave | ` | a` -> -1à-A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
813 hook above | ? | a? -> -1ä-A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
814 tilde | ~ | a~ -> -1ã-A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
815 dot below | . | a. -> -1Õ-A
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
816 ------------+---------+----------
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
817 d bar | dd | dd -> -1ð-A
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
818 ------------+---------+----------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
819 no compose | \ | a\. -> a.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
820 ------------+---------+----------
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
821 combination| (~ | a(~ -> -1Ç-A
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
822 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
823
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
824 To exit quail-mode, hit @kbd{C-]} once again.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
825
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
826 For the detail of the Quail system, see @xref{Usage of Quail, , ,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
827 quail}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
828
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
829 @comment ============================================================
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
830 @node Latin Script Languages, Cyrillic Script Languages, Vietnamese, Top
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
831 @section Latin Script Languages
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
832
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
833 This section describes how to read and write Latin script languages
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
834 (roughly speaking, European languages) in Mule. To make Latin script
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
835 the primary environment, the following line should be included in the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
836 @file{$MULE/lisp/site-init.el} file at the compile time:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
837
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
838 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
839 (set-primary-environment 'european)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
840 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
841
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
842 If your system administrator did not do this setting, you have to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
843 include the above line in your @file{~/.emacs} file.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
844
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
845 By default, the above line makes Mule use ISO 8859-1 (aka Latin-1 or
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
846 CTEXT) as the primary character set. If you want to use latin-2,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
847 latin-3, etc., see @xref{Other Latin Character Sets}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
848
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
849 To print Latin script text, see the online manual @samp{m2ps(1)}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
850 and @xref{Top, , m2ps, m2ps}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
851
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
852 @menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
853 * Latin-1:: aka ISO 8859-1 and CTEXT
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
854 * Other Latin Character Sets:: Latin-2, Latin-3, Latin-4 and Latin-5
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
855 @end menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
856
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
857 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
858 @node Latin-1, Other Latin Character Sets, , Latin Script Languages
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
859 @subsection Latin-1
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
860
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
861 @menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
862 * Displaying Latin-1::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
863 * Inputing Latin-1::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
864
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
865 @comment ............................................................
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
866 @node Displaying Latin-1, Inputing Latin-1, , Latin-1
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
867 @subsubsection Displaying Latin-1
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
868
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
869 Unless you have a terminal that supports ISO 8859-1 and will run Mule
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
870 exclusively on it, you have to use the X window system on which
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
871 appropriate ISO 8859-1 fonts are installed. Most, if not all, X window
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
872 systems have ISO 8859-1 fonts by default, so you do not need to worry
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
873 about it too much. If ISO 8859-1 fonts are already available on your
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
874 system, you should be able to read the following French sentence that
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
875 contains many accented characters:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
876
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
877 @example
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
878 «Tout Français de bon goût, même résident de Capharnaüm, doit payer la
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
879 dîme à Noël ou à Pâques, en espèces, en gnôle ou en maïs.»
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
880 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
881
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
882 Bear in mind that all fonts used in Mule must be of fixed width. For
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
883 the detail of font specification, see @xref{Font, , Font, mule}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
884
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
885 In most cases, the coding-system that you want to use in file I/O
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
886 would be either @code{*ctext*} or @code{*junet*}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
887
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
888 @code{*ctext*} is an 8-bit encoding. If the 8th bit is set to zero,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
889 it represents an ASCII character. If the 8th bit is set to one, it
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
890 represents a Latin-1 character. In the current version of Mule, it is
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
891 the primary coding-system for Latin-1 text. If you rarely use other
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
892 coding-systems, this one would be useful. You can use the name
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
893 @code{*iso-8859-1*} as an alias for @code{*ctext*}. There is no
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
894 difference between the two names.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
895
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
896 On the other hand, @code{*junet*} is a 7-bit encoding and uses escape
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
897 sequences. It is the default coding-system in the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
898 @samp{mule@@etl.go.jp} mailing list for multilingual communication. To
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
899 use @code{*junet*} for file I/O, add the following line to your
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
900 @file{~/.emacs} file:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
901
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
902 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
903 (set-default-file-coding-system *junet*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
904 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
905
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
906 @comment ............................................................
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
907 @node Inputing Latin-1, , Displaying Latin-1, Latin-1
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
908 @subsubsection Inputing Latin-1
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
909
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
910 Some keyboards directly generate 8-bit codes for ISO 8859-1
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
911 characters. In such cases, you can input ISO 8859-1 characters without
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
912 difficulty.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
913
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
914 Even if your keyboard does not generate 8-bit codes, you can input ISO
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
915 8859-1 characters using the Quail system. The Quail system converts one
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
916 or more ASCII characters into an ISO 8859-1 character. A number of
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
917 conversion tables are provided for this purpose. Each conversion table
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
918 is called a @dfn{package}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
919
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
920 Hit @kbd{C-]} to turn into quail-mode. Then hit @kbd{M-s} and specify
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
921 the package name that you want to use (see below). @key{SPC} works as
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
922 the completion key. If you hit @key{RET} without specifying a package
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
923 name, the default package (shown in the parentheses) will be used.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
924
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
925 The Quail packages are divided into two groups. The first one is for
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
926 naive users. Most of the accented letters can be input by composing two
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
927 characters. For example, you will get an @samp{é} (@samp{e} with acute
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
928 accent) by typing an @samp{e} followed by a @samp{'} (single quote).
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
929
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
930 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
931 PACKAGE NAME LANGUAGE
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
932 --------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
933 latin-1 general purpose
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
934 british British
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
935 danish Danish
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
936 finnish Finnish
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
937 french French
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
938 german German
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
939 icelandic Icelandic
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
940 italian Italian
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
941 norwegian Norwegian
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
942 scandinavian Swedish, Norwegian, Danish, Icelandic and Finnish
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
943 spanish Spanish
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
944 swedish Swedish
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
945 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
946
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
947 The second package group was made for those who find the first package
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
948 group too awkward. The principle of this group is @dfn{the less
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
949 strokes, the better}. Most of the special characters in each language
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
950 are allocated to somewhere on the keyboard so that you can type them
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
951 with a single stroke. You can type very quickly once you learn the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
952 layout by heart.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
953
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
954 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
955 PACKAGE NAME LANGUAGE
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
956 -------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
957 azerty French
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
958 dnsh Danish
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
959 dvorak English
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
960 fnnsh Finnish
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
961 frnch French
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
962 grmn German
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
963 iclndc Icelandic
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
964 itln Italian
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
965 nrwgn Norwegian
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
966 spnsh Spanish
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
967 swdsh Swedish
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
968 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
969
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
970 To see the composition table or the keyboard mapping of a package,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
971 select that package and hit @kbd{M-z}. To exit quail-mode, hit
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
972 @kbd{C-]} once again.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
973
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
974 For the detail of the Quail system, see @xref{Usage of
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
975 Quail, , , quail}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
976
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
977 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
978 @node Other Latin Character Sets, , Latin-1, Latin Script Languages
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
979 @subsection Other Latin Character Sets
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
980
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
981 @menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
982 * Displaying Other Latin Character Sets::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
983 * Inputing Other Latin Character Sets::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
984 @end menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
985
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
986 @comment ............................................................
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
987 @node Displaying Other Latin Character Sets, Inputing Other Latin Character Sets, , Other Latin Character Sets
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
988 @subsubsection Displaying Other Latin Character Sets
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
989
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
990 Unless you have a terminal that supports ISO 8859-x and will run Mule
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
991 exclusively on it, you have to use the X window system on which
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
992 appropriate ISO 8859-x fonts are installed. Use the following lines to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
993 check whether the fonts have been installed or not. All the lines
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
994 contain four vowels (@samp{A}, @samp{E}, @samp{I} and @samp{U}) with
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
995 acute accent both in upper case and in lower case:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
996
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
997 @example
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
998 ISO 8859-2 (Latin-2): -BÁ á É é Í í Ú ú-A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
999 ISO 8859-3 (Latin-3): -CÁ á É é Í í Ú ú-A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1000 ISO 8859-4 (Latin-4): -DÁ á É é Í í Ú ú-A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1001 ISO 8859-9 (Latin-5): -MÁ á É é Í í Ú ú-A
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1002 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1003
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1004 Bear in mind that all fonts used in Mule must be of fixed width.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1005 Furthermore, the width of the ISO 8859-x characters must be the same as
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1006 the ASCII characters. For the detail of font specification, see
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1007 @xref{Font, , Font, mule}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1008
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1009 In most cases, the coding-system that you want to use in file I/O
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1010 would be either @code{*junet*} or @code{*iso-8859-x*}, where x = 2, 3, 4
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1011 or 9.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1012
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1013 @code{*junet*} is a 7-bit encoding and uses escape sequences. It is
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1014 the default coding-system in the @samp{mule@@etl.go.jp} mailing list for
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1015 multilingual communication. To use @code{*junet*} for file I/O, add the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1016 following line to your @file{~/.emacs} file:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1017
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1018 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1019 (set-default-file-coding-system *junet*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1020 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1021
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1022 On the other hand, @code{*iso-8859-x*} is an 8-bit encoding. If the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1023 8th bit is set to zero, it represents an ASCII character; if set to one,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1024 a ISO 8859-x character. If you use only one character set (other than
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1025 ASCII), this coding-system would be useful. To use this coding-system
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1026 for file I/O, add ONE of the following lines to your @file{~/.emacs}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1027 file:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1028
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1029 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1030 (set-default-file-coding-system *iso-8859-2*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1031 (set-default-file-coding-system *iso-8859-3*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1032 (set-default-file-coding-system *iso-8859-4*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1033 (set-default-file-coding-system *iso-8859-9*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1034 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1035
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1036 [NOTE] Latin-5 is another name for ISO 8859-9, not for ISO 8859-5. ISO
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1037 8859-5 is a Latin/Cyrillic character set.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1038
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1039 @comment ............................................................
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1040 @node Inputing Other Latin Character Sets, , Displaying Other Latin Character Sets, Other Latin Character Sets
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1041 @subsubsection Inputing Other Latin Character Sets
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1042
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1043 To input Latin-x characters, use the Quail system. The Quail system
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1044 converts one or more ASCII characters into a Latin-x character. A
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1045 number of conversion tables are provided for this purpose. Each
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1046 conversion table is called a @dfn{package}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1047
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1048 Hit @kbd{C-]} to turn into quail-mode. Then hit @kbd{M-s} and specify
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1049 the package name that you want to use (see below). @key{SPC} works as the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1050 completion key. If you hit @key{RET} without specifying a package name,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1051 the default package (shown in the parentheses) will be used.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1052
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1053 Here is the table of Quail packages for Latin-x characters:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1054
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1055 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1056 PACKAGE NAME TARGET LANGUAGE
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1057 ------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1058 latin-2 all Latin-2 (ISO 8859-2) languages
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1059 latin-3 all Latin-3 (ISO 8859-3) languages
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1060 latin-4 all Latin-4 (ISO 8859-4) languages
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1061 latin-5 all Latin-5 (ISO 8859-9) languages
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1062 esperanto specific to Esperanto (Latin-3 coding)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1063 turkish spacific to Turkish (Latin-3 coding)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1064 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1065
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1066 To see the conversion table of a package, select that package and hit
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1067 @kbd{M-z}. You can exit quail-mode by @kbd{C-]}. For the detail of the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1068 Quail system, see @xref{Usage of Quail, , , quail}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1069
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1070 @comment ============================================================
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1071 @node Cyrillic Script Languages, Greek, Latin Script Languages, Top
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1072 @section Cyrillic Script Languages
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1073
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1074 This section describes how to read and write Cyrillic script languages
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1075 in Mule. To make Cyrillic script the primary environment, the following
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1076 line should be included in the @file{$MULE/lisp/site-init.el} file at
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1077 the compile time:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1078
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1079 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1080 (set-primary-environment 'cyrillic)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1081 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1082
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1083 If your system administrator did not do this setting, you have to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1084 include the above line in your @file{~/.emacs} file.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1085
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1086 To print Cyrillic text, see the online manual @samp{m2ps(1)}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1087 and @xref{Top, , m2ps, m2ps}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1088
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1089 @menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1090 * Displaying Cyrillic::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1091 * Other Coding-systems for Russian::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1092 * Inputing Cyrillic::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1093 @end menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1094
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1095 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1096 @node Displaying Cyrillic, Other Coding-systems for Russian, , Cyrillic Script Languages
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1097 @subsection Displaying Cyrillic
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1098
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1099 Mule uses the right half of the ISO 8859-5 character set for
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1100 displaying Cyrillic. Unless you have a terminal that supports ISO
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1101 8859-5 and will run Mule exclusively on it, you have to use the X window
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1102 system on which appropriate ISO 8859-5 fonts are installed.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1103
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1104 If the Cyrillic fonts have been properly installed, you should be able
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1105 to read the following Ukrainian folk song:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1106
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1107 @example
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1108 -L²×ïÒ ÑØ ï ÑÐÝÔãàã-A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1109 -LÂÐ Ù ×ÐÓàÐÒ, éÞ ×ÝÐÒ.-A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1110 -LÇÕàÕ× âã ÑÐÝÔãàã-A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1111 -L±ÐÝÔãàØáâÞÜ áâÐÒ.-A
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1112 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1113
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1114 Bear in mind that all fonts used in Mule must be of fixed width.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1115 Furthermore, the width of the Cyrillic characters must be the same as
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1116 the ASCII characters. For the detail of font specification, see
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1117 @xref{Font, , Font, mule}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1118
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1119 In most cases, the coding-system that you want to use in file I/O
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1120 would be either @code{*iso-8859-5*} or @code{*junet*}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1121
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1122 @code{*iso-8859-5*} is an 8-bit encoding. If the 8th bit is set to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1123 zero, it represents an ASCII character; if set to one, a Cyrillic
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1124 character. In the current version of Mule, it is the primary
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1125 coding-system for Cyrillic. If you rarely use other character sets,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1126 this coding-system would be useful.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1127
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1128 On the other hand, @code{*junet*} is a 7-bit encoding and uses escape
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1129 sequences. It is the default coding-system in the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1130 @samp{mule@@etl.go.jp} mailing list for multilingual communication. To
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1131 use @code{*junet*} for file I/O, add the following line to your
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1132 @file{~/.emacs} file:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1133
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1134 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1135 (set-default-file-coding-system *junet*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1136 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1137
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1138 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1139 @node Other Coding-systems for Russian, Inputing Cyrillic, Displaying Cyrillic, Cyrillic Script Languages
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1140 @subsection Other Coding-systems for Russian
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1141
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1142 If you need only Russian, two other coding-systems are available in
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1143 addition to @code{*junet*} and @code{*iso-8859-5*}, namely,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1144 @code{*koi8*} and @code{*alternativnyj*}. Both of them are of 8-bit
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1145 encoding.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1146
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1147 @code{*koi8*} is the coding system used in the @samp{relcom.*} netnews
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1148 groups. They say it is widely used in the world of UNIX systems, too.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1149 If you want to use @code{*koi8*} as the default character set, include
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1150 the following line in your @file{~/.emacs} file:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1151
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1152 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1153 (set-cyrillic-environment-koi8)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1154 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1155
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1156 It is possible to read the news articles posted to @samp{relcom.*} if
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1157 you use @code{GNUS} and @code{gnusutil} together in Mule. For this
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1158 purpose, add the following lines in your @file{~/.emacs} file (in
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1159 addition to the above setting):
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1160
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1161 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1162 (setq gnus-group-mode-hook 'gnusutil-initialize)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1163 (autoload 'gnusutil-initialize "gnusutil")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1164 (autoload 'gnusutil-add-group "gnusutil")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1165 (gnusutil-add-group "relcom" '*koi8*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1166 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1167
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1168 @code{*alternativnyj*} is the coding-system widely used in DOS
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1169 systems. It is basically the same as so called CP866. If you want to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1170 read and write Russian text always in this DOS format, include the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1171 following line in your @file{~/.emacs} file:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1172
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1173 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1174 (set-cyrillic-environment-alternativnyj)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1175 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1176
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1177 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1178 @node Inputing Cyrillic, , Other Coding-systems for Russian, Cyrillic Script Languages
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1179 @subsection Inputing Cyrillic
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1180
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1181 To input Cyrillic characters, use the Quail system. The Quail system
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1182 converts one or two ASCII characters into a Cyrillic character. A
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1183 number of conversion tables are provided for this purpose. Each
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1184 conversion table is called a @dfn{package}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1185
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1186 Hit @kbd{C-]} to turn into quail-mode. Then hit @kbd{M-s} and specify
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1187 the package name that you want to use (see below). @key{SPC} works as the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1188 completion key. If you hit @key{RET} without specifying a package name,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1189 the default package (shown in the parentheses) will be used.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1190
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1191 Here is the table of Quail packages for Cyrillic characters:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1192
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1193 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1194 PACKAGE NAME LANGUAGES NOTES
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1195 -----------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1196 jcuken Russian standard layout for Russian
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1197 macedonian Macedonian JUS.I.K1.004
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1198 serbian Serbian JUS.I.K1.005
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1199 byelorussian Byelorussian derived from JUS.I.K1
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1200 ukrainian Ukrainian derived from JUS.I.K1
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1201 yawerty general purpose based on Roman transcription
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1202 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1203
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1204 To see the conversion table of a package, select that package and hit
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1205 @kbd{M-z}. You can exit quail-mode by @kbd{C-]}. For the detail of the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1206 Quail system, see @xref{Usage of Quail, , , quail}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1207
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1208 @comment ============================================================
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1209 @node Greek, Hebrew, Cyrillic Script Languages, Top
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1210 @section Greek
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1211
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1212 This section describes how to read and write Greek in Mule. To make
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1213 Greek the primary environment, the following line should be included in
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1214 the @file{$MULE/lisp/site-init.el} file at the compile time:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1215
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1216 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1217 (set-primary-environment 'greek)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1218 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1219
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1220 If your system administrator did not do this setting, you have to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1221 include the above line in your @file{~/.emacs} file.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1222
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1223 To print Greek text, see the online manual @samp{m2ps(1)}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1224 and @xref{Top, , m2ps, m2ps}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1225
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1226 @menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1227 * Greek Character Set:: Character Set, Fonts, Coding-system
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1228 * Inputing Greek:: Quail Package for Greek
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1229 @end menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1230
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1231 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1232 @node Greek Character Set, Inputing Greek, , Greek
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1233 @subsection Greek Character Set
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1234
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1235 Mule uses the right half of the ISO 8859-7 character set for
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1236 displaying Greek. Unless you have a terminal that supports ISO 8859-7
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1237 and will run Mule exclusively on it, you have to use the X window system
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1238 on which appropriate ISO 8859-7 fonts are installed.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1239
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1240 If the Greek fonts have been properly installed, you should be able to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1241 read the following poem:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1242
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1243 @example
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1244 -FËßãï áêüìá-A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1245 -Fèá éäïýìå ôéò áìõãäáëéÝò í'áíèßæïõí-A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1246 -Fôá ìÜñìáñá íá ëÜìðïõí óôïí Þëéï-A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1247 -Fôç èÜëáóóá íá êõìáôßæåé-A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1248 -Fëßãï áêüìá,-A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1249 -Fíá óçêùèïýìå ëßãï øçëüôåñá.-A
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1250 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1251
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1252 Bear in mind that all fonts used in Mule must be of fixed width.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1253 Furthermore, the width of the Greek characters must be the same as the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1254 ASCII characters. For the detail of font specification, see @xref{Font,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1255 , Font, mule}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1256
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1257 In most cases, the coding-system that you want to use in file I/O
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1258 would be either @code{*iso-8859-7*} or @code{*junet*}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1259
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1260 @code{*iso-8859-7*} is an 8-bit encoding. If the 8th bit is set to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1261 zero, it represents an ASCII character; if set to one, a Greek
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1262 character. In the current version of Mule, it is the primary
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1263 coding-system for Greek. If you rarely use other languages, this
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1264 coding-system would be useful.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1265
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1266 On the other hand, @code{*junet*} is a 7-bit encoding and uses escape
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1267 sequences. It is the default coding-system in the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1268 @samp{mule@@etl.go.jp} mailing list for multilingual communication. To
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1269 use @code{*junet*} for file I/O, add the following line to your
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1270 @file{~/.emacs} file:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1271
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1272 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1273 (set-default-file-coding-system *junet*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1274 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1275
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1276 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1277 @node Inputing Greek, , Greek Character Set, Greek
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1278 @subsection Inputing Greek
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1279
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1280 To input Greek characters, use the Quail system. Hit @kbd{C-]} to
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1281 turn into quail-mode. If you do not see the string @samp{[-FÅëëçíéêÜ]} in-A
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1282 the mode-line, then hit @kbd{M-s} and specify the package name
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1283 @samp{greek}. @key{SPC} works as the completion key. If you hit
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1284 @key{RET} without specifying a package name, the default package (shown
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1285 in the parentheses) will be used.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1286
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1287 The Greek keymap in quail-mode looks like this:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1288
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1289 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1290 1! 2@ 3# 4$ 5% 6^ 7& 8* 9( 0) -_ =+ `~
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1291 -F·¯ òÓ åÅ ñÑ ôÔ õÕ èÈ éÉ ïÏ ðÐ [{ ]}-A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1292 -FáÁ óÓ äÄ öÖ ãà çÇ îÎ êÊ ëË ´¨ '" \|-A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1293 -FæÆ ÷× øØ ùÙ â íÍ ìÌ ,; .: /? -A
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1294 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1295
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1296 The keys @kbd{-F´} (@kbd{;} on ASCII keyboard) and @kbd{¨} (@kbd{:} on-A
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1297 ASCII keyboard) work as dead keys. For example,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1298
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1299 @example
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1300 @samp{-Fá} + @samp{´} becomes @samp{Ü}-A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1301 @samp{-Fé} + @samp{¨} becomes @samp{ú}-A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1302 @samp{-Fé} + @samp{¨} + @samp{´} becomes @samp{À}-A
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1303 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1304
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1305 To exit quail-mode, hit @kbd{C-]} once again.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1306
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1307 For the detail of the Quail system, see @xref{Usage of Quail, , ,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1308 quail}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1309
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1310 @comment ============================================================
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1311 @node Hebrew, Arabic Script Languages, Greek, Top
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1312 @section Hebrew
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1313
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1314 This section describes how to read and write Hebrew in Mule. To make
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1315 Hebrew the primary environment, the following line should be included in
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1316 the @file{$MULE/lisp/site-init.el} file at the compile time:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1317
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1318 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1319 (set-primary-environment 'hebrew)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1320 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1321
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1322 If your system administrator did not do this setting, you have to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1323 include the above line in your @file{~/.emacs} file.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1324
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1325 To print Hebrew text, see the online manual @samp{m2ps(1)}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1326 and @xref{Top, , m2ps, m2ps}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1327
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1328 @menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1329 * Hebrew Character Set::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1330 * Display-direction for Hebrew::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1331 * Inputing Hebrew::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1332 * Hebrew Cut and Paste::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1333 @end menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1334
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1335 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1336 @node Hebrew Character Set, Display-direction for Hebrew, , Hebrew
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1337 @subsection Hebrew Character Set
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1338
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1339 Mule uses the right half of the ISO 8859-8 character set for
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1340 displaying Hebrew. Unless you have a terminal that supports ISO 8859-8
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1341 and will run Mule exclusively on it, you have to use the X window system
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1342 on which appropriate ISO 8859-8 fonts are installed.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1343
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1344 If the Hebrew fonts have been properly installed, you should be able to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1345 read the following Hebrew alphabet:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1346
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1347 @example
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1348 ›2]-Hàáâãäåæçèéêëìíîïðñòóôõö÷øùú›0]-A
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1349 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1350
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1351 Bear in mind that all fonts used in Mule must be of fixed width.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1352 Furthermore, the width of the Hebrew characters must be the same as the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1353 ASCII characters. For the detail of font specification, see @xref{Font,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1354 , Font, mule}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1355
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1356 In most cases, the coding-system that you want to use in file I/O
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1357 would be either @code{*junet*} or @code{*iso-8859-8*}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1358
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1359 @code{*junet*}is a 7-bit encoding and uses escape sequences. It is
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1360 the default coding-system in the @samp{mule@@etl.go.jp} mailing list for
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1361 multilingual communication. To use @code{*junet*} for file I/O, add the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1362 following line to your @file{~/.emacs} file:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1363
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1364 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1365 (set-default-file-coding-system *junet*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1366 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1367
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1368 On the other hand, @code{*iso-8859-8*} is an 8-bit encoding. If the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1369 8th bit is set to zero, it represents an ASCII character; if set to one,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1370 a Hebrew character. In the current version of Mule, it is the primary
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1371 coding-system for Hebrew. If you rarely use other languages, this
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1372 coding-system would be useful. You do not need to any special
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1373 configuration for using this coding-system.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1374
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1375 *iso-8859-8* does not inserts text direction specifiers. If you want
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1376 to use the text direction specifier defined in ISO 6429, namely
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1377 @dfn{@key{ESC} [ 2 ]} to change the direction to right-to-left and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1378 @dfn{@key{ESC} [ 0 ]} to revert it to left-to-right, include the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1379 following line in your @file{~/.emacs} file:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1380
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1381 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1382 (set-default-file-coding-system *ctext-hebrew*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1383 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1384
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1385 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1386 @node Display-direction for Hebrew, Inputing Hebrew, Hebrew Character Set, Hebrew
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1387 @subsection Display-direction for Hebrew
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1388
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1389 In Mule, each buffer has a buffer local variable called
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1390 @code{display-direction}. If this variable is set to @code{nil} (this
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1391 is the default), the lines begin from the left edge of the screen. On
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1392 the other hand, if @code{display-direction} is non-@code{nil}, the lines
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1393 are aligned to the right and texts are written from right to left.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1394
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1395 We strongly recommend you to turn on @dfn{visual-mode} by
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1396
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1397 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1398 M-x visual-mode
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1399 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1400
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1401 when you edit Hebrew text. For the detail of @code{display-direction}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1402 and the cursor motion in visual-mode, see @xref{Top, , Right-to-left
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1403 writing, R2L}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1404
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1405 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1406 @node Inputing Hebrew, Hebrew Cut and Paste, Display-direction for Hebrew, Hebrew
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1407 @subsection Inputing Hebrew
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1408
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1409 To input Hebrew characters, use the Quail system. Hit @kbd{C-]} to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1410 turn into quail-mode. If you do not see the string @samp{[HEBREW]} in
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1411 the mode-line, then hit @kbd{M-s} and specify the package name
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1412 @samp{hebrew}. @key{SPC} works as the completion key. If you hit
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1413 @key{RET} without specifying a package name, the default package (shown
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1414 in the parentheses) will be used.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1415
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1416 The Hebrew keymap in quail-mode looks like this:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1417
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1418 @example
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1419 1! 2@ 3# 4$ 5% 6^ 7& 8* 9( 0) -_ =+ ;~ \|
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1420 /Q 'W ›2]-H÷›0]E ›2]ø›0]R ›2]à›0]T ›2]è›0]Y ›2]å›0]U ›2]ï›0]I ›2]í›0]O ›2]ô›0]P [{ ]} -A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1421 ›2]-Hù›0]A ›2]ã›0]S ›2]â›0]D ›2]ë›0]F ›2]ò›0]G ›2]é›0]H ›2]ç›0]J ›2]ì›0]K ›2]ê›0]L ›2]ó›0](B:[0] [2],"[0] -A
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1422 [2],H›2]-Hæ›0]Z ›2]ñ›0]X ›2]á›0]C ›2]ä›0]V ›2]ð›0]B ›2]î›0]N ›2]ö›0]M ›2]ú›0](B<[0] [2],H›2]õ›0](B>[0] [2].?[0] -A
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1423 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1424
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1425 With @key{SFT} keys, you can input upper case ASCII characters even
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1426 in hebrew inputing mode. To input lower case ASCII characters, you have
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1427 to exit hebrew mode by @kbd{C-]}. To exit quail-mode, hit @kbd{C-]}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1428 once again.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1429
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1430 For the detail of the Quail system, see @xref{Usage of Quail, , ,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1431 quail}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1432
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1433 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1434 @node Hebrew Cut and Paste, , Inputing Hebrew, Hebrew
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1435 @subsection Hebrew Cut and Paste
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1436
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1437 Use @kbd{C-d} to delete the character under the cursor.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1438
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1439 @key{DEL} key behave differently according to the value of
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1440 @code{display-direction}: if the value is @code{nil} (aligned to left),
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1441 it deletes a character on the left of the cursor; if the value is
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1442 non-@code{nil} (aligned to right), it deletes a character on the right
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1443 of the cursor. If the @code{display-direction} and the input character
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1444 direction are the same, lastly input character can be deleted with
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1445 @key{DEL} key, no matter what the value of @code{display-direction} is.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1446
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1447 The following four commands remove the specified stretch of string and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1448 put it in the @code{kill-ring}:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1449
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1450 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1451 @kbd{M-d} or @kbd{M-x visual-kill-word}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1452 @kbd{M-DEL} or @kbd{M-x visual-backward-kill-word}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1453 @kbd{C-k} or @kbd{M-x visual-kill-line}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1454 @kbd{C-w} or @kbd{M-x visual-kill-region}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1455 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1456
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1457 @kbd{M-w} (or @kbd{M-x visual-copy-region-as-kill}) also puts the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1458 specified stretch of string in the @code{kill-ring}, but the original
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1459 text is left unchanged.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1460
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1461 The strings in the @code{kill-ring} can be reinserted in buffer by
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1462 @kbd{C-y} (or @kbd{M-x visual-yank}) and @kbd{M-y} (or @kbd{M-x
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1463 visual-yank-pop}).
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1464
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1465 Make sure that you are in quail-mode with Hebrew package when you kill
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1466 or yank something, otherwise unexpected region might be deleted or a
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1467 garbage string might be inserted in the buffer.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1468
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1469 @comment ============================================================
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1470 @node Arabic Script Languages, Ethiopic Languages, Hebrew, Top
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1471 @section Arabic Script Languages
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1472
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1473 Mule supports Arabic and Farsi (Persian). In this section we describe
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1474 How to display, input and edit these Arabic Script Languages. To make
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1475 Arabic script the primary environment, the following line should be
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1476 included in the @file{$MULE/lisp/site-init.el} file at the compile time:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1477
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1478 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1479 (set-primary-environment 'arabic)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1480 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1481
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1482 If your system administrator did not do this setting, you have to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1483 include the above line in your @file{~/.emacs} file.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1484
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1485 * ARABIC TOGGLING COMMAND HAS BEEN CHANGED FROM @kbd{C-]} TO @kbd{M-\}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1486
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1487 To print Arabic text, see the online manual @samp{m2ps(1)} and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1488 @xref{Top, , m2ps, m2ps}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1489
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1490 Please note that the current version of m2ps does not support r2l
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1491 printing direction (aligned to right). Even if you try to print a file
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1492 which was created in a right-aligned buffer, it will be printed in
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1493 left-aligned. In the worst cases, you will get wrong word order in the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1494 hardcopy.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1495
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1496 @menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1497 * Arabic Character Set::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1498 * Arabic-mode::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1499 * Display-direction in Arabic-mode::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1500 * Inputing Arabic Characters::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1501 * Arabic Cut and Paste::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1502 @end menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1503
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1504 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1505 @node Arabic Character Set, Arabic-mode, , Arabic Script Languages
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1506 @subsection Arabic Character Set
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1507
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1508 Mule uses its own Arabic code and Arabic Fonts. You have to start
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1509 Mule as an X client, i.e., without the @samp{-nw} option, to use Arabic.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1510 Mule requires the following three fonts to display Arabic:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1511
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1512 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1513 @file{etl??-arabic0.bdf} Arabic Digits
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1514 @file{etl??-arabic1.bdf} Narrow Characters (alif, etc.)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1515 @file{etl??-arabic2.bdf} Wide Characters (siin, etc)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1516 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1517
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1518 The @samp{??} part indicates the font size. You will find 16 pixels
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1519 fonts and 24 pixels fonts on Mule FTP sites.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1520
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1521 Furthermore, you have to increase Mule's line spaces because the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1522 heights of Arabic characters vary greatly. If you are using 16 pixels
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1523 fonts, start up Mule with:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1524
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1525 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1526 @samp{% mule -lsp 0+9}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1527 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1528
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1529 Or if you are using 24 pixels fonts, start up Mule with:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1530
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1531 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1532 @samp{% mule -lsp 0+12}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1533 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1534
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1535 If the fonts are properly installed, you should be able to read the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1536 following famous words:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1537
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1538 @quotation
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1539 [2](3›2](3U(4?(3G![;=!8RYa(4Z(3&›0](B
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1540 @end quotation
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1541
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1542 For the Arabic non-spacing marks, only two of them, i.e., hamza and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1543 madda, are available up to now. Any other marks, e.g. fatHa (short
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1544 `a'), Damma (short `u'), kasra (short `i'), shadda (doubling sign),
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1545 sukuun (pure consonant sign), waSla (joining hamza), etc., cannot be
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1546 displayed. It seems that short vowels and waSla are not necessary to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1547 write ordinary Arabic text, but shadda is often marked in today's
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1548 printings. Please let us know if shadda is really indispensable, in
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1549 that case we will try to implement it.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1550
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1551 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1552 @node Arabic-mode, Display-direction in Arabic-mode, Arabic Character Set, Arabic Script Languages
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1553 @subsection Arabic-mode
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1554
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1555 You use @dfn{arabic-mode} to input and edit Arabic texts. This
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1556 section describes the features of arabic-mode in detail.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1557
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1558 Hit @kbd{C-]} to enter arabic-mode. Now you can input Arabic
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1559 characters from your keyboard. Hitting @kbd{C-]} again makes your
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1560 keyboard produce ASCII characters, but you are still in arabic-mode.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1561 Another @kbd{C-]} makes your keyboard produce Arabic again. If you want
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1562 to exit arabic-mode completely, hit @kbd{C-c C-c}. See the figure
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1563 below:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1564
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1565 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1566 C-c C-c
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1567 +----------------------------------------------+
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1568 | +--------------------+ |
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1569 | | C-c C-c | |
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1570 V V | |
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1571 +-------------+ +------------+ C-] +-----------+
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1572 | | C-] |arabic-mode | ------> |arabic-mode|
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1573 |initial state| ------> | with | | with |
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1574 | | |Arabic input| <------ |ASCII input|
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1575 +-------------+ +------------+ C-] +-----------+
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1576 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1577
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1578 The string @samp{›2](3JG:a=›0](B} in the mode-line indicates that you are in
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1579 arabic-mode and the keyboard produces Arabic characters; @samp{Arabic}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1580 indicates that you are in arabic-mode and the keyboard produces ASCII
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1581 characters.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1582
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1583 [NOTE] The previous version of arabic-mode was using so called
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1584 visual-mode to help Arabic editing and ASCII input. The current
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1585 version, however, maintains everything by itself.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1586
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1587 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1588 @node Display-direction in Arabic-mode, Inputing Arabic Characters, Arabic-mode, Arabic Script Languages
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1589 @subsection Display-direction in Arabic-mode
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1590
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1591 In Mule, each buffer has a buffer local variable called
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1592 @code{display-direction}. If this variable is set to @code{nil} (this
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1593 is the default), the lines begin from the left edge of the screen. On
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1594 the other hand, if @code{display-direction} is non-@code{nil}, the lines
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1595 are aligned to the right and texts are written from right to left. You
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1596 can toggle the display direction by @kbd{C-x C-k r}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1597
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1598 For the detail of @code{display-direction} and the cursor motion in
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1599 arabic-mode, see @xref{Top, , Right-to-left writing, R2L}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1600
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1601 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1602 @node Inputing Arabic Characters, Arabic Cut and Paste, Display-direction in Arabic-mode, Arabic Script Languages
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1603 @subsection Inputing Arabic Characters
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1604
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1605 In arabic-mode, you can input Arabic characters and Arabic digits from
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1606 keyboard. Two keyboard layouts are provided to input Arabic characters.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1607 You can select whichever you like. When you are in Arabic-mode, you can
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1608 see the keyboard layout by @kbd{C-z}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1609
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1610 The first keyboard layout was contributed by a Farsi speaker. It looks
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1611 like this:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1612
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1613 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1614 +-------------------+
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1615 | shifted alt |
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1616 | unshifted ASCII |
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1617 +-------------------+
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1618
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1619 +----------------------------------------------------------------+
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1620 |›2](3"›0](B | | | | | | | |›2](3#›0](B |›2](3$›0](B | | | |
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1621 |(2"(B 1|(2#(B 2|(2$(B 3|(2%(B 4|(2&(B 5|(2'(B 6|(2((B 7|(2)(B 8|(2*(B 9|(2!(B 0| -| =| `|
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1622 +----------------------------------------------------------------+
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1623 | | | | | | | | | | | | |
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1624 |›2](4A›0](B q|›2](4=›0](B w|›2](4S›0](B e|›2](4Q›0](B r|›2](4O›0](B t|›2](4M›0](B y|›2](3Z›0](B u| i|›2](41›0](B o|›2](4-›0](B p|›2](4)›0](B [|›2](4g›0](B ]|
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1625 +-------------------------------------------------------------+
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1626 | | | |›2](4e›0](B |›2](3.›0](B | | | | | ›2](4k›0](B| |›2](3,›0](B |
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1627 |›2](49›0](B a|›2](45›0](B s|›2](4_›0](B d|›2](4#›0](B f|›2](38›0](B g|›2](4%›0](B h|›2](4Y›0](B j|›2](4[›0](B k|›2](3T›0](B l|›2](4U›0](B ;| '| \|
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1628 +-----------------------------------------------------------+
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1629 | | | |›2](30›0](B ›2](3-›0](B|›2](3h›0](B | | |›2](3*›0](B |›2](3+›0](B |›2](3)›0](B |
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1630 |›2](4I›0](B z|›2](4E›0](B x|›2](3D›0](B c|›2](3B›0](B v|›2](3H›0](B b|›2](3F›0](B n|›2](3^›0](B m|›2](3%›0](B ,|›2](3&›0](B .| /|
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1631 +-------------------------------------------------+
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1632 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1633
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1634 To use this keyboard layout, include the following line in your
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1635 @file{~/.emacs} file:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1636
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1637 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1638 (setq arabic-input-keymap 'arabic-key-1)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1639 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1640
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1641 The second layout is based on phonetic transcription and looks like
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1642 the following:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1643
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1644 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1645 Left : ASCII-mode Right : arabic-mode
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1646 Upper : shifted Lower : unshifted
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1647
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1648 +----------------------------------------------------------------+
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1649 |! ›2](3"›0](B |@ |# |$ |% |^ |& |* |( ›2](3#›0](B |) ›2](3$›0](B |_ |+ |~ ›2](3+›0](B |
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1650 |1 (2"(B |2 (2#(B |3 (2$(B |4 (2%(B |5 (2&(B |6 (2'(B |7 (2((B |8 (2)(B |9 (2*(B |0 (2!(B |- |= |` ›2](4M›0](B|
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1651 +----------------------------------------------------------------+
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1652 |Q |W |E |R |T ›2](4E›0](B|Y |U |I |O |P |{ |} |
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1653 |q ›2](4S›0](B|w ›2](3^›0](B |e |r ›2](3F›0](B |t ›2](4%›0](B|y ›2](4_›0](B|u |i |o ›2](3<›0](B |p |[ |] |
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1654 +-------------------------------------------------------------+
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1655 |A ›2](4]›0](B|S ›2](4=›0](B|D ›2](4A›0](B|F |G ›2](4O›0](B|H ›2](4-›0](B|J |K ›2](41›0](B|L |: ›2](3'›0](B |" ›2](3-›0](B || ›2](3,›0](B |
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1656 |a ›2](38›0](B |s ›2](45›0](B|d ›2](3B›0](B |f ›2](4Q›0](B|g |h ›2](3Z›0](B |j ›2](4)›0](B|k ›2](4U›0](B|l ›2](4Y›0](B|; ›2](3(›0](B |' ›2](3*›0](B |\ |
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1657 +-----------------------------------------------------------+
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1658 |Z ›2](4I›0](B|X |C |V |B |N |M |< |> |? ›2](3)›0](B |
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
1659 |z ›2](3H›0](B |x ›2](3D›0](B |c ›2](4'›0](B|v |b ›2](4#›0](B|n ›2](4[›0](B|m ›2](3T›0](B |, ›2](3%›0](B |. ›2](3&›0](B |/ ›2](49›0](B|
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1660 +-------------------------------------------------+
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1661
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1662 COMBINATIONS:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1663 a ~ madda above alif
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1664 a ' hamza above alif
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1665 w ' hamza above waaw
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1666 a ' ' hamza below alif
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1667 y ' hamza above yaa
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1668 " isolated hamza
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1669 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1670
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1671 To use this keyboard layout, include the following line in your
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1672 @file{~/.emacs} file:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1673
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1674 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1675 (setq arabic-input-keymap 'arabic-key-0)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1676 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1677
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1678 No matter which layout you use, appropriate ligature is automatically
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1679 generated whenever a character is input. The special ligature for
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1680 @samp{laam} + @samp{alif} will be generated whenever an @samp{alif} is
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1681 input on the left of a @samp{laam}. If you want to cut the connection
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1682 between two adjacent Arabic characters, type a @kbd{|} (vertical bar) at
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1683 that point in arabic-mode. An input of a character preceded by a
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1684 @kbd{|} produces a glyph which is not connected to its right adjacent.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1685 Typing a @kbd{_} (underscore) connects the two characters at that point,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1686 if possible.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1687
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1688 When @code{display-direction} is @code{nil} (i.e., lines are aligned to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1689 left), the cursor stays at the same position after an Arabic character
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1690 is inserted. It moves to the right after an Arabic digit or an ASCII
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1691 character is inserted.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1692
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1693 When @code{display-direction} is non-@code{nil} (i.e., lines are
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1694 aligned to right), the cursor moves to the left after an Arabic
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1695 character is inserted. It stays at the same position after an Arabic
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1696 digit or an ASCII character is inserted.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1697
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1698 To input ASCII characters or ASCII digits, you have to exit
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1699 arabic-mode by hitting @kbd{C-]}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1700
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1701 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1702 @node Arabic Cut and Paste, , Inputing Arabic Characters, Arabic Script Languages
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1703 @subsection Cut and Paste
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1704
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1705 Use @kbd{C-d} to delete the character under the cursor. If you are in
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1706 arabic-mode, the necessary ligature will be re-generated after the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1707 character is deleted.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1708
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1709 @key{DEL} key behave differently according to the value of
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1710 @code{display-direction}: if the value is @code{nil} (aligned to left),
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1711 it deletes a character on the left of the cursor; if the value is
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1712 non-@code{nil} (aligned to right), it deletes a character on the right
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1713 of the cursor. If the @code{display-direction} and the input character
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1714 direction are the same, lastly input character can be deleted with
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1715 @key{DEL} key, no matter what the value of @code{display-direction} is.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1716
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1717 The following four commands remove the specified stretch of string and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1718 put it in the @code{kill-ring}:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1719
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1720 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1721 @kbd{M-d} or @kbd{M-x arabic-kill-word}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1722 @kbd{M-DEL} or @kbd{M-x arabic-backward-kill-word}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1723 @kbd{C-k} or @kbd{M-x arabic-kill-line}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1724 @kbd{C-w} or @kbd{M-x arabic-kill-region}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1725 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1726
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1727 @kbd{M-w} (or @kbd{M-x arabic-copy-region-as-kill}) also puts the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1728 specified stretch of string in the @code{kill-ring}, but the original
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1729 text is left unchanged.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1730
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1731 The strings in the @code{kill-ring} can be reinserted in buffer by
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1732 @kbd{C-y} (or @kbd{M-x arabic-yank}) and @kbd{M-y} (or @kbd{M-x
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1733 arabic-yank-pop}).
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1734
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1735 Make sure that you are in arabic-mode when you kill or yank something,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1736 otherwise ligature is not maintained, or in the worst case, unexpected
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1737 region will be deleted or a garbage string will be inserted in the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1738 buffer.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1739
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1740 @comment ============================================================
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1741 @node Ethiopic Languages, IPA, Arabic Script Languages, Top
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1742 @section Ethiopic Languages
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1743
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1744 This section @footnote{This section and the Ethiopic support routines
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1745 have been written by Daniel Yaqob, Yonas Fisseha and Takahashi Naoto.}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1746 describes how to read and write Ethiopic languages (Ge'ez script
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1747 languages) in Mule. To make Ethiopic the primary environment, the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1748 following line should be included in the @file{$MULE/lisp/site-init.el}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1749 file at the compile time @footnote{You also need to increase the value
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1750 of @code{BASE_PURESIZE}, which is defined in the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1751 @file{$MULE/src/puresize.h} file, by 10000 or so.} :
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1752
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1753 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1754 (set-primary-environment 'ethio)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1755 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1756
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1757 If your system administrator did not include the above line, you have
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1758 to include it in your @file{~/.emacs} file.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1759
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1760 To print Ethiopic text, see the online manual @samp{m2ps(1)} and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1761 @xref{Top, , m2ps, m2ps}. Note that you have to use @code{coco} (COde
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1762 COnverting library) to print Ethiopic text. The best way is to use the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1763 @code{any2ps} shell script. Both coco and any2ps can be found in Mule
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1764 FTP sites.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1765
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1766 @menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1767 * Ethiopic Fonts::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1768 * Editing Ethiopic Text::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1769 * ASCII Transcription for Ethiopic::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1770 * Ethiopic Mail::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1771 * Configuration for Ethiopic::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1772 * Function Keys for Ethiopic::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1773 @end menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1774
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1775 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1776 @node Ethiopic Fonts, Editing Ethiopic Text, , Ethiopic Languages
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1777 @subsection Ethiopic Fonts
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1778
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1779 Currently only 16 dot font is available for displaying Ethiopic. You
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1780 can get it from Mule's FTP sites. The name of the font is
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1781 @samp{ethiom16d75.bdf}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1782
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1783 You must invoke Mule as an X client if you want to use Ethiopic.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1784 First, make sure that the environment variable DISPLAY is properly set.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1785 Then invoke Mule from a shell window with the following command :
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1786
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1787 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1788 % mule -fn 16
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1789 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1790
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1791 If the Ethiopic font has been properly installed, you should be able
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1792 to read the following text:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1793
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1794 @quotation
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1795 $(2"g!)"K"^"<(B "Taste of Ethiopia"
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1796
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1797 $(2"g"S#9!6(B $(2#J"8(B $(2"X!f$2!4(B $(2!!!)#<#9!6(B $(2$$"&!A!1(B $(2!&!."((B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1798
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1799 $(2$$!+"#!D!!#"!V(B $(2!Q"X"`!&(B $(2"S$)!a!W!^!d(B $(2!)"+!g!^$R(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1800
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1801 - $(2"\!!!V(B $(2!F!6"8#'(B $(2$$"/"@(B $(2"$#%!V(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1802 - $(2"\!!!V(B $(2!F!6"8#'(B $(2!a"8(B $(2$$"H!f"'(B $(2#E$)!f!.(B $(2$$#9!F"H(B $(2"$#%!V(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1803 - $(2"S!f"((B $(2!Q"h!&(B $(2$$"H"q!6(B $(2!.!f"i$'(B $(2!E"i$)!f#>(B $(2$J#J"#!6(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1804 - $(2"S!."H!V(B $(2!F!6"8#'(B $(2!/#&(B $(2$'!!(B $(2#J"^(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1805
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1806 $(2$W(B) $(2$$"/"@(B $(2"$#%!R(B $(2!A"\!!!V(B $(2!Q"h!&(B $(2!F!6"8#'(B $(2#J"^(B $(2!Q!G"l!W(B $(2$)#!!)".!&$P(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1807
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1808 $(2$X(B) $(2$$"H!f"'#J(B $(2#E$)!.(B $(2$$#9!F"D(B $(2"$#%!V(B $(2#>!,!9(B $(2$$"H"q!6(B $(2!)!f"i$'(B $(2!E"i$)!f#>(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1809 $(2$J#J"#!6(B $(2$)#9!D!A!V!d(B $(2!A!F!%!f"#!6(B $(2#J"H"0(B $(2!Q#H"`")(B $(2!A"F"`!f(B $(2#J"H"0(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1810 $(2$)#!!)".!&$P(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1811
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1812 $(2$Y(B) $(2"\!!!R(B $(2!B"m#K!^(B $(2!Q"g"(!a#J(B $(2"g(B2 $(2"X"H"g(B 3 $(2#!!f(B $(2"X!f"%$'#!!2(B $(2$)#!!)".!"$P(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1813
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1814 $(2$Z(B) $(2#!!b(B $(2"g"#!1"H(B $(2!A"e!$(B $(2#!"H(B $(2!Q!F!'(B $(2$$#!!1!1#J!f(B $(2#J"^(B $(2"g"\!!!R!.(B $(2"F"`!g!^(B $(2#J"H"0(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1815 $(2!,"@"C"H$P(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1816
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1817 $(2$[(B) $(2"\!!!R!.(B $(2"X"`!&(B ($(2"/"@(B $(2"X!d(B $(2"H!f"'(B/$(2#9!F"H(B) $(2"S#!!$#&!'(B $(2!)!!#J"H!d(B $(2"X"`!"(B $(2"h"@(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1818 $(2"X"H"i!&(B $(2"(!1"H(B $(2!!(B2 $(2"C#b!V(B $(2$'"`!&(B $(2!,"H#!!)"0$P(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1819
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1820 $(2$\(B) $(2"g!s$'(B $(2!A"e!$(B 425 $(2"%#>!3"H(B F $(2!A!/#!(B $(2!)#<#9!3$'(B $(2"S$$!6(B $(2"X!f"&$)#9!D(B $(2!W!'(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1821 $(2"X$$"g"#!b(B $(2"X!f$2!4#J!f(B $(2!)#<#9!6$P(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1822 @end quotation
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1823
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1824 Bear in mind that all fonts used in Mule must be of fixed width.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1825 Furthermore, the width of the Ethiopic characters must be exactly twice
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1826 as wide as the ASCII characters. For the detail of font specification,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1827 see @xref{Font, , Font, mule}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1828
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1829 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1830 @node Editing Ethiopic Text, ASCII Transcription for Ethiopic, Ethiopic Fonts, Ethiopic Languages
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1831 @subsection Editing Ethiopic Text
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1832
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1833 @menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1834 * Quail-mode for Ethiopic::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1835 * Fidel Input::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1836 * Ethiopic Punctuation Input::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1837 * Ethiopic Numeric Input::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1838 * Ethiopic Special Characters::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1839 @end menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1840
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1841 @comment ............................................................
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1842 @node Quail-mode for Ethiopic, Fidel Input, , Editing Ethiopic Text
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1843 @subsubsection Entering and Leaving Ethiopic mode
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1844
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1845 Use the Quail system to input Ethiopic. Hit @kbd{C-]} to enter
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1846 quail-mode. If you do not see the string @samp{ETHIO} in the mode-line,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1847 then hit @kbd{M-s} and specify the package name @samp{ethio}. @key{SPC}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1848 works as the completion key. If you hit @key{RET} without specifying a
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1849 package name, the default package (shown in the parentheses) will be
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1850 used. To exit quail-mode, hit @kbd{C-]} once again.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1851
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1852 For the detail of the Quail system, see @xref{Usage of Quail, , ,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1853 quail}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1854
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1855 @comment ............................................................
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1856 @node Fidel Input, Ethiopic Punctuation Input, Quail-mode for Ethiopic, Editing Ethiopic Text
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1857 @subsubsection Fidel Input
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1858
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1859 $(2"[(B. About Consonants
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1860
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1861 In quail-mode with the Ethiopic package, you can input Ethiopic
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1862 characters from the alphabetic region of the keyboard. To input ASCII
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1863 characters you have to exit ethiopic-mode by hitting @kbd{C-]}. A table
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1864 of the first form consonants from the extended Fidel is given in the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1865 table below. The key assignments are made to the closest phonetical
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1866 match between the Ethiopic and Latin letters.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1867
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1868 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1869 he = $(2"[(B `ke = $(2#m(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1870 le = $(2!!(B Ke = $(2"s(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1871 He = $(2#{(B Xe = $(2#t(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1872 me = $(2!)(B we = $(2#E(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1873 `se = $(2#Q(B `e = $(2#_(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1874 re = $(2!1(B ze = $(2!q(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1875 se = $(2"C(B Ze = $(2!y(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1876 xe = $(2!9(B ye = $(2$$(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1877 qe = $(2#!(B de = $(2"#(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1878 Qe = $(2#-(B De = $(2$+(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1879 be = $(2!A(B je = $(2$2(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1880 ve = $(2!I(B ge = $(2#9(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1881 te = $(2!Q(B Ge = $(2$9(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1882 ce = $(2!Y(B Te = $(2"+(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1883 `he = $(2#f(B Ce = $(2"3(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1884 ne = $(2!a(B Pe = $(2$@(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1885 Ne = $(2!i(B Se = $(2"K(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1886 e,a = $(2"S(B `Se = $(2#X(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1887 ke = $(2"g(B fe = $(2";(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1888 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1889
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1890 Characters beginning with a @samp{`} are usually a phonetic twin of
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1891 some other letter in the Fidel and may be represented with a @samp{2} as
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1892 shown below:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1893
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1894 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1895 s2e = `se = $(2#Q(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1896 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1897
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1898 The extra character @samp{`} or @samp{2} is given to the twin that
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1899 occurs less commonly in typical modern writing. The @samp{`} was found
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1900 to be more natural to read in Latin vs @samp{2} (@samp{2} will be easier
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1901 to type on some keyboards).
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1902
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1903 In a few instances where uppercase keyboard letters would have no
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1904 Ethiopic assignment, these keys (B, F, J, L, M, R, V, and Y) were made
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1905 equivalent to their lowercase counter parts (i.e. L = l, m = M, etc).
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1906
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1907 $(2!!(B. About Vowels
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1908
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1909 When a key corresponding to a consonant is first struck, you will see
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1910 the sixth form of the character appear on the screen with a small
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1911 underline, @samp{_}. You may then type a vowel to modify the syllabic
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1912 form of the consonant, or type any non-vowel character to terminate the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1913 entry of the letter (the underline goes away). The new character typed
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1914 will also appear on the screen. A small table for the input system is
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1915 given now :
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1916
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1917 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1918 Consonants:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1919 me mu mi ma mE m mo mWa
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1920 $(2!)(B $(2!*(B $(2!+(B $(2!,(B $(2!-(B $(2!.(B $(2!/(B $(2!0(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1921
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1922 Independent Vowels:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1923 e/a u/U i A E I o/O e3
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1924 $(2"S(B $(2"T(B $(2"U(B $(2"V(B $(2"W(B $(2"X(B $(2"Y(B $(2"Z(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1925
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1926 Independent Vowels Following a 6th Form Consonant:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1927 l'e l'u l'i l'A l'E l'I l'o
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1928 also --> l'a lU lI lO
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1929 $(2!&"S(B $(2!&"T(B $(2!&"U(B $(2!&"V(B $(2!&"W(B $(2!&"X(B $(2!&"Y(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1930
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1931 Consonants With 12 forms:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1932 hWe hWu/hW' hWi hWa hWE
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1933 $(2"b(B $(2"c(B $(2"d(B $(2"e(B $(2"f(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1934 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1935
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1936 [A NOTE ON FORMS 8 - 12] In different geographic regions, and at
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1937 different times within the same region, people have been taught two
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1938 different sounds for form 9 (@samp{$(2"c(B} in the above). Phonetical keyed
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1939 input is permitted for both ways a person may have been taught.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1940
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1941 In some Ethiopian languages extend Fidel glyphs for labiovelar forms
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1942 are required. This is known to be true for the Gurage languages in
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1943 particular. The complete set of additional characters required for
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1944 these languages was not known to the makers of the Ethiopic extension
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1945 for Mule at the of this release. Extended forms (8-12) of the @samp{w}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1946 series are provided to model the labiovelar sounds with a base consonant
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1947 when a unique labiovelar glyph is not available for the consonant. For
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1948 example : bWe -> $(2!F#L(B, pWE -> $(2$L#P(B.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1949
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1950 Once entered you may edit the vowel form of a letter by placing the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1951 cursor over the letter you wish to change and striking @key{[F6]}. See
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1952 @xref{Function keys for ethiopic}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1953
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1954 @comment ............................................................
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1955 @node Ethiopic Punctuation input, Ethiopic Numeric Input, Fidel Input, Editing Ethiopic Text
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1956 @subsubsection Ethiopic Punctuation input
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1957
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1958 All Ethiopic and Latin punctuations are available in quail-mode with
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1959 the Ethiopic package. The Ethiopic punctuations may be entered by
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1960 typing the Latin equivalent from the keyboard. Hitting the same
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1961 punctuation key twice will replace the Ethiopic version with the Latin.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1962 A small table follows :
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1963
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1964 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1965 . -> $(2$P(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1966 , -> $(2$Q(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1967 ; -> $(2$R(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1968 : -> $(2$S(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1969 * -> $(2$T(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1970 << -> $(2$U(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1971 >> -> $(2$V(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1972 :: -> $(2$O(B
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1973 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1974
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1975 In the last 4 cases in the table, Ethiopic punctuation is entered
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1976 based upon the similarity between the appearence of the keyboard and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1977 Ethiopic symbols. The last item in the table is an input for an
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1978 Ethiopic word separator (a space @dfn{ }). Here two keystrokes of
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1979 the colon @key{:} key are required to enter the Ethiopic space, and 3
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1980 keystrokes of the colon are then required to return to the Latin
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1981 @samp{:}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1982
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1983 You may use the space bar to enter Ethiopic spaces by first going into
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1984 an @dfn{Ethiopic space mode}. To do so hit the @key{[F2]} key 2 times.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1985 Notice in the mode-line indicator near the bottom of the editor that
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1986 each time you hit the @key{[F2]} key that the symbols @samp{_},
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1987 @samp{$(2$N(B}, and @samp{$(2$O(B} will change. These are your space-mode indicators.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1988 The first, @samp{_}, is the default for Latin font width blank spaces (8
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1989 pixels) the 2nd is for Ethiopic font width blank spaces (16 pixels) and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1990 finally the last, @samp{$(2$O(B}, indicates to you that the space bar will
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1991 now use the Ethiopic word separator.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1992
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1993 You may change the word separator in a specified @dfn{region} of text
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1994 by @kbd{S-[F2]}. Doing so will convert all blank spaces into the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1995 Ethiopic word separators or, if you choose, to the double width Ethiopic
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1996 blank space. You may convert among the 3 word separators within a
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1997 region of text at any time.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1998
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1999 @comment ............................................................
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2000 @node Ethiopic Numeric Input, Ethiopic Special Characters, Ethiopic Punctuation Input, Editing Ethiopic Text
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2001 @subsubsection Ethiopic Numeric Input
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2002
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2003 Both the Arabic (ASCII) and Ethiopic numerals are available in
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2004 quail-mode with the Ethiopic package. The Arabic numbers are the defualt
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2005 when you strike the number keys of the keyboard. Enter the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2006 @dfn{Ethiopic number mode} by pressing @key{[F1]}. Notice that the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2007 Arabic @samp{1} changes to the Ethiopic @samp{$(2$W(B} in the mode-line.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2008 This is your numeral mode indicator. Striking @key{[F1]} again returns
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2009 you to the @dfn{Arabic numeral mode}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2010
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2011 Typing the number keys in Ethiopic numeral mode will render the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2012 numerals on the screen. You may enter Ethiopic numbers like Arabic
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2013 numbers with 0's to obtain the multiples of ten for numbers 1 - 9 up to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2014 a multiple of 100,000. This limit is chosen as it will be the largest
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2015 value that two numbers together may represent.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2016
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2017 @comment ............................................................
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2018 @node Ethiopic Special Characters, , Ethiopic Numeric Input, Editing Ethiopic Text
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2019 @subsection Ethiopic Special Characters
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2020
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2021 Special icons, glyphs, and ligatures may be available at the end of
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2022 your font's address table. You may enter them on screen, and into your
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2023 document, with the @key{[F8]} key followed by a number. For this moment
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2024 the available icons are African continent and the region in which Ge'ez
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2025 script is native to (collectively, the nations of Eritrea and Ethiopia).
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2026
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2027 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2028 @node ASCII Transcription for Ethiopic, Ethiopic Mail, Editing Ethiopic Text, Ethiopic Languages
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2029 @subsection ASCII Transcription for Ethiopic
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2030
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2031 @menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2032 * Basic SERA::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2033 * Mixed Script in SERA::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2034 * Customising SERA::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2035 * SERA for file I/O::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2036 @end menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2037
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2038 @comment ............................................................
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2039 @node Basic SERA, Mixed Script in SERA, , ASCII Transcription for Ethiopic
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2040 @subsubsection Basic SERA
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2041
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2042 When written systematically, ASCII files (a file composed with the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2043 characters avaialable from a common English keyboard) may be
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2044 interpretted by Mule and viewed as Ethiopic text. Likewise, an Ethiopic
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2045 document may be written out by Mule into ASCII for importation
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2046 elsewhere.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2047
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2048 Mule uses @dfn{SERA} (System for Ethiopic Representation in ASCII) as
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2049 its Latin representation system of the Fidel to provide compatibility
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2050 with other networks and PC softwares, and to allow users without Mule
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2051 the ability to read easily Ethiopic documents composed with the editor.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2052 Though independent from file I/O, SERA has been applied as the input
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2053 method (IM) for Mule as well, hence much of the system has already been
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2054 discussed. Current documents on SERA with detailed explanation of the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2055 system can be found in the @file{/pub/languages/ethiopia/email}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2056 directory at the ftp.rpi.edu archive.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2057
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2058 A sample text of SERA is given below. This is the transcription of
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2059 the text in @xref{Ethiopic Fonts}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2060
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2061 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2062 kemeSehafu \"Taste of Ethiopia"\
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2063
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2064 ke'ager wC Injera lemegager yedabere lmd
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2065
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2066 yemidebalequt teIhl aynetocna meTenoc;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2067
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2068 - hulet brCqo yeTEf duqEt
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2069 - hulet brCqo neC yesndE weynm yegebs duqEt
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2070 - and tekul yeskWar mnkiya bEkiyng pawder
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2071 - amst brCqo moq yale wha
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2072
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2073 \1) yeTEf duqEtu behulet tekul brCqo wha tebokto yqemeTal.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2074
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2075 \2) yesndEw weym yegebsu duqEt gmaxe yeskWar menkiya bEkiyng
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2076 pawder ygebabetna beblEnder wsT tewahdo besahn wsT
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2077 yqemeTal.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2078
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2079 \3) huletu bukowoc tekednew ke2 Iske 3 qen Indiyaqeru yqemeTalu.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2080
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2081 \4) qenu kederes behWala qes teblo yeqererewn wha kehuletum sahnoc wsT
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2082 mafses.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2083
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2084 \5) huletum Ihl (TEf Ina sndE/gebs) aqelaqlo melewsna Ihlu kuf
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2085 Iskil dres le2 se`at yahl masqemeT.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2086
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2087 \6) keziya behWala 425 digris \F \ bemoqe megageriya ayer Indaygeba tolo
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2088 Iyekedenu Injerawn megager.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2089 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2090
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2091 If struck alone, @key{[F4]} will convert the entire document into
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2092 Ethiopic text. It is assumed that the text begins in Ethiopic. If the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2093 beginning of the document should start with Latin script, use @kbd{C-u
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2094 [F4]} to make the appropriate conversion. You may also use @kbd{S-[F4]}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2095 to convert only the specified region. @kbd{[F5]}, @kbd{C-u [F5]}, and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2096 @kbd{S-[F5]} converts back into SERA-Latin with the same rules applying
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2097 for @key{[F4]}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2098
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2099 @comment ............................................................
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2100 @node Mixed Script in SERA, Customising SERA, Basic SERA, ASCII Transcription for Ethiopic
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2101 @subsubsection Mixed Script in SERA
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2102
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2103 There are some special rules that apply when you mix both Latin and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2104 Ethiopic. The rules will be more important when composing a SERA file
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2105 outside of Mule. At a glance, the escape rules given below may appear
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2106 inconsistent. Their practical use should become apparent when working
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2107 with them, as they are designed in part to go naturally with their
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2108 frequency of use.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2109
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2110 @samp{\}, except followed by some special characters described below,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2111 toggles the script interpretation mode (Ethiopic<->Latin). An
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2112 alphabetic character may not be used as an escape sequence following the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2113 @samp{\}. The predefined escape sequences may have different
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2114 functions in the two script modes. When followed by a blank space
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2115 @samp{ }, the script mode toggles and the space is deleted.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2116
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2117 @table @asis
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2118 @item \\
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2119 Sends @samp{\} from either mode.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2120
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2121 @item \. \, \; \:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2122 Sends the equivalent punctuation of the OTHER mode to the screen.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2123
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2124 @item \_ \* \< \> \1 ... \9
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2125 Sends the defined Ethiopic character from both modes.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2126
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2127 @item \| \' \`
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2128 In Ethiopic mode @samp{|}, @samp{'} or @samp{`} is sent to the screen.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2129 In Latin mode, the toggle is made to Ethiopic and @samp{|},@samp{`} or
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2130 @samp{'} is treated as the first char in the text segment and treated
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2131 with the normal rules (i.e. just the stanard toggle into Ethiopic).
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2132
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2133 @item \!
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2134 The @dfn{Hard Mode Toggle}. The switch toggles modes but treats all
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2135 text until the ending @samp{\!} as one script. This allows extended use
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2136 of @samp{\} and @samp{\~} without the requirement for @samp{\\} and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2137 @samp{\\~} but at the cost of using only one script within the text
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2138 region.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2139
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2140 @item \~x
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2141 If @samp{x} is undefined in application, then @samp{x} is ignored. and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2142 nothing appears when transliterated. Also true if @samp{x} is a blank
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2143 space @samp{ }.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2144
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2145 @item \~e \~E \~a \~A
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2146 Sends the icon of Ge'ez Homelands, its inverse image, African continent and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2147 its invers image, respectively.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2148 @end table
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2149
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2150 @comment ............................................................
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2151 @node Customising SERA, SERA for file I/O, Mixed Script in SERA, ASCII Transcription for Ethiopic
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2152 @subsubsection Customising SERA
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2153
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2154 Fidel is a highly phonetical script set, but not perfect. In a few
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2155 instances among the languages that use Fidel for its written script, a
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2156 letter will not have a sound consistant with its form class. The
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2157 clearest example for this is in Amharic where the first form @dfn{h}s
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2158 will have a sound equivalent to that of the fourth form (@samp{$(2"[(B},
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2159 @samp{$(2#{(B}, @samp{$(2#f(B} sound the same as @samp{$(2"^(B}, @samp{$(2#~(B}, @samp{$(2#i(B}).
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2160 To model in Latin the different sounds associated with a particular
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2161 Fidel member, SERA allows for duplicity of the Latin representation.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2162 One such important instance is the choice of @samp{e} AND @samp{a} to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2163 represent the first lone vowel letter @samp{$(2"S(B}. @samp{a} is the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2164 natural choice in Amharic and @samp{e} is more logical in most
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2165 languages. Both @samp{a} and @samp{e} are recoginized for @samp{$(2"S(B}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2166 when converting Latin->Ethiopic; but the user must decide on a choise of
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2167 @samp{a} or @samp{e} for converting Ethiopic->Latin.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2168
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2169 The default conversion in mule is to write @samp{$(2"S(B} as @samp{a}. You
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2170 may set Mule to always convert @samp{$(2"S(B} as @samp{e} by adding the line
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2171 below to your @file{~/.emacs} file:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2172
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2173 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2174 (setq ethio-use-tigrigna-style t)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2175 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2176
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2177 As discussed before (@xref{Fidel Input}), the natural choise of
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2178 @samp{Wu} or @samp{W'} for 9th form characters will differ between
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2179 people. @samp{Wu} is the default conversion into Latin, but you may
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2180 change this to @samp{W'} by adding the following line to your
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2181 @file{~/.emacs} file:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2182
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2183 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2184 (setq ethio-W-sixth-always t)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2185 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2186
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2187 SERA also permits @samp{'} as a separator between two Latin vowels
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2188 when the user thinks it aids clarity. The deault in Mule is not to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2189 insert @samp{'} between vowels, you may change this by again adding the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2190 following line to your @file{~/.emacs} file:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2191
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2192 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2193 (setq ethio-quote-vowel-always t)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2194 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2195
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2196 As discussed before (see @xref{Ethiopic Numeric Input}), Ethiopic
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2197 numerals may be written in several forms and interpreted in the same
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2198 way. Likewise you have these same choices for SERA output.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2199
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2200 For example, consider the Latin sequence @samp{\10\9\100\80\7} for
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2201 @samp{$(2$`$_$i$g$](B}. The Latin form is considered to be in the lowest
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2202 level of reduction, or @dfn{reduction-level 0}. You can choose to write
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2203 out in reduction-level 0 by including the following line in your
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2204 @file{~/.emacs} file:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2205
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2206 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2207 (setq ethio-numeric-reduction 0)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2208 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2209
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2210 The next level in reduction is the form @samp{\109100807} which can be
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2211 set by:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2212
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2213 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2214 (setq ethio-numeric-reduction 1)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2215 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2216
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2217 The final level in reduction is the form @samp{\10900807} which can be
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2218 set by:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2219
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2220 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2221 (setq ethio-numeric-reduction 2)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2222 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2223
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2224 These three reduction levels for numbers are offered, because it can
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2225 not be known at this time which may ultimately become the preferred
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2226 form.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2227
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2228 @comment ............................................................
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2229 @node SERA for file I/O, , Customising SERA, ASCII Transcription for Ethiopic
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2230 @subsubsection SERA for file I/O::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2231
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2232 Whenever you find a file (by @kbd{C-x C-f}) whose name ends in
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2233 @file{.sera}, Mule assumes that the file is written in SERA, and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2234 automatically converts the contents into Fidel.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2235
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2236 Likewise, if you save a buffer to a file with the @file{.sera}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2237 extension, the contents will be converted into SERA before actually
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2238 written.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2239
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2240 Note that the old two hooks for SERA I/O, i.e.,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2241 @code{fidel-to-sera-for-disksave} and @code{sera-to-fidel-for-disksave},
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2242 have been removed.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2243
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2244 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2245 @node Ethiopic Mail, Configuration for Ethiopic, ASCII Transcription for Ethiopic, Ethiopic Languages
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2246 @subsection Ethiopic Mail
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2247
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2248 By default, Mule uses the *junet* coding-system for sending and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2249 receiving mail. It is a 7-bit coding with escape sequences, so there
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2250 should be no difficulty in mail transmission unless the code @samp{ESC}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2251 is not removed by MTA (mail transfer agent).
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2252
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2253 Nonetheless, it would be safer to use the SERA format for mail
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2254 transmission. In addition to the safety, users who do not have Mule
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2255 will benefit from using SERA for mail.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2256
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2257 If you include the line
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2258
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2259 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2260 (add-hook 'mail-send-hook 'fidel-to-sera-mail)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2261 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2262
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2263 in your @file{~/.emacs} file, Ge'ez characters in mail body will be
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2264 automatically converted into SERA when you send mail from mail-mode.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2265 You can write mail in the Ge'ez script and send it as if it were written
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2266 in SERA. The markers @samp{<sera>} and @samp{</sera>} are automatically
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2267 inserted at the beginning and the end of mail body so that the mail
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2268 receiver can read it in Ge'ez, even without Mule, by using @code{eview}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2269 program.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2270
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2271 If you want to preview the SERA transcription before you actually send
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2272 the mail, hit @kbd{C-[F5]} in the @samp{*mail*} buffer. Hit @kbd{C-[F4]}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2273 to go back to Fidel.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2274
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2275 Likewise, if you include the line
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2276
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2277 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2278 (add-hook 'rmail-show-message-hook 'sera-to-fidel-mail)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2279 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2280
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2281 in your @file{~/.emacs} file, all mails that contain the @samp{<sera>}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2282 marker are automatically converted into the Ge'ez script when you read
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2283 them with @code{rmail}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2284
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2285 When you receive mail in SERA but without @samp{</sera>}, you can
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2286 convert it into Ge'ez by hitting @kbd{C-[F4]}. In rmail-mode, this key
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2287 is always active and you can use it even without setting the hooks
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2288 above. @kbd{C-[F4]} first searches the marker @samp{<sera>} and the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2289 termination marker @samp{</sera>}. If found, only the portion between
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2290 the two markers is converted in Ge'ez. Otherwise it skips the header
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2291 part by looking for the first blank line, then convert the rest of the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2292 buffer. If there is no blank line, it prints a message and no
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2293 conversion is done.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2294
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2295 For backward compatibility, Mule regards the markers @samp{<ethiopic>}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2296 and @samp{<>} as aliases of @samp{<sera>} and @samp{</sera>}. But the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2297 usage of @samp{<ethiopic>} and @samp{<>} is not recommended.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2298
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2299 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2300 @node Configuration for Ethiopic, Function Keys for Ethiopic, Ethiopic Mail, Ethiopic Languages
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2301 @subsection Configuration for Ethiopic
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2302
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2303 To use Ethiopic most easily, you may want to create the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2304 @file{~/.emacs} file in your home directory that contains the following
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2305 line:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2306
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2307 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2308 (set-primary-environment 'ethio)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2309 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2310
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2311 Here are the lines that you might want to include in your
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2312 @file{~/.emacs} file:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2313
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2314 @table @asis
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2315 @item (setq ethio-use-tigrigna-style t)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2316 Writes SERA output with @samp{e} in place of @samp{a} for the first
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2317 form vowel @samp{$(2"S(B}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2318
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2319 @item (setq ethio-quote-vowel-always t)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2320 When writing SERA output @samp{'} is inserted between two adjacent
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2321 vowels.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2322
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2323 @item (setq ethio-W-sixth-always t)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2324 Writes SERA output with 9th form Fidel characters represented
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2325 with @samp{W'} and not @samp{Wu}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2326
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2327 @item (setq ethio-numeric-reduction #)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2328 Sets level of reduction for numeral representation in SERA. @samp{#}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2329 must be replaced by 0, 1 or 2. The Ethiopic number @samp{$(2$[$i(B} will be
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2330 @samp{\5\100} if # is 0, @samp{\5100} if 1, @samp{\500} if 2.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2331
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2332 @item (add-hook 'rmail-show-message-hook 'sera-to-fidel-mail)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2333 When in rmail-mode will convert Ethiopic email marked by @samp{<sera>}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2334 immediately into Ge'ez text without waiting for the @kbd{C-@key{[F4]}}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2335 key to be struck.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2336
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2337 @item (add-hook 'mail-send-hook 'fidel-to-sera-mail)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2338 Will convert Ge'ez email into SERA when send it out from mail-mode.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2339
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2340 @item (add-hook 'news-inews-hook 'fidel-to-sera-mail)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2341 Will convert Ge'ez news article into SERA format when posting news
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2342 in gnus mode.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2343 @end table
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2344
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2345 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2346 @node Function keys for Ethiopic, , Configuration for Ethiopic, Ethiopic Languages
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2347 @subsection Function keys for Ethiopic
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2348
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2349 Some function keys have been mentioned in the above. A complete list
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2350 of the function keys available is presented separately here.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2351
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2352 @table @asis
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2353 @item @key{[F1]} or @kbd{M-x ethio-toggle-digit}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2354 toggles Arabic digit input and Ethiopic digit input. The current input
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2355 mode is indicated by the character @samp{1} or @samp{$(2$W(B} in the mode
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2356 line, next to the @samp{ETHIO} string. In Ethiopic mode, you can input
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2357 up to 1000000 (\1000000) by continuous zeros. To input 2000000
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2358 (\2000000), for example, you have to type @samp{21000000}. The default
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2359 is Arabic digit. (Available only in quail-mode.)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2360
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2361 @item @key{[F2]} or @kbd{M-x ethio-toggle-space}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2362 toggles space characters (one of the three below) for keyboard
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2363 input.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2364
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2365 @enumerate a
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2366 @item
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2367 @samp{ } - Single width ASCII space. Mode line Indicator is @samp{_}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2368
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2369 @item
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2370 @samp{$(2$N(B} - Double width Ethiopic blank. Mode line Indicator is @samp{$(2$N(B}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2371
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2372 @item
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2373 @samp{$(2$O(B} - Ethiopic word separator. Mode line Indicator is @samp{$(2$O(B}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2374 @end enumerate
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2375
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2376 Each time you hit @key{[F2]}, the space character changes a -> b -> c ->
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2377 a and so on. The default is ASCII space. (Available only in
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2378 quail-mode.)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2379
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2380 @item @key{[F3]} or @kbd{M-x ethio-toggle-punctuation}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2381 toggles Latin punctuation input and Ethiopic punctuation input. The
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2382 mode line indicator is @samp{.} (Latin) and @samp{$(2$P(B} (Ethiopic). The
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2383 default is Ethiopic punctuations. (Available only in quail-mode.)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2384
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2385 @item @key{[F4]} or @kbd{M-x sera-to-fidel-buffer}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2386 performs SERA to Fidel conversion in the current buffer. It assumes
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2387 that the buffer begins in Ethiopic. To convert a text which begins in
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2388 Latin, use @kbd{C-u @key{[F4]}}. You can continuously enter any large
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2389 Ethiopic numbers, for example,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2390 \5500000000000000000000000000000700000000000000000000.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2391
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2392 @item S-@key{[F4]} or @kbd{M-x sera-to-fidel-region}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2393 performs SERA to Fidel conversion in the specified region. It assumes
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2394 that the buffer begins in Ethiopic. To convert a text which begins in
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2395 Latin, use @kbd{C-u S-@key{[F4]}}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2396
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2397 @item C-@key{[F4]} or @kbd{M-x sera-to-fidel-marker}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2398 If the buffer contains the markers @samp{<sera>} and @samp{</sera>},
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2399 converts the segment between the two markers from SERA to Fidel in Ethio
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2400 start mode. The markers will not be removed.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2401
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2402 @item C-@key{[F4]} (in rmail-mode or Mali-mode) or @kbd{M-x sera-to-fidel-mail}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2403 Does SERA to FIDEL conversion for reading/writing mail. If the buffer
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2404 contains the markers @samp{<sera>} and @samp{</sera>}, converts the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2405 segment between the two markers in Ethio start mode and the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2406 @samp{Subject:} field in ASCII start mode. Conversion will be performed
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2407 even if the current buffer is read-only.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2408
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2409 Usually, this function is used as a hook. When invoked interactively
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2410 and there is no markers, it converts both the whole body and the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2411 @samp{Subject:} field in Ethio start mode.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2412
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2413 For backward compatibility, @samp{<ethiopic>} and @samp{<>} can be used
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2414 instead of @samp{<sera>} and @samp{</sera>}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2415
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2416 @item @key{[F5]} or @kbd{M-x fidel-to-sera-buffer}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2417 performs Fidel to SERA conversion in the current buffer. The converted
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2418 region begins in Ethiopic mode. (If the first character of the original
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2419 text is a Latin alphabet, @samp{\ } will be inserted at the beginning to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2420 turn into Latin mode.) To produce a SERA text that begins in Latin, use
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2421 @kbd{C-u @key{[F5]}}. By default, the first lone vowel @samp{$(2"S(B} is
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2422 transcribed by @samp{a}. If you want it to be @samp{e}, put the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2423 following line in your .emacs file:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2424
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2425 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2426 (setq ethio-use-tigrigna-style t)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2427 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2428
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2429 Also by default, the lone vowels are preceded by an apostrophe
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2430 @samp{'} only if the preceding character is a 6th form consonant.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2431 If you want the lone vowels always preceded by an apostrophe,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2432 put the following line in your @file{~/.emacs} file:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2433
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2434 @lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2435 (setq ethio-quote-vowel-always t)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2436 @end lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2437
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2438 @item S-@key{[F5]} or @kbd{M-x fidel-to-sera-region}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2439 performs Fidel to SERA conversion in the specified region. The converted
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2440 region begins in Ethiopic mode. (If the first character of the original
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2441 text is a Latin alphabet, @samp{\ } will be inserted at the beginning to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2442 turn into Latin mode.) To produce a SERA text that begins in Latin, use
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2443 @kbd{C-u S-@key{[F5]}}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2444
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2445 @item C-@key{[F5]} or @kbd{M-x fidel-to-sera-marker}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2446 If the buffer contains the markers @samp{<sera>} and @samp{</sera>},
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2447 converts the segment between the two markers from Fidel to SERA in Ethio
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2448 start mode. The markers will not be removed.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2449
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2450 @item C-@key{[F5]} (in rmail-mode or Mail-mode) or @kbd{M-x fidel-to-sera-mail}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2451 Does Fidel to SERA conversion for reading/writing mail and news.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2452 Intended to be used for mail-send-hook and news-inews-hook, but can be
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2453 invoked interactively, too.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2454
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2455 If the buffer contains at least one Ethiopic character, then it
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2456
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2457 1) inserts the string @samp{<sera>} right after the head-body
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2458 separating line,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2459 2) inserts @samp{</sera>} at the end of the buffer,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2460 3) converts the body into SERA in Ethiopic start mode, and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2461 4) converts the @samp{Subject:} field in ASCII start mode.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2462
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2463 If there is no separating line, @samp{<sera>} will be put at the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2464 beginning of buffer and does not look for the @samp{Subject:} field.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2465
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2466 @item @key{[F6]} or @kbd{M-x ethio-modify-vowel}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2467 is the vowel modification key. Hit this key when the cursor is on a
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2468 Fidel letter. Then you will be asked a new vowel. Hit one of the seven
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2469 characters below from the keyboard:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2470
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2471 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2472 e u i a E ' o
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2473 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2474
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2475 You will get a new letter whose consonant is the same as the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2476 original, but with the new vowel that you selected. An
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2477 apostrophe @samp{'} changes the character to the sixth form (lone
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2478 consonant).
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2479
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2480 If the cursor is on the Wa-form of letter having only 8 forms, selecting
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2481 a vowel other than @samp{a} changes the original into the combination of
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2482 two characters, namely, the sixth form of the original character and the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2483 wW utility letter whose vowel is the newly selected one. See @xref{Fidel
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2484 Input}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2485
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2486 @item @key{[F7]} or @kbd{M-x ethio-replace-space}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2487 replaces the spaces between two Ethiopic characters in the specified
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2488 region. You will be asked the new space character. Answer by typing 1,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2489 2 or 3. 1 means the single width ASCII space. 2 means the double width
108
360340f9fd5f Import from CVS: tag r20-1b6
cvs
parents: 98
diff changeset
2490 Ethiopic blank. 3 means the traditional Ethiopic word separator. This
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2491 command is independent from the space selection for keyboard input.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2492
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2493 @item @key{[F8]} or @kbd{M-x ethio-input-special-character}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2494 inputs graphical images in font file. A menu will appear in
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2495 mini-buffer.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2496 @end table
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2497
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2498 @comment ============================================================
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2499 @node IPA, , Ethiopic Languages, Top
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2500 @section IPA
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2501
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2502 International Phonetic Alphabet (IPA for short) is not a language, but
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2503 we describe its usage in Mule here as a matter of convenience.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2504
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2505 To print text that contains IPA characters, see the online manual
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2506 @samp{m2ps(1)} and @xref{Top, , m2ps, m2ps}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2507
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2508 @menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2509 * IPA Character Set:: IPA Characters and IPA Fonts
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2510 * Inputing IPA:: Quail Package for IPA
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2511 @end menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2512
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2513 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2514 @node IPA Character Set, Inputing IPA, , IPA
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2515 @subsection IPA Character Set
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2516
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2517 Mule defines a private character set to represent a subset of 1989's
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2518 version of IPA. It consists of the consonant signs used in English,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2519 French, German and Italian, and all vowels signs in the table. For the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2520 detail of the included characters, see @xref{Inputing IPA}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2521
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2522 To use this character set, you have to start Mule as an X client. The
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2523 fonts for this purpose are found in Mule's FTP sites. Their names are:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2524
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2525 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2526 @file{etl14-ipa.bdf}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2527 @file{etl16-ipa.bdf}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2528 @file{etl24-ipa.bdf}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2529 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2530
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2531 If the IPA fonts have been properly installed, you should be able to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2532 read the following line:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2533
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2534 @quotation
98
0d2f883870bc Import from CVS: tag r20-1b1
cvs
parents: 70
diff changeset
2535 -0É¡Ê ¡Ë § Ú¥ Ó Ö¡ÂÓ ¡Ó ð¥ ðÀ ò𢠠Äð¤Ö§Ä§Ë-A
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2536 @end quotation
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2537
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2538 Bear in mind that all fonts used in Mule must be of fixed width.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2539 Furthermore, the width of the IPA symbols must be the same as the ASCII
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2540 characters. For the detail of font specification, see @xref{Font, ,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2541 Font, mule}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2542
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2543 @comment ------------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2544 @node Inputing IPA, , IPA Character Set, IPA
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2545 @subsection Inputing IPA
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2546
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2547 To input IPA characters, use the Quail system. Hit @kbd{C-]} to turn
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2548 into quail-mode. If you do not see the string @samp{[IPA]} at the left
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2549 end of mode-line, then hit @kbd{M-s} and specify the package name
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2550 @samp{ipa}. @key{SPC} works as the completion key. If you hit
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2551 @key{RET} without specifying a package name, the default package (shown
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2552 in the parentheses) will be used. To exit quail-mode, hit @kbd{C-]}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2553 once again.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2554
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2555 For the detail of the Quail system, see @xref{Usage of Quail, , ,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2556 quail}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2557
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2558 Here are the key bindings for IPA characters in quail-mode:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2559
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2560 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2561 key description example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2562 -----------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2563 i small letter i i in ici (F)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2564 I small capital I i in bit (E)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2565 e small letter e e' in the' (F)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2566 E or \3 rounded small epsilon e in end (Am. E)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2567 ae a+e ligature a in cat (E)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2568 a small a in printing a in patte (F)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2569 A or o| small a in manuscript o in hop (Am. E)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2570 /v upside-down small v u in cup (Am. E)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2571 & small gamma
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2572 /m upside-down small m
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2573 i- small i with bar
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2574 /e schwa (upside-down e) a in about (E)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2575 /a upside-down pr. a a in china (E)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2576 y small letter y u in sur (F)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2577 Y small capital Y u" in du"nn (G)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2578 o/ small phi eu in deux (F)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2579 oe o+e ligature oe in boeuf (F)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2580 OE O+E ligature
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2581 /A or |o upside-down man. a o in hop (E)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2582 /c upside-down small c a in all (E)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2583 o small letter o o in pot (F)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2584 U upside-down cap. omega oo in book (E)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2585 u small letter u ou in pour (F)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2586 u- small u with bar u in hus (Norwegian)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2587 o- small o with bar o" in do"rr (Swedish)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2588 e- or e| r coloured schwa er in letter (Am. E)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2589 oe~ tilde above o+e un (F)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2590 /c~ tilde above u-d. c on in bon (F)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2591 E~ or /3~ tilde above epsilon ain in pain (F)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2592 A~ or o|~ tilde above man. a an in blanc (F)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2593 -----------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2594 p small letter p p in paon (F)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2595 b small letter b b in banc (F)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2596 t small letter t t in table (E)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2597 d small letter d d in date (E)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2598 k small letter k c in computer (E)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2599 g small letter g g in get (E)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2600 f small letter f f in feel (E)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2601 v small letter v v in veal (E)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2602 th small theta th in three (E)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2603 dh small icelandic edh th in this (E)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2604 s small letter s s in sea (E)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2605 z small letter z z in zero (E)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2606 sh integral mark sh in shell (E)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2607 zh or 3 voiced sh j in je (F)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2608 c, c with cedilla ch in ich (G)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2609 x small letter x x in ach (G)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2610 /R upside-down capital R r in Paris (Parisian F)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2611 h small letter h h in hat (E)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2612 m small letter m m in make (E)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2613 n small setter n n in net (E)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2614 gn n with long left leg gn in signe (F)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2615 ng n with long right leg ng in song (E)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2616 r small letter r rr in carro (I)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2617 R small capital R rr in harren (G)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2618 /r upside-down small r r in red (E)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2619 j small letter j y in you (E)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2620 l small letter l l in light (E)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2621 /y upside-down small y gl in foglio (I)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2622 L small capital L ll in tell (E)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2623 /h upside-down small h u in nuit (F)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2624 w small letter w w in we (E)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2625 M upside-down capital W wh in what (E)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2626 -----------------------------------------------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2627 ' acute primary accent
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2628 ` grave secondary accent
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2629 : colon long
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2630 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2631
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2632 @contents
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2633 @bye