PDICの初期設定を行うためのsetup.iniファイルや、INIファイル入力・INIファイル出力で使用するファイルの書式を示します。
ここでは、SETUP.INI の記述方法の視点で述べています。
※この機能はサポート外です。正式なサポートを受けたい場合はご相談ください。
注意:
SETUP.INIの設定には、レジストリ内容の詳細を理解している必要がありますが、現在のところまだ説明書を作成していません。
SETUP.INIの設定を誤ると、PDICが起動しなかったり、異常終了したりする可能性が十分あります。
最初は、PDICのレジストリHKEY_CURRENT_USER\Software\ReliefOffice\PDIC2
の内容を参照しながら試してみてください。
ファイル形式はUTF-16またはShiftJISである必要があります。(日本語Windows以外ではShiftJISは使用できません)
[SETUP]セクション
セットアップコードで、このコードによって、SETUP.INIをレジストリに登録するかどうかをPDICが判断します。このコードは必ず必要です。このキーが無いとレジストリの設定は実行されません。
このキーの用途は、SETUP.INIを新しいものに変えたときに、すでにインストール済みのPDICが再SETUPを行う必要が有るかどうかの判断に使用します。最初この値は1にしておき、バージョンを上げるたびに1ずつ増やしていくとよいでしょう。
このコードを0にした場合は、PDICが起動するたびにSETUP.INIファイルをレジストリへ登録します。
SetupCodeの値は、PDICのレジストリSetupに保存されています。
セットアップを行う固有の名前を定義します。ここを指定しないとSetupCodeは PDICのレジストリ SetupのSetupCodeと比較してレジストリへコピーを行うかどうかの判断をしますが、SetupKeyを指定すると、SetupKeyと同じ名前のキーと比較してコピーの判断を行います。
ここは無くても構いませんが、ほかのSETUP.INIとの競合を避けるため、固有の名前を定義しておいたほうがいいでしょう。
また名前に登録できる文字には制限があります。なるべく英数字だけを使うようにしてください。大文字小文字の区別もありません。
SETUP.INIを登録後、実行したいPDICU.exeのコマンドラインオプションを指定できます。[SETUP]セクションで指定したオプションは一度だけしか実行されません。PDICが一度起動すると、この項目は削除されます。
もし常に実行させたい場合は、[COMMON]セクションにCmdLine=によって指定してください。ただしこれはレジストリに残り、一般ユーザーには変更が難しいのでINIファイルを配布する場合はあまり利用しないようにしてください。
[任意のセクション]
[SETUP]セクション以外は、そのままレジストリへ登録されます。
通常のWindowsのINIファイルとほぼ同じですが、レジストリ固有の構造に対応するために次のいくつかの特殊ルールが有ります。
1.セクション名の階層指定
[Key1\Key2\...]
レジストリは階層構造を持ちますが、INIファイルは本来持っていません。それに対応するために、\
記号を使用します。たとえば、辞書グループのレジストリは階層構造を持っていますので、
[Group\英和辞書]
とすれば、辞書グループ固有の設定のレジストリを設定することができます。
2.キーと値の記述方法
Keyname=Value
このとき、Valueは文字列として登録されます。Valueの中に制御文字を含めたい場合は、\
記号を使用します。
\
記号そのものをあらわす場合は、\\
と2回続けます。ファイル名を記述する場合は注意してください。
制御文字:
\0
ヌル文字(この記号は後述するMULTI_SZでのみ使用できます)
\r
復帰($0D)
\n
改行($0A)
\x00
16進数(必ず2桁)
注意:文字列は日本語であると仮定して扱っています。したがって、欧州言語で使用する特殊文字をそのまま埋め込んでしまうと、うまくいかない場合があります。
#Keyname=....
通常データは文字列として登録されますが、キーの名前の先頭に#記号を付加することにより、それを10進数として扱います。
また、数値の先頭に x を付けた場合、16進数として扱います。
例:
#ABC=100
#ABC=x64
%Keyname=Value
バイナリデータとして登録します。
Valueは16進数で、2桁ずつ続けて記述してください。
例:
%Binary=50444943
“PDIC”という文字列になる
$Keyname=Value
レジストリにはREG_MULTI_SZ形式というものがあり、その形式で登録するための形式です。
Valueには文字列を記述します。文字列の各区切りは、\0
です。レジストリの仕様により、本来ならばMULTI_SZの最後は\0
を2つつける必要がありますが、ここでは必要ありません。
6.キーの削除
!Keyname=
先頭に!を付けるとそのキーは削除されます。
7.コメント
行頭を;(セミコロン)にした場合は、コメントとして扱います。