--------------------------------------------------------------
Mule-UCS(Universal enCoding System)
Written by Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>

       About any question, problem, suggesions, and so on,
       please discuss at MULE ML <mule@m17n.org>
                      or MULE Japanese ML <mule-ja@m17n.org>.

       reviced on 1999/11/10.
--------------------------------------------------------------

o ... License

  Mule-UCS is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.

  You should have received a copy of the GNU General Public License
along with Mule-UCS; see the file COPYING.  If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.

o ... Introduction

  Mule-UCS is an Emacs Lisp library to define encoding/decoding schemes by
rather simple translation rule.

  Emacs prepares encoding/decoding schemes in the following 2 mechanisms.

  (A) ... built-in ISO/IEC 2022 encoder/decoder
  (B) ... Code Conversion Language(CCL) engine

  Although (A) provides powerful encoding/decoding schemes as to ISO/IEC 2022,
we cannot utilize this for any other encoding schemes.
(B) is a simple register machine.  However, CCL is an arcane language
because it is mysterious and obscure:-P.

  Mule-UCS provides flexible and complehensible encoding mechanism to Emacs.
Currently, Mule-UCS generates CCL program from the translation rule, but
in the future, Mule-UCS may support another conversion engine on Emacs.

  And I prepared 2 predefined conversions for Mule-UCS.

  (1) ... Unicode(UTF-7/8/16) support.
  (2) ... Big5 <-> CNS conversion support.

  These are included in this package.

  This version supports Emacs 20.6 or later; and Meadow1.12 Beta 1 or later.
If your Emacs have Mule 4.1(AOI) or later feature, you can utilize UTF-8/16
autodetection facility.

This manual corresponds to Mule-UCS 0.72 (RYOANJI).

--------------------------------------------------------------------------------
VERY IMPORTANT NOTICE!!!

If your Emacs is earlier than 20.6, it contains the fatal bug
on CCL interpreter, Please apply the following patch to Emacs.
This patch will be applied to Emacs 20.6.

  Owing to this bug, Emacs may cause wrong
encoding or decoding if the encoded or decoded data was
too much.  This problem is NOT limited to Mule-UCS.

If you use Meadow, please update to 1.12 Beta 1 or later.

Index: ccl.c
===================================================================
RCS file: /home/himi/cvswork/emacs/src/ccl.c,v
retrieving revision 1.17
diff -c -r1.17 ccl.c
*** ccl.c	1999/07/27 09:58:01	1.17
--- ccl.c	2000/01/29 01:22:52
***************
*** 911,917 ****
  	  i = reg[RRR];
  	  j = XINT (ccl_prog[ic]);
  	  op = field1 >> 6;
! 	  ic++;
  	  goto ccl_set_expr;
  
  	case CCL_WriteRegister:	/* CCCCCCCCCCCCCCCCCCCrrrXXXXX */
--- 911,917 ----
  	  i = reg[RRR];
  	  j = XINT (ccl_prog[ic]);
  	  op = field1 >> 6;
! 	  jump_address = ic + 1;
  	  goto ccl_set_expr;
  
  	case CCL_WriteRegister:	/* CCCCCCCCCCCCCCCCCCCrrrXXXXX */
***************
*** 931,936 ****
--- 931,937 ----
  	  i = reg[RRR];
  	  j = reg[Rrr];
  	  op = field1 >> 6;
+ 	  jump_address = ic;
  	  goto ccl_set_expr;
  
  	case CCL_Call:		/* 1:CCCCCCCCCCCCCCCCCCCCFFFXXXXX */
***************
*** 1107,1112 ****
--- 1108,1114 ----
  	    {
  	      i = reg[rrr];
  	      CCL_WRITE_CHAR (i);
+ 	      ic = jump_address;
  	    }
  	  else if (!reg[rrr])
  	    ic = jump_address;

--------------------------------------------------------------------------------

o ... Installation.

  Since Mule-UCS is only an Emacs Lisp library, you have only to
byte-compile *.el files and install them to the location refered by
load-path.

  You can use mucs-comp.el at the top directory.
Enter the following command line:

  emacs -q --no-site-file -batch -l mucs-comp.el

If you use Meadow, enter the following:

  Meadow95(NT) -q --no-site-file -batch -l mucs-comp.el

And then, you will obtain byte-compiled emacs-lisp files.
At last, you should install lisp directory to your site-lisp directory.(*1)

Please read README.Unicode if you want to use Unicode.

o ... and then...

  If you want to configure your own encoding, please read another
  documentations.(Not yet written. sorry.)




