isotty

Isotty is a frontend to the tty character encoding translation in GNU screen
and ttyconv.

Features

Following scripts corresponds to each encoding:

big5tty   - Big5
cp1251tty - CP1251
euccntty  - eucCN
eucjptty  - eucJP
euckrtty  - eucKR
gbktty    - GBK
iso2tty   - ISO8859-2
iso3tty   - ISO8859-3
iso4tty   - ISO8859-4
iso5tty   - ISO8859-5
iso6tty   - ISO8859-6
iso7tty   - ISO8859-7
iso8tty   - ISO8859-8
iso9tty   - ISO8859-9
iso10tty  - ISO8859-10
isotty    - ISO8859-15
jistty    - JIS
koi8rtty  - KOI-8R
sjistty   - Shift-JIS
utf8tty   - UTF-8
oemtty    - CP437

usage

With no options, isotty translates all terminal I/O from the host encoding
(that is, the native encoding in your terminal) to the target encoding (the
desired encoding) and starts a shell.
By giving isotty an option it will not translate I/O but instead perform the
request and exit.
The --detect option can be used to find out why isotty does not translate
I/O correctly. --detect will display either the detected host encoding or the
fallback host encoding it will use.
Further options set the default fallback encoding. If isotty cannot detect
the terminal encoding it will fallback on a specified encoding. By setting
an encoding, isotty will permanently use that encoding until another one is
specified.
If the option does not start with a dash (-), isotty will interpretate the
appending string as a command and it's subsequent arguments and run it with
translated I/O.

Debugging

  -d,  --detect  Print detected encoding and exit

Options to set the host fallback encoding:

Japanese encodings

  -s,  --sjis    SJIS Encoding
       --jis     JIS Encoding

Traditional chinese encodings

  -g,  --gbk     GBK Encoding

Cyrillic encodings

  -r,  --koi8r   KOI8-R Encoding
  -w,  --cp1251  CP1251 Encoding

Latin encodings

  -1,  --iso1    ISO8859-1 Encoding
  -2,  --iso2    ISO8859-2 Encoding
  -3,  --iso3    ISO8859-3 Encoding
  -4,  --iso4    ISO8859-4 Encoding
  -5,  --iso5    ISO8859-5 Encoding
  -6,  --iso6    ISO8859-6 Encoding
  -7,  --iso7    ISO8859-7 Encoding
  -8,  --iso8    ISO8859-8 Encoding
  -9,  --iso9    ISO8859-9 Encoding
  -10, --iso10   ISO8859-10 Encoding
  -15, --iso15   ISO8859-15 Encoding

The following host encodings are auto-detected:
  UTF-8, EUC-CN, EUC-JP, EUC-KR, EUC-TW, Big5, UHC

Installation

isotty needs a korn / posix shell and GNU screen.
Copy the appropiate utility to a location within your path, eg /usr/local/bin/

Note that isotty is distributed as hardlinks - it's the same script :)

Changelog

1.5 - bugfix: now detects 8-bit encoding in putty
feat: uses ttyconv by Alexios Chouchoulas by default, fallback to screen.
ttyconv is simpler than screen: it just translates output.
and perhaps most important: does not affect scrollback history
in the terminal.
Additionally ttyconv brings support for the CP437 encoding,
popular for ms-dos ascii art, commonly found in file_id.diz
or .nfo files the commands 'cp437' and 'oemtty' refer to CP437 encoding.
cleanup: errors cleaned up and are now sent to STDERR.

1.4 - only isotty worked correctly prior to this release
isotty -d can now be used in scripts to detect encoding
1.3 - further locale changes for oddly set up systems.
Detects EUC encodings, Big5, and UHC
Fallback encoding is now set as an option, not as a env variable
1.2 - Fixed some locale regressions.
Fixes for the multibyte sanity checker.
1.1 - Correctly sets ISO8859-1 to encoding if ISO8859-15 is unavailable.
Some additional locale settings fixes.
1.0 - Initial release

Download

1.5 release isotty-1.5.tar.gz
1.4 release isotty-1.4.tar.gz

1.3 release: isotty-1.3.tar.gz
1.2 release: isotty-1.2.tar.gz
1.1 release: isotty-1.1.tar.gz
initial release: isotty-1.0.tar.gz

Distribution terms and Copyleft

This utility is availiable for distribution under the terms of the GNU
General Public License. See LICENSE for details.

Contact information

This script was written by Thomas Eriksson < arno_at_df_lth_se>

Go back...