Subject: [ANNOUNCE] CCTeach NEW version (1.0) release

From: xiaokun Zhu <[email-masked]>
Date: Mon, 4 Oct 1993 10:22:20 BST

Hi,

I updated CCTeach software packages so that it includes
three utility program (tit2nf, slxd, hkeys) to support "cxterm NewFace"
(patch cxterm to support CiZu, LianXian, dynamic shortcut key,
wild key match, dynamic define phrase, etc) and unloaded the package to
ifcss.org /software/unix-input, /software/msdos/input (CCTeacher.readme,
CCTeacher1.0.tar.Z, CCTeacher10.zip) and grumpy.ssc.gov (143.202.140.25)
/pub/Chinese-Files/Hanzi-input.

NEW for version 1.0
1. supoort preview of input method.
2. support HZ encode input and display (verion 0.9 only for display).
3. utility program "tit2nf" (unix only) convert cxterm Input Table "*.tit"
   to cxterm NewFace Input Table file "*.titnf"
4. utility program "lxds" (unix only) creates, automiticly studies,
   and modifies by hands associative dictionary which is the part of
   cxterm NewFace.
5. utility program "hkeys" (unix only) modifies hot key list which
   is the part of cxterm NewFace Input Table file.

"cctch" can help new users learn Chinese Character input method.
It suppots Both GB and Big5 (ETen and HongKong) standard. GB interal
code, QuWei code and Big5 (ETen and HongKong)
interal code are integrated into "cctch", others CC input method
also are supported by external dictionary file.
The program "it2dic" will help users convert text input
table of Chinese Character into external dictionary format.
The program "wb2cz" will help users encode Chinese Character
Phrase with Wu Bi input method.

There are two work modes and four display modes in "cctch". The first
is mapping a kind of CC input method to another. The second is
supporting wildcode match and display preview of
a CC input method. If you know a kind of CC input method, for example
PinYin, You may use the first mode to learn some new input method,
for example WuBi. If you do not know any CC input method, but you like
to learn, you may use the second mode. "cctch" selects automaticly GB
or ETen Big5 display mode according to its dictionary, but user can
also override to set display mode to HZ or HongKong Big5.

I have included four popular input dictionary  "wubi.dic",
"tonepy.dic" based GB. and "cj.dic", "etzy.dic" based ETen Big5.
For any other input method, if you got its original text input table,
for example "*.tit" files from cxterm packages, you can use
program "it2dic" to convert it to dictionary format.

"cctch" need some Chinese Character enviroment to support CC display,
for example, cxterm in X-window, ZWDOS or KC in PC, etc.

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

1. FILE LIST:
        CCTeach.doc --- this file
        CCTeach10.zip --- Chinese Character Theacher of PC version 1.0
                it2dic.exe --- convert CC input table into dictionary format
                cctch.exe --- CC input method Teacher
                cz2wb.exe --- encode CC phrase with Wu Bi input method
                README --- this file
                wubi.dic --- Wu Bi input method dictionary
                tonepy.dic --- Tone PiYin input method dictionary
                cj.dic --- CJ input table
                etzy.dic --- ETZY input method dictionary
                wubi.it --- Wu Bi input method table
                1000.gb --- test file GB format
                1.cz --- test file of Ci Zu
                1.b5 --- test file of ETen big5
                1.hb5 --- test file of HongKong Big5
        CCTeach1.0.tar.Z --- Wu Bi tools of unix version 1.0
                Makefile
                it2dic.c --- convert CC input table into dictionary format
                cctch.c --- CC input method Teacher
                README --- this file
                wubi.it --- Wu Bi input table
                tonepy.it --- Tone PiYin input table
                cj.it --- CJ input table
                etzy.it --- ETZY input table
                1000.gb --- test file GB format
                1.b5 --- test file of ETen Big5
                1.hb5 --- test file of HongKong Big5
                utils/cz2wb.c --- encode CC phrase with Wu Bi input method
                utils/tit2nf.c --- Input Table converter ("*.tit" ==> "*.titnf")
                utils/lxds.c ---  LX dictionary study
                utils/hkeys.c --- hotkey study
                utils/1.cz --- test file of Ci Zu
                utils/phrase.gb --- chinese phrase
                utils/1.gb --- test file for LX dictionary
                utils/1.in --- test file for LX dictionary with -l option
                utils/1.i --- test file for LX dictionary with -c option
                utils/1.d --- test file for LX dictionary with -c option

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

2. Install:

  For PC user, pkunzip file wbtools10.zip. everything is OK!

  For unix user,
      zcat CCTeach1.0.tar.Z | tar xvf -
      cd CCTeach1.0
      customize the variable BIN.
      make
      make install

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

