KTERM(1)

NAME
kterm - multi-lingual terminal emulator for X

SYNOPSIS
kterm [-toolkitoption ...] [-xtermoption ...] [-option ...]

DESCRIPTION
Kterm is a multi-lingual terminal emulator based on xterm(1). The major differences of kterm from xterm is that it can handle multi-lingual text encoded in ISO2022, can display colored text, and has the statusline function. To input multi-lingual text, both X Input Method (XIM) protocol and kinput2 protocol can be used. See the sections USING XIM and USING KINPUT2 for the details.

OPTIONS
Kterm accepts all of the xterm(1) command line options as well as the following additional options:

-dfl
    This option indicates that kterm should load fonts dynamically (on demand). It may freeze kterm and X server in a moment when a large font is loaded.

+dfl
    This option indicates that kterm should load fonts in advance.

-fl fontlist
    This option specifies fonts to be used. fontlist is a comma separated list of XLFDs with arbitrary wild-cards. kterm chooses fonts containing necessary character sets in the list. This release may use the following character sets:
    "iso8859-1",
    "iso8859-2",
    "iso8859-3",
    "iso8859-4",
    "iso8859-5",
    "iso8859-6",
    "iso8859-7",
    "iso8859-8",
    "iso8859-9",
    "jisx0201.1976-0",
    "jisx0208.1990-0" or "jisx0208.1983-0",
    "jisx0212.1990-0",
    "gb2312.1980-0",
    "ksc5601.1987-0", and
    "jisc6226.1978-0" or "jisx0208.1983-0".

-fn iso8859/1-font
    This option specifies a normal (non-bold) ISO8859/1 font to be used when displaying Latin-1 (including ASCII) text. If it is not specified, fontlist is used.

-fr roman-kana-font
    This option specifies a normal JISX0201 font. This font must have same height and width as the ISO8859/1 font. If it is not specified, fontlist is used.

-fk kanji-font
    This option specifies a normal JISX0208 font to be used when displaying Kanji text. This font must have same height and twice width as the ISO8859/1 font. If it is not specified, fontlist is used.

-flb bold-fontlist

-fb bold-font

-frb roman-kana-bold-font

-fkb kanji-bold-font
    These options specify bold fonts.

-lsp dots
    This option specifies how much space to be inserted between lines.

-ka This option indicates that kterm should make connection to the X server with KEEPALIVE socket option. It is useful when the server is a X terminal that is frequently powered off.

+ka This option indicates that kterm should make connection to the X server without KEEPALIVE socket option.

-km kanji-mode
    This option specifies the Kanji code from/to the pty. If kanji-mode is ``euc'', then it assumes the input/output is coded by Japanese EUC. If kanji-mode is ``sjis'', then it assumes the input/output is coded by Shift-JIS code (which is the same as Microsoft Kanji code).

-sn By default, the status line is in reverse-video (relative to the rest of the window). This option causes the status line to be in normal video (the status line is still enclosed in a box).

+sn This option causes the status line to be in reverse video.

-st This option causes the status line to be displayed on startup.

+st This option causes the status line not to be displayed on startup.

-version
    Just displays the kterm version and exit.

-xim
    This option indicates that kterm should (try to) open IM on startup. If no appropriate IM server is running, kterm does not wait, but connects after a server is available.

+xim
    This option indicates that kterm should not open IM on startup.

RESOURCES
The program uses all of the xterm resources as well as the following vt100 widget specific resources:

dynamicFontLoad (class DynamicFontLoad)
    Specifies whether or not kterm should load fonts dynamically The default is ``true.''

fontList (class FontList)
    Specifies the name of the fonts. The default is ``-*-fixed-medium-r-normal--14-*, -*-gothic-medium-r-normal--14-*, -*-mincho-medium-r-normal--14-*.''

boldFontList (class FontList)
    Specifies the name of the bold fonts. The default is not specified

font (class Font)
    Specifies the name of the Latin-1 font. The default is not specified.

boldFont (class Font)
    Specifies the name of the bold Latin-1 font. The default is not specified.

romanKanaFont (class RomanKanaFont)
    Specifies the name of the Roman-Kana font. The default is not specified.

romanKanaBoldFont (class RomanKanaFont)
    Specifies the name of the bold font. The default is not specified.

kanjiFont (class KanjiFont)
    Specifies the name of the Kanji font. The default is not specified.

kanjiBoldFont (class KanjiFont)
    Specifies the name of the bold font. The default is not specified.

kanjiMode (class KanjiMode)
    Specifies the Kanji code of pty. The default is ``jis.''

lineSpace (class LineSpace)
    Specifies the space to insert between lines. The default is ``0.''

keepAlive (class KeepAlive)
    Specifies whether or not kterm should make connection to the X server with KEEPALIVE socket option. The default is ``false.''

