A psuedo tty program which automatically converts among chinese encodings.
yyt [-h|--help]
yyt [-V|--version]
yyt [-f encoding|--from=encoding] [-t encoding|--to=encoding] [command...]
Where [command...] is the command you want to run using yyt. If not given, the default is set to the environment variable SHELL. If SHELL is not set, /bin/sh will be used.
yyt is a psuedo tty program that will translate Chinese encodings automatically on a console. Supported encodings are BIG5/GB2312/HZ/UTF-7/UTF-8/UCS.
yyt is similar to hztty(1) except that yyt will make things automatic all the way.
Yi Yan Tang use Saka's libhz to detect and convert Chinese encodings. libhz is include in autoconvert and can be found at http://www.debian.org/~ygh/.
yyt supports following Chinese encodings for both input and output:
GB2312, BIG5, HZ, UTF-7, UTF-8, UCS
yyt supports following command line options:
This option sets the encoding of the incoming text. The valid values of encoding are specified above.
This option sets the encoding of the local terminal. The valid values of encoding are specified above.
This option prints out the usage of yyt.
Gives the current version of ytt.
NOTE: If the --from encoding is not set, yyt will guess the encoding of the incoming text. You can safely type the command:
% yyt
to start the program. Then you can use the command-mode described below to control how yyt acts.
There are some on the fly commands which can be used to control the behavior of yyt once it is started. User can use these commands to switch encoding, disable auto-encoding-detection or turn off encoding conversion all together.
To active the yyt command mode, press the combination key
ctrl-y
(for switch-on-YYT-command-mode). Then follow a single key command. Once the command is entered, the command mode is switched off.
The possible commands in the command mode are:
For switch incoming encoding to GB2312 encoding.
For switch incoming encoding to BIG5 encoding.
For switch incoming encoding to HZ encoding.
For switch incoming encoding to UCS encoding.
For switch incoming encoding to UTF-7 encoding.
For switch incoming encoding to UTF-8 encoding.
For reset encoding state to the initial mode.
For turn off all the encoding conversions.
For set the incoming encoding to auto-detect mode.
For input a ctrl-y keycode to the terminal so that ctrl-y can still be typed in.
Note: If the incoming encoding is explicitly set either through command line options or on line command, the user input is also converted from the terminal encoding to the incoming encoding.
If set, the incoming encoding will be set to the encoding of LC_CTYPE. LC_CTYPE will be Overridden by the --to command line option.
If set and there are no command line option given for [command...], the SHELL will be executed on the start of the program.
Please see BUGS section.
yyt tries to segment a stream of text into Hanzi parts and English parts. That way, we can have a better guessing on the Chinese encodings for every small part of Chinese. However, Hanzi segmentation does not always work correctly, especially when using curses/slang based programs. Redraw screen (normally ctrl-l) sometime correct it. This problem is expected. Suggestions on better segmentation algrithm are always welcomed.
Turn off auto-detection by specify a fromcode by (ctr-y key ) will give better conversion result.
hashao <[email protected]>
libhz(3), pyhz(7), hztty(1)
yiyantang homepage at http://yiyantang.on.openave.net/
autoconvert homepage at http://www.debian.org/~ygh/