This file is part of the CJK package.


History of the CJK package
==========================


Version 1.0:    first release.
01-June-1994


Version 1.1:    new:
20-Aug-1994         \CJK@char(x) simplified.

                   CJK.txt updated.

                   diff.txt added.


Version 2.0:    new:
15-Sep-1994         support for Hangul:
                     virtual fonts / tfm files for Hangul standard fonts.

               changed:
                   font selection: modified .fd-files needed:
                     structure of .fd-files much more simplified.


Version 2.1:    new:
28-Sep-1994         optional parameters to CJK size functions added.

                   sCJK size function added.

                   CJK* environment added: spaces after CJK characters are
                     swallowed.

                   Utility programs hbf2hbf and hbf2cjk added.

               changed:
                   new Big 5 encoded fonts needed (more compressed)---saves
                     about 13 TeX subfonts per Big 5 encoded font.

                   modified example .fd-files .

               errors:
                   Bg5text environment to pmC-Bg5 environment added.

                   pmC emulation now uses compatible font names, i.e.,
                     wcb5a1, wcb5a2, etc.


Version 2.2:    new:
18-Oct-1994         CJK now supports hangul and hanja together. Two different
                     sets of subfonts are used as defined in Uhangul.fd and
                     Uhanja.fd .

                   CJK punctuation characters (fullwidth comma, colon,
                     semicolon, etc.) don't start a line. CJK opening
                     braces, etc., don't end a line.

                   \uppercase and \lowercase is now disabled if Big 5
                     encoding is active.

                   \lccode's is only reset if the new `lowercase' option is
                     set. This function is so seldom used that I decided to
                     separate it from setting \uccode's. You need less save
                     size if `encapsulated' is used without `lowercase'.

                   C source of hbf2cjk replaced with CWEB source.
                     .dvi files of hbf2hbf and hbf2cjk added.
                     C source files of hbf2hbf and hbf2cjk produced by
                     CTANGLE added.

                   \CJKtolerance added - this command for Hangul syllables
                     is the pendant to \CJKglue.

               changed:
                   hangul environment renamed to KS.

                   modified example .fd-files.

                   new Hangul .vf and .tfm files.

                   definition of \CJKglue changed.

                   HBF API now supports HBF 1.1 (CHARS optional).

                   fine-tuning to hbf2cjk added
                     (Sam Chiu <[email protected]>).

               errors:
                   CJK* didn't work in sectioning commands
                     (Wu Guangxi <[email protected]>).


Version 2.21:   errors:
25-Oct-1994         CJK* didn't suppress spaces
(only CJK.sty)        (Sam Chiu <[email protected]>)


Version 2.3:    new:
15-Nov-1994         JIS coding scheme/environment added.

                   pmC-KS and pmC-JIS environments added.

                   CNS coding scheme added.

                   hbf2gf added.
                     This program merges bmf2gf, hbf2cjk, and hbf2hbf; it
                     is about 10 times faster than hbf2cjk.
                     Consequently, hbf2cjk and hbf2hbf were removed.

               changed:
                   only \uppercase disabled (see error).

                   \CJK@char, etc., simplified.

               errors:
                   verbatim environments didn't work in Big 5 encoding
                     (Lee Chun-Yu <[email protected]>).


Version 2.4:    new:
03-Jan-1995         UTF 8 (Unicode) scheme added.

                   option `unicode' to hbf2gf added: if `on', a two-digit
                     hexadecimal number is used as a running number
                     starting with the value of the first byte of the first
                     code range.

                   Bg5conv.tex added: this is a small preprocessor which
                     converts Big 5 encoded characters `XY' into the form
                     `XZZZ.' . Now you can use Big 5 encoding without the
                     annoying Bg5text environment.
                     Auxiliary files: Bg5pp.enc, pmCsmpp.enc, and
                     bg5latex.bat .

               changed:
                   new versions of emx.exe, emx.dll (ver. 0.9a) and rsx.exe
                     (rel. 5)

               errors:
                   hbf2gf sometimes drew one pixel too much
                     (You Rey-Jer <[email protected]>).

                   pmC encodings didn't work
                     (Zhang Zhengyou <[email protected]>).

                   \CJK@charToHex and \CJK@numbToHex could erroneously change
                     page counter (Li Yu-Ray <[email protected]>).


Version 2.5:    never released; 7 beta versions published. See file
               history.2_5.


Version 3.0     there are too many changes to be described here in full
10-Oct-1995     detail. Please reread the various documentation files and
               check the file history.2_5 too.

               new:
                   two contributed packages: ntu2cjk and ttf2pk.

                   SJIS coding scheme added.

