Subject: [ANNOUNCE] cxterm-NewFace (version 0.5) release

From: Xiaokun Zhu <[email-masked]>
Date: Mon, 4 Oct 1993 11:19:35 BST

Hi,

I have uploaded cxterm-NewFace to ifcss.org /software/x-win.

cxterm NewFace is a patch of cxterm (cxterm-11.4.2 and cxterm-11.5.1 pl 2)
so that the patched cxterm have ability to process phrase input, associative
dictionary, wildkey match input, and others. cxterm NewFace supports
both of GB and BIG5 standard. The current version is 0.5 (ALPHA)

Feature of cxterm NewFace:

1. The same interface of word and phrase input.
2. Hotkey inputing, modifying, and saving based your input Chinese
   Characters.
3. Associative Dictionary on the fly.
4. Wildkey matching input (limited only one input character).
5. Dynamic adding and deleting user self-defined phrases.
6. Showing full input encoding.
7. Composite input method including with WuBi CiZu, GB Symbol, and PinYin.
**** The following utility programs be included in CCTeach1.0 package *****
8. offline converting input table of "*.tit" to cxterm NewFace one.
9. offline customizing associative dictionary.
10. offline customizing hotkey list.

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

1. FILE LIST:
        README-NewFace --- This file.
        tit2cit.c --- Converter (modified for cxterm NewFace).
        cit2tit.c --- Converter (modified for cxterm NewFace).
        R4/lxcz.c --- Associative dictionary, Phrases, and others stuff sources.
        R4/hzinput.c --- New HZ input C source.
        R4/hzinput.h --- New HZ input INCLUDE file.
        R5/Lxcz.c --- Associative dictionary, Phrases, and others stuff sources.
        R5/HZinMthd.c --- New HZ input C source.
        R5/HZinput.h --- New HZ input INCLUDE file.
        R5/HZinArea.c --- Modified HZ displaying function for cxterm NewFace.
        gbdict/py.titnf --- Pin Yin (include GB symbol) input table.
        gbdict/wbcz.titnf --- WuBi CiZu (include GB symbol) input table.
        gbdict/wbpycz.titnf --- WuBi CiZu, PinYin, GB symbol input table.
        gbdict/usercz.titnf --- User self-defined CiZu input table.
        gbdict/hywubi.titnf --- HuangYi WuBi input table.
        gbdict/hycizy.titnf --- HuangYi CiZu input table.
        gbdict/esym.titnf --- GB symbol (QU 01,02,03,09) input table.
        gbdict/epy.titnf --- compress Pin Yin input table.
        gbdict/gblx.dic --- GB associative Dictionary
        b5dict/etzy.titnf --- ETen ZY input table.
        b5dict/cj.titnf --- ETen CJ input table.
        b5dict/usercz-b5.titnf --- Big5 User self-defined CiZu input table.
        b5dict/big5lx.dic --- Big5 associative dictionary.

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

