LinuxなどのTUI(Text User Interface)では、罫線などの文字をDEC Special Graphics(DEC特殊グラフィック)として送出することがあります。
DEC Special Graphicsは、<ESC>(0 という特殊なエスケープシーケンスで定義されており、
0137(0x5f,'_') 〜 0176(0x7e) にアサインされています。
受信コードがISO8859-1など日本語以外の時、G1にDEC Special Graphicsが指示されているので、SO(0x0e)でDEC Special Graphicsを表示することができます。
Tera Termは独自のフォント(ファイル名 "TSPECIAL1.TTF", フォント名 "Tera Special")を使用してDEC Special Graphicsを表示することができます。
Tera Specialの文字幅はすべて1cellです。
DEC Special Graphicsの表示例:
echo -e "_abcdefghijklmnopqrstuvwxyz\x7b\x7c\x7e\r\n\x1b(0_abcdefghijklmnopqrstuvwxyz\x7b\x7c\x7e\x0f\x1b(B" echo -e "_abcdefghijklmnopqrstuvwxyz\x7b\x7c\x7e\r\n\x0e_abcdefghijklmnopqrstuvwxyz\x7b\x7c\x7e\x0f\x1b(B"
使用フォント: Tera Special, Myrica
SO(0x0e,LS1(Locking Shift 1))で、DEC Special Graphicsを表示しない場合は、 ISO2022ShiftFunctionの設定を 変更してください。
次のwebの情報も参照ください。
CJK(日本語)環境ではTera Termは罫線や一部の記号を2カラム幅で表示します。 (文字の幅は設定で変更できます。Additional settings / "Encoding" タブ, Ambiguous Characters widthを参照ください。)
しかし、ホスト側のアプリケーションによってはUTF-8エンコーディング時にはこれらの文字が1カラム幅で表示されると期待した出力を行う物があり、その結果画面出力が崩れる場合があります。
また英語環境では罫線を+-|を使って表示したり、対応していない文字を??と表示したりします。
Tera Termでは、これらの文字でDEC Special Graphicsに近い物がある物は、それを使って表示するようにする事ができ、それによって表示の崩れを軽減する事ができます。
Additional settings / "Encoding" タブ, DEC Special Graphicsで設定できます。
ただし、マウスで選択した時にクリップボードにコピーされる文字が本来とは別の文字になってしまうという副作用があります。
DEC Special GraphicsをUnicodeへ置き換え、VTウィンドウのフォントを使用して表示することもできます。
フォントを選択することで、ユーザーの好みのデザインの文字を表示することができます。
しかし、フォントにグリフに入っていない(SCAN LINE(0x6f...0x73)など)、デザインがおかしい、文字幅が合わないことがあります。
DEC Special Graphic - Unicode convert table code Unicode -----+---------------------------------------------- 0x5f U+00A0 NO-BREAK SPACE 0x60 U+25C6 BLACK DIAMOND 0x61 U+2592 MEDIUM SHADE 0x62 U+2409 SYMBOL FOR HORIZONTAL TABULATION 0x63 U+240C SYMBOL FOR FORM FEED 0x64 U+240D SYMBOL FOR CARRIAGE RETURN 0x65 U+240A SYMBOL FOR LINE FEED 0x66 U+00B0 DEGREE SIGN 0x67 U+00B1 PLUS-MINUS SIGN 0x68 U+2424 SYMBOL FOR NEWLINE 0x69 U+240B SYMBOL FOR VERTICAL TABULATION 0x6a U+2518 BOX DRAWINGS LIGHT UP AND LEFT 0x6b U+2510 BOX DRAWINGS LIGHT DOWN AND LEFT 0x6c U+250C BOX DRAWINGS LIGHT DOWN AND RIGHT 0x6d U+2514 BOX DRAWINGS LIGHT UP AND RIGHT 0x6e U+253C BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL 0x6f U+23BA HORIZONTAL SCAN LINE-1 0x70 U+23BB HORIZONTAL SCAN LINE-3 0x71 U+2500 BOX DRAWINGS LIGHT HORIZONTAL 0x72 U+23BC HORIZONTAL SCAN LINE-7 0x73 U+23BD HORIZONTAL SCAN LINE-9 0x74 U+251C BOX DRAWINGS LIGHT VERTICAL AND RIGHT 0x75 U+2524 BOX DRAWINGS LIGHT VERTICAL AND LEFT 0x76 U+2534 BOX DRAWINGS LIGHT UP AND HORIZONTAL 0x77 U+252C BOX DRAWINGS LIGHT DOWN AND HORIZONTAL 0x78 U+2502 BOX DRAWINGS LIGHT VERTICAL 0x79 U+2264 LESS-THAN OR EQUAL TO 0x7a U+2265 GREATER-THAN OR EQUAL TO 0x7b U+03C0 GREEK SMALL LETTER PI 0x7c U+2260 NOT EQUAL TO 0x7d U+00A3 POUND SIGN 0x7e U+00B7 MIDDLE DOT
次のページも参照ください。