isotty
Isotty is a frontend to the tty character encoding translation in GNU
screen
and ttyconv.
Features
- no runtime options, just enter the command and its arguments
after isotty
- sets locale environment to the emulated encoding.
- locale sanity check, works even if the host locale is
misconfigured.
- one script per encoding
- Does not open a new window inside a running screen.
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 < >
Go back...