*                   a new unifying fontencoding scheme has been introduced:
*                     max. 4 characters encoding + max. 3 characters
*                     fontencoding
*
*                       examples:
*                         JISdnp, JISpmC, etc.
*
*                     this change causes many files to be renamed (e.g.,
*                     Uhanja.fd->Uhanj.fd); there is also a bunch of new/
*                     redefined functions to support this:
*                       \CJKenc
*                       \CJKfontenc
*                       \CJKshape
*                       \CJKencshape
*                       CJK and CJK* environment
*
*                     SOME OF THE ABOVE CHANGES ARE NOT COMPATIBLE WITH
*                     PREVIOUS VERSIONS!

                   two fontencodings added: `dnp' for DNP fonts and `wn'
                     for Watanabe fonts.

                   four new size functions: `CJKsub', `CJKssub', `DNP', and
                     `DNPgen'.

                   \CJKchar has now an optional parameter to select the
                     encoding. You can also use this command with Unicode
                     encoding; additionally you can enter characters with
                     or without the 8th bit set (GL or GR form) except for
                     SJIS, Bg5 and UTF8 encoding.

                   a new internal level introduced:
                     we now have

                           active characters
                               |
                               +--------------> bindings (normal,
                               |                preprocessed) <- new
                               |
                           active character macros
                               |
                               +--------------> encodings (GB, Bg 5, ...) +
                               |                font encodings (none, dnp,
                               |                pmC)
                               |
                           subfont selecting macros
                               |
                               +--------------> character macro sets
                               |                (standard, Big 5, ...)
                               |
                           character selecting macros

                   a new style option has been added: `active'. If
                     activated, bindings are local. Default is still
                     `local' (with global bindings). You need this option
                     if you want to mix preprocessed text with
                     non-preprocessed text in nested CJK environments. This
                     can happen if you merge texts in various encodings.

                   options `dos' and `dosdebug' to makefiles added for
                     compiling with djgpp.

                   new keywords `design_size', `target_size', `tfm_files',
                     and `pk_files' added to hbf2gf. If `tfm_files'
                     (`pk_files') is `no', creation of .tfm-files
                     (.pk-files) is suppressed.

                   new calling mode for hbf2gf for use with MakeTeXPK:
                     hbf2gf configuration_file [subfont_number resolution]

                   a modified MakeTeXPK (and maketexp.btm) added to process
                     Chinese TrueType fonts (with ttf2pk) and CJK bitmap
                     fonts (with hbf2gf).

                   pinyin.sty for writing pinyin syllables with tones.

                   \CJKtilde and \standardtilde for embedding ordinary words
                     in CJK text.

                   new command \CJKcaption to load a caption file.

                   new commands \CJKCJKchar, \CJKhangulchar and
                     \CJKlatinchar added to specify character handling
                     (glue, discretionary). Only for UTF8 encoding needed.
                     Default is \CJKCJKchar.

                   various caption files (.cap) added to be used in
                     conjunction with the KOMA-script document classes.

                   MULE to CJK converter added.

               changed:
                   the protection scheme has been completely rewritten.
                     Encoding changes now work in sectioning commands too.

                   reorganization of source tree.

                   all occurrences of utf8 changed to UTF8 including
                     filenames.

                   all occurrences of GBs changed to GB including filenames.

*                   handling of intercharacter glue enhanced. Now there is
*                     no \CJKglue before and after a block of CJK
*                     characters. Note that this is a visually incompatible
*                     change to the previous versions of CJK! (See the
*                     command \CJKtilde also.)

                   the definition of the CEF encoding has changed; it uses
                     now HTML-macros to identify CNS codes. Various
                     preprocessors has been added to handle these macros.

                   CNS.sty removed. Has been integrated into CJK.sty .

                   if only one of the keywords `dpi_x' or `dpi_y' is given
                     in the hbf2gf config file the other printer resolution
                     is set equal to the given one.

                   the key values `on' and `off' in the hbf2gf config file
                     are replaced with `yes' and `no'.

               errors:
                   if two Big 5 environments were stacked, the Bg5text
                     environment was defined twice causing an error
                     (Yang Jinn S. <[email protected]>).

                   \CJK@punctEnc was undefined in pmC-Bg5 environment
                     (Yang Jinn S. <[email protected]>).

                   pmC-Bg5 encoding did not work in preprocessed mode
                     (Yang Jinn S. <[email protected]>).

                   Bg5conv.tex and CEFconv.tex/CEF5conv.tex fail under the
                     web2c-TeX implementation because \write commands don't
                     output 8bit characters. C programs which do the same
                     were added.

                   wrong \CJK@min and \CJK@max values for some encodings.

                   some punctuation characters with Big 5 encoding had wrong
                     offsets (Li Yu-Ray <[email protected]>).

                   `global' option didn't work correctly.

                   \CJKchar didn't work in preprocessed mode
                     (Rob Lahaye <[email protected]>).

                   all .bat and .cmd files call f_name.bat (f_name.cmd) to
                     replace the extension (usually .tex) with .cjk .


Version 3.0.1   new:
20-Nov-1995         hbf2gf config files for CNS added.

               changed:
                   .vf and .tfm files for Hangul have been removed; they
                     are now part of the Hangul font packages.

                   CNS font definition files modified.

                   `~', if \CJKtilde has been executed, now suppresses
                     spaces afterwards.

                   (hopefully) better installation documentation.

                   ttf2pk: improved scripts.

                   the font directories (for web2c) in the various
                     script/config files have been standardized:

                     the source bitmap fonts and its HBF header files are
                     now assumed to be in

/usr/local/lib/font/{china,japan,korea,...}/font_name/

                     the hbf2gf configuration files in

/usr/local/lib/hbf2gf/

                     the TeX font files in

/usr/local/lib/texmf/fonts/{chinese,japanese,korean,...}/font_name/pk/CJK/
/usr/local/lib/texmf/fonts/{chinese,japanese,korean,...}/font_name/{tfm,vf}/

                     the NTU TrueType fonts in

/usr/local/lib/font/china/truetype          .


               errors:
                   standard.chr redefined the altchar macros erroneously
                     (Patrick Tuttle <[email protected]>).

                   MULEenc.sty failed with german.sty in sectioning
                     commands.

                   mule2cjk didn't work with CNS planes 3-7.


Version 3.1.0:  new:
20-Feb-1996         MakeTeXPK now supports DC (and TC) 1.2 fonts.

                   JIS supplement character set (JIS X 0212-1990)
                     implemented.

                   hbf2gf config file j2so12.cfg (for a JIS X 0212 font)
                     added.

                   New parameter for hbf2gf: slant. Note that slanted
                     fonts are not common for CJK languages and should
                     be used only in special situations.

                   Documentation about Japanese TeX systems and how to
                     handle Japanese with CJK contributed by TANAKA
                     Shinichiro <[email protected]>.

                   An introduction into the CJK package in Chinese
                     contributed by Lee Chun-Yu <[email protected]>.
                     Consequently the outdated README.bg5 together with
                     bg5_test.tex has been removed.

                   ntu2cjk version 1.3 .

                   CEF example added.

               changed:
                   MULEenc.sty, mule2cjk:
                     \textcdot dropped; replaced with \textperiodcentered.

                   MULEenc.sty:
                     definition of \textregistered dropped since it is
                     defined for all encodings in the latest LaTeX2e
                     release.

                   CJK.sty:
                     \nbs is now defined as a shorthand for \nobreakspace.

                     \space's added to font size functions analogously to
                     the latest LaTeX release.

                   mule2cjk:
                     \nbs replaced with \nobreakspace.

                   maketexp.btm:
                     small enhancements.

                   f_name.bat:
                     slightly modified to make it run under 4DOS too.

                   hbf2gf:
                     hbf.c updated to latest hbf version (17-Oct-1995).
               errors:
                   maketexp.btm:
                     the ttfdir environment variable in the created
                     fonts.btm file was not set.

                     Oh, oh, font creation with hbf2gf also didn't work...

                     at one place two `%%' used instead of one.

                   UJISwn.fd should now search for the right fonts.

                   *.cap:
                     erroneously contained \@undefined instead of
                     \undefined.

                   JIS.cap:
                     completely broken (sigh). Unbalanced \if... statements
                     caused unrecoverable errors.


Version 3.1.1:  new:
20-Jun-1996         \CJKspace switches (inside of a CJK or CJK* environment)
                     from CJK* to CJK mode.
                   \CJKnospace switches from CJK to CJK* mode.

                   support for Vietnamese with Mule. You need the vncmr-2.1
                   package for fonts and LaTeX2e support.

                   Latin 5 (ISO 8859-9) for Mule implemented.

               changed:
                   mule2cjk removed and replaced with cjk-enc.el which
                   defines a new output encoding scheme for Mule
                   (*cjk-coding*). See cjk-enc.doc for details.

                   new protection scheme and changed macro definitions in
                   MULEenc.sty enables kerning for non-CJK languages. This
                   also makes most of the CJK macros significantly smaller.

                   f_name.bat replaced with the latest version.

                   some documentation improvements.

                   \CJKhanja and \CJKhangul now also make sense outside of
                   KS encoding (useful in connection with mule2cjk).

               errors:
                   f_name.cmd doesn't work. All *.cmd removed. I have first
                     to learn REXX to write such batch files for OS/2.

                   ttf2pk failed if the PK package size of a character was
                     1024 (the same error is also in the pbm2pk program).

                   hbf2gf didn't initialize mag_x/mag_y and dpi_x/dpi_y
                     correctly (Zhang Zhengyou
                     <[email protected]>).

                   after closing a CJK environment not all characters above
                     0x80 had been made non-active (a typo).

                   pinyin.sty did not preserve the \a macro (used in
                     tabbing environments).

                   single byte characters didn't work in SJIS encoding (a
                     typo).

                   `:' and `.' do not work as parameter delimiters if these
                     characters are active (Daniel Flipo <?@?>). Now ^^ff
                     is used; the old macro ^^ff is now ^^a0; ^^a0 has
                     become ^^80. The old ^^80 macro has been removed since
                     the new version of mule2cjk always use the `global'
                     option of CJK which allows the use of (the new) ^^80
                     instead.

                   \CJKenc{SJIS} didn't work (Thomas Piekenbrock
                     <[email protected]>).

                   SJISconv.tex didn't run (a senseless line called the
                     nonexistent macro \CJK@other) (Thomas Piekenbrock
                     <[email protected]>).

                   JIS.cap didn't work (a typo).

                   SJIS.cap didn't work either (forgot to edit).


Version 4.0.0:  new:
20-Sep-1996         I did the final step. All CJK encodings now have all
                     NFSS attributes, namely family, series, and shape
                     (represented by \CJK@family, \CJK@series, and
                     \CJK@shape). \CJK@family is set by entering a CJK
                     environment in the same way as it was done in former
                     versions of this package. \CJK@series and \CJK@shape
                     are (usually) controlled by the standard NFSS commands
                     (e.g., \slshape, \textbf, etc.).

                     To achieve this it was necessary to define (NFSS)
                     font encodings for the CJK package. All CJK font
                     encodings map to NFSS font encodings which start with
                     the letter `C', followed by two digits. Here is a
                     table:

                       Chinese:      Bg5     C00
                                     Bg5pmC  C01

                                     GB      C10
                                     GBpmC   C11

                                     GBt     C20
                                     GBtpmC  C21

                                     CNS1-7  C31-37

                       Japanese:     JIS     C40
                                     JISpmC  C41
                                     JISdnp  C42
                                     JISwn   C43

                                     JIS2    C50

                                     SJIS    ->  kana        C49
                                                 (additionally)

                       Korean:       KS      ->  hanja       C60
                                             ->  hangul      C61
                                     KSpmC   C62
                                     KSHL    ->  hanjaHL     C63
                                             ->  hangulHL    C64
                                             ->  HLsymbolJ   C65
                                             ->  HLsymbolK   C66

                       Unicode:      UTF8    C70

                       CEF:          CEFX    C80
                                     CEFY    C81

                     The first digit corresponds to a CJK (input) encoding
                     like Bg5 or JIS, the second digit represents either a
                     CJK font encoding or internal encodings necessary to
                     cover the selected CJK encoding.

                     One consequence of this step is that you have to adapt
                     all .fd files to the new scheme. Look at the example
                     font definition files of the CJK package how to do it.

                     You can't use e.g., `C01' directly! Use the CJK
                     interface (in this example \CJKfontenc[pmC]{Bg5}).

                     Another consequence is that you are now limited to
                     five characters for the family name since it is part
                     of the .fd name (together with the NFSS font
                     encoding): e.g., `fangsong' is not longer allowed. I've
                     renamed this to `fs'.

                   the new font encoding scheme of the HLaTeX package is
                     supported. You can select it with \CJKfontenc[HL]{KS}
                     or \begin{CJK}[HL]{KS}{...} . This is _not_ an
                     emulation of HLaTeX! See CJK.doc for details.

                   poor-man's bold font has been introduced. To do this all
                     occurrences of \symbol has been replaced with the new
                     command \CJKsymbol which honours the \ifCJK@bold@
                     flag. If set, a character is printed three times with
                     a small horizontal shift. You can modify this flag
                     with \CJKnormal and \CJKbold. These commands are
                     intended for use with \DeclareFontShape:

           \DeclareFontShape{C00}{CNS}{m}{n}{<-> CJK * csso12}{}
           \DeclareFontShape{C00}{CNS}{bx}{n}{<-> CJKb * csso12}{\CJKbold}

                     Additionally four size functions (CJKb, sCJKb,
                     CJKfixedb, sCJKfixedb) has been introduced which are
                     completely identical to its counterparts without the
                     final `b'. The only reason to use them is, as shown in
                     the above example, to make the fifth parameter of
                     \DeclareFontShape for bold series different from the
                     one for medium series (LaTeX2e uses this parameter as
                     a macro name to execute loading-settings, thus they
                     must not be equal). Redefine \CJKboldshift if the
                     default shift value of 0.015em is not optimal for the
                     specific font.

                   support for ruby (= furigana) added. See rubi.doc for
                     details.

                   ttf2pk:
                     TTF specific error handling enabled.

                     Big 5 encoded TTF in format 4 can now be handled.

                   hbf2gf: you can now use environment variables ($FOO or
                     ${FOO}) in the configuration file. Use $$ to get a
                     dollar sign.

                   man pages added.

                   more examples added.

                   REXX scripts bg5latex.cmd, etc. (for OS/2) added
                     (contributed by Wonkoo Kim <[email protected]>).

                   teTeX.doc added.

               changed:
*                   The CJK distribution has been divided into three
*                     packages:
*                       src     The sources. Needed for all platforms
*                       bin     Binaries compiled with emx for DOS and OS/2.
*                       rest    Preformatted documentation (.dvi, .ps,
*                               output from cjk-enc.el)
*
*                   ALL FONT DEFINITION FILES HAVE BEEN CHANGED AND RENAMED!
*
                   \CJKshape and \CJKencshape renamed to \CJKfamily and
                     \CJKencfamily respectively. For backward compatibility
                     you can still use the old names. Nevertheless, they
                     now modify the font family parameter and no longer the
                     font shape parameter.

                   all *conv.tex and its batch files removed.

                   all converter programs now do not change the number of
                     lines in the output file.
*
*                   the UN*X converter batch files now replace the extension
*                     with .cjk instead of appending it. E.g.
*                     test.tex -> test.cjk (instead of test.tex.cjk)
*
                   f_name.bat provides a new environment variable %fu%
                     for a Unix-like path (using `/' instead of `\'). Now
                     you can run bg5latex.bat and the other DOS batch files
                     having a file name with a path as an argument. Please
                     replace all these batch files with the new ones.

                   starting with this version ttf2pk is a direct part of
                     the CJK package. I maintain it. As a consequence the
                     ttf2pk directory tree has been moved into the utils
                     subdirectory.

                   MakeTeXPK, MakeTTFPK: environment variable ttfdir and
                     hbf2gfdir renamed to TTFDIR and HBF2GFDIR
                     respectively.

                   hbf2gf: sample configuration files now contain TDS
                     compliant directories.

                   ttf2pk:
                     -c option removed which never worked.

                     some redundant code removed.

                     heavily reformatted.

               errors:
*                   PLEASE RECREATE ALL .TFM AND .PK FILES PRODUCED BY
*                   TTF2PK!
*                     Reason: the width values were resolution dependent.
*                     You should use the InstallFont script or instfont.btm
*                     for this job since the very bug in ttf2pk has not yet
*                     been fixed. Additionally you must install the new
*                     MakeTTFPK script.

                   ttf2pk:
                     endchar didn't work correctly.

                   punctuation characters in KS were not handled correctly.

                   \CJKchar failed sometimes (Jinn S. Yang
                     <[email protected]>).

                   Big 5/SJIS characters failed in headers, etc., if used
                     without preprocessor (Jinn S. Yang
                     <[email protected]>).


Version 4.0.1:  appeared as a diff only---a typo in utils/ttf2pk/findex.c
26-Sep-1996


Version 4.1.0:  new:
20-Nov-1996         ttf2pk:
                     a new parameter -e has been introduced for selecting
                     the font encoding; possible values are `Big5' (the
                     default), `EUC' for extended Unix codes (JIS, GB, KS,
                     etc.), `SJIS', and `X'. The last value treats the TTF
                     file as SJIS encoded but expects start_char in JIS
                     encoding (routines are in coding.{c,h}).

                     a new parameter -r has been introduced for rotating
                     the glyphs 90 degrees counter-clockwise if its value
                     is non-zero. See ttf2pk.1 for details.

                     Some preliminary support for composite glyphs has been
                     included. Since hinting instructions are not supported
                     yet this is only of some academic interest. You can
                     watch the funny results with the mingli system font of
                     the traditional Chinese Windows 3.1 .

                     Support for different horizontal and vertical
                     resolutions has been added. Now you have one more
                     parameter to call ttf2pk:

                       ttf2pk pkname tfmname xres yscale startch nmbch ...

                     Currently you have to change yscale by hand in
                     MakeTTFPK (or makettfp.btm). [yres = xres * scale]

                     The source code has been prepared for pretty-printing
                     with c2cweb. Say `make documentation OS=<SYSTEM>' to
                     produce it (of course after installing the c2cweb
                     package). You find precomputed .dvi files in the
                     `rest' part of the CJK package.

                   HSIEH Tung-Han <[email protected]>
                     contributed NTeXb5.doc for installing the CJK package
                     under NTeX.

                   hbf2gf:
                     if called in METAFONT-like mode, one additional
                     parameter has been added to allow printers with
                     different horizontal and vertical resolutions:

                       hbf2gf config_file subfont_nmb x_resolution y_scale

                     (y_resolution = x_resolution * y_scale; y_scale must
                     be a real number > 0; currently you must change y_scale
                     by hand in MakeTeXPK/maketexp.btm)

                     hbf2gf now produces a .pl file even if in
                     METAFONT-like mode.

                     a new config file option `rotation' rotates the glyphs
                     90 degrees counter-clockwise if set to `yes'.

                   vertical presentation forms of Big5 punctuation
                     characters added to punctuation tables in CJK.enc .

                   CJKvert.sty for vertical typesetting added. This is an
                     experimental feature! Please read vertical.doc for
                     further details.