3. File Format:

   it2cit: receive CC word only. The format is
                [BEGINPREVIEW
                    key CCstring]
                BEGINDICTIONARY
                    key CCstring
           the same as *.tit fo cxterm packages. The comments line
           is the same as cz2wb. The dictionary of it2cit output is
             HEAD[16] ARRAY[MODE][KEY_LEN] ARRAY_A[7693][KEY_LEN]
           for GB MODE is 6768 and no ARRAY_A, for BIG5 MODE is 5401.

   cctch : output format is
                  in_key CC out_key
           if no multi-match, or
                  in_key CC out_key [CC out_key] ...
           If in_key or out_key is internal code, the corresponding key
           will be omitted.

   cz2wb : receive Chinese Character phrase, but ignore signal CC word.
           character '#' or '*' starts comments.

   tit2nf : the difference of "*.tit" and "*.titnf" is
            AUTORELOAD, AUTOSTUDY, FULLCODE, LXDIC, WILDINPUTKEY
                (in DEFINITION PART);
            <keys> <Cstring1> <Cstring2> ...
                (in DICTIONARY PART).

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

4. Usage:

      it2dit -kkey_len [-wsymbol] [-m[g,b,h]] < infile.it > infile.dic
where option -k defines input key length limited in [4,8]; option -w defnes
wildcode (defaults is ?); and -m[g,b,h] g for GB, b for ETen Big5, h for
 HongKong
(defaults is GB). for example,
      it2dic -k4 -wz < wubi.it > wubi.dic
      it2dic -k5 -mb < cj.it > cj.dic

      cctch -i[g,q,b,in.dic] -o[q,g,b,out.dic] [-h] [< infile] [> outfile]
where option -i is for CC input encoding method, its includes four selections:
g for GB internal code, q for Qu Wei code, b for ETen Big 5 internal code, and
in.dic for external dictionary. Option -o is for output encoding method, its
also includes four selections. Option -h is for using HZ instead of GB in GB
mode or for using HongKong Big5 instead of Eten Big5 in Big5 mode.
for example,
      cctch -ig -oq < 1000.gb
      cctch -ig -owubi.dic < 1000.gb > 1000.wb
      cctch -ig -otonepy.py < 1000.py
      cctch -itonepy.dic -owubi.dic
      cctch -iwubi.dic -ow
        ESCz       <== call all preview
        \033a      <== call preview with a character
        ~-Eb       <== call preview with b character
        \005c      <== call preview with c character
      cctch -ib -ocj.dic < 1.b5 > 1.cj
      cctch -ib -oetzy.dic < 1.b5
      cctch -ib -ocj.dic -h < 1.hb5
      cctch -icj.dic -ob < 1.cj
      cctch -icj.dic -ow
      cctch -icj.dic -ow -h

      cz2wb -[c,n] < infile > outfile
where option -c is for cxterm NewFace CiZu; option -n is for NJStar CiZu.
For example,
      cz2wb < 1.cz > 1.tit
in file 1.tit you get 9 lines Wu Bi Ci Zu encode table.

      new2nf < PY.tit > PY.titnf
convert cxterm's Pin Yin input table to cxterm NewFace format

      lxds -m[g,b,h] [-w[0,1,2,3]] [-l,-c] < infile
where option -mg is for GB mode; -mb for ETen big5 mode; -mh for HK big5 mode.
option -w is weight of knowledge studied, default is -w3. -w0 is no any old
knowledge which means create a new LX dictionary. Option -l is for listing
content of LX dictionary. Option -c is for processing input Command.
The command format : ITEM-HanZi ITEM-Hash-Value i NEW-HanZi OLD-HanZi
                     ITEM-HanZi ITEM-Hash-Value d HanZi
for command i, it means inseart NEW-HanZi at previous of OLD-HanZi in
ITEM-HanZi and for command d, it means delete HanZi form ITEM-HanZi, where
ITEM-Hash-Value is gotten from the output of opion -l. For example,
      lxds -mg -w0 < phrase.gb   <== create a new LX dictionary "gblx.dic"
      lxds -mg -w3 < cm9309a.gb  <== update LX dictionary "gblx.dic"
      lxds -mg -w1 < hong-lou.gb <== inseart hong-lou.gb into the head of
                                     corresponding LX item.
      lxds -mg -l < 1.in  <== list the contents of items from the file "1.in"
      lxds -mg -c < 1.i   <== inseart HanZi into "gblx.dic" based on the
                                command in file "1.i"
      lxds -mg -c < 1.d   <== delete HanZi from "gblx.dic" based on the
                                command in file "1.d"

      hkeys -m[g,b,h] -iname.citnf -dname.dic < infile
where option -m is the same as in lxds; option -i set the name of
Input Table of cxterm NewFace; option -d set the name of dictionary.
For example,
      hkeys -mg -iWBPYCZ.citnf -dwubi.dic < 1.gb

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

5. CCTeach is distributed under a GNU COPYING "copyleft" license.

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

6. ACKNOWLEDGE

   "wubi.it" comes from "wubicizu.gb" which is writen by Yu Huang
   ([email-masked]).

   "tonepy.it" comes from "TONEPY.tit" which is part of cxterm package,
   The authors are:
      Yongguang Zhang                   Man-Chi Pong
    ([email-masked])              ([email-masked])

   "cj.it" comes from CJ.tit and "etzy.it" from "ETZY.tit". Both of
   them are the part of "NCTU-CSIE*.tit", which are modified by
   Wei-Chung Hwang ([email-masked]) from cxterm packages.

   "1000.gb" is inputed by XiaoYu Li ([email-masked]).

   Many thanks to them.

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

Enjoy!

---
xiaokun Zhu ([email-masked])