Mercurial > hg > xemacs-beta
diff etc/mule/FAQ-Mule @ 70:131b0175ea99 r20-0b30
Import from CVS: tag r20-0b30
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:02:59 +0200 |
parents | |
children | 28f395d8dc7a |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/mule/FAQ-Mule Mon Aug 13 09:02:59 2007 +0200 @@ -0,0 +1,1902 @@ +-*- Indented-Text -*- + +Frequently Asked Questions and Answers for Mule. +1994/8/30 + +---------------------------------------------------------------------- + +This FAQ list was made to summarise some frequently asked questions +and their answers in a convenient form. The structure of this FAQ +list has drastically changed since the last version. For the detail +of the new structure, see the entry of `How to read this FAQ and its +structure'. + +We believe that the contents are fairly correct, but please let us +know if you find any mistakes. New information is always welcome. + +To get the latest FAQ, see A-12. + +Many people gave us advice in making this list. We would like to +thank those who have contributed. + +-- +Takahiro Maebashi <maebashi@mcs.meitetsu.co.jp> +(translated by TAKAHASHI Naoto <ntakahas@etl.go.jp>) + +---------------------------------------------------------------------- + +WARNING!! +This FAQ list contains Japanese, Chinese and Latin-1 characters. If +you read this list on a terminal which is not capable of displaying +those characters, your terminal might be set in a strange state. +---------------------------------------------------------------------- + +If you are viewing this text in a Mule Buffer, you can type "M-2 C-x +$" to get an overview of just the questions. Then, when you want to +look at the text of the answers, just type "C-x $". + +To search for a question numbered X-XX, type "M-C-s ^X-XX:", followed +by a C-r if that doesn't work, then type ESC to end the search. + +This Mule FAQ is divided into two parts: + +Part 1: Questions common to all languages +Part 2: Questions specific to each language + +Each part consists of several sections. Questions in Part 1 are +grouped by their fields, and questions in Part 2 are grouped by +languages. You may find almost the same questions in different +sections, but this is for the convenience of readers. + +---------------------------------------------------------------------- + + FAQ Part 1: Questions common to all languages + +GENERAL QUESTIONS + +A-1: What is Mule? + + Mule is a multi-lingual enhancement of GNU Emacs. Mule Ver.1 was + based on GNU Emacs Ver.18 and Mule Ver.2 is based on GNU Emacs + Ver.19. Mule Ver.1 will not be supported anymore. + + Mule has the following features: + * It can handle not only ASCII characters (7 bit) and ISO Latin-1 + characters (8 bit), but also 16 bit characters like Japanese, + Chinese, and Korean. Furthermore Mule can have a mixture of + languages in a single buffer. + * You can set different coding systems for file input/output, + keyboard input, and inter-process communication. + * When not in the multi-lingual mode, it behaves almost exactly like GNU + Emacs. + +A-2: How can I get Mule? + + Mule is available via anonymous FTP from: + + etlport.etl.go.jp [192.31.197.99]: /pub/mule + ftp.mei.co.jp [132.182.49.2]: /public/free/gnu/emacs/Mule + ftp.iij.ad.jp [192.244.176.50]: /pub/misc/mule + sh.wide.ad.jp [133.4.11.11]: /JAPAN/mule + ftp.funet.fi [128.214.6.100]: /pub/gnu/emacs/mule + + Please use one of the last three sites unless you are in Japan. It + should be better to use ftp.funet.fi for European sites. + + Both the complete tar file of Mule (mule-2.0.tar.gz) and the diff + file to GNU Emacs 19.25 (diff-19.25-2.0.gz) are available. Please + take the diff file if you already have GNU Emacs. If you find patch + files there (patch-2.0-*.gz), get them too and apply the patches. + Various fonts and ELISP libraries are also available from the same + sites. + + See $MULE/README.Mule for further details. + +A-3: What is the latest version of Mule? + + The current version is 2.2 (WAKAMURASAKI), and is based on + GNU Emacs 19.28. + +A-4: Will Mule be integrated into GNU Emacs in the future? + + We have just started the work of merging Mule to GNU Emacs. + +A-5: Are there any plans to introduce the features of Mule to Epoch + (or Nepoch)? + + Mule Ver.2 (actually GNU Emacs 19) can make a independent frame for + each buffer, and can draw coloured strings. + +A-6: Are there any plans to introduce the features of Mule to Demacs? + + Mule Ver.1.x contains Demacs. Read the install manual + "INSTALL.dos". + +A-7: What are the advantages of using Mule Ver.2 instead of Mule Ver.1? + + To summarise, it is possible to use the new features added to GNU + Emacs 19. There are so many new features and we cannot list them + here, but the multi-frame functions a la Epoch and face functions + (see F-5 below) are examples. + +A-8: Are there any mailing lists for Mule? + + There are two lists for discussion in English: + + mule@etl.go.jp + Main language is English. + mule-vn@etl.go.jp + To discuss handling of Vietnamese. Main language is English. + + The following is for various pre-release tests: + + mule-jp@etl.go.jp + Main language is Japanese. + + To discuss general topics in Japanese, please use the newsgroup + fj.editor.mule. + + If you want to join these lists, contact the address + mule-request@etl.go.jp. Note that mule-jp-request does not exist. + +A-9: Where should I send bug-reports of Mule? + + If you write bug-reports and/or propositions for improvement in + Japanese, post them to fj.editor.mule. If you do not have access to + this newsgroup, send them to mule@etl.go.jp in English. + +A-10: Does Mule have manuals written in Japanese/English/Chinese/ + Korean/etc.? + + There are five kinds of manuals: + + * on-line manual, + * texinfo manual, + * FAQ, + * tutorial, and + * various documents under the "doc" directory. + + The current version of Mule is 2.0, but some manuals have not been + rewritten since Ver.1 (sorry). + + * on-line manual + + An on-line manual written in English is included. Usually you can + read it with the man command. If your sys-admin did not make it + readable, you will have to copy $MULE/etc/mule.1 to your man + directory. + + * texinfo manual + + A texinfo manual, which explains the functions and terminology of Mule, + is also available. You will find the source in texinfo format + under $MULE/man and the formatted text under $MULE/info. + + * FAQ + + This is what you are reading now. The following versions are + available in $MULE/etc: + + FAQ-Mule English version + FAQ-Mule.jp Japanese version + FAQ-Mule.kr Korean version + FAQ-Mule.cn Chinese version + + * tutorial + + The tutorial is available in Japanese and Korean. When you type + C-h T (M-x help-with-tutorial-for-mule), Mule asks you in what + language you want the tutorial. (Hitting space bar shows the list + of available languages.) + + * documents under the `doc' directory + + There are some sample texts and documentation of functions of Mule in + $MULE/doc. Most of the documents that were there in Ver.1 have + been texinfonised. $MULE/doc/viet contains documents written in + Vietnamese. + +A-11: What does the name "Mule" stand for? + + Quoted from UNIX dictionary :-) + + [Mule] (UNIX command) [mju:l] + Stands for "MUlti-Lingual Enhancement to GNU Emacs". Corresponding + to the animal series of GNU, and also to the convention of giving + an antonym to its name, like gawk. (cf. Demacs, Emacs, gawk, + Nemacs) + + Hironobu SUZUKI <hironobu@sra.co.jp> first suggested this name. + +A-12: Where can I get the latest Mule FAQ list? + + There are four versions of Mule FAQ, i.e. in English, in Japanese, + in Korean and in Chinese. In the distribution set, they are named: + + FAQ-Mule English version + FAQ-Mule.jp Japanese version + FAQ-Mule.kr Korean version + FAQ-Mule.cn Chinese version. + + The original is the Japanese version. The others are + translations and may or may not be slightly obsolete. + + You can get Mule FAQ from: + + * network news. Mule FAQ is posted to fj.editor.mule at irregular + intervals. + + * anonymous FTP sites. It is available via anonymous FTP from the + following sites. + + etlport.etl.go.jp: /pub/mule/READMEDIR + sh.wide.ad.jp: /JAPAN/mule/READMEDIR + + * the distribution set of Mule. Each distribution set contains the + latest FAQ (at that time) as etc/FAQ-Mule{,.jp,.kr}. + +A-13: What functions are not implemented in Mule 2.0? + + The following functions are not available in Mule 2.0. Wait for the + next version: + + o Multi-lingual version of lisp/picture.el and lisp/rect.el + o Multi-lingual version of XMENU + o Displaying on Sun console + + +BUILDING AND INSTALLING + +B-1: What options does configure accept? + + You can get the list by `configure --help'. + +B-2: How can I build Mule for X Window System under SunOS 4.1.x? + + To make Mule under SunOS 4.1.x, static linking is necessary. If there + are no libraries for static linking, you have to create libX11.a by + adding + + #define ForceNormalLib YES + + to the site.def file when you build X. + +B-3: How can I use Wnn or Canna in Mule? + + Specify --wnn or --canna to configure. If the libraries are not in + the standard directories, you may need to specify --wnn-include=XXXX, + too. + +B-4: During the building of Mule, a message "Pure Lisp storage + exhausted" was displayed, and the compilation stopped. + + Ken'ichi HANDA <handa@etl.go.jp> writes: + + This happens when the value of PURESIZE in puresize.h is too + small. Some systems seem to require a larger value. Loading many + language specific files (e.g. japanese.el, chinese.el) in + site-init.el requires a larger value, too. First, try again with + the value doubled. If that works, you can adjust PURESIZE to a + value a little greater than the value displayed in the message + "Pre Bytes Used XXXXX" (which is displayed when temacs has loaded + mule-init.el). After that you have to remake Mule with this + adjusted PURESIZE value. + +B-5: When I was building Mule the compilation stopped with a message + saying "Undefined Symbol: __des_crypt". What can I do? + + Masato Minda <minmin@astec.co.jp> writes: + + I think this happens when you use static link under SunOS with + JLE1.1.1. + + Solutions: + Apply the patch(es) for JLE (I forgot the patch ID). + Use JLE1.1.1 rev B or later. + Throw away JLE :-) + + I think making an empty _des_crypt function and linking it + together might work, though I've never tried it. + +B-6: Why does Mule, which is compiled with GCC, add a ^M at the end of + each line in shell mode? + + Ishikawa Ichiro <ichiro@ccsr.u-tokyo.ac.jp> writes: + + I have had the same problem in Emacs 19. (At that time Mule did + not work at all if compiled with gcc.) The cause was incomplete + installation of gcc. (I used the JLE version of sed.) + + Sed in JLE has bug and cannot install the header files (fixincludes) + well. Use sed of GNU instead. + +B-7: I succeeded in compiling Mule, but I cannot input any language except + English. + + If you want to use foreign languages in Mule, you have to load the + language specific files by specifying them in the site-init.el file. + By default there is no site-init.el file, and this means that you + can input only English. + + If you want to use Japanese and Chinese, include the following lines + in the lisp/site-init.el file when you build Mule: + (load "japanese") + (load "chinese") + + When the necessary files have not been loaded, you can load them by + hand, for example, as follows: + M-x load-library RET japanese RET + + The lastly loaded language will be the default. To change this, + execute + M-x its:select-mode + to specify the mode. Completion of the mode name is available. + + Loading too many language specific files may cause the "Pure Lisp + storage exhausted" error during the compile. In this case, refer + B-4. + +B-8: I want to save the result of configure to compile on other + machines. + + Rename config.status to save the result. Or, you can compile the + source in a different directory. + +B-9: I configured on the first machine. Then I configured on the + second machine. I want to make it on the first machine again. Do I + have to rerun configure? + + No. All you have to do is executing the previously saved + config.status file. + +B-10: How can I compile in a directory other than the source directory? + + Specify the --srcdir=(_the_name_of_source_directory_) option to + configure. In this case, if you have ever run configure in the + source directory, you must execute `make clean' first in that + directory. + +B-11: I have to rerun configure for some reason. Do I have to type + all command line options again? + + No. All you have to do is `./config.status --recheck'. As + `config.status' is a sh script, you can edit this file directly to + modify the arguments. You can also give the argument to configure + by using the cut & past function of terminal emulator. + +B-12: I tried to run configure, but the options are not recognised at + all. + + Are you using the JLE OS on Sun? It seems that JLE has problems + because of bugs and differences of features in the commands and + libraries. They say that the installation of GCC may fail under + JLE. + + In the current situation, `tr - _' does not work well. The + workaround is to change `tr - _' in configure to `tr \- _', or, if + you are using csh, execute + setenv LANG C + or + unsetenv LANG + +B-13: Making Mule under Solaris2 + X11R6 dumps core. + + Mule 2.0 and GNU Emacs 19.25 cannot cope with multi-threading. This + means that you have to either: + + 1) include + #define ThreadedX NO + in site.def when you build X11R6. The resulting X11R6 does not + cope with multi-thread. + + or + + 2) link with libX11.a, not with libX11so.6. Then it will not be + linked with libthread.so.1, either. + + +HANDLING FOREIGN LANGUAGES + +C-1: What languages are supported in Mule? + + Except from $MULE/README.Mule: + + 0. English + + Just type it. :-) + + 1. Japanese + + We strongly recommend you to install Wnn4.108 or later. (Some + machine requires Wnn4.109p1, not Wnn4.108.) The `TAMAGO (EGG)' + system, which is bundled to Mule, communicates with Wnn's jserver + to provide a very convenient Japanese input method. For the usage + of `TAMAGO', see $MULE/info/egg. + + Mule runs as a client of the X Window System, or runs under a Japanese + terminal (including terminal emulators like kterm and exterm). In + the latter case, you can use the Japanese input system that is + provided by the terminal. Other input systems are: + * sj3-egg, CANNA bundled with Mule + * SKK, boiled-egg included in the contrib directory + + 2. Chinese + We strongly recommend you to install Wnn4.108 or later. (Some + machines require Wnn4.109p1, not Wnn4.108.) The `TAMAGO (EGG)' + system, which is bundled to Mule, communicates with cWnn's cserver + to provide a very convenient Chinese (GB) input method. For + the usage of `TAMAGO', see $MULE/info/egg. + + Mule runs as a client of the X Window System, or runs under a Chinese + terminal (including terminal emulators like cxterm and exterm). + In the latter case, you can use the Chinese input system that is + provided by the terminal. + + Furthermore, the QUAIL system (bundled to Mule) provides the + following input methods: + GB: PINYIN, PINYIN_with_TONE, CCDOSPY, SW + Big5: PINYIN, ETZY, ZOZY + For the usage of this system, see $MULE/info/quail. + + Readers of alt.chinese.text or alt.chinese.text.big5 will find it + very convenient to use GNUS (a newsreader written in emacs lisp) + with gnusutil.el (bundled to Mule Ver.2). The program gnusutil + automatically converts Hz/zW encoding and BIG5 from/to the + internal code of Mule. + + 3. Korean + + For hangul input, quail/hangul.el is provided. See `info/quail' + for the usage. Mule runs as a client of the X Window System, or runs + under a hangul terminal (including terminal emulators like + exterm). + + 4. European languages + + The QUAIL system provides many input methods for European + languages. Currently supported characters are: + Latin1, Latin2,.. Latin5, Greek (ISO8859-7), + Hebrew (ISO8859-8), Cyrillic (ISO8859-5). + See `$MULE/info/quail' for the usage. Languages that write from + right to left (Hebrew, for example) are supported, too. See + `$MULE/info/R2L'. + + 5. Thai + + Thai is supported based on the TIS620 character set. The QUAIL + system (bundled to Mule) provides a Thai input method, too. See + `$MULE/info/quail' for the usage. The name of the quail package + for Thai is `thai'. A free font (12x29 pixels) is included in the + `fonts/ETL.tar.gz' file. You should widen Mule's line spaces + with `-lsp 5+' option if you use this font with a 12x24 ASCII + font. + + 6. Vietnamese + + Vietnamese support is based on the two-table-VISCII method, + which divides the code table of VISCII into upper and lower + case. Mule can read and write VISCII, VIQR and VSCII. Use the + QUAIL system (bundled to Mule) for Vietnamese input. See + `$MULE/info/quail' for the usage of this system. The name of the + quail package for Vietnamese is `viet'. You can use both VISCII + font and VSCII font under the X Window System. A free VISCII font is + included in `fonts/ETL.tar.gz', too. It was designed to be used + with the other ETL fonts. + +C-2: Some languages are written from right to left. Does Mule + support such languages? + + Hebrew and Arabic are supported in this version. quail/hebrew.el can + be used to input Hebrew texts. See also the documents of + highlight-reverse-direction, r2l-double-cursor, etc. We are also + planning to support Persian, etc. in the future. + +C-3: What kinds of coding systems are related to Mule? And when are + they used? + + Mule supports the following coding systems: + + * the internal code used in Mule's buffers. + * MS kanji code or SHIFT-JIS (Japanese only) + * a subset of ISO 2022 (including JIS [JUNET], EUC, CTEXT) + * Big5 (Chinese only) + + You can specify any combination of these coding systems for file + input/output, key input, screen display, and interprocess + communication. + +C-4: Why does the buffer size displayed in *Buffer List* differ so + much from the actual file size? + + Mule allocates a unique "leading character" to each coding system. + The internal representation of a character other than an ASCII + character begins with a leading character. Therefore inside of + Mule, 8 bit characters like Latin-1 are represented in 2 bytes, and + 16 bit characters like kanji are represented in 3 bytes. When you + save the contents of a buffer with the internal representation, the + size of the buffer and the file will be the same. If another + encoding is used for file output, they will be different. + +C-5: I set (setq keyboard-coding-system *euc-japan*), but it does not + work. + + Do not use `setq' to bind a value to `keyboard-coding-system'. Use + the function `set-keyboard-coding-system' instead. This comment + also applies to `display-coding-system', `file-coding-system', etc. + +C-6: Why doesn't `set-keyboard-coding-system' accept *autoconv*, + *big5-hku*, *big5-eten* and *internal*? + + This is a feature. + +C-7: I want to use EUC for displaying Japanese, Chinese, Korean, EC, + etc. simultaneously. + + This is impossible, because EUC for each language is the same + coding system. Use *junet* or *ctext* to display multi-lingual texts. + +C-8: Where can I find documentation for the coding system used in Mule? + + The coding system is ISO 2022 (or JIS X0202 in the case of JIS). + You will find a brief explanation in the texinfo manuals and in + `$MULE/info/ISO2022'. + +C-9: How can I input characters other than ASCII in isearch? + + Load `isearch-ext.el' first, then you will be able to input + characters other than ASCII in isearch (incremental search). You + can invoke `TAMAGO' with `C-\' and `quail' with `C-]' to input + foreign languages. + +C-10: Where can I get various fonts for various languages? + + You can get them via anonymous FTP from the following sites: + + etlport.etl.go.jp: /pub/mule/fonts + sh.wide.ad.jp: /JAPAN/mule/fonts + + You will find the following fonts there: + + ./Chinese/ or Chinese.tar.gz + gb16fs.bdf -- 16x16 pixels GB font + gb24st.bdf -- 24x24 pixels GB font + taipei16.bdf -- 16x16 pixels BIG5 (ETen) font + taipei24.bdf -- 24x24 pixels BIG5 (ETen) font + + ./Japanese/ or Japanese.tar.gz + k14.bdf -- 14x14 pixels JISX0208.1983 font + k16.bdf -- 16x16 pixels JISX0208.1990 font + jiskan16.bdf -- 16x16 pixels JISX0208.1983 font + jiskan24.bdf -- 24x24 pixels JISX0208.1983 font + min-1-16.bdf -- 16x16 pixels JISX0212.1990 (HojoKanji) font + min-1-24.bdf -- 24x24 pixels JISX0212.1990 (HojoKanji) font + 8x16rk.bdf -- 8x16 pixels JISX0201.1976 (Kana) font + 12x24rk.bdf -- 12x24 pixels JISX0201.1976 (Kana) font + + ./Korean/ or Korean.tar.gz + hanglm16.bdf -- 16x16 pixels KSC5601.1987 font + hanglm24.bdf -- 24x24 pixels KSC5601.1987 font + + ./ETL/ or ETL.tar.gz + etl{14,16,24}-latin1.bdf -- ISO8859-1 (Latin-1) font + etl{14,16,24}-latin2.bdf -- ISO8859-2 (Latin-2) font + etl{14,16,24}-latin3.bdf -- ISO8859-3 (Latin-3) font + etl{14,16,24}-latin4.bdf -- ISO8859-4 (Latin-4) font + etl{14,16,24}-cyrillic.bdf -- ISO8859-5 (Cyrillic) font + etl{14,16,24}-greek.bdf -- ISO8859-7 (Greek) font + etl{14,16,24}-hebrew.bdf -- ISO8859-8 (Hebrew) font + etl{14,16,24}-latin5.bdf -- ISO8859-9 (Latin-5) font + etl{14,16,24}-swedish.bdf -- SEN850200 (Swedish) font + etl{14,16,24}-ipa.bdf -- IPA font + etl{14,16,24}-sisheng.bdf -- SiSheng (Chinese Radical) font + etl{16,24}-viscii.bdf -- VISCII 1.1 (Vietnamese) font + etl{14,24}-koi.bdf -- KOI (Cyrillic) font + etl{16,24}-arabic{0,1,2}.bdf -- Arabic font + etl24-thai.bdf -- TIS620 (Thai) font + + X11R6 also contains most of the JIS, KSC, GB fonts. + + Besides the above Japanese.tar.gz, another JISX0212.1990 font was + posted to fj.sources: + + From: yasuoka@kudpc.kyoto-u.ac.jp (Koichi Yasuoka) + Newsgroups: fj.sources + Subject: 16x16 JIS Supplementary Kanji Font (1/6) + Date: 28 Jul 1994 00:06:12 +0900 + Organization: Data Processing Center, Kyoto University, Kyoto, Japan. + Message-ID: <315t54$et5@kudpc.kudpc.kyoto-u.ac.jp> + + This posting was followed by some patches, so you'd better apply them. + +C-11: Some foreign language characters are different from what + quail-help displays on the screen. Is this a known bug? + + Make sure that *quail-keyboard-translate-table* is correctly set. + + If this variable is left unchanged, Mule assumes your keyboard + layout is same as vt100 and displays the layout for vt100. + Especially if you are using a JIS keyboard, you have to put the + following in your .emacs: + + (setq *quail-keyboard-translate-table* + *quail-keyboard-translate-table-jis*) + + See doc/keyboard-translation.text for more information. + +C-12: How can I get hardcopy of texts made with Mule? + + A program called m2ps is included in the directory `lis-src' of + Mule. It converts multi-lingual files into PostScript format. + Note that m2ps accepts only *internal* encoding of Mule. + + m2ps uses X's BDF files as fonts. Characters are sent to printer + as bitmaps, so you can get hardcopy of multi-language texts even if + your printer does not support multi-lingual fonts. For further + information, see the on-line manual (m2ps.1). + +C-13: Mule fails to handle filenames which contain two byte characters + like Japanese, Chinese, or Korean. + + You must specify `--mcpath' to `configure' when you compile Mule. + You also have to specify what coding system will be used in + filenames. Adding the following lines in `site-init.el' may + help. (Note that *autoconv* cannot be specified). + + ;;; example: To use Korean EUC for filenames + (if (fboundp 'set-pathname-coding-system) + (set-pathname-coding-system *euc-korea*)) + +C-14: Mule wrongly determines the eol-type when it reads a file in. + + The current version of Mule guesses the eol-type when it first + encounters a CR/LF/CR+LF. This means if a CR is placed at the end + of a `LF terminated' line, that file is regarded as ....*dos. + Similarly, if a CR is placed at the end of a `CR+LF terminated' + line, that file is regarded as ....*mac. You should explicitly + specify the eol-type by `\C-u\C-x\C-f (\C-u M-x find-file)' when you + read such ambiguous files. + + There are three possible reasons when the eol-type is wrongly + determined: + + 1) The file contains more than one coding-system / eol-type. + 2) Some sequences are unfortunately placed at the boundary of + reading blocks. + 3) The priority of coding-system is wrong. + + +PERSONAL ENVIRONMENT + +D-1: I do not want a new line inserted even if I execute `next-line' + at the end of a buffer. + + (setq next-line-add-newlines nil) does what you want. + +D-2: How can I stop Mule from beeping and displaying + `beginning-of-buffer !' when I execute `previous-line' at the + beginning of a buffer? + + Include the following lines in your .emacs file. (Note that this + works only in Emacs 19.26 or later.) + + (defun previous-line (arg) + (interactive "p") + (condition-case nil + (line-move (- arg)) + (beginning-of-buffer))) + +D-3: I don't want the menu-bar and the scroll-bar. + + You can make them invisible by (menu-bar-mode 0) and + (scroll-bar-mode -1), respectively. To make the scroll bar only of + the current frame invisible, execute (toggle-scroll-bar -1). + +D-4: I cannot set a hook by (setq xxx-hook yyy). + + Maybe other hooks are overriding it. To avoid such a trouble, use + `add-hook' instead of `setq' when you set a hook. + + (example) + (add-hook 'c-mode-hook '(lambda () (setq tab-width 4))) + + By default, `add-hook' appends the new function at the top of the + hook. However, if you specify a `t` as the third argument to + `add-hook', it will be added at the end of the hook. + +D-5: Is it possible to use the same .emacs file for Mule-1.x and + Mule-2.x? + + Sometimes this causes a trouble because of the difference of the + versions of the original emacs. To make a commonly usable .emacs + file, adopt the following structure: + + (if (eq (string-to-int emacs-version) 18) + (_programs_for_Mule-1.x_)) + (if (eq (string-to-int emacs-version) 19) + (_programs_for_Mule-2.x_)) + +D-6: Why does the BS key execute the same command as the DEL key when + I use Mule under the X Window System? How can I change it as if I am + using it on a terminal? + + On terminals, the BS key generates ^H and the DEL key generates ^?. + This means that Mule cannot distinguish BS from ^H nor DEL from ^?. + Under X, however, these keys are distinguishable. So, taking account + of the fact that the BS key is often used for what the DEL key does, + the BS key executes what the DEL key does. + + If you prefer the behaviour on terminals, include the following + lines in your .emacs file: + + (if (eq window-system 'x) + (progn + (define-key function-key-map [backspace] [8]) + (put 'backspace 'ascii-character 8))) + + The `term/bobcat' file, which exchanges the two keys on terminals, + does not under X. Include the following code in you .emacs file if + you want to exchange the keys: + + (cond ((eq window-system 'x) + (define-key function-key-map [delete] [8]) + (put 'delete 'ascii-character 8)) + ((null window-system) + (load "term/bobcat"))) + + +MAIL & NEWS + +E-1: When I am writing mail or news, typing C-c C-y quotes original + text with " " at the beginning of line. How can I change this + citation mark to "> " ? + + Use Supercite. Supercite has many functions and you can customise + your own citation mark. See E-2 through E-4 for detail. + +E-2: How can I include the name of the sender in a citation mark? + + The following configuration, by ksakai@mtl.t.u-tokyo.ac.jp, should + work. Some lines may be omitted according to your configuration. + You can change the last three lines according to your taste. (See + the documents of Supercite for detail.) + + ;; sc + (autoload 'sc-cite-original "supercite" "Supercite 3.1" t) + (autoload 'sc-submit-bug-report "supercite" "Supercite 3.1" t) + (autoload 'sc-perform-overloads "sc-oloads" "Supercite 3.1" t) + (setq mail-citation-hook 'sc-cite-original) + (setq mail-yank-hooks 'sc-cite-original) ; for all but MH-E + (setq mh-yank-hooks 'sc-cite-original) ; for MH-E (3.7 or later) + (setq news-reply-mode-hook 'sc-perform-overloads) ; for RNEWS,GNEWS,GNUS + (setq mail-setup-hook 'sc-perform-overloads) ; for RMAIL,PCMAIL,GNUS + (setq gnews-ready-hook 'sc-perform-overloads) ; for GNEWS + + (setq sc-electric-references-p nil) + (setq sc-preferred-header-style 1) + (setq sc-citation-leader "") + +E-3: How can I change the citation mark to "> " with Supercite? + + Add the following line in addition to what has been done in E-2: + + (setq sc-nested-citation-p t) + + Note that if you add the above line, you cannot include the senders' + names anymore. + +E-4: How can I customise citation mark with Supercite? + + Use sc-register-2.3.1 written by yoichi@s5g.ksp.fujixerox.co.jp. + You can use it by installing sc-register and adding the following + configuration: + + (setq sc-load-hook '(lambda () (require 'sc-register))) + (setq sc-preferred-attribution 'registeredname) + + You will find it convenient when `selection by completion' is + tiresome, e.g., when you include Japanese characters. + + Note that sc-register does not work with Supercite 3.0 or later. It + is said that sc-register will be integrated to Supercite in future. + +E-5: I moved from Supercite 2.3 from 3.1, then it automatically does + `fill-paragraph' whenever I use `sc-yank-original'. + + This is a bad feature, isn't it? We do not see the reason why + backward compatibility is not kept by default. Anyway, adding the + following line in your .emacs file suppresses `fill-paragraph'. + +E-6: RMAIL does not work. + + Takeshi Shigehara <takeki@nalgo.snet.or.jp> writes: + + On NEW EWS4800 EWX-UX/V(Rel 4.2), include the following lines in + `site-init.el'. (It is possible that all SVR4 machines require + the same lines.) + + (setq rmail-spool-directory "/var/mail/") + (setq sendmail-program "/usr/ucblib/sendmail") + (setq manual-program "/usr/ucb/man") + + In addition to that, make the directory `/var/mail' readable and + writable by all users: + + chmod 777 /var/mail + +E-7: I am using GNUS. When I post to, say, fj.test, the default value + of distribution is not set to fj. + + That is a new feature. The default is the first element of the list + `gnus-local-distributions', which holds the candidates of + completion. + + +Display + +F-1: Japanese (Chinese, Korean) text are not displayed in Mule under + the X Window System. + + You must set the resource like the following. Do not forget to + include the specification of `FontSet-xxx' that is set as + `FontSetList'. + + ! Mule-2.0 + *FontSetList: 16,24 + *FontSet-16:\ + -*-fixed-medium-r-*--16-*-iso8859-1,\ + -*-fixed-medium-r-*--16-*-iso8859-2,\ + -*-fixed-medium-r-*--16-*-iso8859-3,\ + -*-fixed-medium-r-*--16-*-iso8859-4,\ + -*-fixed-medium-r-*--16-*-iso8859-5,\ + -*-fixed-medium-r-*--16-*-iso8859-7,\ + -*-fixed-medium-r-*--16-*-iso8859-8,\ + -*-fixed-medium-r-*--16-*-iso8859-9,\ + -*-fixed-medium-r-*--16-*-viscii1.1-1,\ + -*-fixed-medium-r-*--16-*-mulearabic-0,\ + -*-fixed-medium-r-*--16-*-mulearabic-1,\ + -*-fixed-medium-r-*--16-*-mulearabic-2,\ + -*-fixed-medium-r-*--16-*-muleipa-1,\ + -*-fixed-medium-r-*--16-*-jisx0201.1976-*,\ + -*-fixed-medium-r-*--16-*-jisx0208.1983-*,\ + -*-fixed-medium-r-*--16-*-jisx0212.1990-*,\ + -*-medium-r-*--16-*-gb2312.1980-*,\ + -*-mincho-medium-r-*--16-*-ksc5601.1987-*,\ + -*-fixed-medium-r-*--16-*-tis620.2529-1 + *FontSet-24:\ + -*-fixed-medium-r-*--24-*-iso8859-1,\ + -*-fixed-medium-r-*--24-*-iso8859-2,\ + -*-fixed-medium-r-*--24-*-iso8859-3,\ + -*-fixed-medium-r-*--24-*-iso8859-4,\ + -*-fixed-medium-r-*--24-*-iso8859-5,\ + -*-fixed-medium-r-*--24-*-iso8859-7,\ + -*-fixed-medium-r-*--24-*-iso8859-8,\ + -*-fixed-medium-r-*--24-*-iso8859-9,\ + -*-fixed-medium-r-*--24-*-viscii1.1-1,\ + -*-fixed-medium-r-*--24-*-mulearabic-0,\ + -*-fixed-medium-r-*--24-*-mulearabic-1,\ + -*-fixed-medium-r-*--24-*-mulearabic-2,\ + -*-fixed-medium-r-*--24-*-muleipa-1,\ + -*-fixed-medium-r-*--24-*-jisx0201.1976-*,\ + -*-fixed-medium-r-*--24-*-jisx0208.1983-*,\ + -*-fixed-medium-r-*--24-*-jisx0212.1990-*,\ + -*-medium-r-*--24-*-gb2312.1980-*,\ + -*-mincho-medium-r-*--24-*-ksc5601.1987-*,\ + -*-fixed-medium-r-*--24-*-tis620.2529-1 + +F-2: Why does Mule appear with dirty fonts when I use it under X? + + TAKAHASHI Naoto <ntakahas@etl.go.jp> and Ken'ichi Handa + <handa@etl.go.jp> write: + + Mule creates a window whose size is based on the width of the + ASCII font. If the width of the ASCII font and that of the other + fonts do not match, then some characters will not be displayed + completely. The width of Japanese, Chinese, and Korean fonts must + be exactly twice as wide as that of ASCII fonts; the width of + other fonts must be the same as that of ASCII fonts. + + If you see dirty characters on your screen, it may be caused by + the auto-scaling function of X. If an X server receives a request + of a font which does not exist but whose specification is LFD + compliant, it tries to expand of reduce what is available. For + example, a specification + "-*-fixed-medium-r-*--*-*-*-*-*-*-jisx0208.1983-*" + is LFD compliant, so it may be resized. On the other hand, a + specification in mule-init.el: + "-*-fixed-medium-r-*--*-*-jisx0208.1983-*" + is not LFD compliant (the number of columns are less than it + should to be), so auto-scaling is inhibited. (What is described + here is what we have learned from experience, not from X documentation.) + +F-3: How can I set the default font size to 14 pixels under X? + + The first FontSet in the `Emacs*FontSetList:' field in your X + resource will be used as default. So if you want the default to be + 14 pixels, put `14' as the first element of `Emacs*FontSetList:', and + include the specification of FontSet-14. See F-1 for examples of + FontSet specification. + + Note that `emacs*FontSetList:' or `Mule*FontSetList:' are invalid + for resource specification. SANETO Takanori <sanewo@cep.sony.co.jp> + writes: + + You can think of `Emacs' as the class name and `mule' as the + instance name. + + `Emacs' is used for all Emacs family programs: mule, nemacs, + epoch, nepoch, and of course the original GNU emacs. + + On the other hand, the instance name is used to distinguish each + entities. If you rename mule to hoge, the specification + `Emacs*...' still has effect but `mule*...' is of no effect. When + both specification by instance name and specification by class + name are valid, the instance name has priority. + + You can explicitly specify the instance name by `-rn name' + option. Or if the environment variable `WM_RES_NAME' is set, it + will be used. If neither the option nor the environment variable + is available, the command name will be used. + +F-4: I turned on visible-bell with (set visible-bell t), but the + flashing area is limited to a quarter in the centre. + + This is a feature. It has changed since GNU Emacs 18.58. + +F-5: What is a `face'? + + It is a mechanism used by Emacs when running under the X Window + System that attaches attributes like colours or fonts to the + displayed strings. Mule 2.x uses this mechanism even for displaying + the mode line in reverse video. `hilit19.el' and `font-lock.el' are + examples of programs that use face well. + +F-6: What is `terminal face'? How can I use it? + + In the original emacs, faces are only available under the X Window + System. In Mule, however, you can use face even outside X. We call + this mechanism `terminal face'. (The biggest reason why we need a + new name is to use it for a compile switch and configure switch.) + + To enable the terminal face facility, specify `--terminal-face' when + you `configure'. + +F-7: Mule under X has wide line spaces. How can I shrink them? + + Include the following line in you X resource file: + + Emacs*lineSpace: 0+0 + + Or invoke Mule with the `-lsp 0+0' command line option. The + function `x-set-linespace', which was provided in Mule Ver.1, is not + yet available in Mule Ver.2. + + +EMACS LISP PACKAGES + +G-1: A lisp program `xxx', which worked in Mule 1.x, does not work any + more. What should I do? + + Mule 1.x is based on GNU Emacs 18.59, but Mule 2.x is based on GNU + Emacs 19. Many features have been modified. But you do not have to + be pessimistic, as many programs have now been ported. A + checklist is given below: + + 1. The distribution kit of Mule 2.x contains many lisp programs + that were optional in the previous release. Check the standard + lisp directory first, as these programs have already ported to + Mule 2.x. If you find an alternative there, use it. + + 2. In some cases, the author of the program has already finished + porting, even though the newer version is not included in the + standard distribution. It is worth searching for the latest + version with archie or another tool. + + 3. For example, shell-mode, which has many different improved + programs, has become much more convenient in Mule 2.x. So the + standard version would be an alternative. + + 4. You can port it yourself as a last resort. + +G-2: How can I display reserved words and comments in C programs in + colour? + + Use `hilit19.el' or `font-lock.el'. + +G-3: How can I use `hilit19.el'? + + All you have to do is load the file. If you want to restrict the + modes in which hilit19 is enabled, list the names of the modes in + `hilit-mode-enable-list'. Also, you can specify the modes in which + hilit19 is disabled like the following: + + (setq hilit-mode-enable-list + '(not text-mode emacs-lisp-mode sgml-mode c-mode c++-mode) + + A fault of hilit19 is that you must hit `C-S-l' after having entered + strings to reflect the effect. Because of this feature, you may + want to use font-lock only in some specific modes. + +G-4: How can I use `font-lock.el'? + + Include lines like the following in your .emacs file for each mode + in which you want to enable font-lock: + + (setq emacs-lisp-mode-hook '(lambda () (font-lock-mode 1))) + + By default, font-lock does not display in colour. If you want + colour strings, specify the face as follows: + + (add-hook 'font-lock-mode-hook + '(lambda () + (make-face 'keyword-face) + (set-face-foreground 'keyword-face "tomato") + (setq font-lock-keyword-face 'keyword-face) + + (make-face 'comment-face) + (set-face-foreground 'comment-face "violetred4") + (setq font-lock-comment-face 'comment-face) + + (make-face 'string-face) + (set-face-foreground 'string-face "darkgreen") + (setq font-lock-string-face 'string-face) + + (make-face 'function-face) + (set-face-foreground 'function-face "blueviolet") + (setq font-lock-function-name-face 'function-face) + + (make-face 'c-type-face) + (set-face-foreground 'c-type-face "darkolivegreen") + (setq font-lock-type-face 'c-type-face) + )) + + + There are improved versions of font-lock: face-lock can handle + colours and grey scales; fast-lock works faster. These programs are + available via anonymous FTP, and will be integrated into font-lock + in the future version of emacs. + +G-5: I want a more convenient c-mode. + + Use cc-mode. It supports, for example, various indent styles and + C++. It is more convenient in many respects. + +G-6: Are there any packages which automatically use RCS? + + `vc.el' is such a one, and can be used in Mule 2.x by default. If + you find-file a file that is controlled by RCS, vc-mode is + automatically turned on, and C-x C-q does `ci -u' or `co -l' + depending on the situation. This is already practical enough, but + if you want to know the detail, refer to info. + +G-7: How can I input codes like `ESC $ B $ "' directly from the + keyboard? + + You can do it by using `keyboard.el'. Give *junet* to + `set-keyboard-coding-system' and type what you want. + +G-8: Why does "M-!" (shell-command) not work when I load my lovely + ange-ftp? + + Many functions, including `write-region' and `insert-file-contents' + (which are modified in Mule), will be replaced by loading ange-ftp. + + In Mule, `shell-command' calls the new `write-region' and the new + `insert-file-contents' with extra arguments, but another + `write-region' introduced by ange-ftp cannot interpret these extra + arguments, so the execution fails. + + To fix this problem, Masayuki KUWADA <kuwada@soliton.ee.uec.ac.jp> + writes as follows: + + Add `&rest coding-system' at the end of parameters of the + definition of `ange-ftp-write-region' and that of + `ange-ftp-insert-file-contents' in `ange-ftp.el', and apply the + following modifications. (The modified ange-ftp can be shared + with Emacs/Nemacs.) + + [Caution] The following changes are for an ange-ftp whose version is + RCS: !Header: ange-ftp.el,v 4.20 92/08/14 17:04:34 ange Exp ! + Other versions may require different modifications. + + In `ange-ftp-write-region', `ange-ftp-real-write-region' is + called twice. Change these occurrences as follows: + + (ange-ftp-real-write-region start end temp nil visit) + --> + (apply 'ange-ftp-real-write-region start end temp nil + visit coding-system) + + (ange-ftp-real-write-region start end filename append visit) + --> + (apply 'ange-ftp-real-write-region start end filename append + visit coding-system) + + And in `ange-ftp-insert-file-contents', + `ange-ftp-real-insert-file-contents' is called twice. Change + these occurrences as follows: + + (ange-ftp-real-insert-file-contents temp visit) + --> + (apply 'ange-ftp-real-insert-file-contents + temp visit + coding-system) + + (ange-ftp-real-insert-file-contents filename visit) + --> + (apply 'ange-ftp-real-insert-file-contents + filename visit coding-system) + + +EMACS LISP PROGRAMMING + +H-1: Is Mule upwards-compatible with Nemacs/Emacs? + + Although Mule is based on GNU Emacs, they are slightly different at + the level of emacs lisp. Mule is quite different from Nemacs. + + Enami TSUGUTOMO <enami@sys.ptg.sony.co.jp> points out the + incompatibility between Mule and Nemacs/Emacs as follows: + + * Incompatibility caused by the existence of functions specific to + each program + * Incompatibility caused by the modifications to function + definitions (number of arguments, etc.) + * Incompatibility of byte compiled files caused by the difference + of the internal representation between Mule and Nemacs. Their + byte code is compatible, however. (isn't it? :-) + * Incompatibility of compiled emacs lisp files caused by the + representations of literals between Mule 1.x and Mule 2.x. + * Incompatibility caused by the difference of versions of GNU + Emacs they are based on. + +H-2: Give me some hints on porting a program for Mule 1.x to Mule 2.x. + + Pay attention to the following points: + + * `auto-fill-hook' has been renamed to `auto-fill-function'. + * The structure of keymaps has been changes a little. + * You'd better change obsolete variables: + unread-command-char -> unread-command-event + + etc. +---------------------------------------------------------------------- + FAQ Part 2: Questions specific to each language + +ABOUT CHINESE + +CH-1: I succeeded in compiling Mule, but I cannot input Chinese. + + If you want to use foreign languages in Mule, you have to load the + language specific files by specifying them in the site-init.el file. + By default there is no site-init.el file, and this means that you + can input only English. + + If you want to use Chinese, include the following line in the + lisp/site-init.el file when you build Mule: + + (load "chinese") + +CH-2: How can I input Chinese? + + TAMAGO is used to input Chinese. By communicating with cserver + of cWnn, TAMAGO provides a convenient input method for Chinese(GB). + Type "M-x load-library RET chinese RET" and select PinYin mode to + enable Pin-Yin input. + + Mule also provides quail-system. This system supports all of the + conversion tables included in `cxterm/dict/tit'. + +CH-3: I want to use EUC for displaying Japanese, Chinese, Korean, EC, + etc. simultaneously. + + It is impossible, because EUC for each language is the very same + coding system. Use *junet* or *ctext* to display multi-lingual texts. + + +CH-4: How can I input hanzi in incremental search? + + Load `isearch-ext.el' first, then you will be able to input + characters other than ASCII in isearch (incremental search). You + can invoke `TAMAGO' with `C-\' and `quail' with `C-]' to input + foreign languages. + +CH-5: Mule fails to handle filenames which contain Chinese. + + You must specify `--mcpath' to `configure' when you compile Mule. + You also have to specify what coding system will be used in + filenames. Adding the following lines in `site-init.el' may + help. (Note that *autoconv* cannot be specified). + + ;;; example: To use Chinese EUC for filenames + (if (fboundp 'set-pathname-coding-system) + (set-pathname-coding-system *euc-china*)) + +CH-6: Can I read a newsgroup alt.chinese.text[.big5] in Chinese? + + In alt.chinese.text ~{ and ~} are used instead of 'ESC $ A' (which + designates Chinese to G0) and 'ESC ( B' (which designates ASCII to + G0) respectively. This is called Hz encoding. In Mule you can read + this newsgroup in Chinese with the combination of `chinese.el', + `gnusutil.el', and GNUS. Load `chinese.el' and `gnusutil.el' in + this order, then invoke GNUS. `gnusutil.el' is included in the + standard distribution kit of Mule Ver.2. + +ABOUT JAPANESE + +JP-1: What is the advantage of using Mule? Are there any cases in which + Nemacs is better? If there are, what are they? + + Some advantages of using Mule are: + + * You can use not only English and Japanese, but also Chinese, + Korean, and many other languages. You can use a mixture of these + languages, too. + * The specified regions in a buffer can have various display + attributes. Unlike Nemacs, you can display these attributes on a + normal terminal as long as the terminal supports such functions. + * You can utilise a Japanese input system called "TAKANA" which + gives better performance than the "TAMAGO" system of Nemacs. + * Nemacs is based on GNU Emacs 18.55, while Mule Ver.2 is based on + Emacs 19. + * Mule has a powerful regular expression compiler. + + On the other hand, Mule is much bigger and more complicated than + Nemacs. So if your computer facility is not powerful and the + languages you want to use are limited to English and Japanese, it + may be better to use Nemacs. + + Note that Mule is not fully compatible with Nemacs. Some of the + applications developed for Nemacs do not work well with Mule. + +JP-2: Will Nemacs disappear? + + "Of course not" would be the ideal answer, but Nemacs will not be + supported any more. This means that the final version of Nemacs is + 3.3.2. + +JP-3: Are there any mailing lists for Mule in which discussion is done + in Japanese? + + Use news (fj.editor.emacs) for discussion in Japanese. (See A-8.) + +JP-4: Does Mule has manuals written in Japanese? + + See also A-10. Mule has the following Japanese manuals and + documents: + + * texinfo manual (in $MULE/man) + + mule-jp.texi texinfo manual for Mule + egg-jp.texi texinfo manual for TAMAGO + canna-jp.texi texinfo manual for canna + + + * FAQ (in $MULE/etc/FAQ-Mule.jp) + + The document you are reading now is the English translation of this. + + * tutorial + + You can invoke the Japanese tutorial by C-h T (M-x + help-with-tutorial-for-mule) in Mule. + + * documents under the `doc' directory + + The directory `$MULE/doc' contains explanations of functions and + sample text. The files whose names end in `.jp' are written in + Japanese. + +JP-5: I succeeded in compiling Mule, but I cannot input Japanese. + + If you want to use foreign languages in Mule, you have to load the + language specific files by specifying them in the site-init.el file. + By default there is no site-init.el file, and this means that you + can only input English. + + If you want to use Japanese, include the following line in the + lisp/site-init.el file when you build Mule: + + (load "japanese") + + (cf. B-7) + +JP-6: I cannot display Japanese in Mule under the X Window System. + + You must set the resource like the following. Do not forget to + include the specification of `FontSet-xxx' that is set as + `FontSetList'. + + ! Mule-2.0 + *FontSetList: 16,24 + *FontSet-16:\ + -*-fixed-medium-r-*--16-*-iso8859-1,\ + -*-fixed-medium-r-*--16-*-iso8859-2,\ + -*-fixed-medium-r-*--16-*-iso8859-3,\ + -*-fixed-medium-r-*--16-*-iso8859-4,\ + -*-fixed-medium-r-*--16-*-iso8859-5,\ + -*-fixed-medium-r-*--16-*-iso8859-7,\ + -*-fixed-medium-r-*--16-*-iso8859-8,\ + -*-fixed-medium-r-*--16-*-iso8859-9,\ + -*-fixed-medium-r-*--16-*-viscii1.1-1,\ + -*-fixed-medium-r-*--16-*-mulearabic-0,\ + -*-fixed-medium-r-*--16-*-mulearabic-1,\ + -*-fixed-medium-r-*--16-*-mulearabic-2,\ + -*-fixed-medium-r-*--16-*-muleipa-1,\ + -*-fixed-medium-r-*--16-*-jisx0201.1976-*,\ + -*-fixed-medium-r-*--16-*-jisx0208.1983-*,\ + -*-fixed-medium-r-*--16-*-jisx0212.1990-*,\ + -*-medium-r-*--16-*-gb2312.1980-*,\ + -*-mincho-medium-r-*--16-*-ksc5601.1987-*,\ + -*-fixed-medium-r-*--16-*-tis620.2529-1 + *FontSet-24:\ + -*-fixed-medium-r-*--24-*-iso8859-1,\ + -*-fixed-medium-r-*--24-*-iso8859-2,\ + -*-fixed-medium-r-*--24-*-iso8859-3,\ + -*-fixed-medium-r-*--24-*-iso8859-4,\ + -*-fixed-medium-r-*--24-*-iso8859-5,\ + -*-fixed-medium-r-*--24-*-iso8859-7,\ + -*-fixed-medium-r-*--24-*-iso8859-8,\ + -*-fixed-medium-r-*--24-*-iso8859-9,\ + -*-fixed-medium-r-*--24-*-viscii1.1-1,\ + -*-fixed-medium-r-*--24-*-mulearabic-0,\ + -*-fixed-medium-r-*--24-*-mulearabic-1,\ + -*-fixed-medium-r-*--24-*-mulearabic-2,\ + -*-fixed-medium-r-*--24-*-muleipa-1,\ + -*-fixed-medium-r-*--24-*-jisx0201.1976-*,\ + -*-fixed-medium-r-*--24-*-jisx0208.1983-*,\ + -*-fixed-medium-r-*--24-*-jisx0212.1990-*,\ + -*-medium-r-*--24-*-gb2312.1980-*,\ + -*-mincho-medium-r-*--24-*-ksc5601.1987-*,\ + -*-fixed-medium-r-*--24-*-tis620.2529-1 + +JP-7: How can I input Japanese? + + The following Japanese input systems are prepared: + + * TAMAGO (aka EGG) version TAKANA + * sj3-egg + * Canna + + All of them offer a Japanese input facility using a romaji-kanji + conversion method, which utilises a network conversion server. For + details, refer to the manuals of each system. These systems must be + set up when building Mule. + + * T-CODE input using quail + + This requires no conversion server. After loading + `lisp/quail/tcode.el', you can toggle between ASCII and T-CODE mode + by C-]. (CAUTION: `quail/tcode.el' will soon be replaced with + `tc-mule.el'.) + + Japanese can be input with `SKK', too. SKK requires no special + settings when Mule is built. It can be used both as a closed system + in Mule and as a system which communicates with a dictionary server. + For Mule Ver.2, use skk7.18.1 or later version. + +JP-8: What is TAMAGO (aka EGG) ? + + TAMAGO is a system which offers a Japanese/Chinese environment + utilising the network-wide conversion servers (jserver/cserver) of + Wnn. Sometimes TAMAGO is called EGG, which is the translation of + `TAMAGO' in English. + + TAMAGO consists of three parts: 1) a input string conversion system + (or romaji-kana conversion system), 2) a kana-kanji (and + pinyin-hanzi) conversion system, and 3) a Japanese editing system. + The input string conversion system can be used not only for hiragana + and katakana but also for pinyin, hangul, and other languages. + +JP-9: What is TAKANA? + + Toshiaki SHINGU <shingu@cpr.canon.co.jp> writes: + + It is a version of TAMAGO made for the Wnn V4 library. The name + stands for "TAmagoyo KAshikoku NA-re (EGG, be clever)". In + addition to the conventional TAMAGO, it has the following + features: + + * dai-bunsetsu / sho-bunsetsu conversion + * reverse conversion (kanji to kana) + * word registration according to the POS of V4 server (e.g. + proper noun) + * enabling / disabling a word without deleting it from the + dictionary + * setting words frequency + * setting comments in the dictionary + + TAKANA is not an alternative to TAMAGO but rather an enhancement. + TAMAGO will be integrated into a TAKANA version in the future. + Older versions (Wnn V3, and Wnn V4 for V3 library) will not be + supported. + +JP-10: What is sj3-egg? + + It is another version of TAMAGO which communicates with sj3serv + included in the contrib part of X11R5/R6. It provides very high + conversion efficiency. + +JP-11: What is Canna? + + It is a kana-kanji conversion system which follows the server-client + method. In Mule, it provides almost the same user interface as + TAMAGO but the conversion server of Canna is used instead. + +JP-12: What is SKK? + + Masahiko SATO <masahiko@sato.riec.tohoku.ac.jp> writes: + + SKK is a system which provides a fast and highly efficient + Japanese input environment. It allows the user to input the + intended sentence easily and "as is". SKK is fast because it + performs the conversion without any grammatical analysis. The + user can let it know his/her intention by specifying the starting + point of OKURIGANA, and this makes the conversion efficiency high. + When registering words in the dictionary it is not necessary for + the user to give information about part of speech, etc., and this + makes it easy to augment the dictionary. You can learn the usage + of SKK in a short time with its tutorial program. + +JP-13: How can I input Japanese (or Korean/Chinese) characters whose + shape I am aware of but whose reading I don't know? + + TAMAGO supports both BUSYU input (M-x busyu-input) and KAKUSUU input + (M-x kakusuu-input). These functions make it possible to input a + kanji by selecting its busyu or kakusuu from a menu displayed in the + minibuffer. + +JP-14: I am not able to cut & paste using mouse in kterm. + + This happens when 1)Mule is running inside of a kterm, and 2) + keyboard-coding-system of Mule is incompatible with kanji-mode + of that kterm. Make these two compatible. + +JP-15: Can I input kanji by kinput2? + + You can input kanji by kinput2 when Mule is running in a kterm. Do + not forget to set keyboard-coding-system of Mule compatible with + kanji-mode of that kterm. + +JP-16: I set (setq keyboard-coding-system *euc-japan*), but it does not + work well. + + Do not use `setq' to bind a value to `keyboard-coding-system'. Use + the function `set-keyboard-coding-system'. This comment also + applies to `display-coding-system', `file-coding-system', etc. + +JP-17: I want to use EUC for displaying Japanese, Chinese, Korean, EC, + etc. simultaneously. + + This is impossible, because EUC for each language is the very same + coding system. Use *junet* or *ctext* to display multi-lingual texts. + +JP-18: How can I input kanji in incremental search? + + Type C-k to input kanji in incremental search (isearch). In this + mode you can type a string in the minibuffer, so Japanese/Chinese + can also be input by C-\. When the string has been input, hit RET + to restart incremental search. + +JP-19: How can I input single-width katakana (JIS X0201 katakana)? + + Ken Shibata <shibata@sgi.co.jp> writes: + + To input single-width katakana, Mule provides two emacs lisp + files, i.e. `jisx0201.el' and `its/han-kata.el'. The file + `jisx0201.el' defines `fence-hankaku-katakana' (bound to `M-x' in + fence-mode), which converts all double-width katakana and hiragana + in fence-mode at once. The file `its/han-kata.el' defines + `its:select-hankaku-katakana' (bound to `M-C-x' in fence-mode; + `C-x C-k x' otherwise), which converts roma-ji into single-width + katakana. + + Furthermore, `jisx0201.el' defines `hankaku-katakana-region' and + `zenkaku-katakana-region' (or -paragraph/-sentence/-word). These + functions convert strings all at once. The file `its/han-kata.el' + loads `jisx0201.el', so you can load either of them in your .emacs + file. But note that loading these files takes a fairly long time. + If you often input single-width katakana, you should pre-load them + in site-init.el. + + To summarise, + + 1) In fence-mode, + * type M-x to convert kana to single-width. + * type M-h to revert single-width katakana to double-width + hiragana. + * type M-k to revert single-width katakana to double-width + katakana. + + 2) Outside fence-mode, + * type C-x C-k x to make typed roma-ji be converted to + single-width katakana. + * type C-x C-k h to make typed roma-ji be converted to + double-width hiragana. + + 3) In fence-mode, + * type M-C-x to make typed roma-ji be converted to single-width + katakana. + * type M-C-h to make typed roma-ji be converted to double-width + hiragana. + + (If you have exchanged BS and DEL by `bobcat.el' or something like + that, and are using ESC key to input Meta, then M-C-h means ESC + DEL.) + +JP-20: How can I input Japanese hiragana "ん" by typing "nn" when I am + using Mule + Egg? + + Include the following line in your .emacs file. + + (setq enable-double-n-syntax t) + +JP-21: Mule fails to handle filenames which contain Japanese. + + You must specify `--mcpath' to `configure' when you compile Mule. + You also have to specify what coding system will be used in + filenames. Adding the following lines in `site-init.el' may + help. (Note that *autoconv* cannot be specified). + + ;;; example: To use Japanese EUC for filenames + (if (fboundp 'set-pathname-coding-system) + (set-pathname-coding-system *euc-japan*)) + +JP-22: How can I use Wnn and Canna simultaneously? + + Sakai Kiyotaka <ksakai@mtl.t.u-tokyo.ac.jp> writes: + + First, define both `EGG' and `CANNA' in `mconfig.h' when you + compile Mule. + + Second, if you have set up to use Canna, your should have + something like the following in your .emacs file: + + (if (and (boundp 'CANNA) CANNA) + (progn + (load-library "canna") + (canna) + ... )) + + Change the above like this: + + (if (and (boundp 'CANNA) CANNA) + (progn + (setq canna-server "mercury") + (cond ((boundp 'egg-version) + (require 'can-n-egg) + (can-n-egg)) + (t + (require 'canna) + (canna))) + ... )) + + Now you can activate Wnn with `\C-\' and Canna with `\C-o'. + +JP-23: Is Mule upwards-compatible with Nemacs/Emacs? + + Mule is quite different from Nemacs at the level of emacs lisp. + + Enami TSUGUTOMO <enami@sys.ptg.sony.co.jp> points out the + incompatibility between Mule and Nemacs/Emacs as follows: + + * Incompatibility caused by the existence of functions specific to + each program + * Incompatibility caused by the modification of function + definitions (number of arguments, etc.) + * Incompatibility of byte compiled files caused by the difference + of the internal representation between Mule and Nemacs. Their + byte code is compatible, however. (isn't it? :-) + * Incompatibility caused by the difference of versions of GNU + Emacs they are based on. (only current-column, maybe.) + +JP-24: Can Nemacs and Mule share the same .emacs file? + + Mule is not compatible with Nemacs. Sometimes a `.emacs' file made + for Nemacs causes trouble when used for Mule. + + To share the same .emacs file, you have to divide it into two parts; + one for Mule and the other for Nemacs: + + (if (boundp 'MULE) + (functions for Mule)) + (if (boundp 'NEMACS) + (functions for Nemacs)) + + There is a sample shared `.emacs' file in the texinfo manual of + Mule. It may help you. + + Note that some of the byte-compiled files are NOT sharable. Concerning + about this point, Enami Tsugutomo <enami@sys.ptg.sony.co.jp> writes: + + You should prepare two different files for Mule and Nemacs if you + want to byte-compile those files. + + As Mule and Nemacs adopt different internal representations of + kanji characters, you must re-byte compile if the files include + kanji characters. + +JP-25: Some functions work fine with Nemacs, but they show the message + "Symbol's function definition is void: define-program-kanji-code" and + abort. How can I fix this? + + Atsushi Furuta <furuta@srarc2.sra.co.jp> writes: + + `define-program-kanji-code' is specific to Nemacs, so you have to + modify it to make such functions run on Mule. + `define-program-coding-system' is the counterpart in Mule. For + example, + + (define-program-kanji-code nil ".*inc.*" 2) + + should be replaced by + + (define-program-coding-system nil ".*inc.*" *junet*) + + Many functions named `kanji-code-xxx' before have been renamed to + `coding-system-xxx' in Mule. The variable `kanji-flag' has been + renamed to `mc-flag' in Mule. + + Fortunately, a package has been written to make Nemacs oriented + codes work in Mule. Ken'ichi Handa <handa@etl.go.jp> writes: + + From: handa@etlken.etl.go.jp (Kenichi Handa) + Newsgroups: fj.editor.mule,fj.editor.emacs + Subject: nemacs -> mule + Message-ID: <HANDA.93Oct15215300@etlken.etl.go.jp> + Date: 15 Oct 93 21:53:00 GMT + + With the help of members of our mailing list, I have written a + simple package which makes the shift from Nemacs to Mule easier. + + First, install the two elisp files below in your load-path. Then + modify your .emacs file as follows. Your configuration for Mule + will be the same as that for Nemacs: + + (load-library "nemacs-pre") + ... your original .emacs comes here ... + (load-library "nemacs-post") + + The above modification, of course, does not harm the usage of + Nemacs. + + This package is not yet complete, so please send your requests + like "how can I modify my Nemacs oriented configuration so and so + for Mule?" + + Both `nemacs-pre.el' and `nemacs-post.el' are available via + anonymous FTP from etlport.etl.go.jp:/pub/mule/contrib/lisp. + +JP-26: How can I use Supercite in Japanese environment? + + For those who use only English, the configuration shown in E-2 above + suffices. But if you want to use Japanese, you have to change your + `sc-cite-regexp'. + + Yoichi HIROSE <yoichi@esasd.ksp.fujixerox.co.jp> writes: + + Some categories match Japanese strings in Nemacs but do not in + Mule. You do not have to worry if you have not used a category to + specify a regexp. + + See the following regexp. The regexp is very short in Mule, while + it was quite long in Nemacs. For more information, see the part + of char-category in info. + + Anyway you have to change sc-cite-regexp as follows if you want to + use Japanese. + + An example of how to set sc-cite-regexp: + (if (boundp 'MULE) + (setq sc-cite-regexp "\\s *\\([a-zA-Z0-9_]\\|\\cj\\)*>+\\s *") + (setq sc-cite-regexp "\\s *\\([a-zA-Z0-9_]\\|\\cc\\|\\cC\\|\\ch\\|\\cH\\|\\ck\\|\\cK\\|\\ca\\|\\cg\\|\\cr\\|\\cu\\)*>+\\s *")) + +JP-27: Why dired does not work? + + Dired scans the output of ls, but the output should not contain + Japanese. + + Akira Kon <kon@quincy.d1.bs2.mt.nec.co.jp> writes: + + My machine is a SVR4 and ls gives an output like the following + when LANG is set to Japanese. + + -rw-rw-r-- 1 kon com 1002 10月30日 00時22分 .bashrc + -rw-r--r-- 1 kon com 26387 11月18日 10時06分 .emacs + + (The dates are in Japanese, you know.) + + But `dired.el' has a fragment of codes like: + + (defun dired-get-filename (&optional localp no-error-if-not-filep) + (...deleted...) + (beginning-of-line) + (if (re-search-forward + "\\(Jan\\|Feb\\|Mar\\|Apr\\|May\\|Jun\\|Jul\\|Aug\\|Sep\\|Oct\\|Nov\\|Dec\\)[ ]+[0-9]+" + eol t) + (progn (skip-chars-forward " ") + + and this means, in short, that dired does not accept the output of + Japanese `ls -l'. + + I believe that the following modification works for dired, but I + am afraid that there are other programs that scan the output of + UNIX commands. + +--- dired.el.orig Mon Nov 22 23:32:13 1993 ++++ dired.el Mon Nov 22 23:33:03 1993 +@@ -42,10 +42,13 @@ + (erase-buffer) + (setq dirname (expand-file-name dirname)) + (if (file-directory-p dirname) +- (call-process "ls" nil buffer nil +- dired-listing-switches dirname) ++ (call-process "env" nil buffer nil ++ "LC_MESSAGES=C" "LC_DATE=C" "LANG=C" ++ "ls" dired-listing-switches dirname) + (let ((default-directory (file-name-directory dirname))) +- (call-process shell-file-name nil buffer nil ++ (call-process "env" nil buffer nil ++ "LC_MESSAGES=C" "LC_DATE=C" "LANG=C" ++ shell-file-name + shell-command-option + (concat "ls " dired-listing-switches " " + (file-name-nondirectory dirname))))) + +JP-28: I cannot read the string that follows the single width + `KONNICHIWA' in the file `$MULE/doc/demo'. + + Azuma OKAMOTO <lfo@sayori.dais.is.tohoku.ac.jp> writes: + + That part contains `ESC $ ( D', so you need a JISX0212 font to + display the characters. + + If you have not installed that font, you cannot read it, of + course. :-) + +JP-29: Are there any free JIS X0212 (JIS supplemental kanji) fonts? + + Youn can find in: + + etlport.etl.go.jp:/pub/mule/fonts/Japanese.tar.gz + + Besides the above Japanese.tar.gz, another JISX0212.1990 font was + posted to fj.sources: + + From: yasuoka@kudpc.kyoto-u.ac.jp (Koichi Yasuoka) + Newsgroups: fj.sources + Subject: 16x16 JIS Supplementary Kanji Font (1/6) + Date: 28 Jul 1994 00:06:12 +0900 + Organization: Data Processing Center, Kyoto University, Kyoto, Japan. + Message-ID: <315t54$et5@kudpc.kudpc.kyoto-u.ac.jp> + + This posting is followed by some patches, so you'd better apply them. + + +HANDLING LATIN CHARACTERS + +LT-1: How can I input ISO 8859 characters? + + Mule supports all the character sets from Latin-1 (ISO 8859-1) to + Latin-5 (ISO 8859-9). The quail system is used to input these + characters from an ordinary ASCII keyboard. + + Following five files are provided to input ISO 8859 characters: + + * quail/latin.el : languages written in Latin alphabets (for slow typists) + + This file is for naive users. Most of the accented letters are + input by composing two characters. For example, you will get an ,Ai + (e with acute accent) by typing an e followed by a ' (single + quote). + + LANGUAGE PACKAGE NAME + -------------------------------- + Danish danish + Esperanto esperanto + Finnish finnish + French french + German german + Icelandic icelandic + Italian italian + Norwegian norwegian + Spanish spanish + Swedish swedish + Turkish turkish + British british + ISO 8859-1 latin-1 + ISO 8859-2 latin-2 + ISO 8859-3 latin-3 + ISO 8859-4 latin-4 + ISO 8859-9 latin-5 + + + * quail/ltn.el : languages written in Latin alphabets (for quick typists) + + This file was made for those who find quail/latin.el is too awkward. + The principle of this file is "the less strokes, the better". Most + of the special letters proper to each language are allocated to + somewhere so that you can type them with a single stroke. You can + type very quickly once you learn the layout by heart. + + LANGUAGE PACKAGE NAME + ----------------------------------------------------------- + Danish dnsh + Finnish fnnsh + French frnch, azerty + German grmn + Icelandic iclndc + Italian itln + Norwegian nrwgn + Spanish spnsh + Swedish swdsh + + + * quail/cyrillic.el : languages written in Cyrillic alphabets + + LANGUAGES PACKAGE NAME NOTE + ----------------------------------------------------------------- + Russian jcuken standard layout for Russian + jis-russian same as jcuken, but uses + JIS encoding + 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 + ISO 8859-5 yawerty based on Roman transcription + + + * quail/greek.el : for Greek + + LANGUAGE PACKAGE NAME NOTE + ----------------------------------------------------------------- + Greek greek + jis-greek same as greek, but uses + JIS encoding + + + * quail/hebrew.el : for Hebrew + + LANGUAGE PACKAGE NAME + -------------------------------- + Hebrew hebrew + + + After having loaded the appropriate file(s), you can toggle quail- + minor-mode with "C-]". In the quail mode you can select a package + for a particular language either typing "M-s" or evaluating + (quail-use-package "package-name"). Typing "M-z" shows a brief + help. + + Examples: + + 1) If you are new to German and want to type German texts, include + the following two lines in your .emacs. + + (load "quail/latin") + (quail-use-package "german") + + 2) If you want to use the azerty layout for French, include the + following two lines in your .emacs. + + (load "quail/ltn") + (quail-use-package "azerty") + +LT-2: How can I display Latin-1 characters on a character terminal? + + TAKAHASHI Naoto <ntakahas@etl.go.jp> writes: + + You have to set `display-coding-system' to *ctext* to display + Latin-1 characters in Mule running on a character terminal. + This can be done either 1) by adding a line which looks like: + + (setq display-coding-system *ctext*) + + in your .emacs file, or 2) by answering *ctext* to the prompt + "Display-coding-system:" which is shown when you type "M-x + set-display-coding-system". + + Even under the X Window System, you have to run one of the + above procedures if you invoke Mule with -nw option. + + In either case, your character terminal or terminal emulator should + be able to support Latin-1 characters.