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