diff man/mule/languages.texi @ 70:131b0175ea99 r20-0b30

Import from CVS: tag r20-0b30
author cvs
date Mon, 13 Aug 2007 09:02:59 +0200
parents
children 0d2f883870bc
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/man/mule/languages.texi	Mon Aug 13 09:02:59 2007 +0200
@@ -0,0 +1,2633 @@
+\input texinfo  @c -*-texinfo-*-
+@setfilename ../info/languages
+@settitle Foreign Languages
+
+@titlepage
+@sp 6
+@ceter @titlefont{Foreign Languages}
+@sp 4
+@center Version 2.1
+@sp 5
+@center TAKAHASHI Naoto
+@center ntakahas@@etl.go.jp
+@page
+
+@end titlepage
+
+@node Top, , , (mule)
+@section Foreign Languages
+
+This document describes how to read and write various Asian and European
+languages in Mule.
+
+@menu
+* Chinese::                             Simplified and Traditional Hanzi 
+* Japanese::                            Hiragana, Katakana, Kanji
+* Korean::                              Hangul and Hanja
+* Thai::                                Thai
+* Vietnamese::                          Vietnamese
+* Latin Script Languages::              French, German, Swedish, etc.
+* Cyrillic Script Languages::           Russian, Bulgarian, Ukrainian, etc.
+* Greek::                               Greek
+* Hebrew::                              Hebrew
+* Arabic Script Languages::             Arabic, Farsi, etc.
+* Ethiopic Languages::                  Amharic, Tigrigna, etc.
+* IPA::                                 International Phonetic Alphabet
+@end menu
+
+@comment ============================================================
+@node Chinese, Japanese, , Top
+@section Chinese
+
+  This section describes how to read and write Chinese (both simplified
+and traditional hanzi) in Mule.  To make Chinese the primary
+environment, the following line should be included in the
+@file{$MULE/lisp/site-init.el} file at the compile time:
+
+@lisp
+(set-primary-environment 'chinese)
+@end lisp
+
+If your system administrator did not do this setting, you have to
+include the above line in your @file{~/.emacs} file.
+
+  To print Chinese text, see the online manual @samp{m2ps(1)}
+and @xref{Top, , m2ps, m2ps}.
+
+@menu
+* Chinese Character Sets::      GB and BIG5
+* Chinese Fonts::               Running Mule as an X client program
+* Coding-system for Chinese::   File I/O and Process Communication
+* Using cWnn::                  Network wide hanzi conversion server
+* Quail for Chinese::           Simple input method
+* Running Mule in cxterm::      Using cxterm's input method
+* PIG-mode::                    Yet another mode for Chinese
+* Chinese News::                How to read alt.chinese.text[.big5]
+@end menu
+
+@comment ------------------------------------------------------------
+@node Chinese Character Sets, Chinese Fonts, , Chinese
+@subsection Chinese Character Sets
+
+  There are two character sets for Chinese, i.e., GB and BIG5.  GB is
+for the simplified characters used in P.R.C.  On the other hand, BIG5 is
+for the traditional characters used in Hong Kong and Taiwan.  Mule can
+handle both of them.  You can make a file which contains both GB
+characters and BIG5 characters, but care should be taken in this case.
+If you want to make such files, see @xref{Coding-system for Chinese}.
+
+@quotation
+[NOTE] BIG5 roughly corresponds to the first and the second plains of
+CNS 11643.  CNS stands for Chinese National Standard, which defines a
+Chinese character set.  Although Mule can also read/write/display CNS
+character sets, input methods for CNS is not yet available.
+@end quotation
+
+@comment ------------------------------------------------------------
+@node Chinese Fonts, Coding-system for Chinese, Chinese Character Sets, Chinese
+@subsection Chinese Fonts
+
+  Unless you have a terminal that supports GB/BIG5 and will run Mule
+exclusively on it, you have to use the X window system on which
+appropriate GB/BIG5 fonts are installed.  You should be able to read the
+following two lines if Chinese fonts are appropriately installed:
+
+@example
+GB :    $AVPND(B $AFUM(;0(B $A::So(B $ADc:C(B
+BIG5 :  $(0GnM$(B $(0N]0*Hd(B $(0*/=((B $(0+$)p(B
+@end example
+
+  If you cannot read the above lines, get Chinese fonts from Mule's FTP
+sites (see FAQ-Mule) and install them.  In addition to GB and BIG5
+fonts, you also need SiSheng fonts if you want to use cWnn to input
+Chinese.  (For cWnn, see @xref{Using cWnn}.)
+
+  Bear in mind that all fonts used in Mule must be of fixed width.
+Furthermore, the width of the Chinese characters must be exactly twice
+as wide as the ASCII characters, and the width of the Sisheng characters
+must be the same as the ASCII characters.  For the detail of font
+specification, see @xref{Font, , Font, mule}.
+
+@comment ------------------------------------------------------------
+@node Coding-system for Chinese, Using cWnn, Chinese Fonts, Chinese
+@subsection Coding-system for Chinese
+
+  When you read/write a file containing Chinese characters, you must
+specify what kind of format is used.  In the world of Mule, this format
+is called @dfn{coding-system}.  You must specify an appropriate
+coding-system in your @file{~/.emacs} file, depending on your needs.  We
+will explain three cases one by one.
+
+@enumerate
+@item
+To edit files containing GB and ASCII
+
+  There are several ways to distinguish GB characters from ASCII
+characters.  The most frequently used method utilises the 8th bit as a
+flag.  If the 8th bit is set to 1, the character represents a GB.
+Otherwise, an ASCII.  This method is adopted in cxterm. If you use
+exclusively GB and ASCII, this method would be convenient.  This is the
+default coding-system in Mule's Chinese environment.
+
+@item
+To edit files containing BIG5 and ASCII
+
+  If you want to use BIG5 as the primary coding-system, add the
+following lines in your @file{~/.emacs} file:
+
+@lisp
+(set-default-file-coding-system '*big5*)
+(set-display-coding-system '*big5*)
+(set-keyboard-coding-system '*big5*)
+(setq-default quail-current-package (assoc "py-b5" quail-package-alist))
+@end lisp
+
+@item
+To edit files containing GB, BIG5 and ASCII
+
+  First of all, be aware of this fact: Mule seems to be the only
+software that can handle GB and BIG5 simultaneously.  You cannot display
+GB and BIG5 simultaneouly in cxterm, for example.
+
+  If you dare to include GB and BIG5 in the same file, we recommend you
+to include the following line in your @file{~/.emacs} file:
+
+@lisp
+(set-default-file-coding-system *junet*)
+@end lisp
+
+  With this coding-system, you can include not only GB and BIG5, but
+also Japanese, Hangul, European languages, etc. in a single file.  The
+coding-system @code{*junet*} inserts special codes, called @dfn{escape
+sequences}, at the boundaries of two different character sets.  The 8th
+bits are always set to zero.
+
+  You can also use the next one instead of using @code{*junet*}:
+
+@lisp
+(set-default-file-coding-system *euc-china*)
+@end lisp
+
+  In this case, GB characters are saved with their 8th bits set to one.
+All other character sets are saved with their 8th bits set to zero, and
+are distinguished from one another by escape sequences.
+
+  Yet another alternative is the following:
+
+@lisp
+(set-default-file-coding-system *ctext*)
+@end lisp
+
+  You cannot specify *big5* as file-coding-system if the file contains
+both GB and BIG5.
+
+@end enumerate
+
+@comment ------------------------------------------------------------
+@node Using cWnn, Quail for Chinese, Coding-system for Chinese, Chinese
+@subsection Using cWnn
+
+  The primary method for inputing Chinese is to communicate with cserver
+of cWnn via Egg system.  cserver is a network-wide pinyin-hanzi
+conversion server.  It receives pinyin sequences and returns hanzis.
+
+  To use cserver, cWnn (version 4.108 or later) should have been
+installed.  cWnn is bound to Wnn, and available from FTP sites of Mule.
+SiSheng fonts are also necessary. (See @xref{Chinese Fonts}.)
+
+  Note that the current version of Egg supports only GB characters.
+If you want to input BIG5, or if you cannot use cserver for some
+reason, see @xref{Quail for Chinese}.
+
+  To use cserver, you must specify the hostname on which cserver is
+running.  Add the following lines in your @file{~/.emacs} file:
+
+@lisp
+(set-cwnn-host-name "hostname")
+@end lisp
+
+  @code{"hostname"} must be replaced by the real hostname on which
+cserver is really running.
+
+  To input chinese, type @kbd{C-\}.  Make sure that the mode-line has
+changed.  Now you can enter pinyin.  You may type several words at once.
+Then hit @key{SPC} to convert what you entered.  If the resulting hanzi
+is different from what you want, hit @key{SPC} again.  Each time you hit
+@key{SPC}, cserver returns another alternative.
+
+  Here are some important key bindings in the conversion mode:
+
+@table @kbd
+@item SPC
+get another alternative
+
+@item RET
+confirm (accept that hanzi)
+
+@item C-f
+move to next word
+
+@item C-b
+move to previous word
+
+@item C-i
+make current word shorter
+
+@item C-o
+make current word longer
+
+@item C-g
+quit
+@end table
+
+  At the very first time of usig cserver, you may be asked if you
+want to make dictionaries.  Just type @kbd{yes} to all questions.
+
+  To quit from Chinese input mode, type @kbd{C-\} again.
+
+  For more information, see @xref{Top, , Egg, egg}.
+
+@comment ------------------------------------------------------------
+@node Quail for Chinese, Running Mule in cxterm, Using cWnn, Chinese
+@subsection Quail for Chinese
+
+  For those who want to input BIG5 or who cannot use cserver for some
+reason, Mule provides another input method called @dfn{quail}.  Quail is
+included in the standard distribution of Mule.  If you are familiar with
+cxterm, it would be very easy to use quail, as quail supports all of the
+input method provided by X11R5 cxterm.
+
+  All input methods called @samp{XXX.tit} in X11R5 cxterm are already
+registered in Mule.  To use some of them, just type @kbd{C-]} and select 
+a package you want by @kbd{M-s}.  The following packages are avairalbe
+now.
+
+@example
+py, tonepy, sw, punct, qj, ccdospy, ctcps3, etzy, py-b5, zozy, qj-b5,
+punct-b5
+@end example
+
+  In the document of X11R5 cxterm, each input method is explained as
+follows.  (Quoted from @file{cxterm/dict/tit/README}.)
+
+[GB input methods]
+
+@table @asis
+@item py
+Standard PinYin input method
+
+@item qj
+Quan Jiao -- double-byte ASCII in GB coding
+
+@item punct
+Punctuation marks input table
+
+@item sw
+CCDOS style ShouWei input method (first & last part)
+
+@item tonepy
+Standard PinYin input method with tone 1-5
+
+@item ccdospy
+CCDOS style abbreviated PinYin input method
+
+@item ctlau
+Sidney Lau's Cantonese transcription scheme
+@end table
+
+[BIG5 input methods]
+
+@table @asis
+@item py-b5
+Standard PinYin input method with tones
+
+@item qj-b5
+Quan Jiao -- double-byte ASCII in BIG5 coding
+
+@item punct-b5
+Punctuation marks input table
+
+@item ctlaob
+Sidney Lau's Cantonese transcription scheme
+
+@item zozy
+ETen ZhuYin (phonetic) input in second keyboard layout as in ZeroOne,
+DACHEN system, etc.
+
+@item etzy
+ETen ZhuYin (phonetic) input in ETen keyboard layout
+@end table
+
+  In quail, you can toggle ASCII input mode and Chinese input mode by
+typing @kbd{C-]}.  @kbd{M-z} in quail-mode shows a help.
+
+@quotation
+[NOTE] You can easily create a quail-package from cxterm's tit format
+file.  Please try the following command from your shell,
+
+@example
+@samp{% mule -batch -l quail/tit -f batch-tit-to-quail [dirname|filename] ...}
+@end example
+@end quotation
+
+@comment ------------------------------------------------------------
+@node Running Mule in cxterm, PIG-mode, Quail for Chinese, Chinese
+@subsection Running Mule in cxterm
+
+  You can use various hanzi input method of cxterm by running Mule in a
+cxterm window.  In this case you can use the latest veresion of cxterm.
+To run Mule in a cxterm window, execute the following command:
+
+@example
+@samp{% mule -nw}
+@end example
+
+  Make sure that you have configured cxterm so that it matches Mule's
+coding-system.  Set cxterm to GB-mode if you use *euc-china* in Mule; to
+BIG5-mode if you use *big5*.  Note that you cannot use GB and BIG5
+simultaneously in cxterm.
+
+@comment ------------------------------------------------------------
+@node PIG-mode, Chinese News, Running Mule in cxterm, Chinese
+@subsection PIG-mode
+
+  PIG-mode is a very convenient system.  It converts several characters
+at once, accepts abbreviated pinyin input, etc.  It is available via
+anonymous FTP from the following sites:
+
+@example
+etlport.etl.go.jp [192.31.197.99]: /pub/mule/contrib
+sh.wide.ad.jp [133.4.11.11]: /JAPAN/mule/mule-1.0/contrib
+ftp.mei.co.jp [132.182.49.2]:/public/free/gnu/emacs/Mule/contrib
+ftp.funet.fi [128.214.6.100]:/pub/gnu/emacs/mule/mule-1.0/contrib
+@end example
+
+  A useful readme file is included.
+
+  According to burt@@dfki.uni-kl.de, the definition of the following
+function is missing:
+
+@lisp
+(defun pig-parse-cz (string)
+ (let ((indx 0) list)
+  (while (string-match "\\([^0-5]+[0-5]\\)-*" string indx)
+   (setq list (cons (substring string (match-beginning 1) (match-end 1))
+                    list)) 
+   (setq indx (match-end 0)))
+  (nreverse list)))
+@end lisp
+
+@comment ------------------------------------------------------------
+@node Chinese News, , PIG-mode, Chinese
+@subsection Chinese News
+
+  It is possible to read the articles posted to @samp{alt.chinese.text}
+and @samp{alt.chinese.text.big5} if you use @code{GNUS} and
+@code{gnusutil} together in Mule.
+
+  Add the following line in your @file{~/.emacs} file:
+
+@lisp
+(setq gnus-group-mode-hook 'gnusutil-initialize)
+@end lisp
+
+  Now you can read @samp{alt.chinese.text} and
+@samp{alt.chinese.text.big5} in hanzi.
+
+  Once you install gnusutil, no special procedure is required to post an
+article to those newsgroups.  You can write your article in hanzi and
+can post it as if it were written in ASCII.  gnusutil automatically
+converts your hanzi article to appropriate format.  Use a GB input
+method for @samp{alt.chinese.text}, and a BIG5 input method for
+@samp{alt.chinese.text.big5}.
+
+@comment ============================================================
+@node Japanese, Korean, Chinese, Top
+@section Japanese
+
+[IN PREPARATION]
+
+  This section describes how to read and write Japanese in Mule.  To
+make Japanese the primary environment, the following line should be
+included in the @file{$MULE/lisp/site-init.el} file at the compile time:
+
+@lisp
+(set-primary-environment 'japanese)
+@end lisp
+
+  If your system administrator did not do this setting, you have to
+include the above line in your @file{~/.emacs} file.
+
+  To print Japanese text, see the online manual @samp{m2ps(1)}
+and @xref{Top, , m2ps, m2ps}.
+
+@comment ============================================================
+@node Korean, Thai, Japanese, Top
+@section Korean
+
+  This section describes how to read and write Korean in Mule.  To make
+Korean the primary environment, the following line should be included
+in the @file{$MULE/lisp/site-init.el} file at the compile time:
+
+@lisp
+(set-primary-environment 'korean)
+@end lisp
+
+  If your system administrator did not do this setting, you have to
+include the above line in your @file{~/.emacs} file.
+
+  To print Korean text, see the online manual @samp{m2ps(1)}
+and @xref{Top, , m2ps, m2ps}.
+
+@menu
+* Korean Character Set::        KSC5601
+* Inputing Hangul::             Quail Package for Hangul
+* Inputing Hanja::              Quail Package for Hanja
+@end menu
+
+@comment ------------------------------------------------------------
+@node Korean Character Set, Inputing Hangul, , Korean
+@subsection Korean Character Set
+
+  Mule uses the KSC5601 character set for displaying Korean.  Unless you
+have a terminal that supports KSC5601 and will run Mule exclusively on
+it, you have use the X window system on which appropriate KSC5601 fonts
+are installed.
+
+  If the Korean fonts have been properly installed, you should be able
+to read the following text:
+
+@example
+Mule $(C@:(B GNU Emacs $(C8&(B $(C:9<v@G(B $(C>p>n?!(B $(C4k@@GR(B $(C<v(B $(C@V557O(B $(C0-H-GQ(B $(C?!5pEM(B
+$(C@T4O4Y(B.
+GNU Emacs Ver.18 $(C@;(B $(C1bCJ7N(B $(CGQ(B Mule Ver.1 $(C0z(B GNU Emacs Ver.19 $(C8&(B $(C1bCJ(B
+$(C7N(B $(CGQ(B Mule Ver.2 $(C0!(B $(C@V=@4O4Y(B. $(C1]HD4B(B Mule Ver.2 $(C88(B $(C039_@L(B $(C0h<S5I(B $(C0M(B
+$(C@T4O4Y(B.
+@end example
+
+  Bear in mind that all fonts used in Mule must be of fixed width.
+Furthermore, the width of the Korean characters must be exactly twice as
+wide as the ASCII characters.  For the detail of font specification, see
+@xref{Font, , Font, mule}.
+
+  In most cases, the coding-system that you want to use for file I/O
+would be either @code{*iso-2022-kr*} or @code{*euc-korea*}.
+
+  @code{*iso-2022-kr*} is the coding-system that is used in Korea for
+e-mail communication.  It is a 7-bit encoding and uses locking shift.
+In the current version of Mule, it is the default file-coding-system for
+Korean.
+
+  On the other hand, @code{*euc-korea*} is an 8-bit encoding.  If the
+8th bit is set to zero, it represents an ASCII character; if set to one,
+a Korean character.  If you rarely use other character sets, this
+coding-system would be useful.  To use @code{*euc-korea*} for file I/O,
+add the following line in your @file{~/.emacs} file:
+
+@lisp
+(set-default-file-coding-system *euc-korea*)
+@end lisp
+
+  Another frequently used coding-system is @code{*junet*}.  It is the
+default coding-system in the @samp{mule@@etl.go.jp} mailing list for
+multilingual communication.  To use @code{*junet*} for file I/O, add the
+following line to your @file{~/.emacs} file:
+
+@lisp
+(set-default-file-coding-system *junet*)
+@end lisp
+
+@comment ------------------------------------------------------------
+@node inputing Hangul, Inputing Hanja, Korean Character Set, Korean
+@subsection Inputing Hangul
+
+  To input Hangul, use the Quail system.  The Quail system converts one
+or more ASCII characters into a Hangul.  There are two different
+@dfn{Quail packages} for Hangul, namely @code{hangul} and
+@code{hangul3}.
+
+  @code{hangul} uses the translation table below:
+
+@example
+$(CGQ1[(B: $(C$!(B $(C$"(B $(C$$(B $(C$'(B $(C$((B $(C$)(B $(C$1(B $(C$2(B $(C$3(B $(C$5(B $(C$6(B $(C$7(B $(C$8(B $(C$9(B $(C$:(B $(C$;(B $(C$<(B 
+KEY:   r  R  s  e  E  f  a  q  Q  t  T  d  w  W  c  z  x 
+
+$(CGQ1[(B: $(C$=(B $(C$>(B $(C$?(B $(C$A(B $(C$C(B $(C$D(B $(C$F(B $(C$E(B $(C$G(B $(C$K(B $(C$L(B $(C$P(B $(C$Q(B $(C$S(B $(C$@(B $(C@g(B
+KEY:   v  g  k  i  j  p  P  u  h  y  n  b  m  l  o  O
+@end example
+
+  Here are some examples:
+
+@example
+<key sequence>        r       k       r       k
+<string inserted>    $(C$!(B      $(C0!(B      $(C0"(B      $(C0!0!(B
+
+<key sequence>        r       k       r    <M-SPC>    k
+<string inserted>    $(C$!(B      $(C0!(B      $(C0"(B      $(C0"(B      $(C0"$?(B
+@end example
+
+  On the other hand, @code{hangul3} uses the translation table below:
+
+@example
+$(CCJ<:(B:  $(C$!(B  $(C$"(B  $(C$$(B  $(C$'(B  $(C$((B  $(C$)(B  $(C$1(B  $(C$2(B  $(C$3(B  $(C$5(B  $(C$6(B  $(C$7(B  $(C$8(B  $(C$9(B  $(C$:(B  $(C$;(B  $(C$<(B
+KEY :   k  kk   h   u  uu   y   i   ;  ;;   n  nn   j   l  ll   o   0   '
+
+$(CCJ<:(B:  $(C$=(B  $(C$>(B  $(C$?(B  $(C$@(B  $(C$A(B  $(C$B(B  $(C$C(B  $(C$D(B  $(C$E(B  $(C$F(B  $(C$G(B  $(C$H(B  $(C$I(B  $(C$J(B  $(C$K(B  $(C$L(B  $(C$M(B
+KEY :   p   m   f   r   6   R   t   c   e   7   v  /f  /r  /d   4   b  9t
+also:                                           /                   9
+
+$(CCJ<:(B:  $(C$N(B  $(C$O(B  $(C$P(B  $(C$Q(B  $(C$R(B  $(C$S(B  $(C$!(B  $(C$"(B  $(C$#(B  $(C$$(B  $(C$%(B  $(C$&(B  $(C$'(B  $(C$)(B  $(C$*(B  $(C$+(B  $(C$)(B
+KEY :  9c  9d   5   g   8   d   x   F  xq   s  s!   S   A   w   D   C  w3
+
+$(CCJ<:(B:  $(C$-(B  $(C$.(B  $(C$0(B  $(C$1(B  $(C$2(B  $(C$4(B  $(C$5(B  $(C$6(B  $(C$7(B  $(C$8(B  $(C$:(B  $(C$;(B  $(C$<(B  $(C$=(B  $(C$>(B
+KEY :  wq  wW   V   z   3   X   q   2   a   !   Z   E   W   Q   1
+@end example
+
+  An example follows:
+
+@example
+<key sequence>        k       f       x
+<string inserted>    $(C$!(B      $(C0!(B      $(C0"(B
+@end example
+
+  Hit @kbd{C-]} to turn into quail-mode.  If you do not see the string
+@samp{[$(CGQ1[(B 2$(C9z=D(B]} or @samp{[$(CGQ1[(B 3$(C9z=D(B]} in the mode-line, then hit
+@kbd{M-s} and specify the package name @samp{hangul} or @samp{hangul3}.
+@key{SPC} works as the completion key.  If you hit @key{RET} without
+specifying a package name, the default package (shown in the
+parentheses) will be used.
+
+  To exit quail-mode, hit @kbd{C-]} once again.
+
+  For the detail of the Quail system, see @xref{Usage of Quail, , ,
+quail}.
+
+@comment ------------------------------------------------------------
+@node Inputing Hanja, , Inputing Hangul, Korean
+@subsection Inputing Hanja
+
+  To input Hanja, also use the Quail system.  The package name for Hanja
+input is @code{hanja-ksc}.  To specify this package, hit @kbd{M-s} in
+quail-mode and input @kbd{hanja-ksc}.  Make sure the mode-line shows the
+string "2$(C9z=D(BKSC$(CySm.(B".
+
+  For the detail of the Quail system, see @xref{Usage of Quail, , ,
+quail}.
+
+@comment ============================================================
+@node Thai, Vietnamese, Korean, Top
+@section Thai
+
+  This section describes how to read and write Thai in Mule.  To make
+Thai the primary environment, the following line should be included
+in the @file{$MULE/lisp/site-init.el} file at the compile time:
+
+@lisp
+(set-primary-environment 'thai)
+@end lisp
+
+  If your system administrator did not do this setting, you have to
+include the above line in your @file{~/.emacs} file.
+
+  To print Thai text, see the online manual @samp{m2ps(1)}
+and @xref{Top, , m2ps, m2ps}.
+
+@menu
+* Thai Character Set::          Character Set, Fonts, Coding-system
+* Inputing Thai::               Quail Package for Thai
+@end menu
+
+@comment ------------------------------------------------------------
+@node Thai Character Set, Inputing Thai, , Thai
+@subsection Thai Character Set
+
+  Mule uses the TIS620 character set for displaying Thai.  Unless you
+have a terminal that supports TIS620 and will run Mule exclusively on
+it, you have to use the X window system on which appropriate TIS620
+fonts are installed.
+
+  Furthermore, you have to increase Mule's line spaces to display vowels
+and tone marks.  If you are using a 12x24 pixels ASCII font, start up
+Mule with the following command:
+
+@example
+@samp{% mule -lsp 5+0}
+@end example
+
+  If the Thai fonts have been properly installed, you should be able to
+read the following text, which contains both ASCII and Thai characters:
+
+@example
+Mule 0,T$W1M(B editor GNU Emacs 0,T7Uh106Y1!`0>Th1A$GRAJRARC6c0Ki1c0*i1d04i10!Q1:@RIRKERB(B ,Tf(B ,T@RIR(B
+0,T;Q1(0(X10:Q1909Ui1(B 0,TAU1(B Mule 0,TCXh19(B 1 0,T+Vh1'c0*i1(B GNU Emacs 0,TCXh19(B 18 ,T`0;g190R9(B ,TaEP(B Mule 0,TCXh19(B 2 0,T+Vh1'c0*i1(B
+GNU Emacs 0,TCXh19(B 19 ,T`0;g190R9(B  ,T`)>RP(B Mule 0,TCXh19(B 2 ,T`07h1R09Qi1907Uh1(P06Y1!0>Q129R;0CQ1:;0CX1'05h1Md;(B
+@end example
+
+  Bear in mind that all fonts used in Mule must be of fixed width.
+Furthermore, the width of the Thai characters must be the same as
+the ASCII characters.  For the detail of font specification, see
+@xref{Font, , Font, mule}.
+
+  In most cases, the coding-system that you want to use in file I/O
+would be either @code{*tis620*} or @code{*junet*}.
+
+  @code{*tis620*} is an 8-bit encoding.  If the 8th bit is set to
+zero, it represents an ASCII character; if set to one, a Thai
+character.  In the current version of Mule, it is the primary
+coding-system for Thai.  If you rarely use other character sets,
+this coding-system would be useful.
+
+  On the other hand, @code{*junet*} is a 7-bit encoding and uses escape
+sequences.  It is the default coding-system in the
+@samp{mule@@etl.go.jp} mailing list for multilingual communication.  To
+use @code{*junet*} for file I/O, add the following line to your
+@file{~/.emacs} file:
+
+@lisp
+(set-default-file-coding-system *junet*)
+@end lisp
+
+@comment ------------------------------------------------------------
+@node Inputing Thai, , Thai Character Set, Thai
+@subsection Inputing Thai
+
+  To input Thai characters, use the Quail system.  The Quail system
+converts one or more ASCII characters into a Thai character.
+
+  Hit @kbd{C-]} to turn into quail-mode.  If you do not see the string
+@samp{[Thai]} in the mode-line, then hit @kbd{M-s} and specify the
+package name @samp{thai}.  @key{SPC} works as the completion key.  If
+you hit @key{RET} without specifying a package name, the default package
+(shown in the parentheses) will be used.
+
+  The Thai keymap in quail-mode looks like this:
+
+@example
+,TE(B# /,Tq(B _,Tr(B ,T@s(B ,T6t(B ,TXY(B ,TV0Qi1(B ,T$u(B ,T5v(B ,T(w(B ,T"x(B ,T*y(B ,T_o(B ,T#%(B
+ ,Tfp(B ,Td(B\" ,TS.(B ,T>1(B ,TP8(B ,TQm(B ,TUj(B ,TC3(B ,T9O(B ,TB-(B ,T:0(B ,TE(B,
+  ,T?D(B ,TK&(B ,T!/(B ,T4b(B ,T`,(B ,Tig(B ,Thk(B ,TRI(B ,TJH(B ,TG+(B ,T'F(B
+   ,T<(B( ,T;(B) ,Ta)(B ,TMN(B ,TTZ(B ,TWl(B 0,T7n1(B ,TA2(B ,TcL(B ,T=(B?
+@end example
+
+  The difference from the ordinal Thai keyboards are:
+
+@itemize @bullet
+@item
+@samp{,T_(B} and @samp{,To(B} are assigned to @key{\} and @key{|}
+
+@item
+@samp{,T#(B} and @samp{,T%(B} are assigned to @key{`} and @key{~}
+
+@item
+We don't know where to assign characters @samp{,Tz(B} and @samp{,T{(B}
+@end itemize
+
+  To exit quail-mode, hit @kbd{C-]} once again.
+
+  For the detail of the Quail system, see @xref{Usage of Quail, , ,
+quail}.
+
+@comment ============================================================
+@node Vietnamese, Latin Script Languages, Thai, Top
+@section Vietnamese
+
+  This section describes how to read and write Vietnamese in Mule.  To
+make Vietnamese the primary environment, the following line should be
+included in the @file{$MULE/lisp/site-init.el} file at the compile time:
+
+@lisp
+(set-primary-environment 'viet)
+@end lisp
+
+  If your system administrator did not do this setting, you have to
+include the above line in your @file{~/.emacs} file.
+
+  To print Vietnamese text, see the online manual @samp{m2ps(1)}
+and @xref{Top, , m2ps, m2ps}.  Note that you have to use @code{coco} (COde
+COnversion library) to print Vietnamese text.  The best way is to use the
+@code{any2ps} shell script.  Both coco and any2ps can be found in Mule
+FTP sites.
+
+@menu
+* Vietnamese Character Set::    Character Set, Fonts, Coding-system
+* Inputing Vietnamese::         Quail Package for Vietnamese
+@end menu
+
+@comment ------------------------------------------------------------
+@node Vietnamese Character Set, Inputing Vietnamese, , Vietnamese
+@subsection Vietnamese Character Set
+
+  Mule supports both VISCII and VSCII fonts to display Vietnamese text.
+Unless you have a terminal that supports either VISCII or VSCII, and
+will run Mule exclusively on it, you have to use the X window system on
+which appropriate Vietnamese fonts are installed.
+
+  The default is set to VISCII.  If you have a VISCII terminal or VISCII
+fonts for the X window system, you do not have to do anything special.
+On the other hand, if you are going to use either a VSCII terminal or
+VSCII fonts, include the following two lines in your @file{~/.emacs}
+file:
+
+@lisp
+(x-set-ccl lc-vn-1 ccl-x-vn-1-vscii)
+(x-set-ccl lc-vn-2 ccl-x-vn-2-vscii)
+@end lisp
+
+  If the fonts have been properly installed, you should be able to read
+the following text, which contains both ASCII and Vietnamese characters:
+
+@example
+Mule l,1`(B m,15(Bt s,1q(B gia c,1t(Bng v,1+(B ,1p(Ba ng,1t(Bn ng,1f(B cho GNU Emacs [MULtilingual
+Enhancement to GNU Emacs].  Kh,1t(Bng nh,1f(Bng n,1s(B c,1s(B th,1,(B x,1X(B l,1}(B ch,1f(B ASCII (7
+bit) v,1`(B ISO Latin-1 (8 bit) m,1`(B c,1r(Bn c,1s(B th,1,(B x,1X(B l,1}(B Nh,1'(Bt ng,1f(B, Hoa ng,1f(B, H,1`(Bn
+ng,1f(B (16 bit) m,1c(B h,1s(Ba theo ti,1j(Bu chu,1&(Bn ISO2022 v,1`(B c,1a(Bc d,18(B b,1d(Bn (th,1m(B d,1x(B nh,1_(B
+EUC, Compound Text).  ,2p,1/(Bi v,1>(Bi Hoa ng,1f(B, Mule c,1s(B th,1,(B ph,1x(Bc v,1x(B cho c,1d(B GB l,1g(Bn
+Big5.  Ngo,1`(Bi ra, hi,1.(Bn nay ch,1z(Bng t,1t(Bi c,1{(Bng ph,1x(Bc v,1x(B cho ch,1f(B Th,1a(Bi d,1q(Ba tr,1j(Bn
+TIS620 m,1#(Bc d,1%(Bu ti,1j(Bu chu,1&(Bn n,1`(By kh,1t(Bng tu,1b(Bn theo ISO nh,1_(Bng r,1$(Bt ph,11(B th,1t(Bng ,17(B
+Th,1a(Bi Lan.
+@end example
+
+  Bear in mind that all fonts used in Mule must be of fixed width.
+Furthermore, the width of the Vietnamese characters must be the same as
+the ASCII characters.  For the detail of font specification, see
+@xref{Font, , Font, mule}.
+
+  Mule supports three coding-systems for Vietnamese, i.e.,
+@code{*viscii*}, @code{*vscii*} and @code{*viqr*}.  These are all 8-bit
+coding systems.  The coding-system is independent of the fonts.  For
+example, you can use a VISCII font to display text written in *vscii*,
+and vice versa.  The default coding-system is set to *viscii*.  If you
+want to change this, include either
+
+@lisp
+(setq *coding-category-bin* '*vscii*)
+(set-default-file-coding-system '*vscii*)
+@end lisp
+
+or
+
+@lisp
+(setq *coding-category-bin* '*viqr*)
+(set-default-file-coding-system '*viqr*)
+@end lisp
+
+in your @file{~/.emacs} file.
+
+  All of the three coding-systems can represent only Vietnames and
+ASCII.  If you want to use other foreign languages at the same time, add
+the following line in your @file{~/.emacs} file:
+
+@lisp
+(set-default-file-coding-system '*junet*)
+@end lisp
+
+The @code{*junet*} coding-system is a 7-bit encoding and uses escape
+sequences.  It is the default coding-system in the
+@samp{mule@@etl.go.jp} mailing list for multilingual communication.
+
+@comment ------------------------------------------------------------
+@node Inputing Vietnamese, , Vietnamese Character Set, Vietnamese
+@subsection Inputing Vietnamese
+
+  To input Vietnamese characters, use the Quail system.  The Quail
+system converts one or more ASCII characters into a Vietnamese
+character.
+
+  Hit @kbd{C-]} to turn into quail-mode.  If you do not see the string
+@samp{[VIQR]} in the mode-line, then hit @kbd{M-s} and specify the
+package name @samp{viqr}.  @key{SPC} works as the completion key.  If
+you hit @key{RET} without specifying a package name, the default package
+(shown in the parentheses) will be used.
+
+  The following table shows how to put diacritical marks:
+
+@example
+   effect   | postfix | examples
+------------+---------+----------
+   breve    |    (    | a( -> ,1e(B
+ circumflex |    ^    | a^ -> ,1b(B
+   horn     |    +    | o+ -> ,1=(B
+------------+---------+----------
+   acute    |    '    | a' -> ,1a(B
+   grave    |    `    | a` -> ,1`(B
+ hook above |    ?    | a? -> ,1d(B
+   tilde    |    ~    | a~ -> ,1c(B
+  dot below |    .    | a. -> ,1U(B
+------------+---------+----------
+   d bar    |   dd    | dd -> ,1p(B
+------------+---------+----------
+ no compose |    \    | a\. -> a.
+------------+---------+----------
+ combination|   (~    | a(~ -> ,1G(B
+@end example
+
+  To exit quail-mode, hit @kbd{C-]} once again.
+
+  For the detail of the Quail system, see @xref{Usage of Quail, , ,
+quail}.
+
+@comment ============================================================
+@node Latin Script Languages, Cyrillic Script Languages, Vietnamese, Top
+@section Latin Script Languages
+
+  This section describes how to read and write Latin script languages
+(roughly speaking, European languages) in Mule.  To make Latin script
+the primary environment, the following line should be included in the
+@file{$MULE/lisp/site-init.el} file at the compile time:
+
+@lisp
+(set-primary-environment 'european)
+@end lisp
+
+  If your system administrator did not do this setting, you have to
+include the above line in your @file{~/.emacs} file.
+
+  By default, the above line makes Mule use ISO 8859-1 (aka Latin-1 or
+CTEXT) as the primary character set.  If you want to use latin-2,
+latin-3, etc., see @xref{Other Latin Character Sets}.
+
+  To print Latin script text, see the online manual @samp{m2ps(1)}
+and @xref{Top, , m2ps, m2ps}.
+
+@menu
+* Latin-1::                     aka ISO 8859-1 and CTEXT
+* Other Latin Character Sets::  Latin-2, Latin-3, Latin-4 and Latin-5
+@end menu
+
+@comment ------------------------------------------------------------
+@node Latin-1, Other Latin Character Sets, , Latin Script Languages
+@subsection Latin-1
+
+@menu
+* Displaying Latin-1::
+* Inputing Latin-1::
+
+@comment ............................................................
+@node Displaying Latin-1, Inputing Latin-1, , Latin-1
+@subsubsection Displaying Latin-1
+
+  Unless you have a terminal that supports ISO 8859-1 and will run Mule
+exclusively on it, you have to use the X window system on which
+appropriate ISO 8859-1 fonts are installed.  Most, if not all, X window
+systems have ISO 8859-1 fonts by default, so you do not need to worry
+about it too much.  If ISO 8859-1 fonts are already available on your
+system, you should be able to read the following French sentence that
+contains many accented characters:
+
+@example
+,A+(BTout Fran,Ag(Bais de bon go,A{(Bt, m,Aj(Bme r,Ai(Bsident de Capharna,A|(Bm, doit payer la
+d,An(Bme ,A`(B No,Ak(Bl ou ,A`(B P,Ab(Bques, en esp,Ah(Bces, en gn,At(Ble ou en ma,Ao(Bs.,A;(B
+@end example
+
+  Bear in mind that all fonts used in Mule must be of fixed width.  For
+the detail of font specification, see @xref{Font, , Font, mule}.
+
+  In most cases, the coding-system that you want to use in file I/O
+would be either @code{*ctext*} or @code{*junet*}.
+
+  @code{*ctext*} is an 8-bit encoding.  If the 8th bit is set to zero,
+it represents an ASCII character.  If the 8th bit is set to one, it
+represents a Latin-1 character.  In the current version of Mule, it is
+the primary coding-system for Latin-1 text.  If you rarely use other
+coding-systems, this one would be useful.  You can use the name
+@code{*iso-8859-1*} as an alias for @code{*ctext*}.  There is no
+difference between the two names.
+
+  On the other hand, @code{*junet*} is a 7-bit encoding and uses escape
+sequences.  It is the default coding-system in the
+@samp{mule@@etl.go.jp} mailing list for multilingual communication.  To
+use @code{*junet*} for file I/O, add the following line to your
+@file{~/.emacs} file:
+
+@lisp
+(set-default-file-coding-system *junet*)
+@end lisp
+
+@comment ............................................................
+@node Inputing Latin-1, , Displaying Latin-1, Latin-1
+@subsubsection Inputing Latin-1
+
+  Some keyboards directly generate 8-bit codes for ISO 8859-1
+characters.  In such cases, you can input ISO 8859-1 characters without
+difficulty.
+
+  Even if your keyboard does not generate 8-bit codes, you can input ISO
+8859-1 characters using the Quail system.  The Quail system converts one
+or more ASCII characters into an ISO 8859-1 character.  A number of
+conversion tables are provided for this purpose.  Each conversion table
+is called a @dfn{package}.
+
+  Hit @kbd{C-]} to turn into quail-mode.  Then hit @kbd{M-s} and specify
+the package name that you want to use (see below).  @key{SPC} works as
+the completion key.  If you hit @key{RET} without specifying a package
+name, the default package (shown in the parentheses) will be used.
+
+  The Quail packages are divided into two groups.  The first one is for
+naive users.  Most of the accented letters can be input by composing two
+characters.  For example, you will get an @samp{,Ai(B} (@samp{e} with acute
+accent) by typing an @samp{e} followed by a @samp{'} (single quote).
+
+@example
+PACKAGE NAME    LANGUAGE
+--------------------------------
+latin-1         general purpose
+british         British
+danish          Danish
+finnish         Finnish
+french          French
+german          German
+icelandic       Icelandic
+italian         Italian
+norwegian       Norwegian
+scandinavian    Swedish, Norwegian, Danish, Icelandic and Finnish
+spanish         Spanish
+swedish         Swedish
+@end example
+
+  The second package group was made for those who find the first package
+group too awkward.  The principle of this group is @dfn{the less
+strokes, the better}.  Most of the special characters in each language
+are allocated to somewhere on the keyboard so that you can type them
+with a single stroke.  You can type very quickly once you learn the
+layout by heart.
+
+@example
+PACKAGE NAME    LANGUAGE
+-------------------------------
+azerty          French
+dnsh            Danish
+dvorak          English
+fnnsh           Finnish
+frnch           French
+grmn            German
+iclndc          Icelandic
+itln            Italian
+nrwgn           Norwegian
+spnsh           Spanish
+swdsh           Swedish
+@end example
+
+  To see the composition table or the keyboard mapping of a package,
+select that package and hit @kbd{M-z}.  To exit quail-mode, hit
+@kbd{C-]} once again.
+
+  For the detail of the Quail system, see @xref{Usage of
+Quail, , , quail}.
+
+@comment ------------------------------------------------------------
+@node Other Latin Character Sets, , Latin-1, Latin Script Languages
+@subsection Other Latin Character Sets
+
+@menu
+* Displaying Other Latin Character Sets::
+* Inputing Other Latin Character Sets::
+@end menu
+
+@comment ............................................................
+@node Displaying Other Latin Character Sets, Inputing Other Latin Character Sets, , Other Latin Character Sets
+@subsubsection Displaying Other Latin Character Sets
+
+  Unless you have a terminal that supports ISO 8859-x and will run Mule
+exclusively on it, you have to use the X window system on which
+appropriate ISO 8859-x fonts are installed.  Use the following lines to
+check whether the fonts have been installed or not.  All the lines
+contain four vowels (@samp{A}, @samp{E}, @samp{I} and @samp{U}) with
+acute accent both in upper case and in lower case:
+
+@example
+ISO 8859-2 (Latin-2): ,BA(B ,Ba(B ,BI(B ,Bi(B ,BM(B ,Bm(B ,BZ(B ,Bz(B
+ISO 8859-3 (Latin-3): ,CA(B ,Ca(B ,CI(B ,Ci(B ,CM(B ,Cm(B ,CZ(B ,Cz(B
+ISO 8859-4 (Latin-4): ,DA(B ,Da(B ,DI(B ,Di(B ,DM(B ,Dm(B ,DZ(B ,Dz(B
+ISO 8859-9 (Latin-5): ,MA(B ,Ma(B ,MI(B ,Mi(B ,MM(B ,Mm(B ,MZ(B ,Mz(B
+@end example
+
+  Bear in mind that all fonts used in Mule must be of fixed width.
+Furthermore, the width of the ISO 8859-x characters must be the same as
+the ASCII characters.  For the detail of font specification, see
+@xref{Font, , Font, mule}.
+
+  In most cases, the coding-system that you want to use in file I/O
+would be either @code{*junet*} or @code{*iso-8859-x*}, where x = 2, 3, 4
+or 9.
+
+  @code{*junet*} is a 7-bit encoding and uses escape sequences.  It is
+the default coding-system in the @samp{mule@@etl.go.jp} mailing list for
+multilingual communication.  To use @code{*junet*} for file I/O, add the
+following line to your @file{~/.emacs} file:
+
+@lisp
+(set-default-file-coding-system *junet*)
+@end lisp
+
+  On the other hand, @code{*iso-8859-x*} is an 8-bit encoding.  If the
+8th bit is set to zero, it represents an ASCII character; if set to one,
+a ISO 8859-x character.  If you use only one character set (other than
+ASCII), this coding-system would be useful.  To use this coding-system
+for file I/O, add ONE of the following lines to your @file{~/.emacs}
+file:
+
+@lisp
+(set-default-file-coding-system *iso-8859-2*)
+(set-default-file-coding-system *iso-8859-3*)
+(set-default-file-coding-system *iso-8859-4*)
+(set-default-file-coding-system *iso-8859-9*)
+@end lisp
+
+[NOTE] Latin-5 is another name for ISO 8859-9, not for ISO 8859-5.  ISO
+8859-5 is a Latin/Cyrillic character set.
+
+@comment ............................................................
+@node Inputing Other Latin Character Sets, , Displaying Other Latin Character Sets, Other Latin Character Sets
+@subsubsection Inputing Other Latin Character Sets
+
+  To input Latin-x characters, use the Quail system.  The Quail system
+converts one or more ASCII characters into a Latin-x character.  A
+number of conversion tables are provided for this purpose.  Each
+conversion table is called a @dfn{package}.
+
+  Hit @kbd{C-]} to turn into quail-mode.  Then hit @kbd{M-s} and specify
+the package name that you want to use (see below).  @key{SPC} works as the
+completion key.  If you hit @key{RET} without specifying a package name,
+the default package (shown in the parentheses) will be used.
+
+  Here is the table of Quail packages for Latin-x characters:
+
+@example
+PACKAGE NAME    TARGET LANGUAGE
+------------------------------------------------------
+latin-2         all Latin-2 (ISO 8859-2) languages
+latin-3         all Latin-3 (ISO 8859-3) languages
+latin-4         all Latin-4 (ISO 8859-4) languages
+latin-5         all Latin-5 (ISO 8859-9) languages
+esperanto       specific to Esperanto (Latin-3 coding)
+turkish         spacific to Turkish (Latin-3 coding)
+@end example
+
+  To see the conversion table of a package, select that package and hit
+@kbd{M-z}.  You can exit quail-mode by @kbd{C-]}.  For the detail of the
+Quail system, see @xref{Usage of Quail, , , quail}.
+
+@comment ============================================================
+@node Cyrillic Script Languages, Greek, Latin Script Languages, Top
+@section Cyrillic Script Languages
+
+  This section describes how to read and write Cyrillic script languages
+in Mule.  To make Cyrillic script the primary environment, the following
+line should be included in the @file{$MULE/lisp/site-init.el} file at
+the compile time:
+
+@lisp
+(set-primary-environment 'cyrillic)
+@end lisp
+
+  If your system administrator did not do this setting, you have to
+include the above line in your @file{~/.emacs} file.
+
+  To print Cyrillic text, see the online manual @samp{m2ps(1)}
+and @xref{Top, , m2ps, m2ps}.
+
+@menu
+* Displaying Cyrillic::
+* Other Coding-systems for Russian::
+* Inputing Cyrillic::
+@end menu
+
+@comment ------------------------------------------------------------
+@node Displaying Cyrillic, Other Coding-systems for Russian, , Cyrillic Script Languages
+@subsection Displaying Cyrillic
+
+  Mule uses the right half of the ISO 8859-5 character set for
+displaying Cyrillic.  Unless you have a terminal that supports ISO
+8859-5 and will run Mule exclusively on it, you have to use the X window
+system on which appropriate ISO 8859-5 fonts are installed.
+
+  If the Cyrillic fonts have been properly installed, you should be able
+to read the following Ukrainian folk song:
+
+@example
+,L2WoR(B ,LQX(B ,Lo(B ,LQP]Tc`c(B
+,LBP(B ,LY(B ,LWPS`PR(B, ,Li^(B ,LW]PR(B.
+,LGU`UW(B ,Lbc(B ,LQP]Tc`c(B
+,L1P]Tc`Xab^\(B ,LabPR(B.
+@end example
+
+  Bear in mind that all fonts used in Mule must be of fixed width.
+Furthermore, the width of the Cyrillic characters must be the same as
+the ASCII characters.  For the detail of font specification, see
+@xref{Font, , Font, mule}.
+
+  In most cases, the coding-system that you want to use in file I/O
+would be either @code{*iso-8859-5*} or @code{*junet*}.
+
+  @code{*iso-8859-5*} is an 8-bit encoding.  If the 8th bit is set to
+zero, it represents an ASCII character; if set to one, a Cyrillic
+character.  In the current version of Mule, it is the primary
+coding-system for Cyrillic.  If you rarely use other character sets,
+this coding-system would be useful.
+
+  On the other hand, @code{*junet*} is a 7-bit encoding and uses escape
+sequences.  It is the default coding-system in the
+@samp{mule@@etl.go.jp} mailing list for multilingual communication.  To
+use @code{*junet*} for file I/O, add the following line to your
+@file{~/.emacs} file:
+
+@lisp
+(set-default-file-coding-system *junet*)
+@end lisp
+
+@comment ------------------------------------------------------------
+@node Other Coding-systems for Russian, Inputing Cyrillic, Displaying Cyrillic, Cyrillic Script Languages
+@subsection Other Coding-systems for Russian
+
+  If you need only Russian, two other coding-systems are available in
+addition to @code{*junet*} and @code{*iso-8859-5*}, namely,
+@code{*koi8*} and @code{*alternativnyj*}.  Both of them are of 8-bit
+encoding.
+
+  @code{*koi8*} is the coding system used in the @samp{relcom.*} netnews
+groups.  They say it is widely used in the world of UNIX systems, too.
+If you want to use @code{*koi8*} as the default character set, include
+the following line in your @file{~/.emacs} file:
+
+@lisp
+(set-cyrillic-environment-koi8)
+@end lisp
+
+  It is possible to read the news articles posted to @samp{relcom.*} if
+you use @code{GNUS} and @code{gnusutil} together in Mule.  For this
+purpose, add the following lines in your @file{~/.emacs} file (in
+addition to the above setting):
+
+@lisp
+(setq gnus-group-mode-hook 'gnusutil-initialize)
+(autoload 'gnusutil-initialize "gnusutil")
+(autoload 'gnusutil-add-group "gnusutil")
+(gnusutil-add-group "relcom" '*koi8*)
+@end lisp
+
+  @code{*alternativnyj*} is the coding-system widely used in DOS
+systems.  It is basically the same as so called CP866.  If you want to
+read and write Russian text always in this DOS format, include the
+following line in your @file{~/.emacs} file:
+
+@lisp
+(set-cyrillic-environment-alternativnyj)
+@end lisp
+
+@comment ------------------------------------------------------------
+@node Inputing Cyrillic, , Other Coding-systems for Russian, Cyrillic Script Languages
+@subsection Inputing Cyrillic
+
+  To input Cyrillic characters, use the Quail system.  The Quail system
+converts one or two ASCII characters into a Cyrillic character.  A
+number of conversion tables are provided for this purpose.  Each
+conversion table is called a @dfn{package}.
+
+  Hit @kbd{C-]} to turn into quail-mode.  Then hit @kbd{M-s} and specify
+the package name that you want to use (see below).  @key{SPC} works as the
+completion key.  If you hit @key{RET} without specifying a package name,
+the default package (shown in the parentheses) will be used.
+
+  Here is the table of Quail packages for Cyrillic characters:
+
+@example
+PACKAGE NAME    LANGUAGES           NOTES
+-----------------------------------------------------------------
+jcuken          Russian             standard layout for Russian
+macedonian      Macedonian          JUS.I.K1.004
+serbian         Serbian             JUS.I.K1.005
+byelorussian    Byelorussian        derived from JUS.I.K1
+ukrainian       Ukrainian           derived from JUS.I.K1
+yawerty         general purpose     based on Roman transcription
+@end example
+
+  To see the conversion table of a package, select that package and hit
+@kbd{M-z}.  You can exit quail-mode by @kbd{C-]}.  For the detail of the
+Quail system, see @xref{Usage of Quail, , , quail}.
+
+@comment ============================================================
+@node Greek, Hebrew, Cyrillic Script Languages, Top
+@section Greek
+
+  This section describes how to read and write Greek in Mule.  To make
+Greek the primary environment, the following line should be included in
+the @file{$MULE/lisp/site-init.el} file at the compile time:
+
+@lisp
+(set-primary-environment 'greek)
+@end lisp
+
+  If your system administrator did not do this setting, you have to
+include the above line in your @file{~/.emacs} file.
+
+  To print Greek text, see the online manual @samp{m2ps(1)}
+and @xref{Top, , m2ps, m2ps}.
+
+@menu
+* Greek Character Set::         Character Set, Fonts, Coding-system
+* Inputing Greek::              Quail Package for Greek
+@end menu
+
+@comment ------------------------------------------------------------
+@node Greek Character Set, Inputing Greek, , Greek
+@subsection Greek Character Set
+
+  Mule uses the right half of the ISO 8859-7 character set for
+displaying Greek.  Unless you have a terminal that supports ISO 8859-7
+and will run Mule exclusively on it, you have to use the X window system
+on which appropriate ISO 8859-7 fonts are installed.
+
+  If the Greek fonts have been properly installed, you should be able to
+read the following poem:
+
+@example
+,FK_co(B ,Faj|la(B
+,Fha(B ,Fido}le(B ,Ftir(B ,Falucdaki]r(B ,Fm(B',Famh_foum(B
+,Fta(B ,Fl\qlaqa(B ,Fma(B ,Fk\lpoum(B ,Fstom(B ,F^kio(B
+,Ftg(B ,Fh\kassa(B ,Fma(B ,Fjulat_fei(B
+,Fk_co(B ,Faj|la(B,
+,Fma(B ,Fsgjyho}le(B ,Fk_co(B ,Fxgk|teqa(B.
+@end example
+
+  Bear in mind that all fonts used in Mule must be of fixed width.
+Furthermore, the width of the Greek characters must be the same as the
+ASCII characters.  For the detail of font specification, see @xref{Font,
+, Font, mule}.
+
+  In most cases, the coding-system that you want to use in file I/O
+would be either @code{*iso-8859-7*} or @code{*junet*}.
+
+  @code{*iso-8859-7*} is an 8-bit encoding.  If the 8th bit is set to
+zero, it represents an ASCII character; if set to one, a Greek
+character.  In the current version of Mule, it is the primary
+coding-system for Greek.  If you rarely use other languages, this
+coding-system would be useful.
+
+  On the other hand, @code{*junet*} is a 7-bit encoding and uses escape
+sequences.  It is the default coding-system in the
+@samp{mule@@etl.go.jp} mailing list for multilingual communication.  To
+use @code{*junet*} for file I/O, add the following line to your
+@file{~/.emacs} file:
+
+@lisp
+(set-default-file-coding-system *junet*)
+@end lisp
+
+@comment ------------------------------------------------------------
+@node Inputing Greek, , Greek Character Set, Greek
+@subsection Inputing Greek
+
+  To input Greek characters, use the Quail system.  Hit @kbd{C-]} to
+turn into quail-mode.  If you do not see the string @samp{[,FEkkgmij\(B]} in
+the mode-line, then hit @kbd{M-s} and specify the package name
+@samp{greek}.  @key{SPC} works as the completion key.  If you hit
+@key{RET} without specifying a package name, the default package (shown
+in the parentheses) will be used.
+
+  The Greek keymap in quail-mode looks like this:
+
+@example
+1!  2@  3#  4$  5%  6^  7&  8*  9(  0)  -_  =+  `~
+ ,F7/(B  ,FrS(B  ,FeE(B  ,FqQ(B  ,FtT(B  ,FuU(B  ,FhH(B  ,FiI(B  ,FoO(B  ,FpP(B  [{  ]}
+  ,FaA(B  ,FsS(B  ,FdD(B  ,FvV(B  ,FcC(B  ,FgG(B  ,FnN(B  ,FjJ(B  ,FkK(B  ,F4((B  '"  \|
+   ,FfF(B  ,FwW(B  ,FxX(B  ,FyY(B  ,FbB(B  ,FmM(B  ,FlL(B  ,;  .:  /?  
+@end example
+
+  The keys @kbd{,F4(B} (@kbd{;} on ASCII keyboard) and @kbd{,F((B} (@kbd{:} on
+ASCII keyboard) work as dead keys.  For example,
+
+@example
+@samp{,Fa(B} + @samp{,F4(B} becomes @samp{,F\(B}
+@samp{,Fi(B} + @samp{,F((B} becomes @samp{,Fz(B}
+@samp{,Fi(B} + @samp{,F((B} + @samp{,F4(B} becomes @samp{,F@(B}
+@end example
+
+  To exit quail-mode, hit @kbd{C-]} once again.
+
+  For the detail of the Quail system, see @xref{Usage of Quail, , ,
+quail}.
+
+@comment ============================================================
+@node Hebrew, Arabic Script Languages, Greek, Top
+@section Hebrew
+
+  This section describes how to read and write Hebrew in Mule.  To make
+Hebrew the primary environment, the following line should be included in
+the @file{$MULE/lisp/site-init.el} file at the compile time:
+
+@lisp
+(set-primary-environment 'hebrew)
+@end lisp
+
+  If your system administrator did not do this setting, you have to
+include the above line in your @file{~/.emacs} file.
+
+  To print Hebrew text, see the online manual @samp{m2ps(1)}
+and @xref{Top, , m2ps, m2ps}.
+
+@menu
+* Hebrew Character Set::
+* Display-direction for Hebrew::
+* Inputing Hebrew::
+* Hebrew Cut and Paste::
+@end menu
+
+@comment ------------------------------------------------------------
+@node Hebrew Character Set, Display-direction for Hebrew, , Hebrew
+@subsection Hebrew Character Set
+
+  Mule uses the right half of the ISO 8859-8 character set for
+displaying Hebrew.  Unless you have a terminal that supports ISO 8859-8
+and will run Mule exclusively on it, you have to use the X window system
+on which appropriate ISO 8859-8 fonts are installed.
+
+  If the Hebrew fonts have been properly installed, you should be able to
+read the following Hebrew alphabet:
+
+@example
+[2],H`abcdefghijklmnopqrstuvwxyz[0](B
+@end example
+
+  Bear in mind that all fonts used in Mule must be of fixed width.
+Furthermore, the width of the Hebrew characters must be the same as the
+ASCII characters.  For the detail of font specification, see @xref{Font,
+, Font, mule}.
+
+  In most cases, the coding-system that you want to use in file I/O
+would be either @code{*junet*} or @code{*iso-8859-8*}.
+
+  @code{*junet*}is a 7-bit encoding and uses escape sequences.  It is
+the default coding-system in the @samp{mule@@etl.go.jp} mailing list for
+multilingual communication.  To use @code{*junet*} for file I/O, add the
+following line to your @file{~/.emacs} file:
+
+@lisp
+(set-default-file-coding-system *junet*)
+@end lisp
+
+  On the other hand, @code{*iso-8859-8*} is an 8-bit encoding.  If the
+8th bit is set to zero, it represents an ASCII character; if set to one,
+a Hebrew character.  In the current version of Mule, it is the primary
+coding-system for Hebrew.  If you rarely use other languages, this
+coding-system would be useful.  You do not need to any special
+configuration for using this coding-system.
+
+  *iso-8859-8* does not inserts text direction specifiers.  If you want
+to use the text direction specifier defined in ISO 6429, namely
+@dfn{@key{ESC} [ 2 ]} to change the direction to right-to-left and
+@dfn{@key{ESC} [ 0 ]} to revert it to left-to-right, include the
+following line in your @file{~/.emacs} file:
+
+@lisp
+(set-default-file-coding-system *ctext-hebrew*)
+@end lisp
+
+@comment ------------------------------------------------------------
+@node Display-direction for Hebrew, Inputing Hebrew, Hebrew Character Set, Hebrew
+@subsection Display-direction for Hebrew
+
+  In Mule, each buffer has a buffer local variable called
+@code{display-direction}.  If this variable is set to @code{nil} (this
+is the default), the lines begin from the left edge of the screen.  On
+the other hand, if @code{display-direction} is non-@code{nil}, the lines
+are aligned to the right and texts are written from right to left.
+
+  We strongly recommend you to turn on @dfn{visual-mode} by
+
+@example
+M-x visual-mode
+@end example
+
+when you edit Hebrew text.  For the detail of @code{display-direction}
+and the cursor motion in visual-mode, see @xref{Top, , Right-to-left
+writing, R2L}.
+
+@comment ------------------------------------------------------------
+@node Inputing Hebrew, Hebrew Cut and Paste, Display-direction for Hebrew, Hebrew
+@subsection Inputing Hebrew
+
+  To input Hebrew characters, use the Quail system.  Hit @kbd{C-]} to
+turn into quail-mode.  If you do not see the string @samp{[HEBREW]} in
+the mode-line, then hit @kbd{M-s} and specify the package name
+@samp{hebrew}.  @key{SPC} works as the completion key.  If you hit
+@key{RET} without specifying a package name, the default package (shown
+in the parentheses) will be used.
+
+  The Hebrew keymap in quail-mode looks like this:
+
+@example
+1[2]![0]  2[2]@[0]  3[2]#[0]  4[2]$[0]  5[2]%[0]  6[2]^[0]  7[2]&[0]  8[2]*[0]  9[2]([0]  0[2])[0]  [2]-_[0]  [2]=+[0]  [2];~[0]  [2]\|[0]           
+ [2]/[0]Q  [2]'[0]W  [2],Hw[0](BE  [2],Hx[0](BR  [2],H`[0](BT  [2],Hh[0](BY  [2],He[0](BU  [2],Ho[0](BI  [2],Hm[0](BO  [2],Ht[0](BP  [2][{[0]  [2]]}[0]                  
+  [2],Hy[0](BA  [2],Hc[0](BS  [2],Hb[0](BD  [2],Hk[0](BF  [2],Hr[0](BG  [2],Hi[0](BH  [2],Hg[0](BJ  [2],Hl[0](BK  [2],Hj[0](BL  [2],Hs(B:[0]  [2],"[0]                     
+   [2],Hf[0](BZ  [2],Hq[0](BX  [2],Ha[0](BC  [2],Hd[0](BV  [2],Hp[0](BB  [2],Hn[0](BN  [2],Hv[0](BM  [2],Hz(B<[0]  [2],Hu(B>[0]  [2].?[0]                        
+@end example
+
+  With @key{SFT} keys, you can input upper case ASCII characters even
+in hebrew inputing mode.  To input lower case ASCII characters, you have 
+to exit hebrew mode by @kbd{C-]}.  To  exit quail-mode, hit  @kbd{C-]}
+once again.
+
+  For the detail of the Quail system, see @xref{Usage of Quail, , ,
+quail}.
+
+@comment ------------------------------------------------------------
+@node Hebrew Cut and Paste, , Inputing Hebrew, Hebrew
+@subsection Hebrew Cut and Paste
+
+  Use @kbd{C-d} to delete the character under the cursor.
+
+  @key{DEL} key behave differently according to the value of
+@code{display-direction}: if the value is @code{nil} (aligned to left),
+it deletes a character on the left of the cursor; if the value is
+non-@code{nil} (aligned to right), it deletes a character on the right
+of the cursor.  If the @code{display-direction} and the input character
+direction are the same, lastly input character can be deleted with
+@key{DEL} key, no matter what the value of @code{display-direction} is.
+
+  The following four commands remove the specified stretch of string and
+put it in the @code{kill-ring}:
+
+@example
+@kbd{M-d}   or @kbd{M-x visual-kill-word}
+@kbd{M-DEL} or @kbd{M-x visual-backward-kill-word}
+@kbd{C-k}   or @kbd{M-x visual-kill-line}
+@kbd{C-w}   or @kbd{M-x visual-kill-region}
+@end example
+
+  @kbd{M-w} (or @kbd{M-x visual-copy-region-as-kill}) also puts the
+specified stretch of string in the @code{kill-ring}, but the original
+text is left unchanged.
+
+  The strings in the @code{kill-ring} can be reinserted in buffer by
+@kbd{C-y} (or @kbd{M-x visual-yank}) and @kbd{M-y} (or @kbd{M-x
+visual-yank-pop}).
+
+  Make sure that you are in quail-mode with Hebrew package when you kill
+or yank something, otherwise unexpected region might be deleted or a
+garbage string might be inserted in the buffer.
+
+@comment ============================================================
+@node Arabic Script Languages, Ethiopic Languages, Hebrew, Top
+@section Arabic Script Languages
+
+  Mule supports Arabic and Farsi (Persian).  In this section we describe
+How to display, input and edit these Arabic Script Languages.  To make
+Arabic script the primary environment, the following line should be
+included in the @file{$MULE/lisp/site-init.el} file at the compile time:
+
+@lisp
+(set-primary-environment 'arabic)
+@end lisp
+
+  If your system administrator did not do this setting, you have to
+include the above line in your @file{~/.emacs} file.
+
+* ARABIC TOGGLING COMMAND HAS BEEN CHANGED FROM @kbd{C-]} TO @kbd{M-\}.
+
+  To print Arabic text, see the online manual @samp{m2ps(1)} and
+@xref{Top, , m2ps, m2ps}.
+
+  Please note that the current version of m2ps does not support r2l
+printing direction (aligned to right).  Even if you try to print a file
+which was created in a right-aligned buffer, it will be printed in
+left-aligned.  In the worst cases, you will get wrong word order in the
+hardcopy.
+
+@menu
+* Arabic Character Set::
+* Arabic-mode::
+* Display-direction in Arabic-mode::
+* Inputing Arabic Characters::
+* Arabic Cut and Paste::
+@end menu
+
+@comment ------------------------------------------------------------
+@node Arabic Character Set, Arabic-mode, , Arabic Script Languages
+@subsection Arabic Character Set
+
+  Mule uses its own Arabic code and Arabic Fonts.  You have to start
+Mule as an X client, i.e., without the @samp{-nw} option, to use Arabic.
+Mule requires the following three fonts to display Arabic:
+
+@example
+@file{etl??-arabic0.bdf}       Arabic Digits
+@file{etl??-arabic1.bdf}       Narrow Characters (alif, etc.)
+@file{etl??-arabic2.bdf}       Wide Characters (siin, etc)
+@end example
+
+  The @samp{??} part indicates the font size.  You will find 16 pixels
+fonts and 24 pixels fonts on Mule FTP sites.
+
+  Furthermore, you have to increase Mule's line spaces because the
+heights of Arabic characters vary greatly.  If you are using 16 pixels
+fonts, start up Mule with:
+
+@example
+@samp{% mule -lsp 0+9}
+@end example
+
+Or if you are using 24 pixels fonts, start up Mule with:
+
+@example
+@samp{% mule -lsp 0+12}
+@end example
+
+  If the fonts are properly installed, you should be able to read the
+following famous words:
+
+@quotation
+[2](3U(4?(3G![;=!8RYa(4Z(3&[0](B
+@end quotation
+
+  For the Arabic non-spacing marks, only two of them, i.e., hamza and
+madda, are available up to now.  Any other marks, e.g. fatHa (short
+`a'), Damma (short `u'), kasra (short `i'), shadda (doubling sign),
+sukuun (pure consonant sign), waSla (joining hamza), etc., cannot be
+displayed.  It seems that short vowels and waSla are not necessary to
+write ordinary Arabic text, but shadda is often marked in today's
+printings.  Please let us know if shadda is really indispensable, in
+that case we will try to implement it.
+
+@comment ------------------------------------------------------------
+@node Arabic-mode, Display-direction in Arabic-mode, Arabic Character Set, Arabic Script Languages
+@subsection Arabic-mode
+
+  You use @dfn{arabic-mode} to input and edit Arabic texts.  This
+section describes the features of arabic-mode in detail.
+
+  Hit @kbd{C-]} to enter arabic-mode.  Now you can input Arabic
+characters from your keyboard.  Hitting @kbd{C-]} again makes your
+keyboard produce ASCII characters, but you are still in arabic-mode.
+Another @kbd{C-]} makes your keyboard produce Arabic again.  If you want
+to exit arabic-mode completely, hit @kbd{C-c C-c}.  See the figure
+below:
+
+@example
+                           C-c C-c
+     +----------------------------------------------+
+     |   +--------------------+                     |
+     |   |      C-c C-c       |                     |
+     V   V                    |                     |
++-------------+         +------------+   C-]   +-----------+
+|             |   C-]   |arabic-mode | ------> |arabic-mode|
+|initial state| ------> |    with    |         |   with    |
+|             |         |Arabic input| <------ |ASCII input|
++-------------+         +------------+   C-]   +-----------+
+@end example
+
+  The string @samp{[2](3JG:a=[0](B} in the mode-line indicates that you are in
+arabic-mode and the keyboard produces Arabic characters; @samp{Arabic}
+indicates that you are in arabic-mode and the keyboard produces ASCII
+characters.
+
+[NOTE] The previous version of arabic-mode was using so called
+visual-mode to help Arabic editing and ASCII input.  The current
+version, however, maintains everything by itself.
+
+@comment ------------------------------------------------------------
+@node Display-direction in Arabic-mode, Inputing Arabic Characters, Arabic-mode, Arabic Script Languages
+@subsection Display-direction in Arabic-mode
+
+  In Mule, each buffer has a buffer local variable called
+@code{display-direction}.  If this variable is set to @code{nil} (this
+is the default), the lines begin from the left edge of the screen.  On
+the other hand, if @code{display-direction} is non-@code{nil}, the lines
+are aligned to the right and texts are written from right to left.  You
+can toggle the display direction by @kbd{C-x C-k r}.
+
+  For the detail of @code{display-direction} and the cursor motion in
+arabic-mode, see @xref{Top, , Right-to-left writing, R2L}.
+
+@comment ------------------------------------------------------------
+@node Inputing Arabic Characters, Arabic Cut and Paste, Display-direction in Arabic-mode, Arabic Script Languages
+@subsection Inputing Arabic Characters
+
+  In arabic-mode, you can input Arabic characters and Arabic digits from
+keyboard.  Two keyboard layouts are provided to input Arabic characters.
+You can select whichever you like.  When you are in Arabic-mode, you can
+see the keyboard layout by @kbd{C-z}.
+
+  The first keyboard layout was contributed by a Farsi speaker.  It looks 
+like this:
+
+@example
+                    +-------------------+
+                    | shifted      alt  |
+                    | unshifted   ASCII |
+                    +-------------------+
+
++----------------------------------------------------------------+
+|[2](3"[0](B   |    |    |    |    |    |    |    |[2](3#[0](B   |[2](3$[0](B   |    |    |    |
+|(2"(B  1|(2#(B  2|(2$(B  3|(2%(B  4|(2&(B  5|(2'(B  6|(2((B  7|(2)(B  8|(2*(B  9|(2!(B  0|   -|   =|   `|
++----------------------------------------------------------------+
+  |    |    |    |    |    |    |    |    |    |    |    |    |
+  |[2](4A[0](B q|[2](4=[0](B w|[2](4S[0](B e|[2](4Q[0](B r|[2](4O[0](B t|[2](4M[0](B y|[2](3Z[0](B  u|   i|[2](41[0](B o|[2](4-[0](B p|[2](4)[0](B [|[2](4g[0](B ]|
+  +-------------------------------------------------------------+
+    |    |    |    |[2](4e[0](B  |[2](3.[0](B   |    |    |    |    |  [2](4k[0](B|    |[2](3,[0](B   |
+    |[2](49[0](B a|[2](45[0](B s|[2](4_[0](B d|[2](4#[0](B f|[2](38[0](B  g|[2](4%[0](B h|[2](4Y[0](B j|[2](4[[0](B k|[2](3T[0](B  l|[2](4U[0](B ;|   '|   \|
+    +-----------------------------------------------------------+
+      |    |    |    |[2](30[0](B  [2](3-[0](B|[2](3h[0](B   |    |    |[2](3*[0](B   |[2](3+[0](B   |[2](3)[0](B   |
+      |[2](4I[0](B z|[2](4E[0](B x|[2](3D[0](B  c|[2](3B[0](B  v|[2](3H[0](B  b|[2](3F[0](B  n|[2](3^[0](B  m|[2](3%[0](B  ,|[2](3&[0](B  .|   /|
+      +-------------------------------------------------+
+@end example
+
+  To use this keyboard layout, include the following line in your
+@file{~/.emacs} file:
+
+@lisp
+(setq arabic-input-keymap 'arabic-key-1)
+@end lisp
+
+  The second layout is based on phonetic transcription and looks like
+the following:
+
+@example
+       Left  : ASCII-mode   Right : arabic-mode
+       Upper : shifted      Lower : unshifted
+
++----------------------------------------------------------------+
+|! [2](3"[0](B |@   |#   |$   |%   |^   |&   |*   |( [2](3#[0](B |) [2](3$[0](B |_   |+   |~ [2](3+[0](B |
+|1 (2"(B |2 (2#(B |3 (2$(B |4 (2%(B |5 (2&(B |6 (2'(B |7 (2((B |8 (2)(B |9 (2*(B |0 (2!(B |-   |=   |` [2](4M[0](B|
++----------------------------------------------------------------+
+  |Q   |W   |E   |R   |T [2](4E[0](B|Y   |U   |I   |O   |P   |{   |}   |
+  |q [2](4S[0](B|w [2](3^[0](B |e   |r [2](3F[0](B |t [2](4%[0](B|y [2](4_[0](B|u   |i   |o [2](3<[0](B |p   |[   |]   |
+  +-------------------------------------------------------------+
+    |A [2](4][0](B|S [2](4=[0](B|D [2](4A[0](B|F   |G [2](4O[0](B|H [2](4-[0](B|J   |K [2](41[0](B|L   |: [2](3'[0](B |" [2](3-[0](B || [2](3,[0](B |
+    |a [2](38[0](B |s [2](45[0](B|d [2](3B[0](B |f [2](4Q[0](B|g   |h [2](3Z[0](B |j [2](4)[0](B|k [2](4U[0](B|l [2](4Y[0](B|; [2](3([0](B |' [2](3*[0](B |\   |
+    +-----------------------------------------------------------+
+      |Z [2](4I[0](B|X   |C   |V   |B   |N   |M   |<   |>   |? [2](3)[0](B |
+      |z [2](3H[0](B |x [2](3D[0](B |c [2](4'[0](B|v   |b [2](4#[0](B|n [2](4[[0](B|m [2](3T[0](B |, [2](3%[0](B |. [2](3&[0](B |/ [2](49[0](B|
+      +-------------------------------------------------+
+
+COMBINATIONS:
+a ~      madda above alif
+a '      hamza above alif
+w '      hamza above waaw
+a ' '    hamza below alif
+y '      hamza above yaa
+"        isolated hamza
+@end example
+
+  To use this keyboard layout, include the following line in your
+@file{~/.emacs} file:
+
+@lisp
+(setq arabic-input-keymap 'arabic-key-0)
+@end lisp
+
+  No matter which layout you use, appropriate ligature is automatically
+generated whenever a character is input.  The special ligature for
+@samp{laam} + @samp{alif} will be generated whenever an @samp{alif} is
+input on the left of a @samp{laam}.  If you want to cut the connection
+between two adjacent Arabic characters, type a @kbd{|} (vertical bar) at
+that point in arabic-mode.  An input of a character preceded by a
+@kbd{|} produces a glyph which is not connected to its right adjacent.
+Typing a @kbd{_} (underscore) connects the two characters at that point,
+if possible.
+
+  When @code{display-direction} is @code{nil} (i.e., lines are aligned to
+left), the cursor stays at the same position after an Arabic character
+is inserted. It moves to the right after an Arabic digit or an ASCII
+character is inserted.
+
+  When @code{display-direction} is non-@code{nil} (i.e., lines are
+aligned to right), the cursor moves to the left after an Arabic
+character is inserted. It stays at the same position after an Arabic
+digit or an ASCII character is inserted.
+
+  To input ASCII characters or ASCII digits, you have to exit
+arabic-mode by hitting @kbd{C-]}.
+
+@comment ------------------------------------------------------------
+@node Arabic Cut and Paste, , Inputing Arabic Characters, Arabic Script Languages
+@subsection Cut and Paste
+
+  Use @kbd{C-d} to delete the character under the cursor.  If you are in
+arabic-mode, the necessary ligature will be re-generated after the
+character is deleted.
+
+  @key{DEL} key behave differently according to the value of
+@code{display-direction}: if the value is @code{nil} (aligned to left),
+it deletes a character on the left of the cursor; if the value is
+non-@code{nil} (aligned to right), it deletes a character on the right
+of the cursor.  If the @code{display-direction} and the input character
+direction are the same, lastly input character can be deleted with
+@key{DEL} key, no matter what the value of @code{display-direction} is.
+
+  The following four commands remove the specified stretch of string and
+put it in the @code{kill-ring}:
+
+@example
+@kbd{M-d}   or @kbd{M-x arabic-kill-word}
+@kbd{M-DEL} or @kbd{M-x arabic-backward-kill-word}
+@kbd{C-k}   or @kbd{M-x arabic-kill-line}
+@kbd{C-w}   or @kbd{M-x arabic-kill-region}
+@end example
+
+  @kbd{M-w} (or @kbd{M-x arabic-copy-region-as-kill}) also puts the
+specified stretch of string in the @code{kill-ring}, but the original
+text is left unchanged.
+
+  The strings in the @code{kill-ring} can be reinserted in buffer by
+@kbd{C-y} (or @kbd{M-x arabic-yank}) and @kbd{M-y} (or @kbd{M-x
+arabic-yank-pop}).
+
+  Make sure that you are in arabic-mode when you kill or yank something,
+otherwise ligature is not maintained, or in the worst case, unexpected
+region will be deleted or a garbage string will be inserted in the
+buffer.
+
+@comment ============================================================
+@node Ethiopic Languages, IPA, Arabic Script Languages, Top
+@section Ethiopic Languages
+
+  This section @footnote{This section and the Ethiopic support routines
+have been written by Daniel Yaqob, Yonas Fisseha and Takahashi Naoto.} 
+describes how to read and write Ethiopic languages (Ge'ez script
+languages) in Mule.  To make Ethiopic the primary environment, the
+following line should be included in the @file{$MULE/lisp/site-init.el}
+file at the compile time @footnote{You also need to increase the value
+of @code{BASE_PURESIZE}, which is defined in the
+@file{$MULE/src/puresize.h} file, by 10000 or so.} :
+
+@lisp
+(set-primary-environment 'ethio)
+@end lisp
+
+  If your system administrator did not include the above line, you have
+to include it in your @file{~/.emacs} file.
+
+  To print Ethiopic text, see the online manual @samp{m2ps(1)} and
+@xref{Top, , m2ps, m2ps}.  Note that you have to use @code{coco} (COde
+COnverting library) to print Ethiopic text.  The best way is to use the
+@code{any2ps} shell script.  Both coco and any2ps can be found in Mule
+FTP sites.
+
+@menu
+* Ethiopic Fonts::
+* Editing Ethiopic Text::
+* ASCII Transcription for Ethiopic::
+* Ethiopic Mail::
+* Configuration for Ethiopic::
+* Function Keys for Ethiopic::
+@end menu
+
+@comment ------------------------------------------------------------
+@node Ethiopic Fonts, Editing Ethiopic Text, , Ethiopic Languages
+@subsection Ethiopic Fonts
+
+  Currently only 16 dot font is available for displaying Ethiopic.  You
+can get it from Mule's FTP sites.  The name of the font is
+@samp{ethiom16d75.bdf}.
+
+  You must invoke Mule as an X client if you want to use Ethiopic.
+First, make sure that the environment variable DISPLAY is properly set.
+Then invoke Mule from a shell window with the following command :
+
+@example
+% mule -fn 16
+@end example
+
+  If the Ethiopic font has been properly installed, you should be able
+to read the following text:
+
+@quotation
+$(2"g!)"K"^"<(B "Taste of Ethiopia"
+
+$(2"g"S#9!6(B $(2#J"8(B $(2"X!f$2!4(B $(2!!!)#<#9!6(B $(2$$"&!A!1(B $(2!&!."((B
+
+$(2$$!+"#!D!!#"!V(B $(2!Q"X"`!&(B $(2"S$)!a!W!^!d(B $(2!)"+!g!^$R(B
+
+- $(2"\!!!V(B $(2!F!6"8#'(B $(2$$"/"@(B $(2"$#%!V(B
+- $(2"\!!!V(B $(2!F!6"8#'(B $(2!a"8(B $(2$$"H!f"'(B $(2#E$)!f!.(B $(2$$#9!F"H(B $(2"$#%!V(B
+- $(2"S!f"((B $(2!Q"h!&(B $(2$$"H"q!6(B $(2!.!f"i$'(B $(2!E"i$)!f#>(B $(2$J#J"#!6(B
+- $(2"S!."H!V(B $(2!F!6"8#'(B $(2!/#&(B $(2$'!!(B $(2#J"^(B
+
+$(2$W(B) $(2$$"/"@(B $(2"$#%!R(B $(2!A"\!!!V(B $(2!Q"h!&(B $(2!F!6"8#'(B $(2#J"^(B $(2!Q!G"l!W(B $(2$)#!!)".!&$P(B
+
+$(2$X(B) $(2$$"H!f"'#J(B $(2#E$)!.(B $(2$$#9!F"D(B $(2"$#%!V(B $(2#>!,!9(B $(2$$"H"q!6(B $(2!)!f"i$'(B $(2!E"i$)!f#>(B
+$(2$J#J"#!6(B $(2$)#9!D!A!V!d(B $(2!A!F!%!f"#!6(B $(2#J"H"0(B $(2!Q#H"`")(B $(2!A"F"`!f(B $(2#J"H"0(B 
+$(2$)#!!)".!&$P(B
+
+$(2$Y(B) $(2"\!!!R(B $(2!B"m#K!^(B $(2!Q"g"(!a#J(B $(2"g(B2 $(2"X"H"g(B 3 $(2#!!f(B $(2"X!f"%$'#!!2(B $(2$)#!!)".!"$P(B
+
+$(2$Z(B) $(2#!!b(B $(2"g"#!1"H(B $(2!A"e!$(B $(2#!"H(B $(2!Q!F!'(B $(2$$#!!1!1#J!f(B $(2#J"^(B $(2"g"\!!!R!.(B $(2"F"`!g!^(B $(2#J"H"0(B
+$(2!,"@"C"H$P(B
+
+$(2$[(B) $(2"\!!!R!.(B $(2"X"`!&(B ($(2"/"@(B $(2"X!d(B $(2"H!f"'(B/$(2#9!F"H(B) $(2"S#!!$#&!'(B $(2!)!!#J"H!d(B $(2"X"`!"(B $(2"h"@(B 
+$(2"X"H"i!&(B $(2"(!1"H(B $(2!!(B2 $(2"C#b!V(B $(2$'"`!&(B $(2!,"H#!!)"0$P(B
+
+$(2$\(B) $(2"g!s$'(B $(2!A"e!$(B 425 $(2"%#>!3"H(B F $(2!A!/#!(B $(2!)#<#9!3$'(B $(2"S$$!6(B $(2"X!f"&$)#9!D(B $(2!W!'(B
+$(2"X$$"g"#!b(B $(2"X!f$2!4#J!f(B $(2!)#<#9!6$P(B
+@end quotation
+
+  Bear in mind that all fonts used in Mule must be of fixed width.
+Furthermore, the width of the Ethiopic characters must be exactly twice
+as wide as the ASCII characters.  For the detail of font specification,
+see @xref{Font, , Font, mule}.
+
+@comment ------------------------------------------------------------
+@node Editing Ethiopic Text, ASCII Transcription for Ethiopic, Ethiopic Fonts, Ethiopic Languages
+@subsection Editing Ethiopic Text
+
+@menu
+* Quail-mode for Ethiopic::
+* Fidel Input::
+* Ethiopic Punctuation Input::
+* Ethiopic Numeric Input::
+* Ethiopic Special Characters::
+@end menu
+
+@comment ............................................................
+@node Quail-mode for Ethiopic, Fidel Input, , Editing Ethiopic Text
+@subsubsection Entering and Leaving Ethiopic mode
+
+  Use the Quail system to input Ethiopic.  Hit @kbd{C-]} to enter
+quail-mode.  If you do not see the string @samp{ETHIO} in the mode-line,
+then hit @kbd{M-s} and specify the package name @samp{ethio}.  @key{SPC}
+works as the completion key.  If you hit @key{RET} without specifying a
+package name, the default package (shown in the parentheses) will be
+used.  To exit quail-mode, hit @kbd{C-]} once again.
+
+  For the detail of the Quail system, see @xref{Usage of Quail, , ,
+quail}.
+
+@comment ............................................................
+@node Fidel Input, Ethiopic Punctuation Input, Quail-mode for Ethiopic, Editing Ethiopic Text
+@subsubsection Fidel Input
+
+$(2"[(B. About Consonants
+
+  In quail-mode with the Ethiopic package, you can input Ethiopic
+characters from the alphabetic region of the keyboard.  To input ASCII
+characters you have to exit ethiopic-mode by hitting @kbd{C-]}.  A table
+of the first form consonants from the extended Fidel is given in the
+table below.  The key assignments are made to the closest phonetical
+match between the Ethiopic and Latin letters.
+
+@example
+ he =  $(2"[(B    `ke  =  $(2#m(B
+ le =  $(2!!(B     Ke  =  $(2"s(B
+ He =  $(2#{(B     Xe  =  $(2#t(B
+ me =  $(2!)(B     we  =  $(2#E(B
+`se =  $(2#Q(B     `e  =  $(2#_(B
+ re =  $(2!1(B     ze  =  $(2!q(B
+ se =  $(2"C(B     Ze  =  $(2!y(B
+ xe =  $(2!9(B     ye  =  $(2$$(B
+ qe =  $(2#!(B     de  =  $(2"#(B
+ Qe =  $(2#-(B     De  =  $(2$+(B
+ be =  $(2!A(B     je  =  $(2$2(B
+ ve =  $(2!I(B     ge  =  $(2#9(B
+ te =  $(2!Q(B     Ge  =  $(2$9(B
+ ce =  $(2!Y(B     Te  =  $(2"+(B
+`he =  $(2#f(B     Ce  =  $(2"3(B
+ ne =  $(2!a(B     Pe  =  $(2$@(B
+ Ne =  $(2!i(B     Se  =  $(2"K(B
+e,a =  $(2"S(B    `Se  =  $(2#X(B
+ ke =  $(2"g(B     fe  =  $(2";(B
+@end example
+
+  Characters beginning with a @samp{`} are usually a phonetic twin of
+some other letter in the Fidel and may be represented with a @samp{2} as
+shown below:
+
+@example
+s2e = `se = $(2#Q(B
+@end example
+
+  The extra character @samp{`} or @samp{2} is given to the twin that
+occurs less commonly in typical modern writing.  The @samp{`} was found
+to be more natural to read in Latin vs @samp{2} (@samp{2} will be easier
+to type on some keyboards).
+
+  In a few instances where uppercase keyboard letters would have no
+Ethiopic assignment, these keys (B, F, J, L, M, R, V, and Y) were made
+equivalent to their lowercase counter parts (i.e. L = l, m = M, etc).
+
+$(2!!(B. About Vowels
+
+  When a key corresponding to a consonant is first struck, you will see
+the sixth form of the character appear on the screen with a small
+underline, @samp{_}.  You may then type a vowel to modify the syllabic
+form of the consonant, or type any non-vowel character to terminate the
+entry of the letter (the underline goes away).  The new character typed
+will also appear on the screen.  A small table for the input system is
+given now :
+
+@example
+Consonants:
+me   mu   mi   ma   mE   m    mo   mWa
+$(2!)(B   $(2!*(B   $(2!+(B   $(2!,(B   $(2!-(B   $(2!.(B   $(2!/(B   $(2!0(B
+
+Independent Vowels:
+e/a  u/U  i    A    E    I   o/O   e3
+$(2"S(B   $(2"T(B   $(2"U(B   $(2"V(B   $(2"W(B   $(2"X(B   $(2"Y(B   $(2"Z(B
+
+Independent Vowels Following a 6th Form Consonant:
+         l'e   l'u   l'i   l'A   l'E   l'I   l'o
+also --> l'a   lU                      lI    lO
+         $(2!&"S(B  $(2!&"T(B  $(2!&"U(B  $(2!&"V(B  $(2!&"W(B  $(2!&"X(B  $(2!&"Y(B 
+
+Consonants With 12 forms:
+hWe  hWu/hW'  hWi   hWa   hWE 
+$(2"b(B     $(2"c(B     $(2"d(B    $(2"e(B    $(2"f(B
+@end example
+
+  [A NOTE ON FORMS 8 - 12] In different geographic regions, and at
+different times within the same region, people have been taught two
+different sounds for form 9 (@samp{$(2"c(B} in the above).  Phonetical keyed
+input is permitted for both ways a person may have been taught.
+
+  In some Ethiopian languages extend Fidel glyphs for labiovelar forms
+are required.  This is known to be true for the Gurage languages in
+particular.  The complete set of additional characters required for
+these languages was not known to the makers of the Ethiopic extension
+for Mule at the of this release.  Extended forms (8-12) of the @samp{w}
+series are provided to model the labiovelar sounds with a base consonant
+when a unique labiovelar glyph is not available for the consonant.  For
+example : bWe -> $(2!F#L(B, pWE -> $(2$L#P(B.
+
+  Once entered you may edit the vowel form of a letter by placing the
+cursor over the letter you wish to change and striking @key{[F6]}. See
+@xref{Function keys for ethiopic}.
+
+@comment ............................................................
+@node Ethiopic Punctuation input, Ethiopic Numeric Input, Fidel Input, Editing Ethiopic Text
+@subsubsection Ethiopic Punctuation input
+
+  All Ethiopic and Latin punctuations are available in quail-mode with
+the Ethiopic package.  The Ethiopic punctuations may be entered by
+typing the Latin equivalent from the keyboard.  Hitting the same
+punctuation key twice will replace the Ethiopic version with the Latin.
+A small table follows :
+
+@example
+.   ->  $(2$P(B 
+,   ->  $(2$Q(B 
+;   ->  $(2$R(B 
+:   ->  $(2$S(B 
+*   ->  $(2$T(B 
+<<  ->  $(2$U(B  
+>>  ->  $(2$V(B  
+::  ->  $(2$O(B
+@end example
+
+  In the last 4 cases in the table, Ethiopic punctuation is entered
+based upon the similarity between the appearence of the keyboard and
+Ethiopic symbols.  The last item in the table is an input for an
+Ethiopic word separator (a space @dfn{ }).  Here two keystrokes of
+the colon @key{:} key are required to enter the Ethiopic space, and 3
+keystrokes of the colon are then required to return to the Latin
+@samp{:}.
+
+  You may use the space bar to enter Ethiopic spaces by first going into
+an @dfn{Ethiopic space mode}.  To do so hit the @key{[F2]} key 2 times.
+Notice in the mode-line indicator near the bottom of the editor that
+each time you hit the @key{[F2]} key that the symbols @samp{_},
+@samp{$(2$N(B}, and @samp{$(2$O(B} will change.  These are your space-mode indicators.
+The first, @samp{_}, is the default for Latin font width blank spaces (8
+pixels) the 2nd is for Ethiopic font width blank spaces (16 pixels) and
+finally the last, @samp{$(2$O(B}, indicates to you that the space bar will
+now use the Ethiopic word separator.
+
+  You may change the word separator in a specified @dfn{region} of text
+by @kbd{S-[F2]}.  Doing so will convert all blank spaces into the
+Ethiopic word separators or, if you choose, to the double width Ethiopic
+blank space.  You may convert among the 3 word separators within a
+region of text at any time.
+
+@comment ............................................................
+@node Ethiopic Numeric Input, Ethiopic Special Characters, Ethiopic Punctuation Input, Editing Ethiopic Text
+@subsubsection Ethiopic Numeric Input
+
+  Both the Arabic (ASCII) and Ethiopic numerals are available in
+quail-mode with the Ethiopic package.  The Arabic numbers are the defualt
+when you strike the number keys of the keyboard.  Enter the
+@dfn{Ethiopic number mode} by pressing @key{[F1]}.  Notice that the
+Arabic @samp{1} changes to the Ethiopic @samp{$(2$W(B} in the mode-line.
+This is your numeral mode indicator.  Striking @key{[F1]} again returns
+you to the @dfn{Arabic numeral mode}.
+
+  Typing the number keys in Ethiopic numeral mode will render the
+numerals on the screen.  You may enter Ethiopic numbers like Arabic
+numbers with 0's to obtain the multiples of ten for numbers 1 - 9 up to
+a multiple of 100,000.  This limit is chosen as it will be the largest
+value that two numbers together may represent.
+
+@comment ............................................................
+@node Ethiopic Special Characters, , Ethiopic Numeric Input, Editing Ethiopic Text
+@subsection Ethiopic Special Characters
+
+  Special icons, glyphs, and ligatures may be available at the end of
+your font's address table.  You may enter them on screen, and into your
+document, with the @key{[F8]} key followed by a number.  For this moment
+the available icons are African continent and the region in which Ge'ez
+script is native to (collectively, the nations of Eritrea and Ethiopia).
+
+@comment ------------------------------------------------------------
+@node ASCII Transcription for Ethiopic, Ethiopic Mail, Editing Ethiopic Text, Ethiopic Languages
+@subsection ASCII Transcription for Ethiopic
+
+@menu
+* Basic SERA::
+* Mixed Script in SERA::
+* Customising SERA::
+* SERA for file I/O::
+@end menu
+
+@comment ............................................................
+@node Basic SERA, Mixed Script in SERA, , ASCII Transcription for Ethiopic
+@subsubsection Basic SERA
+
+  When written systematically, ASCII files (a file composed with the
+characters avaialable from a common English keyboard) may be
+interpretted by Mule and viewed as Ethiopic text.  Likewise, an Ethiopic
+document may be written out by Mule into ASCII for importation
+elsewhere.
+
+  Mule uses @dfn{SERA} (System for Ethiopic Representation in ASCII) as
+its Latin representation system of the Fidel to provide compatibility
+with other networks and PC softwares, and to allow users without Mule
+the ability to read easily Ethiopic documents composed with the editor.
+Though independent from file I/O, SERA has been applied as the input
+method (IM) for Mule as well, hence much of the system has already been
+discussed.  Current documents on SERA with detailed explanation of the
+system can be found in the @file{/pub/languages/ethiopia/email}
+directory at the ftp.rpi.edu archive.
+
+  A sample text of SERA is given below.  This is the transcription of
+the text in @xref{Ethiopic Fonts}.
+
+@example
+kemeSehafu \"Taste of Ethiopia"\
+
+ke'ager wC Injera lemegager yedabere lmd
+
+yemidebalequt teIhl aynetocna meTenoc;
+
+- hulet brCqo yeTEf duqEt
+- hulet brCqo neC yesndE weynm yegebs duqEt
+- and tekul yeskWar mnkiya bEkiyng pawder
+- amst brCqo moq yale wha
+
+\1) yeTEf duqEtu behulet tekul brCqo wha tebokto yqemeTal.
+
+\2) yesndEw weym yegebsu duqEt gmaxe yeskWar menkiya bEkiyng
+pawder ygebabetna beblEnder wsT tewahdo besahn wsT 
+yqemeTal.
+
+\3) huletu bukowoc tekednew ke2 Iske 3 qen Indiyaqeru yqemeTalu.
+
+\4) qenu kederes behWala qes teblo yeqererewn wha kehuletum sahnoc wsT
+mafses.
+
+\5) huletum Ihl (TEf Ina sndE/gebs) aqelaqlo melewsna Ihlu kuf 
+Iskil dres le2 se`at yahl masqemeT.
+
+\6) keziya behWala 425 digris \F \ bemoqe megageriya ayer Indaygeba tolo
+Iyekedenu Injerawn megager.
+@end example
+
+  If struck alone, @key{[F4]} will convert the entire document into
+Ethiopic text.  It is assumed that the text begins in Ethiopic. If the
+beginning of the document should start with Latin script, use @kbd{C-u
+[F4]} to make the appropriate conversion.  You may also use @kbd{S-[F4]}
+to convert only the specified region.  @kbd{[F5]}, @kbd{C-u [F5]}, and
+@kbd{S-[F5]} converts back into SERA-Latin with the same rules applying
+for @key{[F4]}.
+
+@comment ............................................................
+@node Mixed Script in SERA, Customising SERA, Basic SERA, ASCII Transcription for Ethiopic
+@subsubsection Mixed Script in SERA
+
+  There are some special rules that apply when you mix both Latin and
+Ethiopic.  The rules will be more important when composing a SERA file
+outside of Mule. At a glance, the escape rules given below may appear
+inconsistent.  Their practical use should become apparent when working
+with them, as they are designed in part to go naturally with their
+frequency of use.
+
+  @samp{\}, except followed by some special characters described below,
+toggles the script interpretation mode (Ethiopic<->Latin).  An
+alphabetic character may not be used as an escape sequence following the
+@samp{\}.  The predefined escape sequences may have different
+functions in the two script modes.  When followed by a blank space
+@samp{ }, the script mode toggles and the space is deleted.
+
+@table @asis
+@item \\
+Sends @samp{\} from either mode.
+
+@item \.  \,  \;  \:
+Sends the equivalent punctuation of the OTHER mode to the screen.
+
+@item \_  \*  \<  \>  \1 ... \9
+Sends the defined Ethiopic character from both modes.
+
+@item \|  \'  \`
+In Ethiopic mode @samp{|}, @samp{'} or @samp{`} is sent to the screen.
+In Latin mode, the toggle is made to Ethiopic and @samp{|},@samp{`} or
+@samp{'} is treated as the first char in the text segment and treated
+with the normal rules (i.e. just the stanard toggle into Ethiopic).
+
+@item \!
+The @dfn{Hard Mode Toggle}.  The switch toggles modes but treats all
+text until the ending @samp{\!} as one script.  This allows extended use
+of @samp{\} and @samp{\~} without the requirement for @samp{\\} and
+@samp{\\~} but at the cost of using only one script within the text
+region.
+
+@item \~x
+If @samp{x} is undefined in application, then @samp{x} is ignored. and
+nothing appears when transliterated.  Also true if @samp{x} is a blank
+space @samp{ }.
+
+@item \~e  \~E  \~a  \~A
+Sends the icon of Ge'ez Homelands, its inverse image, African continent and
+its invers image, respectively.
+@end table
+
+@comment ............................................................
+@node Customising SERA, SERA for file I/O, Mixed Script in SERA, ASCII Transcription for Ethiopic
+@subsubsection Customising SERA
+
+  Fidel is a highly phonetical script set, but not perfect.  In a few
+instances among the languages that use Fidel for its written script, a
+letter will not have a sound consistant with its form class.  The
+clearest example for this is in Amharic where the first form @dfn{h}s
+will have a sound equivalent to that of the fourth form (@samp{$(2"[(B},
+@samp{$(2#{(B}, @samp{$(2#f(B} sound the same as @samp{$(2"^(B}, @samp{$(2#~(B}, @samp{$(2#i(B}).
+To model in Latin the different sounds associated with a particular
+Fidel member, SERA allows for duplicity of the Latin representation.
+One such important instance is the choice of @samp{e} AND @samp{a} to
+represent the first lone vowel letter @samp{$(2"S(B}.  @samp{a} is the
+natural choice in Amharic and @samp{e} is more logical in most
+languages.  Both @samp{a} and @samp{e} are recoginized for @samp{$(2"S(B}
+when converting Latin->Ethiopic; but the user must decide on a choise of
+@samp{a} or @samp{e} for converting Ethiopic->Latin.
+
+  The default conversion in mule is to write @samp{$(2"S(B} as @samp{a}.  You
+may set Mule to always convert @samp{$(2"S(B} as @samp{e} by adding the line
+below to your @file{~/.emacs} file:
+
+@lisp
+(setq ethio-use-tigrigna-style t)
+@end lisp
+
+  As discussed before (@xref{Fidel Input}), the natural choise of
+@samp{Wu} or @samp{W'} for 9th form characters will differ between
+people.  @samp{Wu} is the default conversion into Latin, but you may
+change this to @samp{W'} by adding the following line to your
+@file{~/.emacs} file:
+
+@lisp
+(setq ethio-W-sixth-always t)
+@end lisp
+
+  SERA also permits @samp{'} as a separator between two Latin vowels
+when the user thinks it aids clarity.  The deault in Mule is not to
+insert @samp{'} between vowels, you may change this by again adding the
+following line to your @file{~/.emacs} file:
+
+@lisp
+(setq ethio-quote-vowel-always t)
+@end lisp
+
+  As discussed before (see @xref{Ethiopic Numeric Input}), Ethiopic
+numerals may be written in several forms and interpreted in the same
+way.  Likewise you have these same choices for SERA output.
+
+  For example, consider the Latin sequence @samp{\10\9\100\80\7} for
+@samp{$(2$`$_$i$g$](B}.  The Latin form is considered to be in the lowest
+level of reduction, or @dfn{reduction-level 0}.  You can choose to write
+out in reduction-level 0 by including the following line in your
+@file{~/.emacs} file:
+
+@lisp
+(setq ethio-numeric-reduction 0)
+@end lisp
+
+  The next level in reduction is the form @samp{\109100807} which can be
+set by:
+
+@lisp
+(setq ethio-numeric-reduction 1)
+@end lisp
+
+  The final level in reduction is the form @samp{\10900807} which can be
+set by:
+
+@lisp
+(setq ethio-numeric-reduction 2)
+@end lisp
+
+  These three reduction levels for numbers are offered, because it can
+not be known at this time which may ultimately become the preferred
+form.
+
+@comment ............................................................
+@node SERA for file I/O, , Customising SERA, ASCII Transcription for Ethiopic
+@subsubsection SERA for file I/O::
+
+  Whenever you find a file (by @kbd{C-x C-f}) whose name ends in
+@file{.sera}, Mule assumes that the file is written in SERA, and
+automatically converts the contents into Fidel.
+
+  Likewise, if you save a buffer to a file with the @file{.sera}
+extension, the contents will be converted into SERA before actually
+written.
+
+  Note that the old two hooks for SERA I/O, i.e.,
+@code{fidel-to-sera-for-disksave} and @code{sera-to-fidel-for-disksave},
+have been removed.
+
+@comment ------------------------------------------------------------
+@node Ethiopic Mail, Configuration for Ethiopic, ASCII Transcription for Ethiopic, Ethiopic Languages
+@subsection Ethiopic Mail
+
+  By default, Mule uses the *junet* coding-system for sending and
+receiving mail.  It is a 7-bit coding with escape sequences, so there
+should be no difficulty in mail transmission unless the code @samp{ESC}
+is not removed by MTA (mail transfer agent).
+
+  Nonetheless, it would be safer to use the SERA format for mail
+transmission.  In addition to the safety, users who do not have Mule
+will benefit from using SERA for mail.
+
+  If you include the line
+
+@lisp
+(add-hook 'mail-send-hook 'fidel-to-sera-mail)
+@end lisp
+
+in your @file{~/.emacs} file, Ge'ez characters in mail body will be
+automatically converted into SERA when you send mail from mail-mode.
+You can write mail in the Ge'ez script and send it as if it were written
+in SERA.  The markers @samp{<sera>} and @samp{</sera>} are automatically
+inserted at the beginning and the end of mail body so that the mail
+receiver can read it in Ge'ez, even without Mule, by using @code{eview}
+program.
+
+  If you want to preview the SERA transcription before you actually send 
+the mail, hit @kbd{C-[F5]} in the @samp{*mail*} buffer.  Hit @kbd{C-[F4]}
+to go back to Fidel.
+
+  Likewise, if you include the line
+
+@lisp
+(add-hook 'rmail-show-message-hook 'sera-to-fidel-mail)
+@end lisp
+
+in your @file{~/.emacs} file, all mails that contain the @samp{<sera>}
+marker are automatically converted into the Ge'ez script when you read
+them with @code{rmail}.
+
+  When you receive mail in SERA but without @samp{</sera>}, you can
+convert it into Ge'ez by hitting @kbd{C-[F4]}.  In rmail-mode, this key
+is always active and you can use it even without setting the hooks
+above.  @kbd{C-[F4]} first searches the marker @samp{<sera>} and the
+termination marker @samp{</sera>}.  If found, only the portion between
+the two markers is converted in Ge'ez.  Otherwise it skips the header
+part by looking for the first blank line, then convert the rest of the
+buffer.  If there is no blank line, it prints a message and no
+conversion is done.
+
+  For backward compatibility, Mule regards the markers @samp{<ethiopic>}
+and @samp{<>} as aliases of @samp{<sera>} and @samp{</sera>}.  But the
+usage of @samp{<ethiopic>} and @samp{<>} is not recommended.
+
+@comment ------------------------------------------------------------
+@node Configuration for Ethiopic, Function Keys for Ethiopic, Ethiopic Mail, Ethiopic Languages
+@subsection Configuration for Ethiopic
+
+  To use Ethiopic most easily, you may want to create the
+@file{~/.emacs} file in your home directory that contains the following
+line:
+
+@lisp
+(set-primary-environment 'ethio)
+@end lisp
+
+  Here are the lines that you might want to include in your
+@file{~/.emacs} file:
+
+@table @asis
+@item (setq ethio-use-tigrigna-style t)
+Writes SERA output with @samp{e} in place of @samp{a} for the first 
+form vowel @samp{$(2"S(B}.
+
+@item (setq ethio-quote-vowel-always t)
+When writing SERA output @samp{'} is inserted between two adjacent
+vowels.
+
+@item (setq ethio-W-sixth-always t)
+Writes SERA output with 9th form Fidel characters represented
+with @samp{W'} and not @samp{Wu}.
+
+@item (setq ethio-numeric-reduction #)
+Sets level of reduction for numeral representation in SERA.  @samp{#}
+must be replaced by 0, 1 or 2.  The Ethiopic number @samp{$(2$[$i(B} will be
+@samp{\5\100} if # is 0, @samp{\5100} if 1, @samp{\500} if 2.
+
+@item (add-hook 'rmail-show-message-hook 'sera-to-fidel-mail)
+When in rmail-mode will convert Ethiopic email marked by @samp{<sera>}
+immediately into Ge'ez text without waiting for the @kbd{C-@key{[F4]}}
+key to be struck.
+
+@item (add-hook 'mail-send-hook 'fidel-to-sera-mail)
+Will convert Ge'ez email into SERA when send it out from mail-mode.
+
+@item (add-hook 'news-inews-hook 'fidel-to-sera-mail)
+Will convert Ge'ez news article into SERA format when posting news
+in gnus mode.
+@end table
+
+@comment ------------------------------------------------------------
+@node Function keys for Ethiopic, , Configuration for Ethiopic, Ethiopic Languages
+@subsection Function keys for Ethiopic
+
+Some function keys have been mentioned in the above.  A complete list
+of the function keys available is presented separately here.
+
+@table @asis
+@item @key{[F1]} or @kbd{M-x ethio-toggle-digit}
+toggles Arabic digit input and Ethiopic digit input.  The current input
+mode is indicated by the character @samp{1} or @samp{$(2$W(B} in the mode
+line, next to the @samp{ETHIO} string.  In Ethiopic mode, you can input
+up to 1000000 (\1000000) by continuous zeros.  To input 2000000
+(\2000000), for example, you have to type @samp{21000000}.  The default
+is Arabic digit.  (Available only in quail-mode.)
+
+@item @key{[F2]} or @kbd{M-x ethio-toggle-space}
+toggles space characters (one of the three below) for keyboard
+input.
+
+@enumerate a
+@item
+@samp{ } - Single width ASCII space.  Mode line Indicator is @samp{_}.
+
+@item
+@samp{$(2$N(B}  - Double width Ethiopic blank.  Mode line Indicator is @samp{$(2$N(B}.
+
+@item
+@samp{$(2$O(B}  - Ethiopic word separator.  Mode line Indicator is @samp{$(2$O(B}.
+@end enumerate
+
+Each time you hit @key{[F2]}, the space character changes a -> b -> c ->
+a and so on.  The default is ASCII space.  (Available only in
+quail-mode.)
+
+@item @key{[F3]} or @kbd{M-x ethio-toggle-punctuation}
+toggles Latin punctuation input and Ethiopic punctuation input.  The
+mode line indicator is @samp{.} (Latin) and @samp{$(2$P(B} (Ethiopic).  The
+default is Ethiopic punctuations.  (Available only in quail-mode.)
+
+@item @key{[F4]} or @kbd{M-x sera-to-fidel-buffer}
+performs SERA to Fidel conversion in the current buffer.  It assumes
+that the buffer begins in Ethiopic.  To convert a text which begins in
+Latin, use @kbd{C-u @key{[F4]}}.  You can continuously enter any large
+Ethiopic numbers, for example,
+\5500000000000000000000000000000700000000000000000000.
+
+@item S-@key{[F4]} or @kbd{M-x sera-to-fidel-region}
+performs SERA to Fidel conversion in the specified region.  It assumes
+that the buffer begins in Ethiopic.  To convert a text which begins in
+Latin, use @kbd{C-u S-@key{[F4]}}.
+
+@item C-@key{[F4]} or @kbd{M-x sera-to-fidel-marker}
+If the buffer contains the markers @samp{<sera>} and @samp{</sera>},
+converts the segment between the two markers from SERA to Fidel in Ethio
+start mode.  The markers will not be removed.
+
+@item C-@key{[F4]} (in rmail-mode or Mali-mode) or @kbd{M-x sera-to-fidel-mail}
+Does SERA to FIDEL conversion for reading/writing mail.  If the buffer
+contains the markers @samp{<sera>} and @samp{</sera>}, converts the
+segment between the two markers in Ethio start mode and the
+@samp{Subject:} field in ASCII start mode.  Conversion will be performed
+even if the current buffer is read-only.
+
+Usually, this function is used as a hook.  When invoked interactively
+and there is no markers, it converts both the whole body and the
+@samp{Subject:} field in Ethio start mode.
+
+For backward compatibility, @samp{<ethiopic>} and @samp{<>} can be used
+instead of @samp{<sera>} and @samp{</sera>}.
+
+@item @key{[F5]} or @kbd{M-x fidel-to-sera-buffer}
+performs Fidel to SERA conversion in the current buffer.  The converted
+region begins in Ethiopic mode. (If the first character of the original
+text is a Latin alphabet, @samp{\ } will be inserted at the beginning to
+turn into Latin mode.)  To produce a SERA text that begins in Latin, use
+@kbd{C-u @key{[F5]}}.  By default, the first lone vowel @samp{$(2"S(B} is
+transcribed by @samp{a}.  If you want it to be @samp{e}, put the
+following line in your .emacs file:
+
+@lisp
+(setq ethio-use-tigrigna-style t)
+@end lisp
+
+Also by default, the lone vowels are preceded by an apostrophe
+@samp{'} only if the preceding character is a 6th form consonant.
+If you want the lone vowels always preceded by an apostrophe,
+put the following line in your @file{~/.emacs} file:
+
+@lisp
+(setq ethio-quote-vowel-always t)
+@end lisp
+
+@item S-@key{[F5]} or @kbd{M-x fidel-to-sera-region}
+performs Fidel to SERA conversion in the specified region.  The converted
+region begins in Ethiopic mode. (If the first character of the original
+text is a Latin alphabet, @samp{\ } will be inserted at the beginning to
+turn into Latin mode.)  To produce a SERA text that begins in Latin, use
+@kbd{C-u S-@key{[F5]}}.
+
+@item C-@key{[F5]} or @kbd{M-x fidel-to-sera-marker}
+If the buffer contains the markers @samp{<sera>} and @samp{</sera>},
+converts the segment between the two markers from Fidel to SERA in Ethio
+start mode.  The markers will not be removed.
+
+@item C-@key{[F5]} (in rmail-mode or Mail-mode) or @kbd{M-x fidel-to-sera-mail}
+Does Fidel to SERA conversion for reading/writing mail and news.
+Intended to be used for mail-send-hook and news-inews-hook, but can be
+invoked interactively, too.
+
+If the buffer contains at least one Ethiopic character, then it
+
+1) inserts the string @samp{<sera>} right after the head-body
+separating line,
+2) inserts @samp{</sera>} at the end of the buffer,
+3) converts the body into SERA in Ethiopic start mode, and
+4) converts the @samp{Subject:} field in ASCII start mode.
+
+If there is no separating line, @samp{<sera>} will be put at the
+beginning of buffer and does not look for the @samp{Subject:} field.
+
+@item @key{[F6]} or @kbd{M-x ethio-modify-vowel}
+is the vowel modification key.  Hit this key when the cursor is on a
+Fidel letter.  Then you will be asked a new vowel.  Hit one of the seven
+characters below from the keyboard:
+
+@example
+e  u  i  a  E  '  o
+@end example
+
+You will get a new letter whose consonant is the same as the
+original, but with the new vowel that you selected.  An
+apostrophe @samp{'} changes the character to the sixth form (lone
+consonant).
+
+If the cursor is on the Wa-form of letter having only 8 forms, selecting
+a vowel other than @samp{a} changes the original into the combination of
+two characters, namely, the sixth form of the original character and the
+wW utility letter whose vowel is the newly selected one. See @xref{Fidel 
+Input}.
+
+@item @key{[F7]} or @kbd{M-x ethio-replace-space}
+replaces the spaces between two Ethiopic characters in the specified
+region.  You will be asked the new space character.  Answer by typing 1,
+2 or 3.  1 means the single width ASCII space.  2 means the double width
+Ethiopic blank.  3 means the traditional Ethiopic word separater.  This
+command is independent from the space selection for keyboard input.
+
+@item @key{[F8]} or @kbd{M-x ethio-input-special-character}
+inputs graphical images in font file.  A menu will appear in
+mini-buffer.
+@end table
+
+@comment ============================================================
+@node IPA, , Ethiopic Languages, Top
+@section IPA
+
+  International Phonetic Alphabet (IPA for short) is not a language, but
+we describe its usage in Mule here as a matter of convenience.
+
+  To print text that contains IPA characters, see the online manual
+@samp{m2ps(1)} and @xref{Top, , m2ps, m2ps}.
+
+@menu
+* IPA Character Set::           IPA Characters and IPA Fonts
+* Inputing IPA::                Quail Package for IPA
+@end menu
+
+@comment ------------------------------------------------------------
+@node IPA Character Set, Inputing IPA, , IPA
+@subsection IPA Character Set
+
+  Mule defines a private character set to represent a subset of 1989's
+version of IPA.  It consists of the consonant signs used in English,
+French, German and Italian, and all vowels signs in the table.  For the
+detail of the included characters, see @xref{Inputing IPA}.
+
+  To use this character set, you have to start Mule as an X client.  The
+fonts for this purpose are found in Mule's FTP sites.  Their names are:
+
+@example
+@file{etl14-ipa.bdf}
+@file{etl16-ipa.bdf}
+@file{etl24-ipa.bdf}
+@end example
+
+  If the IPA fonts have been properly installed, you should be able to
+read the following line:
+
+@quotation
+,0I!J(B ,0!K(B ,0'(B ,0Z% S(B ,0V!BS(B ,0!S(B ,0p% p@ rp" (B ,0Dp$V'DB'K(B
+@end quotation
+
+  Bear in mind that all fonts used in Mule must be of fixed width.
+Furthermore, the width of the IPA symbols must be the same as the ASCII
+characters.  For the detail of font specification, see @xref{Font, ,
+Font, mule}.
+
+@comment ------------------------------------------------------------
+@node Inputing IPA, , IPA Character Set, IPA
+@subsection Inputing IPA
+
+  To input IPA characters, use the Quail system.  Hit @kbd{C-]} to turn
+into quail-mode.  If you do not see the string @samp{[IPA]} at the left
+end of mode-line, then hit @kbd{M-s} and specify the package name
+@samp{ipa}.  @key{SPC} works as the completion key.  If you hit
+@key{RET} without specifying a package name, the default package (shown
+in the parentheses) will be used.  To exit quail-mode, hit @kbd{C-]}
+once again.
+
+  For the detail of the Quail system, see @xref{Usage of Quail, , ,
+quail}.
+
+  Here are the key bindings for IPA characters in quail-mode:
+
+@example
+key             description             example
+-----------------------------------------------------------
+i               small letter i          i in ici (F)
+I               small capital I         i in bit (E)
+e               small letter e          e' in the' (F)
+E or \3         rounded small epsilon   e in end (Am. E)
+ae              a+e ligature            a in cat (E)
+a               small a in printing     a in patte (F)
+A or o|         small a in manuscript   o in hop (Am. E)
+/v              upside-down small v     u in cup (Am. E)
+&               small gamma
+/m              upside-down small m
+i-              small i with bar
+/e              schwa (upside-down e)   a in about (E)
+/a              upside-down pr. a       a in china (E)
+y               small letter y          u in sur (F)
+Y               small capital Y         u" in du"nn (G)
+o/              small phi               eu in deux (F)
+oe              o+e ligature            oe in boeuf (F)
+OE              O+E ligature
+/A or |o        upside-down man. a      o in hop (E)
+/c              upside-down small c     a in all (E)
+o               small letter o          o in pot (F)
+U               upside-down cap. omega  oo in book (E)
+u               small letter u          ou in pour (F)
+u-              small u with bar        u in hus (Norwegian)
+o-              small o with bar        o" in do"rr (Swedish)
+e- or e|        r coloured schwa        er in letter (Am. E)
+oe~             tilde above o+e         un (F)
+/c~             tilde above u-d. c      on in bon (F)
+E~ or /3~       tilde above epsilon     ain in pain (F)
+A~ or o|~       tilde above man. a      an in blanc (F)
+-----------------------------------------------------------
+p               small letter p          p in paon (F)
+b               small letter b          b in banc (F)
+t               small letter t          t in table (E)
+d               small letter d          d in date (E)
+k               small letter k          c in computer (E)
+g               small letter g          g in get (E)
+f               small letter f          f in feel (E)
+v               small letter v          v in veal (E)
+th              small theta             th in three (E)
+dh              small icelandic edh     th in this (E)
+s               small letter s          s in sea (E)
+z               small letter z          z in zero (E)
+sh              integral mark           sh in shell (E)
+zh or 3         voiced sh               j in je (F)
+c,              c with cedilla          ch in ich (G)
+x               small letter x          x in ach (G)
+/R              upside-down capital R   r in Paris (Parisian F)
+h               small letter h          h in hat (E)
+m               small letter m          m in make (E)
+n               small setter n          n in net (E)
+gn              n with long left leg    gn in signe (F)
+ng              n with long right leg   ng in song (E)
+r               small letter r          rr in carro (I)
+R               small capital R         rr in harren (G)
+/r              upside-down small r     r in red (E)
+j               small letter j          y in you (E)
+l               small letter l          l in light (E)
+/y              upside-down small y     gl in foglio (I)
+L               small capital L         ll in tell (E)
+/h              upside-down small h     u in nuit (F)
+w               small letter w          w in we (E)
+M               upside-down capital W   wh in what (E)
+-----------------------------------------------------------
+'               acute                   primary accent
+`               grave                   secondary accent
+:               colon                   long
+@end example
+
+@contents
+@bye