2. Install:

   Get cxterm-11.4.2.tar.Z or cxterm-11.5.1.tar.Z based your X window.
   Get cxterm-nf0.5.tar.Z packages from ftp site.
   Compile original cxterm and install it.
   % zcat cxterm-nf0.5.tar.Z | tar xvf -
   % cd cxterm-nf
   Customizing BIN variable of file "Makefile"
   % make
   % make install
   % cp R4/*  ~/cxterm            # if your X window is R4 (SUN's openwin 3)
   % cd ~/cxterm
   % chmod u+w Makefile
   Modifying Makefile and adding lxcz.c in SRCS1 and lxcz.o in OBJS1
   % make
   % cp cxterm YOUR_BIN_SUBDIRECTORY

   OR

   % cp R5/*  ~/cxterm/cxterm     # if your X window is R5
   % cd ~/cxterm/cxterm
   % chmod u+w Makefile
   Modifying Makefile and adding Lxcz.c in SRCS1 and Lxcz.o in OBJS1
   % make
   % cp cxterm YOUR_BIN_SUBDIRECTORY

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

3. File Format

   There are six COMMANDS in *.titnf.
        AUTOSTUDY, specify the hotkey list and default is NO.
        LXDIC,     specify the associative dictionary and default is NO.
        AUTORELOAD, specify the .citnf file be loaded each time when it be
          called and default is NO. When it is set YES the AUTOSTUDY will be
          set NO automaticly.
        FULLCODE, show the full code for the current input HanZi and default
          is NO.
        WILDINPUTKEY, specify the wild input match key and default is NO key.
   The dictionary definition part is
        <keys> <Cstring1>  <Cstring2> ...

   The following is the part of .Xdefaults for defining the Input method,

cxterm*VT100.Translations:      #override               \n\
 ~Shift <KeyPress> F1:  switch-HZ-mode(ASCII)           \n\
        <KeyPress> F2:  switch-HZ-mode(IC)              \n\
 ~Shift <KeyPress> F3:  switch-HZ-mode(WBPYCZ)          \n\
  Shift <KeyPress> F3:  switch-HZ-mode(PY-b5)           \n\
 ~Shift <KeyPress> F4:  switch-HZ-mode(PY)              \n\
  Shift <KeyPress> F4:  switch-HZ-mode(ETZY)            \n\
 ~Shift <KeyPress> F5:  switch-HZ-mode(QJ)              \n\
  Shift <KeyPress> F5:  switch-HZ-mode(CJ-b5)           \n\
 ~Shift <KeyPress> F6:  switch-HZ-mode(UserCZ)          \n\
  Shift <KeyPress> F6:  switch-HZ-mode(UserCZ-b5)       \n\
  Shift <KeyPress> F7:  switch-HZ-mode(ZOZY)            \n\
 ~Shift <KeyPress> F8:  switch-HZ-mode(QW)              \n\
        <KeyPress> F9:  switch-HZ-mode(ASCII)

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

4. Usage:

   % cxterm
     Run cxterm NewFace. Press F3 to call WuBi PinYin CiZu input method and
     Press F6 to call User definition CiZu input method. All other commands
     are the same as original cxterm.

   About  WuBi PinYin CiZu (WBPYCZ) input method, it include full WuBi input
   method, five thousand CiZu, GB Qu 01, 02, 03, 09 HanZi symbol, and full
   PinYin input method. For HanZi symbol, the encoding format is :
        Prefix key: /
        KEYS qwertyuikop <==> KEYS 1234567890
        KEY vc <==> GB Qu 09
        KEY s <==> GB punch symbol
        Group with similar symbols:
          KEY ! <==> KEY |
          KEY ^ <==> KEYS < >
          KEY * <==> KEYS -+
          KEY ( <==> KEY [
          KEY ) <==> KEY ]
        Group with the nearest character in the same row:
          KEY x <==> KEY space
          KEY x <==> KEY z|
          KEY b <==> KEY <
          KEY n <==> KEY >
          KEY m <==> KEY ?
          KEY j <==> KEY ;
          KEY k <==> KEY '
          KEY l <==> KEY ~
          KEY o <==> KEY [
          KEY p <==> KEY ]
          KEY 9 <==> KEY -
          KEY 0 <==> KEY +
        (Notice: each KEY include all character belong to the KEY,
         for example, KEY 1 means '1' and '!' )
   For PinYin input method, the first character must be Capitalized and
   Capital 'A' 'E' 'I' 'O' 'U' are replaced by 'W'. For example,
        /q  <== input HanZi symbol 'q' 'Q' '1' '!' '|' '\' , etc
        W   <== input with PinYin
        ab  <== input with WuBi

   When you input one HanZi in full code or short code, the program will
   register it into hotkey list (one and two keys list) if the current .citnf's
   AUTOSTUDY is YES. Next time you can only press one or two keys then
   select it from selection frame. For example, in the first time, you
   input "ahtb" to get ~{P0~}, the program register the HanZi into hotkey
   list <a> and <ah>; then next time you can press "a" or "ah", both of the
   way can get ~{P0~}.

   After you success to input a HanZi, the program automaticly call
   associative dictionary if the current .citnf's LXDIC is YES. You can select
   one from sixteen associative HanZi if there is one you expected or
   press new keys if there is no one you expected. Each time when you input
   a new HanZi, the program will also update the associative dictionary
   based the last HanZi and the current one, we known the ability as on
   the fly or dynamic.

   You can customize the hotkey list and associative dictionary with program
   "hkeys" and "lxds" which are included in CCTeach1.0 package. Note that
   cxterm NewFace will update and save the hotkey list into .citnf file
   after you input each 64 HanZi.

   If you know only part of WuBi code of a HanZi, you can use the Wildkey
   input. For example, if we need input  ~{P0~} and we only know the WuBi
   code as "a?t?", we can input "azt" then use key '>' to select HanZi ~{P0~}
   (Notice: we only use one character 'z' in each inputing, this is limited
    in this version, if you need any 'z' composite, please use CCTeach1.0)

   About User self-defined CiZu input method, it support original Punct.tit
   (include QJ.tit) and user self-defined dynamicly CiZu. The AUTORELOAD is
   YES in UserCZ.titnf. For example, if you need add "test ~{HKCqU=3!~}",
   you can do it like the following:
        % cd $HZINPUTDIT
        % celvis usercz.titnf  <== use editor to add new CiZu
        G                      <== Go to last row
        o                      <== open a new row
        test    ~{HKCqU=3!~}   <== input new item
        ESC                    <== end insert
        ZZ                     <== save and exit
        % tit2cit usercz.titnf > 1.citnf
        % mv 1.citnf UserCZ.citnf
        Now you can press F6 to call User CiZu method again, and input
        "test" to see what happen. With the similar procedure you can
        delete a CiZu.

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

5. cxterm NewFace (patch of cxterm) is distributed under a GNU COPYING
   "copyleft" license.

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

6. ACKNOWLEDGE

   "hzinput.c", "hzinput.h", "HZinArea.c", "HZinMthd.c", "HZinput.h",
   "py.titnf", "usercz.titnf", "epy.titnf" come from cxterm-11.4.2.tar.Z
   and cxterm-11.5.1 patch 2. The authors are :
      Yongguang Zhang                   Man-Chi Pong
    ([email-masked])              ([email-masked])

   "cj.titnf", "etzy.titnf", "usercz.titnf" come from "NCTU-CSIE*.tit" which
   modified by Wei-Chung Hwang ([email-masked]) from cxterm packages.

  "hywubi.titnf", "hycizu.titnf" come from [email-masked]

   Many thanks to them.

===============================================================================

Enjoy!

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