README
上传用户:minyiyu
上传日期:2018-12-24
资源大小:864k
文件大小:5k
源码类别:

Telnet服务器

开发平台:

Unix_Linux

  1. /*
  2.  * hztty -- version 1.1
  3.  *
  4.  * This program creates a pseudo terminal on top of cxterm that
  5.  * facilitates you to read/write Chinese characters in different
  6.  * encoding or different representation, such as the zW/HZ standard.
  7.  * It turns the current cxterm session into the "new encoding aware"
  8.  * cxterm and creates a new shell session for you.  
  9.  *
  10.  * This program must be run on top of cxterm.  (It's possible to run
  11.  * in a terminal that supports Chinese, like kermit on CCDOS, ET, KC,
  12.  * or Chinese Windows, etc.) 
  13.  *
  14.  * The conversion is implemented in a configurable I/O stream style.
  15.  * Conversion modules are specified in command line options "-O" (for
  16.  * output) and "-I" (for input).  In each direction, conversion modules
  17.  * can be piped one to one using connection character ':'.  For example,
  18.  * specifying "hz2gb:gb2big" in output stream translate the cxterm screen
  19.  * output from zW/HZ to GB, then from GB to Big5.  
  20.  * 
  21.  * Yongguang ZHANG  (ygz@cs.purdue.edu)
  22.  * Purdue University August 4, 1992
  23.  */
  24. WHAT IS IT
  25. ----------
  26. It shows zW/HZ directly on cxterm, saving your effort to read
  27. HZ off-line.  It provides zW/HZ input by the powerful cxterm
  28. input functions.
  29. It can also show GB or zW/HZ codes directory on Big5 cxterm,
  30. or on a terminal emulator in ETen DOS.  It can also show Big5
  31. codes on GB cxterm.  Hence, you don't need to do hcu or b2g
  32. just to read it.
  33. HOW TO MAKE
  34. -----------
  35. Type "make".  Follow what it tells you.
  36. HOW TO RUN
  37. ----------
  38. In the cxterm, type "hztty".
  39. To exit it, exit the new shell that it invoked for you.
  40. "hztty" can also be used for these purposes:
  41.  -- To use GB on a Big5 cxterm:  (Big5)
  42. hztty -I big2gb -O gb2big
  43.  -- To use GB on a terminal session (e.g. kermit) on ETen DOS:
  44. hztty -I big2gb -O gb2big
  45.  -- To use zW/HZ or GB on a Big5 cxterm:
  46. hztty -I big2gb:gb2hz -O hz2gb:gb2big
  47.  -- To use zW/HZ or GB on a terminal session on ETen DOS:
  48. hztty -I big2gb:gb2hz -O hz2gb:gb2big
  49. All combination are possible, check hztty.1 for details.
  50. NOTICES
  51. -------
  52. For zW/HZ session, this is _NOT_ a coding-to-coding decoder
  53. or encoder.  It is your responsibility to conform the HZ
  54. specification.  This program does not enforce any standard.
  55. Put all Chinese characters and only Chinese characters
  56. inside ~{  ~} pairs.  Read the HZ.spec carefully.
  57. In zW/HZ session, since all the code in zW/HZ encoding are 7-bit,
  58. "celvis" or "cless" are no long meaningful.  You can simply use
  59. "vi" or "more".
  60. Since it's basically a screen viewer, it is impossible to check
  61. the HZ code for you.  If you put the wrong thing inside ~{  ~}
  62. pair, you will mess up the line when other people reads it. Go
  63. double-check it (by redrawing the screen) before posting or mailing.
  64. Also, don't make your cxterm narrower than 80 columns.
  65. This is a preliminary release and it is far from satisfaction.
  66. There are a few notable problems:
  67. 1.  Sometimes it fails to show a HZ even it is in the HZ mode,
  68.     especially when you are doing editing (e.g. in "vi").
  69.     In this case you need to redraw the screen (e.g. by 'Ctrl-L')
  70.     from time to time.  This's a big bug.
  71. 2.  If your cxterm is not 80x24 at the time your run hztty,
  72.     you may have to type "resize".
  73. PORTABILITY
  74. -----------
  75. I have strived to make it work for you.  However I simply
  76. don't have many types of computers to test it.  I expect to
  77. see some problems in other kind of machines.  If any of these
  78. comes out, please let me know.  Or, if you have fixed it,
  79. I appreciate that you can tell me.
  80. CONTRIBUTORS & TERMS
  81. --------------------
  82. For an incomplete list of the contributors, see the man page (hztty.1).
  83. Permission to use, copy, modify, and redistribute is hereby granted.
  84. The author(s) disclaims all warranties with regarding to this software.
  85. TODO
  86. ----
  87. Lots of them.  Just don't have time.
  88. To fix all the problems listed above.  They requires the program
  89. to keep a copy of the screen and parse for every output characters.
  90. (That is, to implement vt102, what a pain!)
  91. To add escape keys -- 1) to turn the conversion on/off, 2) to stop
  92. and escape back to the parent shell.
  93. Dynamically drop and add conversion modules.
  94. The following BIG jobs can be done after implementing
  95. a vt102 in hztty:
  96. 1)  Add conversion modules to facilitate Chinese input.
  97.     For example, we can write an input module that captures each
  98.     hanzi you just typed and prompts a list of associated words.
  99.     Phrase input or associative input can be implemented this way.
  100.     Hope someone can try this.  Good for a term project.
  101. 2)  With the input/output stream structure, you can easily add
  102.     real crazy stuffs.  For example, you can add a module that
  103.     turns everything into upper case, or, a module that does
  104.     rot-13 on every characters your type.