.罫線など特殊文字入力
省略値では Alt+1,...あるいは Ctrl+10キーに罫線文字が割り当てられています
(1)章
縦書/横書キー(Alt+BS)でカーソルの移動方向を変えれば
縦線を引く時に便利です.
コードポイントのどれに罫線文字を割り当てるかはコードページによります。
当初のIBM PC 標準はCP437(DOS LatinUS)で,0xb3などに割り当てられています。
日本では半角カタカナを割り当てる必要から日本語DOSでは0x01などに異なる
フォントの罫線文字が割り当てられています。
MS-WindowsからIOS-8859-1のsupersetのCP1252(WinLatin1)となり欧州言語に
追い出され罫線文字はなくなりました。
但しOEMコードページとして罫線表示が可能なようです。
xeでは日本語環境ではShif-JIS, それ以外ではCP437によっています。
#if defined(LNX) && !defined(XXE) //Linux Console version
Linux コンソール版ではコードポイントをそのまま送っても罫線は描画されません。
ACS呼び出しが必要なので罫線表示か欧州言語文字を表示するかは選択が必要です。
OPT LINECH [on|off]
on の時日本語DOSまたはCP437のいくつかのコードポイントが罫線描画に利用されます。
ISO8859-1など >0xa0 を使う欧州言語の場合は off にしてください。
#endif
ワークディレクトリーに専用のiniファイルを置き罫線用キーの割当て文字を変更可能。
決まり文句の入力、IMEの入力が面倒なよく使う特殊文字などの入力に便利です。
ファイル名は xelch__.ini[.locale] の形式。
__ : win,gcc,wxe,lnx,gtk の版の識別。
locale:Linux版のみが対象で ja_JP などの言語識別。
Linuxのlocaleは locale コマンドで確認。
ファイル名は=0.2画面の最後の行に表示してある。
OPT LINECH コマンドで別のファイルを読み込んで一時的に設定を変更することも可能
ファイルの中は、1キー1行で以下のように指定する。
先頭が "#" はコメント行
先頭が "//" の行があると以降の行は処理しない
n=xxxx[,yyyy]
n: 1,2...9,h,v 例えば "1" は Alt+"1", "h"は Alt+"-", "v"は Alt+^への割り当てを示す
OPT LINECH コマンドで設定を解除するには "1="のように
以下のxxx,yyyを指定しない行を置けばよい。
行コメントは "//" の後に指定する
xxxx,yyyy:Alt+nキーで書き出す文字列を指定する
各々100バイトまでの文字列を設定可能。
文字列をHex数字で指定する時は先頭に0xをつけるに。
スペースなどの分離文字を含む時は引用符で囲む。
xxxxとyyyyと両方指定するとShiftキーなしのとき
xxxxが、ShiftキーONときyyyyが書き出される。
例えば Alt+1でxxxx,Alt+Shft+1でyyyy。
Hex指定は 0xxx1[xxx2... ]の形式
ユニコードの指定は u-xxx1[,xxxx2,...] の形式
文字列の場合はロケールコードで指定してください(lchファイルはCPLC)
#if defined(LNX)|| !defined(XXE))
但しLinux コンソール版ではシフトキーではなく
OPT LINECH が onのとき xxxx, off のとき yyyyが使用されます。
#endif
UTF8ファイルへの入力用に省略値としてAlt+Shift+nでUTF8コードを出力するように以下の設定をしてあります
╚ ╩ ╝ ╠ ╬ ╣ ╔ ╦ ╗ ═ ║
ユニコードではそれぞれ 255a,2569,255d,2560,256c,2563,2554,2566,2557,2550,2551
日本語環境ではCPLCファイル入力用に以下を省略値で設定しています
Linux 版はEUCJPで
0xa8b1 ┗ //1 :LLC low,left ,corner
0xa8b5 ┻ //2 :LHS low,horz ,stopper
0xa8b0 ┛ //3 :LRC low,right,corner
0xa8b2 ┣ //4 :LVS low,vert ,stopper
0xa8b6 ╋ //5 :CX center
0xa8b4 ┫ //6 :RVS rig,vert ,stopper
0xa8ae ┏ //7 :ULC up ,left ,corner
0xa8b3 ┳ //8 :UHS up ,horz ,stopper
0xa8af ┓ //9 :URC up ,right,corner
0xa8ac ━ //10:HL horz ,line
0xa8ad ┃ //11:VL vert ,line
Windows 版はSJISで
0x84af ┗ //1 :LLC low,left ,corner
0x84b3 ┻ //2 :LHS low,horz ,stopper
0x84ae ┛ //3 :LRC low,right,corner
0x84b0 ┣ //4 :LVS low,vert ,stopper
0x84b4 ╋ //5 :CX center
0x84b2 ┫ //6 :RVS rig,vert ,stopper
0x84ac ┏ //7 :ULC up ,left ,corner
0x84b1 ┳ //8 :UHS up ,horz ,stopper
0x84ad ┓ //9 :URC up ,right,corner
0x84aa ━ //10:HL horz ,line
0x84ab ┃ //11:VL vert ,line
wxeではLigatureモードON/OFFで見え方が異なるようです
xeではConhost(旧コマンドプロンプト)とTerminal(新コマンドプロンプト)でSJIS罫線の表示が異なるようです
Windows11ではCtrl+Shift+Pad-n は Numlockをオフにしないと Shift+ が検知できないようです
ファイルの設定例。
1=0xa8b1
2=0xa8b5
3=0xa8b0
4=0xa8b2
5=0xa8b6
6=0xa8b4
7=0xa8ae
8=0xa8b3
9=0xa4af
h=0xa8ac
v=0xa8ad
//jpn euc dbcs
2=u-102222,47; u2550 //input ucs4, A+2:u102222+u47, S+A+2: u2550
1="こんにちは よろしくお願いします","毎度〜"
1=84af 2=84b3 3=84ae 4=84b0 5=84b4 6=84b2 7=84ac 8=84b1 9=84ad h=84aa v=84ab (jpn sjis dbcs)
1=c0 2=c1 3=d9 4=c3 5=c5 6=b4 7=da 8=c2 9=bf h=c4 v=b3 (cp437)
1=03 2=15 3=04 4=19 5=10 6=17 7=01 8=16 9=02 h=06 v=05 (jpn DOS)
1=e29494 2=e294b4 3=e29498 4=e2949c 5=e294bc 6=e294a4 7=e2948c 8=e294ac 9=e29490 h=e29480 v=e29482 (utf)
1=u-2514 h=u-2500 v=u-2502
1=u-2514 h=u-2500 v=u-2502
1=0x8b618b62,0x8b638b64
1=u-87fb,8abc,u-3041,3042,3043 //
*** 2022/12/04