xfontsel [-toolkitoption ...] [-pattern fontname] [-print] [-sample text] [-sample16 text16] [-noscaled]
xfontsel は、X サーバが認識しているフォントの表示や各フォントの サンプルの確認、フォントの X論理フォント記述(XLFD)における完全な名前の 取得を行うための簡単な方法を提供する。
-pattern が指定されていなければ、14項目からなるXLFD の名前を持つ フォントの全てが選択可能となる。フォントの一部だけを利用したいときには、 -pattern を指定し、その後に部分的または完全なフォント名を続け る。例えば ``-pattern *medium*'' を指定すると、フォント名のどこかに ``medium'' という文字列が含まれるフォントだけが選択される。シェルのワ イルドカード文字のエスケープには注意すること。
-print をコマンド行で指定した場合には、選択されたフォント指定子 は quit ボタンを押したときに標準出力に書き出される。-print オプションが指定されていたかどうかには関係なく、select ボタンを 押すとフォント指定子は PRIMARY (テキスト)のセレクションにされる。
-sample オプションは、線形インデックスのフォントのサンプル表示に 使うテキストのデフォルト値を上書き指定する。
-sample オプションは、行列形式にエンコードされたフォントのサンプ ル表示に使うテキストのデフォルト値を上書き指定する。
-noscaled は、スケール可能なフォントを任意のピクセルサイズやポイ ントサイズで選択する機能を無効にする。このオプションを使うと、サーバが 使うビットマップのサイズが明らかになるので、フォントがスケーリングされ る際に不意に起こる長い(こともある)待ち時間を回避することができる。
XLFD のフィールド名のどれかをクリックすると、サーバが現在認識している 値のうち、そのフィールドに対して指定可能なものを選択するメニューがポッ プアップする。既に他のフィールドで選択を行っている場合には、その選択し たフィールドにマッチする値だけが選択可能となる。他の値を選択できるよう にするには、いくつかのフィールドで ``*'' を選択して選択解除しなければ ならない。 設定オプションを使って、選択できない値を完全にメニューから除外すること もできる。これについては、以下の ShowUnselectable リソースの説明 を参照すること。 フィールドの値を変更すると xfontsel は必ず PRIMARY_FONT セレクションの所有権を要求する。他のアプリケーショ ン(xterm 等を参照)は、選択されたフォント指定を取得することができ る。
X サーバが返すスケーラブルフォントは、ピクセルサイズ、ポイントサイズ、 平均幅の各フィールドがゼロである。これらの位置にゼロをセットしてフォン ト名を選択したときに得るサイズは実装依存である。 フォントを特定の大きさにスケーリングするために、任意のピクセルサイズや ポイントサイズを選ぶことができる。フォントを変形してスケーリングするた めに、任意の平均幅を選択することができる(平均幅メニューで与えられたサ イズを使ってこの試みをしているだろう)。
select ウィジェット内で左ポインタボタンをクリックすると、現在選 択されているフォント名が PRIMARY_FONT セレクションに加え、PRIMARY テキ ストセレクションにもなる。 この機能を使って、フォント名文字列を他のアプリケーションに貼り込むこと ができる。この状態を示すために select はハイライトされた状態にな り、他のアプリケーションが PRIMARY のセレクションを取得した時点でハイ ライトが解除される。select ウィジェットはトグルボタンになってい る。ハイライトされているときにこのボタンを押すと、xfontsel はセ レクションの所有権を放棄し、ハイライトを解除する。select ウィジェッ トを再びアクティブにすることは、xfontsel セレクションを解放させ る唯一の方法である。
アプリケーションクラスは XFontSel である。ユーザインタフェースの ほとんどの部分は app-defaults ファイルで設定される。このファイルが無け れば、警告メッセージが標準出力に出力される。この場合、アプリケーション のウィンドウはほとんど使いものにならないだろう。
ウィジェット階層の重要な部分については app-defaults ファイル(通常は <XRoot>/lib/X11/app-defaults/XFontSel, ただし <XRoot> は X11 をインス トールしたディレクトリ)内にほぼ記述されている。
アプリケーション固有のリソース:
ウィジェット固有のリソース:
$XFILESEARCHPATH/XFontSel
あいまいすぎるパターンは間違って解釈され、最初に選択される文字列がユー ザの意図に一致しなかったり、最初のサンプルテキスト出力が提供された文字 列にマッチできなかったりすることになる。フィールドに新しい値を選択して サンプル出力を直すことができるが、マッチするフォントが無いこともある。
PRIMARY セレクションには、単なる STRING ではなく FONT が返されるべきで ある。
フィールドの値をどのように変えても、xfontsel が PRIMARY_SELECTION の所有権を取得する。これはパラメータで制御できるべき だと思われる。
遅いマシンで実行すると、フォント名が完全に解析される前にユーザがフィー ルドメニューを要求することがあり得る。メニューが無いことを示すエラーメッ セージが標準エラー出力に出力されるが、それ以外には不都合は(良いことも) ない。
Ralph R. Swick, Digital Equipment Corporation/MIT Project Athena