1 \input texinfo @c -*-texinfo-*-
2 @setfilename ../info/languages
3 @settitle Foreign Languages
7 @center @titlefont{Foreign Languages}
11 @center TAKAHASHI Naoto
12 @center ntakahas@@etl.go.jp
18 @section Foreign Languages
20 This document describes how to read and write various Asian and European
24 * Chinese:: Simplified and Traditional Hanzi
25 * Japanese:: Hiragana, Katakana, Kanji
26 * Korean:: Hangul and Hanja
28 * Vietnamese:: Vietnamese
29 * Latin Script Languages:: French, German, Swedish, etc.
30 * Cyrillic Script Languages:: Russian, Bulgarian, Ukrainian, etc.
33 * Arabic Script Languages:: Arabic, Farsi, etc.
34 * Ethiopic Languages:: Amharic, Tigrigna, etc.
35 * IPA:: International Phonetic Alphabet
38 @comment ============================================================
39 @node Chinese, Japanese, , Top
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:
48 (set-primary-environment 'chinese)
51 If your system administrator did not do this setting, you have to
52 include the above line in your @file{~/.emacs} file.
54 To print Chinese text, see the online manual @samp{m2ps(1)}
55 and @xref{Top, , m2ps, m2ps}.
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]
68 @comment ------------------------------------------------------------
69 @node Chinese Character Sets, Chinese Fonts, , Chinese
70 @subsection Chinese Character Sets
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}.
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.
86 @comment ------------------------------------------------------------
87 @node Chinese Fonts, Coding-system for Chinese, Chinese Character Sets, Chinese
88 @subsection Chinese Fonts
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:
96 GB :
\e$AVPND
\e(B
\e$AFUM(;0
\e(B
\e$A::So
\e(B
\e$ADc:C
\e(B
97 BIG5 :
\e$(0GnM$
\e(B
\e$(0N]0*Hd
\e(B
\e$(0*/=(
\e(B
\e$(0+$)p
\e(B
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}.)
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}.
111 @comment ------------------------------------------------------------
112 @node Coding-system for Chinese, Using cWnn, Chinese Fonts, Chinese
113 @subsection Coding-system for Chinese
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.
123 To edit files containing GB and ASCII
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.
133 To edit files containing BIG5 and ASCII
135 If you want to use BIG5 as the primary coding-system, add the
136 following lines in your @file{~/.emacs} file:
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))
146 To edit files containing GB, BIG5 and ASCII
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.
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:
156 (set-default-file-coding-system *junet*)
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.
165 You can also use the next one instead of using @code{*junet*}:
168 (set-default-file-coding-system *euc-china*)
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.
175 Yet another alternative is the following:
178 (set-default-file-coding-system *ctext*)
181 You cannot specify *big5* as file-coding-system if the file contains
186 @comment ------------------------------------------------------------
187 @node Using cWnn, Quail for Chinese, Coding-system for Chinese, Chinese
188 @subsection Using cWnn
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.
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}.)
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}.
202 To use cserver, you must specify the hostname on which cserver is
203 running. Add the following lines in your @file{~/.emacs} file:
206 (set-cwnn-host-name "hostname")
209 @code{"hostname"} must be replaced by the real hostname on which
210 cserver is really running.
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.
218 Here are some important key bindings in the conversion mode:
222 get another alternative
225 confirm (accept that hanzi)
231 move to previous word
234 make current word shorter
237 make current word longer
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.
246 To quit from Chinese input mode, type @kbd{C-\} again.
248 For more information, see @xref{Top, , Egg, egg}.
250 @comment ------------------------------------------------------------
251 @node Quail for Chinese, Running Mule in cxterm, Using cWnn, Chinese
252 @subsection Quail for Chinese
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.
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
266 py, tonepy, sw, punct, qj, ccdospy, ctcps3, etzy, py-b5, zozy, qj-b5,
270 In the document of X11R5 cxterm, each input method is explained as
271 follows. (Quoted from @file{cxterm/dict/tit/README}.)
277 Standard PinYin input method
280 Quan Jiao -- double-byte ASCII in GB coding
283 Punctuation marks input table
286 CCDOS style ShouWei input method (first & last part)
289 Standard PinYin input method with tone 1-5
292 CCDOS style abbreviated PinYin input method
295 Sidney Lau's Cantonese transcription scheme
302 Standard PinYin input method with tones
305 Quan Jiao -- double-byte ASCII in BIG5 coding
308 Punctuation marks input table
311 Sidney Lau's Cantonese transcription scheme
314 ETen ZhuYin (phonetic) input in second keyboard layout as in ZeroOne,
318 ETen ZhuYin (phonetic) input in ETen keyboard layout
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.
325 [NOTE] You can easily create a quail-package from cxterm's tit format
326 file. Please try the following command from your shell,
329 @samp{% mule -batch -l quail/tit -f batch-tit-to-quail [dirname|filename] ...}
333 @comment ------------------------------------------------------------
334 @node Running Mule in cxterm, PIG-mode, Quail for Chinese, Chinese
335 @subsection Running Mule in cxterm
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:
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.
350 @comment ------------------------------------------------------------
351 @node PIG-mode, Chinese News, Running Mule in cxterm, Chinese
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:
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
365 A useful readme file is included.
367 According to burt@@dfki.uni-kl.de, the definition of the following
371 (defun pig-parse-cz (string)
373 (while (string-match "\\([^0-5]+[0-5]\\)-*" string indx)
374 (setq list (cons (substring string (match-beginning 1) (match-end 1))
376 (setq indx (match-end 0)))
380 @comment ------------------------------------------------------------
381 @node Chinese News, , PIG-mode, Chinese
382 @subsection Chinese News
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.
388 Add the following line in your @file{~/.emacs} file:
391 (setq gnus-group-mode-hook 'gnusutil-initialize)
394 Now you can read @samp{alt.chinese.text} and
395 @samp{alt.chinese.text.big5} in hanzi.
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}.
404 @comment ============================================================
405 @node Japanese, Korean, Chinese, Top
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:
415 (set-primary-environment 'japanese)
418 If your system administrator did not do this setting, you have to
419 include the above line in your @file{~/.emacs} file.
421 To print Japanese text, see the online manual @samp{m2ps(1)}
422 and @xref{Top, , m2ps, m2ps}.
424 @comment ============================================================
425 @node Korean, Thai, Japanese, Top
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:
433 (set-primary-environment 'korean)
436 If your system administrator did not do this setting, you have to
437 include the above line in your @file{~/.emacs} file.
439 To print Korean text, see the online manual @samp{m2ps(1)}
440 and @xref{Top, , m2ps, m2ps}.
443 * Korean Character Set:: KSC5601
444 * Inputing Hangul:: Quail Package for Hangul
445 * Inputing Hanja:: Quail Package for Hanja
448 @comment ------------------------------------------------------------
449 @node Korean Character Set, Inputing Hangul, , Korean
450 @subsection Korean Character Set
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
457 If the Korean fonts have been properly installed, you should be able
458 to read the following text:
461 Mule
\e$(C@:
\e(B GNU Emacs
\e$(C8&
\e(B
\e$(C:9<v@G
\e(B
\e$(C>p>n?!
\e(B
\e$(C4k@@GR
\e(B
\e$(C<v
\e(B
\e$(C@V557O
\e(B
\e$(C0-H-GQ
\e(B
\e$(C?!5pEM
\e(B
463 GNU Emacs Ver.18
\e$(C@;
\e(B
\e$(C1bCJ7N
\e(B
\e$(CGQ
\e(B Mule Ver.1
\e$(C0z
\e(B GNU Emacs Ver.19
\e$(C8&
\e(B
\e$(C1bCJ
\e(B
464 \e$(C7N
\e(B
\e$(CGQ
\e(B Mule Ver.2
\e$(C0!
\e(B
\e$(C@V=@4O4Y
\e(B.
\e$(C1]HD4B
\e(B Mule Ver.2
\e$(C88
\e(B
\e$(C039_@L
\e(B
\e$(C0h<S5I
\e(B
\e$(C0M
\e(B
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}.
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*}.
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
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:
488 (set-default-file-coding-system *euc-korea*)
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:
497 (set-default-file-coding-system *junet*)
500 @comment ------------------------------------------------------------
501 @node inputing Hangul, Inputing Hanja, Korean Character Set, Korean
502 @subsection Inputing Hangul
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
509 @code{hangul} uses the translation table below:
512 \e$(CGQ1[
\e(B:
\e$(C$!
\e(B
\e$(C$"
\e(B
\e$(C$$
\e(B
\e$(C$'
\e(B
\e$(C$(
\e(B
\e$(C$)
\e(B
\e$(C$1
\e(B
\e$(C$2
\e(B
\e$(C$3
\e(B
\e$(C$5
\e(B
\e$(C$6
\e(B
\e$(C$7
\e(B
\e$(C$8
\e(B
\e$(C$9
\e(B
\e$(C$:
\e(B
\e$(C$;
\e(B
\e$(C$<
\e(B
513 KEY: r R s e E f a q Q t T d w W c z x
515 \e$(CGQ1[
\e(B:
\e$(C$=
\e(B
\e$(C$>
\e(B
\e$(C$?
\e(B
\e$(C$A
\e(B
\e$(C$C
\e(B
\e$(C$D
\e(B
\e$(C$F
\e(B
\e$(C$E
\e(B
\e$(C$G
\e(B
\e$(C$K
\e(B
\e$(C$L
\e(B
\e$(C$P
\e(B
\e$(C$Q
\e(B
\e$(C$S
\e(B
\e$(C$@
\e(B
\e$(C@g
\e(B
516 KEY: v g k i j p P u h y n b m l o O
519 Here are some examples:
522 <key sequence> r k r k
523 <string inserted>
\e$(C$!
\e(B
\e$(C0!
\e(B
\e$(C0"
\e(B
\e$(C0!0!
\e(B
525 <key sequence> r k r <M-SPC> k
526 <string inserted>
\e$(C$!
\e(B
\e$(C0!
\e(B
\e$(C0"
\e(B
\e$(C0"
\e(B
\e$(C0"$?
\e(B
529 On the other hand, @code{hangul3} uses the translation table below:
532 \e$(CCJ<:
\e(B:
\e$(C$!
\e(B
\e$(C$"
\e(B
\e$(C$$
\e(B
\e$(C$'
\e(B
\e$(C$(
\e(B
\e$(C$)
\e(B
\e$(C$1
\e(B
\e$(C$2
\e(B
\e$(C$3
\e(B
\e$(C$5
\e(B
\e$(C$6
\e(B
\e$(C$7
\e(B
\e$(C$8
\e(B
\e$(C$9
\e(B
\e$(C$:
\e(B
\e$(C$;
\e(B
\e$(C$<
\e(B
533 KEY : k kk h u uu y i ; ;; n nn j l ll o 0 '
535 \e$(CCJ<:
\e(B:
\e$(C$=
\e(B
\e$(C$>
\e(B
\e$(C$?
\e(B
\e$(C$@
\e(B
\e$(C$A
\e(B
\e$(C$B
\e(B
\e$(C$C
\e(B
\e$(C$D
\e(B
\e$(C$E
\e(B
\e$(C$F
\e(B
\e$(C$G
\e(B
\e$(C$H
\e(B
\e$(C$I
\e(B
\e$(C$J
\e(B
\e$(C$K
\e(B
\e$(C$L
\e(B
\e$(C$M
\e(B
536 KEY : p m f r 6 R t c e 7 v /f /r /d 4 b 9t
539 \e$(CCJ<:
\e(B:
\e$(C$N
\e(B
\e$(C$O
\e(B
\e$(C$P
\e(B
\e$(C$Q
\e(B
\e$(C$R
\e(B
\e$(C$S
\e(B
\e$(C$!
\e(B
\e$(C$"
\e(B
\e$(C$#
\e(B
\e$(C$$
\e(B
\e$(C$%
\e(B
\e$(C$&
\e(B
\e$(C$'
\e(B
\e$(C$)
\e(B
\e$(C$*
\e(B
\e$(C$+
\e(B
\e$(C$)
\e(B
540 KEY : 9c 9d 5 g 8 d x F xq s s! S A w D C w3
542 \e$(CCJ<:
\e(B:
\e$(C$-
\e(B
\e$(C$.
\e(B
\e$(C$0
\e(B
\e$(C$1
\e(B
\e$(C$2
\e(B
\e$(C$4
\e(B
\e$(C$5
\e(B
\e$(C$6
\e(B
\e$(C$7
\e(B
\e$(C$8
\e(B
\e$(C$:
\e(B
\e$(C$;
\e(B
\e$(C$<
\e(B
\e$(C$=
\e(B
\e$(C$>
\e(B
543 KEY : wq wW V z 3 X q 2 a ! Z E W Q 1
550 <string inserted>
\e$(C$!
\e(B
\e$(C0!
\e(B
\e$(C0"
\e(B
553 Hit @kbd{C-]} to turn into quail-mode. If you do not see the string
554 @samp{[
\e$(CGQ1[
\e(B 2
\e$(C9z=D
\e(B]} or @samp{[
\e$(CGQ1[
\e(B 3
\e$(C9z=D
\e(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.
560 To exit quail-mode, hit @kbd{C-]} once again.
562 For the detail of the Quail system, see @xref{Usage of Quail, , ,
565 @comment ------------------------------------------------------------
566 @node Inputing Hanja, , Inputing Hangul, Korean
567 @subsection Inputing Hanja
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
\e$(C9z=D
\e(BKSC
\e$(CySm.
\e(B".
574 For the detail of the Quail system, see @xref{Usage of Quail, , ,
577 @comment ============================================================
578 @node Thai, Vietnamese, Korean, Top
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:
586 (set-primary-environment 'thai)
589 If your system administrator did not do this setting, you have to
590 include the above line in your @file{~/.emacs} file.
592 To print Thai text, see the online manual @samp{m2ps(1)}
593 and @xref{Top, , m2ps, m2ps}.
596 * Thai Character Set:: Character Set, Fonts, Coding-system
597 * Inputing Thai:: Quail Package for Thai
600 @comment ------------------------------------------------------------
601 @node Thai Character Set, Inputing Thai, , Thai
602 @subsection Thai Character Set
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
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:
614 @samp{% mule -lsp 5+0}
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:
621 Mule
\e0
\e-T¤×
\e1Í editor GNU Emacs
\e0·Õè
\e1
\e0¶Ù
\e1¡à
\e0¾Ôè
\e1Á¤ÇÒÁÊÒÁÒöã
\e0Ëé
\e1ã
\e0ªé
\e1ä
\e0´é
\e1
\e0¡Ñ
\e1ºÀÒÉÒËÅÒ æ ÀÒÉÒ
\e-A
622 \e0
\e-TȄ
\e1¨
\e0¨Ø
\e1
\e0ºÑ
\e1¹
\e0¹Õé
\e1
\e0ÁÕ
\e1 Mule
\e0ÃØè
\e1¹ 1
\e0«Öè
\e1§ã
\e0ªé
\e1 GNU Emacs
\e0ÃØè
\e1¹ 18 à
\e0ȍ
\e1¹°Ò¹ áÅÐ Mule
\e0ÃØè
\e1¹ 2
\e0«Öè
\e1§ã
\e0ªé
\e1
\e-A
623 GNU Emacs
\e0
\e-TÃØè
\e1¹ 19 à
\e0ȍ
\e1¹°Ò¹ ੾ÒÐ Mule
\e0ÃØè
\e1¹ 2 à
\e0·è
\e1Ò
\e0¹Ñé
\e1¹
\e0·Õè
\e1¨Ð
\e0¶Ù
\e1¡
\e0¾Ñ
\e1²¹Ò»
\e0ÃÑ
\e1º»
\e0ÃØ
\e1§
\e0µè
\e1Íä»
\e-A
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}.
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*}.
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.
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:
647 (set-default-file-coding-system *junet*)
650 @comment ------------------------------------------------------------
651 @node Inputing Thai, , Thai Character Set, Thai
652 @subsection Inputing Thai
654 To input Thai characters, use the Quail system. The Quail system
655 converts one or more ASCII characters into a Thai character.
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.
663 The Thai keymap in quail-mode looks like this:
666 \e-TÅ# /ñ _ò Àó ¶ô ØÙ Ö
\e0Ñé
\e1 ¤õ µö ¨÷ ¢ø ªù ßï £¥
\e-A
667 \e-Tæð ä\" Ó® ¾± и Ñí Õê ó ¹Ï  º° Å,
\e-A
668 \e-T¿Ä ˦ ¡¯ ´â ଠéç èë ÒÉ ÊÈ Ç« §Æ
\e-A
669 \e-T¼( ») á© ÍÎ ÔÚ ×ì
\e0·î
\e1 Á² ãÌ ½?
\e-A
672 The difference from the ordinal Thai keyboards are:
676 @samp{
\e-Tß} and @samp{ï} are assigned to @key{\} and @key{|}
\e-A
679 @samp{
\e-T£} and @samp{¥} are assigned to @key{`} and @key{~}
\e-A
682 We don't know where to assign characters @samp{
\e-Tú} and @samp{û}
\e-A
685 To exit quail-mode, hit @kbd{C-]} once again.
687 For the detail of the Quail system, see @xref{Usage of Quail, , ,
690 @comment ============================================================
691 @node Vietnamese, Latin Script Languages, Thai, Top
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:
699 (set-primary-environment 'viet)
702 If your system administrator did not do this setting, you have to
703 include the above line in your @file{~/.emacs} file.
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
712 * Vietnamese Character Set:: Character Set, Fonts, Coding-system
713 * Inputing Vietnamese:: Quail Package for Vietnamese
716 @comment ------------------------------------------------------------
717 @node Vietnamese Character Set, Inputing Vietnamese, , Vietnamese
718 @subsection Vietnamese Character Set
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.
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}
732 (x-set-ccl lc-vn-1 ccl-x-vn-1-vscii)
733 (x-set-ccl lc-vn-2 ccl-x-vn-2-vscii)
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:
740 Mule l
\e-1à mµt sñ gia công v« ða ngôn ngæ cho GNU Emacs [MULtilingual
\e-A
741 Enhancement to GNU Emacs]. Kh
\e-1ông nhæng nó có th¬ xØ lý chæ ASCII (7
\e-A
742 bit) v
\e-1à ISO Latin-1 (8 bit) mà còn có th¬ xØ lý Nh§t ngæ, Hoa ngæ, Hàn
\e-A
743 ng
\e-1æ (16 bit) mã hóa theo tiêu chu¦n ISO2022 và các d¸ bän (thí dø nhß
\e-A
744 EUC, Compound Text).
\e-2ð
\e-1¯i v¾i Hoa ngæ, Mule có th¬ phøc vø cho cä GB lçn
\e-A
745 Big5. Ngo
\e-1ài ra, hi®n nay chúng tôi cûng phøc vø cho chæ Thái dña trên
\e-A
746 TIS620 m
\e-1£c d¥u tiêu chu¦n này không tuân theo ISO nhßng r¤t ph± thông ·
\e-A
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}.
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
763 (setq *coding-category-bin* '*vscii*)
764 (set-default-file-coding-system '*vscii*)
770 (setq *coding-category-bin* '*viqr*)
771 (set-default-file-coding-system '*viqr*)
774 in your @file{~/.emacs} file.
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:
781 (set-default-file-coding-system '*junet*)
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.
788 @comment ------------------------------------------------------------
789 @node Inputing Vietnamese, , Vietnamese Character Set, Vietnamese
790 @subsection Inputing Vietnamese
792 To input Vietnamese characters, use the Quail system. The Quail
793 system converts one or more ASCII characters into a Vietnamese
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.
802 The following table shows how to put diacritical marks:
805 effect | postfix | examples
806 ------------+---------+----------
807 breve | ( | a( ->
\e-1å
\e-A
808 circumflex | ^ | a^ ->
\e-1â
\e-A
809 horn | + | o+ ->
\e-1½
\e-A
810 ------------+---------+----------
811 acute | ' | a' ->
\e-1á
\e-A
812 grave | ` | a` ->
\e-1à
\e-A
813 hook above | ? | a? ->
\e-1ä
\e-A
814 tilde | ~ | a~ ->
\e-1ã
\e-A
815 dot below | . | a. ->
\e-1Õ
\e-A
816 ------------+---------+----------
817 d bar | dd | dd ->
\e-1ð
\e-A
818 ------------+---------+----------
819 no compose | \ | a\. -> a.
820 ------------+---------+----------
821 combination| (~ | a(~ ->
\e-1Ç
\e-A
824 To exit quail-mode, hit @kbd{C-]} once again.
826 For the detail of the Quail system, see @xref{Usage of Quail, , ,
829 @comment ============================================================
830 @node Latin Script Languages, Cyrillic Script Languages, Vietnamese, Top
831 @section Latin Script Languages
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:
839 (set-primary-environment 'european)
842 If your system administrator did not do this setting, you have to
843 include the above line in your @file{~/.emacs} file.
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}.
849 To print Latin script text, see the online manual @samp{m2ps(1)}
850 and @xref{Top, , m2ps, m2ps}.
853 * Latin-1:: aka ISO 8859-1 and CTEXT
854 * Other Latin Character Sets:: Latin-2, Latin-3, Latin-4 and Latin-5
857 @comment ------------------------------------------------------------
858 @node Latin-1, Other Latin Character Sets, , Latin Script Languages
862 * Displaying Latin-1::
865 @comment ............................................................
866 @node Displaying Latin-1, Inputing Latin-1, , Latin-1
867 @subsubsection Displaying Latin-1
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:
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.»
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}.
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*}.
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.
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:
903 (set-default-file-coding-system *junet*)
906 @comment ............................................................
907 @node Inputing Latin-1, , Displaying Latin-1, Latin-1
908 @subsubsection Inputing Latin-1
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
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}.
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.
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
927 characters. For example, you will get an @samp{é} (@samp{e} with acute
928 accent) by typing an @samp{e} followed by a @samp{'} (single quote).
931 PACKAGE NAME LANGUAGE
932 --------------------------------
933 latin-1 general purpose
942 scandinavian Swedish, Norwegian, Danish, Icelandic and Finnish
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
955 PACKAGE NAME LANGUAGE
956 -------------------------------
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.
974 For the detail of the Quail system, see @xref{Usage of
977 @comment ------------------------------------------------------------
978 @node Other Latin Character Sets, , Latin-1, Latin Script Languages
979 @subsection Other Latin Character Sets
982 * Displaying Other Latin Character Sets::
983 * Inputing Other Latin Character Sets::
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
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:
998 ISO 8859-2 (Latin-2):
\e-BÁ á É é Í í Ú ú
\e-A
999 ISO 8859-3 (Latin-3):
\e-CÁ á É é Í í Ú ú
\e-A
1000 ISO 8859-4 (Latin-4):
\e-DÁ á É é Í í Ú ú
\e-A
1001 ISO 8859-9 (Latin-5):
\e-MÁ á É é Í í Ú ú
\e-A
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}.
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
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:
1019 (set-default-file-coding-system *junet*)
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}
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*)
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.
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
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}.
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.
1053 Here is the table of Quail packages for Latin-x characters:
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)
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}.
1070 @comment ============================================================
1071 @node Cyrillic Script Languages, Greek, Latin Script Languages, Top
1072 @section Cyrillic Script Languages
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
1080 (set-primary-environment 'cyrillic)
1083 If your system administrator did not do this setting, you have to
1084 include the above line in your @file{~/.emacs} file.
1086 To print Cyrillic text, see the online manual @samp{m2ps(1)}
1087 and @xref{Top, , m2ps, m2ps}.
1090 * Displaying Cyrillic::
1091 * Other Coding-systems for Russian::
1092 * Inputing Cyrillic::
1095 @comment ------------------------------------------------------------
1096 @node Displaying Cyrillic, Other Coding-systems for Russian, , Cyrillic Script Languages
1097 @subsection Displaying Cyrillic
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.
1104 If the Cyrillic fonts have been properly installed, you should be able
1105 to read the following Ukrainian folk song:
1108 \e-L²×ïÒ ÑØ ï ÑÐÝÔãàã
\e-A
1109 \e-LÂÐ Ù ×ÐÓàÐÒ, éÞ ×ÝÐÒ.
\e-A
1110 \e-LÇÕàÕ× âã ÑÐÝÔãàã
\e-A
1111 \e-L±ÐÝÔãàØáâÞÜ áâÐÒ.
\e-A
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}.
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*}.
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.
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:
1135 (set-default-file-coding-system *junet*)
1138 @comment ------------------------------------------------------------
1139 @node Other Coding-systems for Russian, Inputing Cyrillic, Displaying Cyrillic, Cyrillic Script Languages
1140 @subsection Other Coding-systems for Russian
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
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:
1153 (set-cyrillic-environment-koi8)
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):
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*)
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:
1174 (set-cyrillic-environment-alternativnyj)
1177 @comment ------------------------------------------------------------
1178 @node Inputing Cyrillic, , Other Coding-systems for Russian, Cyrillic Script Languages
1179 @subsection Inputing Cyrillic
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}.
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.
1191 Here is the table of Quail packages for Cyrillic characters:
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
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}.
1208 @comment ============================================================
1209 @node Greek, Hebrew, Cyrillic Script Languages, Top
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:
1217 (set-primary-environment 'greek)
1220 If your system administrator did not do this setting, you have to
1221 include the above line in your @file{~/.emacs} file.
1223 To print Greek text, see the online manual @samp{m2ps(1)}
1224 and @xref{Top, , m2ps, m2ps}.
1227 * Greek Character Set:: Character Set, Fonts, Coding-system
1228 * Inputing Greek:: Quail Package for Greek
1231 @comment ------------------------------------------------------------
1232 @node Greek Character Set, Inputing Greek, , Greek
1233 @subsection Greek Character Set
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.
1240 If the Greek fonts have been properly installed, you should be able to
1241 read the following poem:
1245 \e-Fèá éäïýìå ôéò áìõãäáëéÝò í'áíèßæïõí
\e-A
1246 \e-Fôá ìÜñìáñá íá ëÜìðïõí óôïí Þëéï
\e-A
1247 \e-Fôç èÜëáóóá íá êõìáôßæåé
\e-A
1249 \e-Fíá óçêùèïýìå ëßãï øçëüôåñá.
\e-A
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,
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*}.
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.
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:
1273 (set-default-file-coding-system *junet*)
1276 @comment ------------------------------------------------------------
1277 @node Inputing Greek, , Greek Character Set, Greek
1278 @subsection Inputing Greek
1280 To input Greek characters, use the Quail system. Hit @kbd{C-]} to
1281 turn into quail-mode. If you do not see the string @samp{[
\e-FÅëëçíéêÜ]} in
\e-A
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.
1287 The Greek keymap in quail-mode looks like this:
1290 1! 2@ 3# 4$ 5% 6^ 7& 8* 9( 0) -_ =+ `~
1291 \e-F·¯ òÓ åÅ ñÑ ôÔ õÕ èÈ éÉ ïÏ ðÐ [{ ]}
\e-A
1292 \e-FáÁ óÓ äÄ öÖ ãà çÇ îÎ êÊ ëË ´¨ '" \|
\e-A
1293 \e-FæÆ ÷× øØ ùÙ â íÍ ìÌ ,; .: /?
\e-A
1296 The keys @kbd{
\e-F´} (@kbd{;} on ASCII keyboard) and @kbd{¨} (@kbd{:} on
\e-A
1297 ASCII keyboard) work as dead keys. For example,
1300 @samp{
\e-Fá} + @samp{´} becomes @samp{Ü}
\e-A
1301 @samp{
\e-Fé} + @samp{¨} becomes @samp{ú}
\e-A
1302 @samp{
\e-Fé} + @samp{¨} + @samp{´} becomes @samp{À}
\e-A
1305 To exit quail-mode, hit @kbd{C-]} once again.
1307 For the detail of the Quail system, see @xref{Usage of Quail, , ,
1310 @comment ============================================================
1311 @node Hebrew, Arabic Script Languages, Greek, Top
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:
1319 (set-primary-environment 'hebrew)
1322 If your system administrator did not do this setting, you have to
1323 include the above line in your @file{~/.emacs} file.
1325 To print Hebrew text, see the online manual @samp{m2ps(1)}
1326 and @xref{Top, , m2ps, m2ps}.
1329 * Hebrew Character Set::
1330 * Display-direction for Hebrew::
1332 * Hebrew Cut and Paste::
1335 @comment ------------------------------------------------------------
1336 @node Hebrew Character Set, Display-direction for Hebrew, , Hebrew
1337 @subsection Hebrew Character Set
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.
1344 If the Hebrew fonts have been properly installed, you should be able to
1345 read the following Hebrew alphabet:
1348 \9b2]
\e-Hàáâãäåæçèéêëìíîïðñòóôõö÷øùú
\9b0]
\e-A
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,
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*}.
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:
1365 (set-default-file-coding-system *junet*)
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.
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:
1382 (set-default-file-coding-system *ctext-hebrew*)
1385 @comment ------------------------------------------------------------
1386 @node Display-direction for Hebrew, Inputing Hebrew, Hebrew Character Set, Hebrew
1387 @subsection Display-direction for Hebrew
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.
1395 We strongly recommend you to turn on @dfn{visual-mode} by
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
1405 @comment ------------------------------------------------------------
1406 @node Inputing Hebrew, Hebrew Cut and Paste, Display-direction for Hebrew, Hebrew
1407 @subsection Inputing Hebrew
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.
1416 The Hebrew keymap in quail-mode looks like this:
1419 1! 2@ 3# 4$ 5% 6^ 7& 8* 9( 0) -_ =+ ;~ \|
1420 /Q 'W
\9b2]
\e-H÷
\9b0]E
\9b2]ø
\9b0]R
\9b2]à
\9b0]T
\9b2]è
\9b0]Y
\9b2]å
\9b0]U
\9b2]ï
\9b0]I
\9b2]í
\9b0]O
\9b2]ô
\9b0]P [{ ]}
\e-A
1421 \9b2]
\e-Hù
\9b0]A
\9b2]ã
\9b0]S
\9b2]â
\9b0]D
\9b2]ë
\9b0]F
\9b2]ò
\9b0]G
\9b2]é
\9b0]H
\9b2]ç
\9b0]J
\9b2]ì
\9b0]K
\9b2]ê
\9b0]L
\9b2]ó
\9b0]
\e(B:
\e[0]
\e[2],"
\e[0]
\e-A
1422 \e[2]
\e,H
\9b2]
\e-Hæ
\9b0]Z
\9b2]ñ
\9b0]X
\9b2]á
\9b0]C
\9b2]ä
\9b0]V
\9b2]ð
\9b0]B
\9b2]î
\9b0]N
\9b2]ö
\9b0]M
\9b2]ú
\9b0]
\e(B<
\e[0]
\e[2]
\e,H
\9b2]õ
\9b0]
\e(B>
\e[0]
\e[2].?
\e[0]
\e-A
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-]}
1430 For the detail of the Quail system, see @xref{Usage of Quail, , ,
1433 @comment ------------------------------------------------------------
1434 @node Hebrew Cut and Paste, , Inputing Hebrew, Hebrew
1435 @subsection Hebrew Cut and Paste
1437 Use @kbd{C-d} to delete the character under the cursor.
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.
1447 The following four commands remove the specified stretch of string and
1448 put it in the @code{kill-ring}:
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}
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.
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
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.
1469 @comment ============================================================
1470 @node Arabic Script Languages, Ethiopic Languages, Hebrew, Top
1471 @section Arabic Script Languages
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:
1479 (set-primary-environment 'arabic)
1482 If your system administrator did not do this setting, you have to
1483 include the above line in your @file{~/.emacs} file.
1485 * ARABIC TOGGLING COMMAND HAS BEEN CHANGED FROM @kbd{C-]} TO @kbd{M-\}.
1487 To print Arabic text, see the online manual @samp{m2ps(1)} and
1488 @xref{Top, , m2ps, m2ps}.
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
1497 * Arabic Character Set::
1499 * Display-direction in Arabic-mode::
1500 * Inputing Arabic Characters::
1501 * Arabic Cut and Paste::
1504 @comment ------------------------------------------------------------
1505 @node Arabic Character Set, Arabic-mode, , Arabic Script Languages
1506 @subsection Arabic Character Set
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:
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)
1518 The @samp{??} part indicates the font size. You will find 16 pixels
1519 fonts and 24 pixels fonts on Mule FTP sites.
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:
1526 @samp{% mule -lsp 0+9}
1529 Or if you are using 24 pixels fonts, start up Mule with:
1532 @samp{% mule -lsp 0+12}
1535 If the fonts are properly installed, you should be able to read the
1536 following famous words:
1539 \e[2]
\e(3
\9b2]
\e(3U
\e(4?
\e(3G![;=!8RYa
\e(4Z
\e(3&
\9b0]
\e(B
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.
1551 @comment ------------------------------------------------------------
1552 @node Arabic-mode, Display-direction in Arabic-mode, Arabic Character Set, Arabic Script Languages
1553 @subsection Arabic-mode
1555 You use @dfn{arabic-mode} to input and edit Arabic texts. This
1556 section describes the features of arabic-mode in detail.
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
1567 +----------------------------------------------+
1568 | +--------------------+ |
1571 +-------------+ +------------+ C-] +-----------+
1572 | | C-] |arabic-mode | ------> |arabic-mode|
1573 |initial state| ------> | with | | with |
1574 | | |Arabic input| <------ |ASCII input|
1575 +-------------+ +------------+ C-] +-----------+
1578 The string @samp{
\9b2]
\e(3JG:a=
\9b0]
\e(B} in the mode-line indicates that you are in
1579 arabic-mode and the keyboard produces Arabic characters; @samp{Arabic}
1580 indicates that you are in arabic-mode and the keyboard produces ASCII
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.
1587 @comment ------------------------------------------------------------
1588 @node Display-direction in Arabic-mode, Inputing Arabic Characters, Arabic-mode, Arabic Script Languages
1589 @subsection Display-direction in Arabic-mode
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}.
1598 For the detail of @code{display-direction} and the cursor motion in
1599 arabic-mode, see @xref{Top, , Right-to-left writing, R2L}.
1601 @comment ------------------------------------------------------------
1602 @node Inputing Arabic Characters, Arabic Cut and Paste, Display-direction in Arabic-mode, Arabic Script Languages
1603 @subsection Inputing Arabic Characters
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}.
1610 The first keyboard layout was contributed by a Farsi speaker. It looks
1614 +-------------------+
1617 +-------------------+
1619 +----------------------------------------------------------------+
1620 |
\9b2]
\e(3"
\9b0]
\e(B | | | | | | | |
\9b2]
\e(3#
\9b0]
\e(B |
\9b2]
\e(3$
\9b0]
\e(B | | | |
1621 |
\e(2"
\e(B 1|
\e(2#
\e(B 2|
\e(2$
\e(B 3|
\e(2%
\e(B 4|
\e(2&
\e(B 5|
\e(2'
\e(B 6|
\e(2(
\e(B 7|
\e(2)
\e(B 8|
\e(2*
\e(B 9|
\e(2!
\e(B 0| -| =| `|
1622 +----------------------------------------------------------------+
1623 | | | | | | | | | | | | |
1624 |
\9b2]
\e(4A
\9b0]
\e(B q|
\9b2]
\e(4=
\9b0]
\e(B w|
\9b2]
\e(4S
\9b0]
\e(B e|
\9b2]
\e(4Q
\9b0]
\e(B r|
\9b2]
\e(4O
\9b0]
\e(B t|
\9b2]
\e(4M
\9b0]
\e(B y|
\9b2]
\e(3Z
\9b0]
\e(B u| i|
\9b2]
\e(41
\9b0]
\e(B o|
\9b2]
\e(4-
\9b0]
\e(B p|
\9b2]
\e(4)
\9b0]
\e(B [|
\9b2]
\e(4g
\9b0]
\e(B ]|
1625 +-------------------------------------------------------------+
1626 | | | |
\9b2]
\e(4e
\9b0]
\e(B |
\9b2]
\e(3.
\9b0]
\e(B | | | | |
\9b2]
\e(4k
\9b0]
\e(B| |
\9b2]
\e(3,
\9b0]
\e(B |
1627 |
\9b2]
\e(49
\9b0]
\e(B a|
\9b2]
\e(45
\9b0]
\e(B s|
\9b2]
\e(4_
\9b0]
\e(B d|
\9b2]
\e(4#
\9b0]
\e(B f|
\9b2]
\e(38
\9b0]
\e(B g|
\9b2]
\e(4%
\9b0]
\e(B h|
\9b2]
\e(4Y
\9b0]
\e(B j|
\9b2]
\e(4[
\9b0]
\e(B k|
\9b2]
\e(3T
\9b0]
\e(B l|
\9b2]
\e(4U
\9b0]
\e(B ;| '| \|
1628 +-----------------------------------------------------------+
1629 | | | |
\9b2]
\e(30
\9b0]
\e(B
\9b2]
\e(3-
\9b0]
\e(B|
\9b2]
\e(3h
\9b0]
\e(B | | |
\9b2]
\e(3*
\9b0]
\e(B |
\9b2]
\e(3+
\9b0]
\e(B |
\9b2]
\e(3)
\9b0]
\e(B |
1630 |
\9b2]
\e(4I
\9b0]
\e(B z|
\9b2]
\e(4E
\9b0]
\e(B x|
\9b2]
\e(3D
\9b0]
\e(B c|
\9b2]
\e(3B
\9b0]
\e(B v|
\9b2]
\e(3H
\9b0]
\e(B b|
\9b2]
\e(3F
\9b0]
\e(B n|
\9b2]
\e(3^
\9b0]
\e(B m|
\9b2]
\e(3%
\9b0]
\e(B ,|
\9b2]
\e(3&
\9b0]
\e(B .| /|
1631 +-------------------------------------------------+
1634 To use this keyboard layout, include the following line in your
1635 @file{~/.emacs} file:
1638 (setq arabic-input-keymap 'arabic-key-1)
1641 The second layout is based on phonetic transcription and looks like
1645 Left : ASCII-mode Right : arabic-mode
1646 Upper : shifted Lower : unshifted
1648 +----------------------------------------------------------------+
1649 |!
\9b2]
\e(3"
\9b0]
\e(B |@ |# |$ |% |^ |& |* |(
\9b2]
\e(3#
\9b0]
\e(B |)
\9b2]
\e(3$
\9b0]
\e(B |_ |+ |~
\9b2]
\e(3+
\9b0]
\e(B |
1650 |1
\e(2"
\e(B |2
\e(2#
\e(B |3
\e(2$
\e(B |4
\e(2%
\e(B |5
\e(2&
\e(B |6
\e(2'
\e(B |7
\e(2(
\e(B |8
\e(2)
\e(B |9
\e(2*
\e(B |0
\e(2!
\e(B |- |= |`
\9b2]
\e(4M
\9b0]
\e(B|
1651 +----------------------------------------------------------------+
1652 |Q |W |E |R |T
\9b2]
\e(4E
\9b0]
\e(B|Y |U |I |O |P |{ |} |
1653 |q
\9b2]
\e(4S
\9b0]
\e(B|w
\9b2]
\e(3^
\9b0]
\e(B |e |r
\9b2]
\e(3F
\9b0]
\e(B |t
\9b2]
\e(4%
\9b0]
\e(B|y
\9b2]
\e(4_
\9b0]
\e(B|u |i |o
\9b2]
\e(3<
\9b0]
\e(B |p |[ |] |
1654 +-------------------------------------------------------------+
1655 |A
\9b2]
\e(4]
\9b0]
\e(B|S
\9b2]
\e(4=
\9b0]
\e(B|D
\9b2]
\e(4A
\9b0]
\e(B|F |G
\9b2]
\e(4O
\9b0]
\e(B|H
\9b2]
\e(4-
\9b0]
\e(B|J |K
\9b2]
\e(41
\9b0]
\e(B|L |:
\9b2]
\e(3'
\9b0]
\e(B |"
\9b2]
\e(3-
\9b0]
\e(B ||
\9b2]
\e(3,
\9b0]
\e(B |
1656 |a
\9b2]
\e(38
\9b0]
\e(B |s
\9b2]
\e(45
\9b0]
\e(B|d
\9b2]
\e(3B
\9b0]
\e(B |f
\9b2]
\e(4Q
\9b0]
\e(B|g |h
\9b2]
\e(3Z
\9b0]
\e(B |j
\9b2]
\e(4)
\9b0]
\e(B|k
\9b2]
\e(4U
\9b0]
\e(B|l
\9b2]
\e(4Y
\9b0]
\e(B|;
\9b2]
\e(3(
\9b0]
\e(B |'
\9b2]
\e(3*
\9b0]
\e(B |\ |
1657 +-----------------------------------------------------------+
1658 |Z
\9b2]
\e(4I
\9b0]
\e(B|X |C |V |B |N |M |< |> |?
\9b2]
\e(3)
\9b0]
\e(B |
1659 |z
\9b2]
\e(3H
\9b0]
\e(B |x
\9b2]
\e(3D
\9b0]
\e(B |c
\9b2]
\e(4'
\9b0]
\e(B|v |b
\9b2]
\e(4#
\9b0]
\e(B|n
\9b2]
\e(4[
\9b0]
\e(B|m
\9b2]
\e(3T
\9b0]
\e(B |,
\9b2]
\e(3%
\9b0]
\e(B |.
\9b2]
\e(3&
\9b0]
\e(B |/
\9b2]
\e(49
\9b0]
\e(B|
1660 +-------------------------------------------------+
1663 a ~ madda above alif
1664 a ' hamza above alif
1665 w ' hamza above waaw
1666 a ' ' hamza below alif
1671 To use this keyboard layout, include the following line in your
1672 @file{~/.emacs} file:
1675 (setq arabic-input-keymap 'arabic-key-0)
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,
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.
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.
1698 To input ASCII characters or ASCII digits, you have to exit
1699 arabic-mode by hitting @kbd{C-]}.
1701 @comment ------------------------------------------------------------
1702 @node Arabic Cut and Paste, , Inputing Arabic Characters, Arabic Script Languages
1703 @subsection Cut and Paste
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.
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.
1717 The following four commands remove the specified stretch of string and
1718 put it in the @code{kill-ring}:
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}
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.
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
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
1740 @comment ============================================================
1741 @node Ethiopic Languages, IPA, Arabic Script Languages, Top
1742 @section Ethiopic Languages
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.} :
1754 (set-primary-environment 'ethio)
1757 If your system administrator did not include the above line, you have
1758 to include it in your @file{~/.emacs} file.
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
1768 * Editing Ethiopic Text::
1769 * ASCII Transcription for Ethiopic::
1771 * Configuration for Ethiopic::
1772 * Function Keys for Ethiopic::
1775 @comment ------------------------------------------------------------
1776 @node Ethiopic Fonts, Editing Ethiopic Text, , Ethiopic Languages
1777 @subsection Ethiopic Fonts
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}.
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 :
1791 If the Ethiopic font has been properly installed, you should be able
1792 to read the following text:
1795 \e$(2"g!)"K"^"<
\e(B "Taste of Ethiopia"
1797 \e$(2"g"S#9!6
\e(B
\e$(2#J"8
\e(B
\e$(2"X!f$2!4
\e(B
\e$(2!!!)#<#9!6
\e(B
\e$(2$$"&!A!1
\e(B
\e$(2!&!."(
\e(B
1799 \e$(2$$!+"#!D!!#"!V
\e(B
\e$(2!Q"X"`!&
\e(B
\e$(2"S$)!a!W!^!d
\e(B
\e$(2!)"+!g!^$R
\e(B
1801 -
\e$(2"\!!!V
\e(B
\e$(2!F!6"8#'
\e(B
\e$(2$$"/"@
\e(B
\e$(2"$#%!V
\e(B
1802 -
\e$(2"\!!!V
\e(B
\e$(2!F!6"8#'
\e(B
\e$(2!a"8
\e(B
\e$(2$$"H!f"'
\e(B
\e$(2#E$)!f!.
\e(B
\e$(2$$#9!F"H
\e(B
\e$(2"$#%!V
\e(B
1803 -
\e$(2"S!f"(
\e(B
\e$(2!Q"h!&
\e(B
\e$(2$$"H"q!6
\e(B
\e$(2!.!f"i$'
\e(B
\e$(2!E"i$)!f#>
\e(B
\e$(2$J#J"#!6
\e(B
1804 -
\e$(2"S!."H!V
\e(B
\e$(2!F!6"8#'
\e(B
\e$(2!/#&
\e(B
\e$(2$'!!
\e(B
\e$(2#J"^
\e(B
1806 \e$(2$W
\e(B)
\e$(2$$"/"@
\e(B
\e$(2"$#%!R
\e(B
\e$(2!A"\!!!V
\e(B
\e$(2!Q"h!&
\e(B
\e$(2!F!6"8#'
\e(B
\e$(2#J"^
\e(B
\e$(2!Q!G"l!W
\e(B
\e$(2$)#!!)".!&$P
\e(B
1808 \e$(2$X
\e(B)
\e$(2$$"H!f"'#J
\e(B
\e$(2#E$)!.
\e(B
\e$(2$$#9!F"D
\e(B
\e$(2"$#%!V
\e(B
\e$(2#>!,!9
\e(B
\e$(2$$"H"q!6
\e(B
\e$(2!)!f"i$'
\e(B
\e$(2!E"i$)!f#>
\e(B
1809 \e$(2$J#J"#!6
\e(B
\e$(2$)#9!D!A!V!d
\e(B
\e$(2!A!F!%!f"#!6
\e(B
\e$(2#J"H"0
\e(B
\e$(2!Q#H"`")
\e(B
\e$(2!A"F"`!f
\e(B
\e$(2#J"H"0
\e(B
1810 \e$(2$)#!!)".!&$P
\e(B
1812 \e$(2$Y
\e(B)
\e$(2"\!!!R
\e(B
\e$(2!B"m#K!^
\e(B
\e$(2!Q"g"(!a#J
\e(B
\e$(2"g
\e(B2
\e$(2"X"H"g
\e(B 3
\e$(2#!!f
\e(B
\e$(2"X!f"%$'#!!2
\e(B
\e$(2$)#!!)".!"$P
\e(B
1814 \e$(2$Z
\e(B)
\e$(2#!!b
\e(B
\e$(2"g"#!1"H
\e(B
\e$(2!A"e!$
\e(B
\e$(2#!"H
\e(B
\e$(2!Q!F!'
\e(B
\e$(2$$#!!1!1#J!f
\e(B
\e$(2#J"^
\e(B
\e$(2"g"\!!!R!.
\e(B
\e$(2"F"`!g!^
\e(B
\e$(2#J"H"0
\e(B
1817 \e$(2$[
\e(B)
\e$(2"\!!!R!.
\e(B
\e$(2"X"`!&
\e(B (
\e$(2"/"@
\e(B
\e$(2"X!d
\e(B
\e$(2"H!f"'
\e(B/
\e$(2#9!F"H
\e(B)
\e$(2"S#!!$#&!'
\e(B
\e$(2!)!!#J"H!d
\e(B
\e$(2"X"`!"
\e(B
\e$(2"h"@
\e(B
1818 \e$(2"X"H"i!&
\e(B
\e$(2"(!1"H
\e(B
\e$(2!!
\e(B2
\e$(2"C#b!V
\e(B
\e$(2$'"`!&
\e(B
\e$(2!,"H#!!)"0$P
\e(B
1820 \e$(2$\
\e(B)
\e$(2"g!s$'
\e(B
\e$(2!A"e!$
\e(B 425
\e$(2"%#>!3"H
\e(B F
\e$(2!A!/#!
\e(B
\e$(2!)#<#9!3$'
\e(B
\e$(2"S$$!6
\e(B
\e$(2"X!f"&$)#9!D
\e(B
\e$(2!W!'
\e(B
1821 \e$(2"X$$"g"#!b
\e(B
\e$(2"X!f$2!4#J!f
\e(B
\e$(2!)#<#9!6$P
\e(B
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}.
1829 @comment ------------------------------------------------------------
1830 @node Editing Ethiopic Text, ASCII Transcription for Ethiopic, Ethiopic Fonts, Ethiopic Languages
1831 @subsection Editing Ethiopic Text
1834 * Quail-mode for Ethiopic::
1836 * Ethiopic Punctuation Input::
1837 * Ethiopic Numeric Input::
1838 * Ethiopic Special Characters::
1841 @comment ............................................................
1842 @node Quail-mode for Ethiopic, Fidel Input, , Editing Ethiopic Text
1843 @subsubsection Entering and Leaving Ethiopic mode
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.
1852 For the detail of the Quail system, see @xref{Usage of Quail, , ,
1855 @comment ............................................................
1856 @node Fidel Input, Ethiopic Punctuation Input, Quail-mode for Ethiopic, Editing Ethiopic Text
1857 @subsubsection Fidel Input
1859 \e$(2"[
\e(B. About Consonants
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.
1869 he =
\e$(2"[
\e(B `ke =
\e$(2#m
\e(B
1870 le =
\e$(2!!
\e(B Ke =
\e$(2"s
\e(B
1871 He =
\e$(2#{
\e(B Xe =
\e$(2#t
\e(B
1872 me =
\e$(2!)
\e(B we =
\e$(2#E
\e(B
1873 `se =
\e$(2#Q
\e(B `e =
\e$(2#_
\e(B
1874 re =
\e$(2!1
\e(B ze =
\e$(2!q
\e(B
1875 se =
\e$(2"C
\e(B Ze =
\e$(2!y
\e(B
1876 xe =
\e$(2!9
\e(B ye =
\e$(2$$
\e(B
1877 qe =
\e$(2#!
\e(B de =
\e$(2"#
\e(B
1878 Qe =
\e$(2#-
\e(B De =
\e$(2$+
\e(B
1879 be =
\e$(2!A
\e(B je =
\e$(2$2
\e(B
1880 ve =
\e$(2!I
\e(B ge =
\e$(2#9
\e(B
1881 te =
\e$(2!Q
\e(B Ge =
\e$(2$9
\e(B
1882 ce =
\e$(2!Y
\e(B Te =
\e$(2"+
\e(B
1883 `he =
\e$(2#f
\e(B Ce =
\e$(2"3
\e(B
1884 ne =
\e$(2!a
\e(B Pe =
\e$(2$@
\e(B
1885 Ne =
\e$(2!i
\e(B Se =
\e$(2"K
\e(B
1886 e,a =
\e$(2"S
\e(B `Se =
\e$(2#X
\e(B
1887 ke =
\e$(2"g
\e(B fe =
\e$(2";
\e(B
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
1895 s2e = `se =
\e$(2#Q
\e(B
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).
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).
1907 \e$(2!!
\e(B. About Vowels
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
1919 me mu mi ma mE m mo mWa
1920 \e$(2!)
\e(B
\e$(2!*
\e(B
\e$(2!+
\e(B
\e$(2!,
\e(B
\e$(2!-
\e(B
\e$(2!.
\e(B
\e$(2!/
\e(B
\e$(2!0
\e(B
1923 e/a u/U i A E I o/O e3
1924 \e$(2"S
\e(B
\e$(2"T
\e(B
\e$(2"U
\e(B
\e$(2"V
\e(B
\e$(2"W
\e(B
\e$(2"X
\e(B
\e$(2"Y
\e(B
\e$(2"Z
\e(B
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 \e$(2!&"S
\e(B
\e$(2!&"T
\e(B
\e$(2!&"U
\e(B
\e$(2!&"V
\e(B
\e$(2!&"W
\e(B
\e$(2!&"X
\e(B
\e$(2!&"Y
\e(B
1931 Consonants With 12 forms:
1932 hWe hWu/hW' hWi hWa hWE
1933 \e$(2"b
\e(B
\e$(2"c
\e(B
\e$(2"d
\e(B
\e$(2"e
\e(B
\e$(2"f
\e(B
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{
\e$(2"c
\e(B} in the above). Phonetical keyed
1939 input is permitted for both ways a person may have been taught.
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 ->
\e$(2!F#L
\e(B, pWE ->
\e$(2$L#P
\e(B.
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}.
1954 @comment ............................................................
1955 @node Ethiopic Punctuation input, Ethiopic Numeric Input, Fidel Input, Editing Ethiopic Text
1956 @subsubsection Ethiopic Punctuation input
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 :
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
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{
\e$(2$N
\e(B}, and @samp{
\e$(2$O
\e(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{
\e$(2$O
\e(B}, indicates to you that the space bar will
1991 now use the Ethiopic word separator.
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.
1999 @comment ............................................................
2000 @node Ethiopic Numeric Input, Ethiopic Special Characters, Ethiopic Punctuation Input, Editing Ethiopic Text
2001 @subsubsection Ethiopic Numeric Input
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{
\e$(2$W
\e(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}.
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.
2017 @comment ............................................................
2018 @node Ethiopic Special Characters, , Ethiopic Numeric Input, Editing Ethiopic Text
2019 @subsection Ethiopic Special Characters
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).
2027 @comment ------------------------------------------------------------
2028 @node ASCII Transcription for Ethiopic, Ethiopic Mail, Editing Ethiopic Text, Ethiopic Languages
2029 @subsection ASCII Transcription for Ethiopic
2033 * Mixed Script in SERA::
2034 * Customising SERA::
2035 * SERA for file I/O::
2038 @comment ............................................................
2039 @node Basic SERA, Mixed Script in SERA, , ASCII Transcription for Ethiopic
2040 @subsubsection Basic SERA
2042 When written systematically, ASCII files (a file composed with the
2043 characters available from a common English keyboard) may be
2044 interpreted by Mule and viewed as Ethiopic text. Likewise, an Ethiopic
2045 document may be written out by Mule into ASCII for importation
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.
2058 A sample text of SERA is given below. This is the transcription of
2059 the text in @xref{Ethiopic Fonts}.
2062 kemeSehafu \"Taste of Ethiopia"\
2064 ke'ager wC Injera lemegager yedabere lmd
2066 yemidebalequt teIhl aynetocna meTenoc;
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
2073 \1) yeTEf duqEtu behulet tekul brCqo wha tebokto yqemeTal.
2075 \2) yesndEw weym yegebsu duqEt gmaxe yeskWar menkiya bEkiyng
2076 pawder ygebabetna beblEnder wsT tewahdo besahn wsT
2079 \3) huletu bukowoc tekednew ke2 Iske 3 qen Indiyaqeru yqemeTalu.
2081 \4) qenu kederes behWala qes teblo yeqererewn wha kehuletum sahnoc wsT
2084 \5) huletum Ihl (TEf Ina sndE/gebs) aqelaqlo melewsna Ihlu kuf
2085 Iskil dres le2 se`at yahl masqemeT.
2087 \6) keziya behWala 425 digris \F \ bemoqe megageriya ayer Indaygeba tolo
2088 Iyekedenu Injerawn megager.
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
2099 @comment ............................................................
2100 @node Mixed Script in SERA, Customising SERA, Basic SERA, ASCII Transcription for Ethiopic
2101 @subsubsection Mixed Script in SERA
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
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.
2119 Sends @samp{\} from either mode.
2122 Sends the equivalent punctuation of the OTHER mode to the screen.
2124 @item \_ \* \< \> \1 ... \9
2125 Sends the defined Ethiopic character from both modes.
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).
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
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
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.
2150 @comment ............................................................
2151 @node Customising SERA, SERA for file I/O, Mixed Script in SERA, ASCII Transcription for Ethiopic
2152 @subsubsection Customising SERA
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{
\e$(2"[
\e(B},
2159 @samp{
\e$(2#{
\e(B}, @samp{
\e$(2#f
\e(B} sound the same as @samp{
\e$(2"^
\e(B}, @samp{
\e$(2#~
\e(B}, @samp{
\e$(2#i
\e(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{
\e$(2"S
\e(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{
\e$(2"S
\e(B}
2166 when converting Latin->Ethiopic; but the user must decide on a choice of
2167 @samp{a} or @samp{e} for converting Ethiopic->Latin.
2169 The default conversion in mule is to write @samp{
\e$(2"S
\e(B} as @samp{a}. You
2170 may set Mule to always convert @samp{
\e$(2"S
\e(B} as @samp{e} by adding the line
2171 below to your @file{~/.emacs} file:
2174 (setq ethio-use-tigrigna-style t)
2177 As discussed before (@xref{Fidel Input}), the natural choice 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:
2184 (setq ethio-W-sixth-always t)
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:
2193 (setq ethio-quote-vowel-always t)
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.
2200 For example, consider the Latin sequence @samp{\10\9\100\80\7} for
2201 @samp{
\e$(2$`$_$i$g$]
\e(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:
2207 (setq ethio-numeric-reduction 0)
2210 The next level in reduction is the form @samp{\109100807} which can be
2214 (setq ethio-numeric-reduction 1)
2217 The final level in reduction is the form @samp{\10900807} which can be
2221 (setq ethio-numeric-reduction 2)
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
2228 @comment ............................................................
2229 @node SERA for file I/O, , Customising SERA, ASCII Transcription for Ethiopic
2230 @subsubsection SERA for file I/O::
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.
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
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},
2244 @comment ------------------------------------------------------------
2245 @node Ethiopic Mail, Configuration for Ethiopic, ASCII Transcription for Ethiopic, Ethiopic Languages
2246 @subsection Ethiopic Mail
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).
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.
2257 If you include the line
2260 (add-hook 'mail-send-hook 'fidel-to-sera-mail)
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}
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.
2275 Likewise, if you include the line
2278 (add-hook 'rmail-show-message-hook 'sera-to-fidel-mail)
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}.
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
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.
2299 @comment ------------------------------------------------------------
2300 @node Configuration for Ethiopic, Function Keys for Ethiopic, Ethiopic Mail, Ethiopic Languages
2301 @subsection Configuration for Ethiopic
2303 To use Ethiopic most easily, you may want to create the
2304 @file{~/.emacs} file in your home directory that contains the following
2308 (set-primary-environment 'ethio)
2311 Here are the lines that you might want to include in your
2312 @file{~/.emacs} file:
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{
\e$(2"S
\e(B}.
2319 @item (setq ethio-quote-vowel-always t)
2320 When writing SERA output @samp{'} is inserted between two adjacent
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}.
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{
\e$(2$[$i
\e(B} will be
2330 @samp{\5\100} if # is 0, @samp{\5100} if 1, @samp{\500} if 2.
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]}}
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.
2340 @item (add-hook 'news-inews-hook 'fidel-to-sera-mail)
2341 Will convert Ge'ez news article into SERA format when posting news
2345 @comment ------------------------------------------------------------
2346 @node Function keys for Ethiopic, , Configuration for Ethiopic, Ethiopic Languages
2347 @subsection Function keys for Ethiopic
2349 Some function keys have been mentioned in the above. A complete list
2350 of the function keys available is presented separately here.
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{
\e$(2$W
\e(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.)
2361 @item @key{[F2]} or @kbd{M-x ethio-toggle-space}
2362 toggles space characters (one of the three below) for keyboard
2367 @samp{ } - Single width ASCII space. Mode line Indicator is @samp{_}.
2370 @samp{
\e$(2$N
\e(B} - Double width Ethiopic blank. Mode line Indicator is @samp{
\e$(2$N
\e(B}.
2373 @samp{
\e$(2$O
\e(B} - Ethiopic word separator. Mode line Indicator is @samp{
\e$(2$O
\e(B}.
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
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{
\e$(2$P
\e(B} (Ethiopic). The
2383 default is Ethiopic punctuations. (Available only in quail-mode.)
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.
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]}}.
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.
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.
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.
2413 For backward compatibility, @samp{<ethiopic>} and @samp{<>} can be used
2414 instead of @samp{<sera>} and @samp{</sera>}.
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{
\e$(2"S
\e(B} is
2422 transcribed by @samp{a}. If you want it to be @samp{e}, put the
2423 following line in your .emacs file:
2426 (setq ethio-use-tigrigna-style t)
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:
2435 (setq ethio-quote-vowel-always t)
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]}}.
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.
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.
2455 If the buffer contains at least one Ethiopic character, then it
2457 1) inserts the string @samp{<sera>} right after the head-body
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.
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.
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:
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
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
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
2490 Ethiopic blank. 3 means the traditional Ethiopic word separator. This
2491 command is independent from the space selection for keyboard input.
2493 @item @key{[F8]} or @kbd{M-x ethio-input-special-character}
2494 inputs graphical images in font file. A menu will appear in
2498 @comment ============================================================
2499 @node IPA, , Ethiopic Languages, Top
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.
2505 To print text that contains IPA characters, see the online manual
2506 @samp{m2ps(1)} and @xref{Top, , m2ps, m2ps}.
2509 * IPA Character Set:: IPA Characters and IPA Fonts
2510 * Inputing IPA:: Quail Package for IPA
2513 @comment ------------------------------------------------------------
2514 @node IPA Character Set, Inputing IPA, , IPA
2515 @subsection IPA Character Set
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}.
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:
2526 @file{etl14-ipa.bdf}
2527 @file{etl16-ipa.bdf}
2528 @file{etl24-ipa.bdf}
2531 If the IPA fonts have been properly installed, you should be able to
2532 read the following line:
2535 \e-0É¡Ê ¡Ë § Ú¥ Ó Ö¡ÂÓ ¡Ó ð¥ ðÀ òð¢ Äð¤Ö§Ä§Ë
\e-A
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, ,
2543 @comment ------------------------------------------------------------
2544 @node Inputing IPA, , IPA Character Set, IPA
2545 @subsection Inputing IPA
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-]}
2555 For the detail of the Quail system, see @xref{Usage of Quail, , ,
2558 Here are the key bindings for IPA characters in quail-mode:
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)
2572 /m upside-down small m
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)
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