************************************************************************
(6).INI ファイル
************************************************************************
   - 省略値のひな型は INI コマンドで再出力できます.
     "#" はコメントの開始です,行削除の代わりに使って下さい,

   - [FUNCTION] セクション
      .指定例

       (機能名)              (キー名)    (コマンド名)  (コマンド別名)
        Swap              =   F9        = SWA        =  W

      .機能に機能キー/コマンド名を重複のないように割り当てます.
       但し罫線文字は日/英モードで異なりますので同じキーを割り当ても
       構いません.
       また使用する画面のタイプに重複のない場合は 2 機能までは 1 キーに
       重複割り当てできます.
       例えば F10 は 編集画面では右シフト、DirList画面ではコマンド複写の
       機能が割り当てられています。
      .使用できるキーと指定方法は INI ファイルの中を参照して下さい.
       Shift+Esc など OS/2,Windows が インターセプトしてしまうキーもある
       のでそれらとの重複に注意して下さい.
      .Alt+文字キーで文字キーが (-) (:)などを使う時はキーボードの型の
       相違に注意して下さい
      .機能への割当て文を,単に行全体をコメント化するだけでは省略値の
       割当が残ります, "=" の後に # を挿入して割当なしを明示指定して
       下さい.重複エラーが出た場合は省略値との重複もチェックしてください
       (*) の付いたキーは固定使用していますので変更出来ません
       またコマンドオペランドを必要とする機能は原則コマンド名設定のみで
       キーは割り当てできません.

   - [OTHER] セクション
       以下の各種のオプションを設定します,幾つかは exe パラメータで
       オーバーライドできます.(exe パラメータは "xe  /?" で表示されます)
       形式は    キーワード = 値.
       あるいは  キーワード = 桁数=CID=タイプ.  (CIDリストの場合)
       下記では値に省略値を記入してありますが INIコマンドによるの出力
       のINIファイルではコメントID(#)の後に省略値が括弧内に出力されて
       います.

       .Command_Stack      =20
          リトリーブコマンド用のコマンドスタックの深さ

       .Init_Heap_Block    =5
          初期化時にアロケートするメモリーサイズを64KBのブロック数で指定
          する(DEBUG用,0でもよい) (OS/2版のみ有効)

       .Confirm_CANCEL     =1
          更新ファイルを CANCEL する時,確認を取る(1)か否(0)か.

       .Confirm_SAVE       =1
          既存ファイルを SAVE で置換する時,確認を取る(1)か否(0)か.

       .Confirm_UNDO       =1
          UNDO する時,確認を取る(1)か否(0)か.

       .Dump_When_Err      =1
          内部エラー検知の時 DEBUG 用ダンプを取る(1)か否(0)か
          (OS/2版,WIN版ではABENDさせる)

#ifdef UNX
#else
       .R-Ctl_ENTER        =0
          右 Ctrl キーを実行キーとして使用する(1)か否(0)か,
          実行キーとするとき [FUNCTION]で特に割当てないとEnterキーは
          改行のみの機能となります.
          (左 Ctrl キーは単独の割り当てはできません)
#endif

       .InsertLine_Indent  =1
          行挿入の時カーソルを前の行の最初の文字の下に位置づける(1)か
          否(0)か

       .Change_ID_Type_C   =68="//"= C,H,CPP,HPP
        Change_ID_Type_ASM =68=";;"= ASM
        Change_ID_Type_DOC =71="||"= DOC,ME
        Change_ID_Type_4 --->Change_ID_Type_9
          変更タグ(CID)を設定する桁位置, 2 バイト前置文字, 拡張子"の
          リスト.2 バイトまでの後置文字を指定できますがそのときは
          前置文字の位置に"//,??"のように前置文字と後置文字を","で
          連結して指定します.
          Change_ID_Type_4 から Change_ID_Type_9 を使用する時も左辺の
          キ−ワ−ドは変更してはいけない
          桁位置=0 の行は無視されます

       .Fixed_CID_prefix   ="CID:"
          固定形式の変更タグ(CID)を使用する場合の指定形式(最大 15バイト)
          ここに指定した文字列がファイルの1行目にある時この文字列の
          後に続く文字列がこのファイルの固定形式の変更タグとなる.
          (")は囲み文字なのでスペースなどを含める場合にのみ必要です
          (0)-(E)"CID (Change ID:変更タグ)."を参照

       .Initial_Ins_Mode   =0
          立ち上げ時のモード, 1:INS(挿入) 0:REP(置換)

       .Box_Ins_Cursor     =1
          箱型(半角文字の下半分)カーソルを挿入モードに使う(1)か
          置換モードに使う(0)か

#ifdef UNX
#else
       .EOF(^Z)_Write      =3
          ファイル保存出力の時 0x1A をEOF文字として書くか否か
          0:書かない
          1:必ず書く
          2:入力ファイルと同じにする(新規ファイルにも書く)
          3:入力ファイルと同じにする(新規ファイルには書かない)
          (注)ファイルの部分編集で終端行指定ありのときはその行以降は
              単純コピーなので 0/1 指定の場合でも入力ファイルと同じに
              なります
#endif

       .ASCII_only         =0
          Ctl+文字キーに機能の割り当てをしなかった場合で,発生する制御
          文字コード(0x00-0x1f)を文字としてを受付ける(0)か否か(1).

       .Beep               =1
          Beepがうるさい時は 0 を指定する

#ifdef UTF8SUPP
       .UnicodeTbl        =filename
          コードポイントの印刷可非/DBCSの定義を変更したい時に使用するファイル名を与える。
          ファイルの記述方法はUTF8サポートを参照。
       .UnicodeTbl_Console=filename
          コンソール版用
#endif

       .EBCDIC 変換定義ファイル名

          EBCDIC_cfg        ="" #("::xeebc.map")# EBCDIC translation config filename



       .(J)Valid_Ctrl_char = 00000000000000000000000000000000
        (E)Valid_Ctrl_char = 00000000000000000000000000000000
                         x   0123456789ABCDEF0123456789ABCDEF
                     ctrl+   2abcdefghijklmnopqrstuvwxyz[\]6-
          (J)は日本語モード, (E)は英語モード用
          Ctl+文字キー(0x00-0x1f)を受付ける時受付けるキーの指定.
          1桁目が 0x00 に対応し最後が 0x1f に対応します.対応するバイトを
          0 にするとその文字を受付け 1 にすると入力不可とします.
          機能キー割り当てをした場合は文字入力にはつかえません.
      (注)0x1a は WindowsでテキストモードのAPIではEOF扱いされます。
          例えば type コマンドは0x1aがあるとそこでファイルが切れます。
          xe は バイナリーモードのAPIを使うので問題はありませんが
          xe の編集結果を他のプログラムに渡す場合は0x1aを禁止文字にしたほうが良いかもしれません。

#ifdef UNX
       .(J)Disp_trans_tbl = 00 = 1111111111111111
        (J)Disp_trans_tbl = 10 = 1111111111111111
        (J)Disp_trans_tbl = 70 = 0000000000000001
        (J)Disp_trans_tbl = 80 = 1000000000000000
        (J)Disp_trans_tbl = A0 = 1000000000000000
        (J)Disp_trans_tbl = F0 = 0000000000000111

       .(E)Disp_trans_tbl = 00 = 1000000011101111
        (E)Disp_trans_tbl = 10 = 0000000000010000
        (E)Disp_trans_tbl = 70 = 0000000000000001
        (E)Disp_trans_tbl = 90 = 0000000000010000
        (E)Disp_trans_tbl = F0 = 0000000000000001
#else
       .(J)Disp_trans_tbl = 00 = 1000000010101100
        (J)Disp_trans_tbl = 10 = 0101000010000000
        (J)Disp_trans_tbl = 70 = 0000000000000001
        (J)Disp_trans_tbl = 80 = 1000000000000000
        (J)Disp_trans_tbl = A0 = 1000000000000000
        (J)Disp_trans_tbl = F0 = 0000000000000111

        (E)Disp_trans_tbl = 00 = 1000000000000000
        (E)Disp_trans_tbl = F0 = 0000000000000001
#endif

#if defined(WXE)||defined(XXE)
    #ifdef WXE
        (J)Disp_tr_tb_wxe = 00 = 1000000000001100
        (J)Disp_tr_tb_wxe = 10 = 0000000000001000
    #else
        (J)Disp_tr_tb_wxe = 00 = 1000000000000000
        (J)Disp_tr_tb_wxe = 10 = 0000000000000000
    #endif
        (J)Disp_tr_tb_wxe = 70 = 0000000000000001
        (J)Disp_tr_tb_wxe = 80 = 1000000000000000
        (J)Disp_tr_tb_wxe = A0 = 1000000000000000
        (J)Disp_tr_tb_wxe = F0 = 0000000000000111

        (E)Disp_tr_tb_wxe = 00 = 1000000000000000
        (E)Disp_tr_tb_wxe = F0 = 0000000000000001
#endif

          (J)は日本語モード, (E)は英語モード用
          非表示文字を指定する.
          ここで非表示文字とした文字はつぎのは Disp_trans_char で指定の
          文字に変換され表示される.
          wxe/gxe 用は xxx_wxe のオプションを指定してください。

          形式:  x0 = yyyyyyyyyyyyyyyy
          x は 0 から F まで,
          y は 0 か 1(非表示文字) で 1行に 16 バイトずつ指定する
          1 行 全て 0 の行は指定不要.
          但し省略値を採らない場合は少なくとも 1 行は指定する.

#ifdef AIX    //*** AIX ***
       .(J)Disp_trans_char =2E
        (E)Disp_trans_char =2E
#else
       .(J)Disp_trans_char =0E
        (E)Disp_trans_char =16
#endif
          (J)は日本語モード, (E)は英語モード用
          前のDisp_trans_tblで非表示文字とされた文字を表示するのに
          使用する文字をヘキサ指定する.
          0x30-->0x39 は指定不可

#ifdef AIX
       .(J)Tab_disp_char   =5E2C    // ^,
        (E)Tab_disp_char   =5E2C    // ^,
#else
       .(J)Tab_disp_char   =1C1E
        (E)Tab_disp_char   =181A
#endif
          (J)は日本語モード, (E)は英語モード用
          タブ(0x09) とその後のタブによる間隙を表示する文字をヘキサ
          指定する.0x30-->0x39 は指定不可
#ifdef AIX
          省略値は  タブ文字    :'^'
                    タブスキップ:','
#else
          省略値は  タブ文字    :上矢印文字:(英)0x18,(日)0x1c
                    タブスキップ:右矢印文字:(英)0x1a,(日)0x1e
#endif

#ifdef UNX
       .DBCSspace_dispchar =21
#else
       .DBCSspace_dispchar =14
#endif

#ifdef LNX
          kon上で日本語スペース(EUC:0xa1a1)を表示する文字をヘキサ指定する.
#else
          日本語スペース(SJIS:0x8140)を表示する文字をヘキサ指定する.
#endif
          0x30-->0x39 は指定不可
          日本語モードでのみ有効
#ifdef UNX
          省略値は  2桁 !      :0x21
#else
          省略値は  2桁シャドー:0x14
#endif

#ifdef UNX
#else
       .Keyboard_Speed     =30
        Keyboard_Delay     =250
        Kbd_Speed_at_exit  =30
        Kbd_Delay_at_exit  =250
          エディターに入った時と出る時のキーボード タイプ速度
          Speed:同じキーを押し続けた時に受付けられる 1 秒当たりの文字数
                0 --> 31 の値を指定してください
          Delay:同じキーを押し続けた時に 2 文字目受付け迄の遅延時間
                250,500,750,1000 の4段階で指定してください
          (Speed,Delayの両方が 0 のとき設定はされません)
#endif

       .DirList_Indent     =1
          ディレクトリーリストでファイル名を表示する方法
          左端を揃える(0) か或は階層レベルで桁ずらしをするか(1)

#ifdef UNX
    #ifdef LNX
       .XPrint_Command     ="xprint.sh"
    #else
       .XPrint_Command     ="xprint"
    #endif
#else
       .XPrint_Command     ="XPRINT.EXE"
#endif
        XPrint_Command_DOS =""
        XPrint_Command_GCC =""
        XPrint_Command_WIN =""
        XPrint_Command_OS2 =""
#ifdef UNX
        XPrint_Command_LNX =""
#endif
          XPRint コマンドで使用するコマンド文字列を指定する
          文字列内に %1-->%9 の指定(PRIntコマンドのオペランドの挿入位置
          の指定)が可能.% が一つも指定されていない時はこのコマンド文字
          列とXPRintコマンドのオペランドを単純連結してコマンドを発行する
          OSによって異なるコマンドを使用したい場合はそのバージョンの
     サフィクス付きのパラメータを追加で指定する.
       (注)このオプションは次のPrint_Commandオプションより前に指定すること.

       .Print_Command      =""
        Print_Command_DOS  =""
        Print_Command_GCC  =""
        Print_Command_WIN  =""
        Print_Command_OS2  =""
#ifdef UNX
        Print_Command_LNX  =""
#endif
          ディレクトリー表示画面P 行コマンドで使用するコマンド文字列
          を指定する.文字列内に %1 の指定(ファイル名挿入位置の指定が可能).
          省略値(""指定の時)は "XPRINT.EXE" を使用
          "" か XPrint_Command と同じか XPRINT 文字列の指定がある時
          P 行コマンドは XPRINT の間接ファイル名指定機能により昇順印刷する.
          そうでない場合P 行コマンドはディレクトリーリストの逆順に指定の
          コマンドを呼び出す.
          OSによって異なるコマンドを使用したい場合はそのバージョンの
          サフィクス付きのパラメータを追加で指定する.
       (注)このオプションは前のXPrint_Commandオプションより後に指定すること.

#ifdef UNX
#else
       .Sub_Shell_Init     ="prompt $p$l"
          DOS コマンドで子シェルを開始する時,子シェルで最初に実行する
          コマンドを指定する.
          省略値のコマンドは親シェルと区別するためプロンプと文字を
          変更するものです($p はドライブと経路表示,$l は"<"表示)
      (注)WindowsNTでDOSバージョンを実行する場合はこの指定は無視されます
#endif

#ifdef LNX
       .LNX_Subshell_xe   =""
         xe curses版が ">" コマンドで使用する子プロセスのシェルPGM名.
         省略値は"dash"があれば"bash",でなければ"sh".
         (/bin/shが何にslinkしているかCHKして見て下さい。
          RH9,FC5ではbash,Kubuntu6,Ubuntu7ではdashでした)
       .LNX_ShellTerm_gxe =""
         gxe(gtk)が ">"コマンドや"terminal"メニューアイコン選択で起動する、
         子窓のTerminalプログラム起動コマンドを指定する。
         省略値はgnome-terminalが見つかれば"gnome-terminal --disable-factory"
         そうでなければ"konsole -ls".
       .LNX_CmdTerm_gxe   =""
         gxe(gtk)が ">cmd"コマンドで選択で起動する子窓のTerminalプログラム起動
         コマンドを指定する。
         省略値はgnome-terminalが見つかれば"gnome-terminal --disable-factory -x"
         そうでなければ"konsole -e".これもなければ "xterm -e".
         xe3270の起動はこの設定が使用されます。
#endif

       .ユーティリティーツール名
          ディレクトリーリスト行コマンド "=","g"あるいは
          ユーテリティー画面3.12/3.14で使用するツール名を指定する。

          CompareFile_Cmd   ="xfc"   :ファイル比較ツール
          CompareDir_Cmd    ="xdc"   :ディレクトリー比較ツール
          Search_Cmcd       ="grep"  :文字列探索ツール

       .Bounds
          ディレクトリー、拡張子による省略値境界値を設定できます
          ファイル名の指定も有効です。
        Bounds            = .cob     =  7  72    # "."で始まると拡張子による省略値
        Bounds            = "g:\src\xe" = 10 80  # ファイル、ディレクトリー名はフルパス指定する

       .大きなファイルを開くとき確認をとる
        (省略値は 32ビット OS で 100MB, 64ビット OS で 1GB)
            LargeFileSize(MB) =1    #(100)# Size of large file to issue warning when open, 0 means no limit. ||vazd