*                   MakeTeXPK and friends:
*                     it's no longer necessary to rename TTF files to avoid
*                     underline characters. A configuration file is now used
*                     (ttf2pk.cfg) which resides in $TTF2PKDIR (usually
*                     $TEXMF/ttf2pk) to describe the various TTF files.
*                     Please rename e.g., ntukai.ttf back to ntu_kai.ttf .
*                     The environment variable $TTFDIR has become obsolete.

                     The teTeX variants of the scripts can now produce tfm
                     files on demand---it's sufficient to simply install
                     the source files of a new font.

               changed:
*                   rubi.sty has been renamed to ruby.sty; the same is
*                     true for all commands in it: \ruby, \rubyoverlap, etc.

                   new version (1.5) of ntu2cjk.

                   hbf2gf:
                     the option `target_size' has been removed. It is
                     ignored now.

                     under DOS and OS/2 both `\' and `/' are now recognized
                     as a path separator.

                   ttf2pk:
                     the -s parameter (to select a design size) has been
                     removed. The program now always assume a design size
                     of 10pt.

                     the parameter end_char has been replaced with
                     nmb_of_char (max. 256).

                     begin_char can now be either decimal, hexadecimal
                     (prefix `0x'), or octal (prefix `0').

                     x_offset and y_offset behave now similar to hbf2gf
                     (and most people would expect it that way): a positive
                     x (y) value shifts right (up); default is zero for
                     both parameters using the default placement as given
                     in the TTF file. The values are no longer integers but
                     real numbers and should be multiples of design size.

                     horz_esc and vert_esc are now real numbers too and
                     should be multiples of design size.

                     you no longer need to use -W, -H, and -D for getting
                     resolution independent .tfm files. ttf2pk now
                     correctly uses the values of the TTF file.

*                     PLEASE RECREATE ALL .TFM (AND .PK) FILES! Sorry for
*                     this inconvenience. I hope it is the last time. Due to
*                     some optimizations the .pk files are about 5% smaller
*                     now.

                     The TTF part of the source code has been transformed
                     into a library (ttflib); the makefile has been
                     rewritten with a new syntax. Say `make' for details.

                   utils/ttf2pk/README.b5 and INSTALL.bg5 removed. They
                     were out of date.

                   modified MakeTTFPK/MakeTeXPK/InstallFont and
                     makettfp.btm/maketexp.btm/instfont.btm scripts.


Version 4.1.1:  appeared as a diff only.
02-Dec-1996
               new:
                   cjktilde.el:
                     this file contains a minor mode (`cjk-tilde-mode') for
                     emacs to exchange the ` ' key with the `~' key. See
                     the documentation of \CJKtilde for details.

               changed:
                   directory cjk-enc renamed to lisp.

               errors:
                   the fullwidth double colon in GB encoding was missing in
                   the punctuation tables.


Version 4.1.2:  new:
20-Feb-1997         ntu2cjk ver. 1.6 now supports the Jackson font (a Big 5
                     encoded PostScript font).

                   cjkspace.el: similar to cjktilde.el for cooperation with
                     AUCTeX.

                   support files for NDOS contributed by KUO Yi-Liang
                     <[email protected]> .

                   emTeX support documentation also contributed by
                     KUO Yi-Liang <[email protected]> .

               changed:
                   ttf2pk/src/Makefile: uses -C switch of GNU make now for
                     entering subdirectories.

                   adaptation to LaTeX release 1996/12/01:
                     all .fd files now start with e.g., c00 instead of C00
                     (nevertheless, the encoding is still called `C00').

                   all executables are now finished with exit() to avoid
                     additional security holes.

                   Bg5rot.tex renamed to Bg5vert.tex .

               errors:
                   MakeTTFPK:
                     some sed programs can't understand the `\w' special
                     character (indicating a word constituent character);
                     has been replaced with `.'.

                   it was not possible to open a CJK environment with
                     SJIS encoding a second time (Thomas Piekenbrock
                     <[email protected]>).

                   the same problem existed with UTF 8 encoding;
                     additionally the macros failed for protected
                     arguments.

                   cjktilde.el:
                     if you assigned the minor mode to a key, the status
                     line was not updated.

                   ttf2pk:
                     problems with empty glyphs fixed.

                     problems with invalid index tables now lead to a
                     warning instead of a fatal error.


Version 4.1.3:  new:
20-Jun-1997         hbf2gf can now create virtual Omega (.ofm) files.

                   ttf2pk (and its scripts) now supports Unicode encoded
                     fonts.

                   cjk-enc.el for emacs 20.

                   Russian support (in T2 encoding) for Mule/emacs 20.
                     Please contact me for fonts, hyphenation patterns, and
                     macro packages.

                   JIS X 0201 support for Mule/emacs 20.

                   experimental support for Thai (only emacs 20). This is
                     basically C-TTeX version 1.51 adapted to CJK. Anybody
                     who is interested in this stuff (and has some
                     knowledge on Thai contrary to me :-) please contact
                     me so I can improve it. Please read cjk-enc.doc for
                     more details.

                   ntu2cjk version 1.8:
                     now supports partial downloading of NTU fonts with
                     dvips.

                   installation checklist added to INSTALL.

                   installation instructions written in Chinese GB
                     contributed by YAO Fude <[email protected]>.

                   UTF8.tex example added.

               changed:
                   MULEenc.sty:
                     \hbar and \HBAR replaced with \textmalteseh and
                     \textmalteseH respectively according to the LaTeX2e
                     release June 1997.

                     further simplifications.

                   external CJK font packages, script and documentation
                     files updated to TDS standard.

                   c70song.fd:
                     now uses cyberbit.ttf as default font.

               errors:
                   make*.btm scripts now really work :-) (thanks to
                   <[email protected]>).

                   c00cns.fd was incorrectly stored as c00CNS.fd .

                   MULEenc.sty:
                     expansion macro improved (the old version prevented
                     kerning if used with e.g., \MakeUppercase).

                   hbf2gf:
                     support for Unicode encoded HBF files was totally
                     broken.

                     always used non-rotated x and y input sizes.

                     the HBF interface now uses only one file handle per
                     opened font---previously it used one file handle per
                     HBF_CODE_RANGE line (Mark Leisher
                     <[email protected]>).

                   ttf2pk:
                     can now handle fonts like avkv.ttf which have a
                     non-standard way to handle the end of the glyph index.

                     a nasty allocation bug removed due to missing modulo
                     65536 operations (thanks to YANG Ching-Hsiang
                     <[email protected]>).


Version 4.2.0:  new:
13-Dec-1998         pinyin.sty:
                     support for EC fonts: the macron bar has been lowered
                     considerably.

                     kerning in pinyin syllables is now identical to
                     unaccented syllables.

                   teTeXb5.doc:
                     How to set up CJK with teTeX 0.9 (in Chinese).
                     Contributed by HSIEH Tung-Han
                     <[email protected]>.

                   CJKnumb.sty:
                     new package for converting a number into a CJK
                     representation. It provides just one command,
                     \CJKnumber.

                   CJK.sty:
                     new command \CJKaddEncHook for adding code which is
                     executed each time a certain encoding is selected.

                   contrib/wadalab:
                     how to use Wadalab Japanese PostScript fonts with CJK.
                     Contributed by LEUNG Hin-Tak <[email protected]>.

                   CJK.enc:
                     added C52 encoding (JIS2 in dnp font encoding).

               changed:
                   MULEenc.sty, cjk-enc.el:
                     updated to latest LaTeX 2e changes (1997/12/01 and
                     1998/06/01):
                     \DH, \dh renamed to \DJ, \dj; LaTeX2e now provides
                     \textdegree, \textordfeminine, and \textordmasculine.

                     updated to latest T2 changes: \CYRUKRI, \CYRUKRE and
                     its lowercase forms are renamed to \CYRII and \CYRIE
                     respectively.

                     there is now a version of cjk-enc.el for emacs 20.3
                     too.

                   muletest.tex:
                     new translations; Russian now standard.

                   thaiconv:
                     updated to include cttex 1.15 changes.

                   a revised TDS structure for storing CJK fonts and
                     configuration files (see TDS.doc for details).

                   compile.doc has been removed.

                   NTeXb5.doc has been removed.

                   ttf2pk.doc has been removed (it is now in the ttf2pk-old
                     package).

                   the whole ttf2pk subdirectory has been removed. Get the
                     new ttf2pk program of the FreeType project (available
                     from ftp.freetype.org in the directory
                     pub/freetype/devel as the package
                     freetype-current.tar.gz)---the new ttf2pk can work
                     with composite fonts too and supports hinting. The old
                     ttf2pk is still available as ttf2pk-old.tar.gz .

                   the whole ntu2cjk subdirectory has been removed. Get the
                     new ttf2pfb program of the FreeType project (see just
                     above for the location). ntu2cjk is still available as
                     ntu2cjk.tar.gz .

                   the whole NDOS subdirectory has been removed because it
                     is completely out of date.

                   CJK.sty:
                     caption files for preprocessed mode have now the
                     extension `.cpx' to simplify editing of cap files.

*                   hbf2gf:
*                     completely redesigned to make calls in scripts for
*                     creating PK fonts easier. Please refer to hbf2gf.1
*                     or hbf2gf.dvi for details.
*
*                   maketexp.btm, etc.:
*                     replaced with dvidrv.btm, a replacement for emTeX's
*                     dvidrv.exe; it is documented in dvidrv.doc .

                   fonts from HLaTeX >= 0.97 are now supported. As a
                     consequence, support for older HLaTeX versions has
                     been withdrawn. The internal encoding C66 no longer
                     exists.

                   cjk-enc.el:
                     function write-cjk-file added (thanks to David Fox
                     <[email protected]>).

               errors:
                   pinyin.sty:
                     \O wasn't handled specially.

                   CJK.sty now coexists with ArabTeX.

                   possible save size overflow fixed (\CJK@temp was
                     assigned locally and globally at the same time).


Version 4.3.0:  An intermediate version containing most features of 4.5.0
04-Apr-2000     published on the TeX Live 5 CD. It has never been officially
               released.


Version 4.4.0:  An intermediate version containing most features of 4.5.0
17-Apr-2001     published on the TeX Live 6 CD. It has never been officially
               released.

Version 4.5.0:  An intermediate version containing most features of 4.5.1
01-May-2002     published on the TeX Live 7 CD. It has never been officially
               released.

Version 4.5.1:  new:
17-Jun-2002         CJKulem.sty:
                     Full underlining support using the latest version of
                     ulem.sty.

                   Bg5+ and GBK charsets and encodings added (together with
                     `Bg5+text' and `GBKtext' environments). The encodings
                     are C09 and C19, respectively.

                     `bg5+latex' and `gbklatex' scripts added (together
                     with its DOS and OS/2 pendants); both call the new
                     converter `extconv'.

                   EUC-JP and EUC-TW encodings (*with* single shifts) added.

                   SJIS encoding with DNP fontencoding.

                   A configuration file `CJK.cfg' is read by CJK.sty just
                     before the \endinput command.

                   CJKnumb.sty:
                     Added the macro \CJKdigits to CJKnumb.sty for printing
                     a (integer) number with CJK digits.

                     Added macro \CJKnullspace to control the amount of
                     space inserted before and after a circle character
                     used for CJK digit zero.

                   Added the macro \CJKindent to CJK.sty which sets the
                     paragraph indentation to two ideographic spaces.

                   Added a test file `CJKbabel.tex' for testing CJK,
                     emacs 20, and the babel package.

                   Thai support for Babel added.

                   Added a test file `thai.tex' for testing Thai.

                   cjk-enc.el:
                     Now works with XEmacs also (except for Thai).

                     Support for ISO-8859-7 (Greek) added.

*                     Support for multifile documents added. As a
*                     consequence, it is now necessary to specify the
*                     encoding of all files with local variables for Emacs
*                     (see the comments at the end of the files in the
*                     `examples' directory how to do that; the `coding: ...'
*                     line must exist.

                     The translation tex->cjk is now executed only if the
                     source file is more recent than the corresponding
                     output file (it is still possible to force translation
                     though).

                   Hyphenation patterns for unaccented pinyin syllables
                     (together with support for the Babel package) in
                     utils/pyhyphen. Documentation is in doc/pyhyphen.doc.

                   pinyin.sty:
                     Added option `useCMmacron' (for LaTeX only) to use
                     a macron accent from the CM fonts in case the current
                     font doesn't have it (e.g., some versions of virtual
                     files for Palatino).

                     Compound syllables can now be hyphenated.

                   MULEenc.sty:
                     Added \CJKinclude{<file>}, \CJKinput{<file>}, and
                     \CJKbibliography{<file>} macros which behave similar
                     to \include, \input, and \bibliography but include
                     (input) <file>.cjk and <file>-cjk.bib instead.

                   CJK.sty/MULEenc.sty:
                     The command \CJKverbatim suppresses insertion of glue
                     between CJK and Thai characters in verbatim
                     environments if the `verbatim' package is used. This
                     is useful if you have overlong lines.

               changed:
                   Thai support has been redesigned. The external program
                     `thaiconv' has been replaced by a Lisp file called
                     thai-word.el; ligatures in virtual Thai fonts are now
                     used to select the proper glyph representation forms.
                     See thaifont.doc and cjk-enc.doc for details.

                   CNS stuff moved into a `CNS' directory.

*                   CJK.sty/MULEenc.sty,
*                   cefconv, cef5conv, cefsconv, bg5conv, sjisconv,
*                   cjk-enc.el:
*                     The character slot 0xA0 is no longer used for
*                     \CJKchar; instead, the multiplex character 0x7F
*                     interface now handles this also. Additionally,
*                     character 0x7F (instead of 0xFF) is used as delimiting
*                     character. 0x7F is used for all CJK characters also in
*                     preprocessed mode---as a consequence, preprocessed and
*                     non-preprocessed data can be used simultaneously.
*
*                     You *must* update the *conv programs (if you use
*                     them). \CJKpreproc and \CNSpreproc now contain the
*                     current version string so you can check whether really
*                     the new versions are called.

                   cjk-enc.el:
                     ET5 encoding for Vietnamese replaced with T5 encoding.

                     The version for emacs 20 has been removed. Please
                     upgrade your emacs to 20.7 or newer.

                   contrib/wadalab:
                     Use CJK font size functions instead of DNP ones.

                   hbf2gf:
                     The configure option --with-kpathsea-dir has been
                     replaced with --with-kpathsea-include and
                     --with-kpathsea-lib to support web2c installations
                     with multiple architectures.

               errors:
                   cjk-enc.el:
                     The formatting parameter `%i' has been replaced with
                     `%d'.

                   pmC.chr:
                     Missing \ifCJK@ added.

                     Punctuation macros fixed.

                   Bg5.chr:
                     Fixed a typo \CJK@temp -> \CJK@gtemp.

                   hbf2gf:
                     Now works correctly with very large pixel sizes.

                   Punctuation with half-width katakana in SJIS encoding
                     improved.

                   A bug fixed which prevented the usage of caption files
                     together with hyperref.

                   KS encoding with HLaTeX fontencoding now supports
                     punctuation also.

                   Specifying a font size factor (like `CJK * [1.5]') in
                     FD files no longer produces a warning message for
                     all subfonts.

Version 4.5.2:  new:
28-Mar-2003         The new macro \CJKnohwkatakana prevents the use of the
                     C49 encoding for half-width katakana; instead, the
                     characters are mapped to full-width glyphs. The
                     opposite command is \CJKhwkatakana (the default).

                   Improved support for pseudo-vertical typesetting.

                     . CJKvert.sty provides new commands \CJKvert (the
                       default) and \CJKhorz to toggle pseudo-vertical
                       typesetting.

                     . After loading CJKvert.sty, LaTeX reads file
                       `<foo>.fdv' (if it exists) immediately after reading
                       `<foo>.fd'. Such a file contains additional
                       information how to typeset a font vertically. Most
                       importantly, outline fonts can be configured so that
                       they are rotated with the graphicx package, making
                       it work with both dvips and pdfTeX. See
                       `vertical.doc' for more information.

               errors:
                   \CJKchar sometimes didn't accept 7bit representations.

                   pinyin.sty:
                     Added missing syllables \chua, \den, \rua.
                     Make it work properly in tables.

                   contrib/wadalab:
                     Older versions of the `makefont' script produce bad
                     hints for all Wadalab fonts. Either use the new
                     version to regenerate all fonts or use the new script
                     `fixwada' to correct fonts created with an old version
                     of `makefont'.

                   EUC-TW.chr: Make it really work.

Version 4.6.0:  new:
11-Aug-2005         CJKutf8.sty merges basic LaTeX's and CJK's UTF-8 support.
                   See CJKutf8.doc for details.

                   The two new macros \Thaispace and \Thainospace can be
                   used to control the EOL behaviour in Thai text blocks
                   if processed with cjk-enc.el.

                   There are now scripts (for Unix) to call pdflatex
                   instead of latex: bg5pdflatex, sjispdflatex, etc.;
                   all scripts now pass parameters to latex (the program).

                   New documentation files giving hints how to set up the
                   CJK package for optimal PDF output.

                   New documentation file `reftex.doc' describing
                   customization for RefTeX (which is part of Emacs).

                   CJKfntef.sty provides more font effects specific to
                   CJK scripts. See the example file CJKfntef.tex for
                   typical usage.

*                   All .fdv-files have been renamed to use the suffix
*                   `.fdx' since they are no longer restricted to vertical
*                   writing direction. See the new file `fdxfiles.doc'
*                   for more information.

               changed:
                   All plain text documentation files now have the suffix
                   `.txt'.

*                   Thai support has been improved.
*
*                     . Internally, the font creation process now uses
*                       fontinst to create the TFM files. As a consequence,
*                       virtual fonts are no longer necessary.
*
*                     . Due to an uncertain license, the `dbtt' font family
*                       has been replaced with `garuda', taken from
*                       thailatex version 0.3.5.1 which you can find at
*
*                         http://linux.thai.net/plone/TLWG/thailatex
*
*                     . The directory tree below `utils/thaifont' has been
*                       updated to reflect TDS 1.1, as supported by the
*                       forthcoming TeXLive 2005 and teTeX 3.0.
*
*                     Please replace all files related to Thai fonts in your
*                     TEXMF tree with the new fonts and font support files.

*                   HLaTeX support has been updated to handle fonts from
*                   version 1.0.1---there are no longer MF source files,
*                   only PS fonts. Support for non-uhc fonts have been
*                   removed; you should upgrade to the latest HLaTeX font
*                   archives from CTAN. Please consult CJK.doc, section
*                   `Korean input', for the (slightly) changed font names of
*                   HLaTeX support.

               errors:
                   Some characters in Big 5 encoding disappeared without
                   a warning if pseudo-vertical writing was active.

                   pinyin.sty:
                     Umlaut u with diacritic appeared bold.

                     Umlaut u with macron above was broken.

                   CJKulem.sty:
                     User-defined \CJKglue value was ignored.

                     Line breaks before a post-punctuation CJK glyph
                     weren't disabled when \uline and friends were used.

                   MULEenc.sty:
                     \textordfeminine and \textordmasculine were exchanged
                     if used with cjk-enc.el.

                   contrib/wadalab/*.fdx:
                     Handle Hiragana-Katagana prolongation mark correctly.

                   cjk-enc.el:
                     Multifile support was partially broken.

                   CJKvert.sty:
                     Both \CJKvert and \CJKhorz had both local and global
                     effects. Now they are completely local.


Version 4.7.0:
17-Oct-2006
               new:
                   A new encoding `HK' (C05) is available for Hong Kong's
                   HKSCS-2004, used in combination with Big 5.

*                   `UTF8' encoding now supports full Unicode (up to
*                   U+10FFFF). Subfont planes for ranges greater than U+FFFF
*                   consist of four hexadecimal digits (for example
*                   `foo025e' which covers U+25E00-U+25EFF). The \Unicode
*                   command (and \CJKchar) has been extended to accept
*                   Unicode values greater than U+FFFF.

                   CJKutf8.sty:
                     Support Unicode encoded bookmarks if the hyperref
                     package is used.

                     Automatically generate ToUnicode cmaps for pdftex
                     (tested with pdftex version 3.141592-1.30.4-2.2; it
                     currently doesn't work with virtual fonts).

                   Caption files in UTF-8 encoding have been added; the
                   files are identical to the encoding-specific versions.

                     ja        Japanese
                     ko-Hang   Korean using Hangul
                     ko-Hang2  another version using Hangul
                     ko-Hani   Korean using Hanja
                     zh-Hans   Chinese simplified
                     zh-Hant   Chinese traditional

               errors:
                   UTF-8 input character 0x80 was handled only partially.

                   pinyin.sty:
                     The package didn't preserve `\ding' which is defined
                     in pifont.sty, causing problems with older versions of
                     the hyperref package and its `hpdftex' driver option.

                   CJK.sty:
                     Make it work with font definition files (like the ones
                     from the fourier package) which expect that the
                     loading-settings are called only once.

                   The use of caption files within the `scrartcl' class
                   made \chapter a defined command (instead of reporting
                   an error).

                   With the koma-script classes, all CJK caption files
                   except for Korean produced bad looking TOC entries for
                   \part.


Version 4.8.0:
22-May-2008
               new:
                   Support for EUC-JP with DNP font encoding has been
                   added.

                   Support for XeLaTeX has been contributed by SUN
                   Wen-Chang <[email protected]> (in file `xCJK.sty').
                   Note that this is just a rudimentary emulation layer;
                   most users are probably better off using XeLaTeX's
                   Unicode and font support directly. See `xCJK.txt' for
                   more details.

                   pinyin.sty:
                     Added support for T5 encoding.

                   CJKvert.sty:
                     Added command \CJKbaselinestretch to adjust the
                     baseline stretch used in vertical typesetting.
                     Previously, the value 1.3 was hardcoded.

                     Added package option `usebaselinestretch' to use
                     the \baselinestretch value set before loading
                     CJKvert.sty; \CJKbaselinestretch then becomes a
                     factor to adjust it.

                     Add support for \CJKhdef{offset}{...} in .fdx-files.
                     For example, to vertically shift all glyphs of the
                     `bsmi' font shape in Big 5 encoding (for horizontal
                     writing), put

                       \CJKhdef{offset}{-.07em}

                     into c00bsmi.fdx and add

                       \usepackage{CJKvert}
                       \CJKhorz

                     to your preamble.

               errors:
                   \CJK@bold didn't work properly for C49 (half-width
                   katakana) encoding. Now C49 is handled as a CJK
                   encoding, this is, you should use the various size
                   functions (`CJK', `CJKb', etc.).


Version 4.8.1:
10-Aug-2008
               new:
                   SUN Wen-Chang has contributed the CJKspace.sty package
                   which modifies the `CJK*' environment to suppress spaces
                   only after CJK characters. See CJKspace.txt for
                   details.

               errors:
                   Pinyin syllable macros (defined in pinyin.sty) were not
                   robust, causing problems with indices, for example.

                   Some Chinese .fd and .fdx files were missing for fonts
                   which are present in the forthcoming TeXLive
                   distribution.


Version 4.8.2:
29-Dec-2008
               new:
                   CJKnumb.sty:
                     The new command \CJKdigits* is the same as \CJKdigits
                     but uses the traditional glyph for digit zero.

               changed:
                   The various directories `norasi' and `garuda' have been
                   changed to `norasi-c90' and `garuda-c90', respectively.

                   Thai support has been updated to use the fonts from
                   thailatex version 0.4.2. For easier maintainance it is
                   now expected that the PFB and AFM files (for `norasi'
                   and `garuda') are no longer renamed.

               errors:
                   Poor-man's bold fonts could work incorrectly for
                   substituted fonts.

                   \Unicode didn't use proper glyph representation forms in
                   vertical mode.


Version 4.8.3:
07-May-2012
               new:
                 CJKfntef.sty:
                   New commands \varCJKunderline, \CJKunderanyline,
                   \CJKunderanysymbol. See the example file `CJKfntef.tex'
                   for typical usage.

                 cjk-enc.el:
                   Emacs 23 and newer is now supported, thanks to patches
                   from Leung Hin-Tak.

                   Leung Hin-Tak also contributed Thai support for UTF-8
                   encoding, making emacs an alternative to Thai word
                   separator programs like `cttex' or `swath'.  See the
                   example file `thai_utf8.tex' for a typical usage.

               changed:
                 Special XeTeX support has been removed (file `xCJK.sty'
                 and others). Please use the separate `xeCJK' package
                 instead.

                 Peter Breitenlohner contributed various minor fixes and
                 improvements to the many conversion programs like
                 `cjklatex' or `bg5conv'.

                 The Thai metrics files for `norasi' and `garuda' were
                 updated to version 0.5 of the `font-tlwg' bundle.

               errors:
                 CJKfntef.sty:
                   An incompatibility with recent versions of `ulem.sty'
                   was fixed.

                 ruby.sty:
                   Fix case where furigana is smaller than base glyph.


Version 4.8.4:
18-Apr-2015
               errors:
                 CJKutf8.sty:
                   Fix space handling of non-CJK characters.

                 CJK.sty:
                   In \Unicode, fix conditional to allow line breaks.


Version 4.8.5:
16-Oct-2021
               new:
                 Hyphenation patterns for pinyin syllables:
                   The patterns have been extended to cover accented pinyin
                   syllables, too.

                   [Pinyin patterns are distributed via the `tex-hyphen'
                    package and are by default activated in TeXLive.]

               errors:
                 CJK.sty:
                   Make it work with recent LaTeX versions.  Note, however,
                   that this problem was not visible to the end user since
                   the LaTeX kernel contained a first-aid fix to circumvent
                   the issue.

                 cjk-enc.el:
                   Make it work with Emacs 25 and later.

                 Hyphenation patterns for pinyin syllables:
                   Investigation has shown that the apostrophe before a
                   syllable starting with `a', `e', or `o' should vanish if
                   a line break occurs.  Consequently, character ' is no
                   longer part of the hyphenation patterns.  The apostrophe
                   should now be entered with the Babel shorthand "'.

---End of history.txt---