ユーザー設定ファイルを作成することで、UIFontChanger のフォント設定を細かく制御することができます。
ユーザー設定ファイルには、uifontchanger.conf という名前を付けます。大文字と小文字は区別しません。UIFontChanger.conf でも UIFONTCHANGER.conf でも同じです。
Windows でシェルが拡張子を表示しない設定になっている場合は、注意してください。お使いのエディターによっては、uifontchanger.conf という名前を付けたつもりでも、実際には自動的に uifontchanger.conf.txt のような状態になることがあります。この状態ではプラグインがユーザー設定ファイルを認識できません。可能な限り、拡張子を表示させた状態で以下の作業を行ってください。
Windows 向けの参考情報:
ユーザー設定ファイルは、プラグインフォルダー配下に作成します。
プラグインフォルダーは、OmegaT のインストール先フォルダー(グローバル)と、ユーザーコンフィグフォルダー(ユーザーレベル)の二箇所に有ります。 Windows Vista/7/8 の場合、ユーザーコンフィグ内のプラグインフォルダーは下記パスになります。
C:\Users\ユーザー名\appdata\Roaming\omegat\plugins
plugins フォルダーが無い場合は、作成すれば OK です。
お好みで、プラグインフォルダー直下ではなく、サブフォルダーを作成してその中にユーザー設定ファイルを作成してもかまいません。サブフォルダー名は好きな名前を付けられます。
その場合は、たとえば次のような構成になります。
C:\Users\ユーザー名\appdata\Roaming\omegat\plugins\uifont\uifontchanger.conf
UTF-8 です。BOM は付けません。
少なくとも WIndows 7 標準のメモ帳は、UTF-8 でファイルを保存した際に自動的に BOM を付けてしまうため、この用途には適していません。
BOM の付かない UTF-8 文書を作成できるテキストエディタ(メモ帳以外であれば、たいていできます)をご利用ください。
ユーザー設定ファイルの入出力処理には、Grrovy の ConfigSlurper を利用しています。
そのため、設定ファイルは本質的には Groovy のスクリプトファイルであると言えます。
もっとも単純な設定ファイルは、次のようなものになります。
ご覧の通り、代入演算子(イコール記号)の左にキー名、右に設定値(この場合はフォント名)を指定する形で記述します。
キー名には UIDefaults クラスの key を指定しますが、* を指定するとすべての key の既定値になります。
フォント関連の key 一覧はこちらで確認できます。
上記をキー名に個別に指定することによって、特定の要素のフォントだけを設定することもできます。
なお表の出力に使用した Groovy スクリプトは、こちらです。
たとえば、基本的にはフォント foo を設定したいが、リストボックスのフォントだけは bar にしたい、という場合は、次のように記述します。
全称キー * の出現位置は、先頭行でも最終行でも関係ありません。個別指定しなければ、他はすべて全称キーが適用されます。
キーの個別指定が無く、全称キーの指定も無い場合、フォントは変更されません。
代入演算子(イコール記号)の右側に記述できる設定値は、3 種類あります。
フォント名を指定します。これには Meiryo のような物理フォント名だけではなく、DialogInput のような論理フォント名も指定可能です。
論理フォント名の指定には、Font.MONOSPACED のような Font クラスの定数を利用すると、便利です。
たとえば、次の指定はまったく同じ論理フォントの指定に、それぞれ文字列リテラルと定数を使った例です(例示するために併用していますが、通常はどちらかに統一します)。
また、何度も同じフォント指定が繰り返されるような場合は、変数を使って指定を簡略化することもできます。
繰り返しになりますが、設定ファイルは本質的に Groovy スクリプトなので、上記に限らず Groovy の構文をそのまま利用できます。
フォント名だけではなく、スタイルやサイズも変更したい場合は、Font クラスのインスタンスを作成します。
Font クラスの import 宣言は、特に不要です。
また先ほどの文字列の例と同じく、変数に代入して使いまわすこともできます。
ただし、キーによっては単純にフォントサイズを変更するのが適切ではないケースも有るので、注意してください。
たとえばテーブルのフォントサイズを大きくしても、行の高さもそれに合わせて変更しない限り*1、テキストが行をはみ出して表示しきれない状態になります。
さらに詳細な制御が必要な場合は、Groovy のクロージャを設定できます。
クロージャは古いフォント設定を置き換える際に呼び出され、引数にはオリジナルの Font と実行環境で利用可能なフォント名の List が渡されます。
戻り値として、フォント名を指す文字列か、Font クラスのインスタンスを返すようにします。
これを利用すると、個々のフォント設定に対して動的に新しい設定を生成することが可能になります。
こちらもやはり、必要であれば変数に代入して使いまわすこともできます。