statusLine (class StatusLine)
    Causes the status line to be displayed on startup. The default is ``false.''

statusNormal (class StatusNormal)
    Specifies whether or not the status line should be in normal video. The default is ``false.''

forwardKeyEvent (class ForwardKeyEvent)
    Specifies whether or not key events should be forwarded to the conversion server. If false, the server cannot receive key events if the keyboard focus is set to kterm window but the pointer is on other windows. It may, however, improve response time of the conversion server on a slow network. The default is ``true.''

openIm (class OpenIm)
    Specifies whether or not kterm should (try to) open IM on startup. The default is ``false.''

eucJPLocale (class EucJPLocale)
    Specifies the locale of the input method in the form of a comma separated list. The default is ``ja_JP.eucJP,ja_JP.ujis,ja_JP.EUC,japanese.euc, Japanese-EUC,ja,japan.'' See the section USING XIM for the details.

inputMethod (class InputMethod)
    Specifies the input method modifier for the current locale. The default is not specified. (That means using the XMODIFIERS environment variable.)

preeditType (class PreeditType)
    Specifies the input styles using XIM protocol in the form of a comma separated list. Currently, ``OverTheSpot'' and ``Root'' are supported. The default is ``OverTheSpot,Root.''

ACTIONS
The following additional actions are provided for using within the vt100 translations resources:

open-im([input-method])
    This action (tries to) open IM for the specified input method modifier. If input-method is omitted, the last modifier remains unchanged. If input-method is the key-word XMODIFIERS, the XMODIFIERS environment variable is used.

close-im()
    This action closes IM.

begin-conversion(conversion-atom)
    This action begins conversion to input text using kinput2 protocol. conversion-atom for Japanese conversion is ``_JAPANESE_CONVERSION.''

TERMCAP
Termcap(5) entries that work with kterm include ``kterm,'' ``xterm,'' ``vt102,'' ``vt100'' and ``ansi.''

USING XIM
Kterm first sets its international environment (locale) using the vt100 resource "eucJPLocale" (ignoring the LANG environment variable), because it uses Japanese EUC encoding for the internal input code. If your system does not support any default locale names, specify an appropriate one in the app-defaults file. Kterm, then, sets the locale modifiers according to the resource "inputMethod" or the XMODIFIERS environment variable.

When kterm is started with the "-xim" option or the "Open Input Method" entry in the vtMenu is selected, it just registers a callback for notification of instantiation of IM servers. If an appropriate IM server is running or becomes available, kterm connects with the server. Start of conversion depends on the configuration of the IM server.

If kterm is connecting with a kinput2 protocol server, any IM can not be opened.

For further information (how to input/convert/correct text, etc.), see the conversion server's document (kinput2(1)).

Non-Japanese Languages
To input non-Japanese text, set the vt100 resource "eucJPLocale" to your favorite locale name, and set Kanji mode to Japanese EUC (using the "-km euc" option, "*vt100.kanjiMode: euc" resource, or the "Japanese EUC Mode" entry in the vtMenu). This should work for any locale because every character input from the IM is passed to the pty without any modification in Japanese EUC Mode. Note that this mechanism will be changed in the future.

CAUTION
Kterm may be hanged when the connecting IM server dies on some specific timing. Do not kill IM servers on a kterm which is connected with the server, and IM servers which is establishing connection with any kterm. If you want to kill an IM server, make sure that no kterm is connected with the server.

NOTICE
Kterm can not communicate with servers using XIMP protocol based on X11R5.

USING KINPUT2
By default, pressing control-Kanji key starts conversion for Japanese text using kinput2 protocol. The conversion server, such as kinput2(1), must be started by the time, otherwise you will see warning message `Conversion Server not found'. For other languages, if any server is available, you can bind a key to start conversion by changing the translation table.

If an IM is (being) open, conversion using kinput2 protocol can not be started.

For further information (how to input/convert/correct text, etc.), see the conversion server's document (kinput2(1)).

SEE ALSO
xterm(1), resize(1), X(1), kinput2(1), pty(4), tty(4)
``Xterm Control Sequences''

BUGS
Kterm assumes, like xterm, that all single byte characters have the same widths, and further, assumes that the widths of multi(two)-byte characters are as twice as that of ASCII characters.

This version of kterm uses ``ESC $ B'' to designate the Kanji character set to input Kanji text in JIS mode.

AUTHORS
Far too many people, including:

Katsuya Sano (Toshiba Corp.), Michael Irie (Sony Corp.), Akira Kato (Univ. of Tokyo), Michiharu Ariza (SRA Inc.), Makoto Ishisone (SRA Inc.), Hiroto Kagotani (Okayama Univ.), Susumu Mukawa (NTT Corp.).