書式
xfontsel [-toolkitoption ...] [-pattern fontname] [-print] [-sample text] [-sample16 text16] [-sampleUCS textUCS] [-scaled]
説明
xfontsel は、X サーバが認識しているフォントの表示や各フォントの サンプルの確認、フォントの X論理フォント記述(XLFD)における完全な名前の 取得を行うための簡単な方法を提供する。
-pattern が指定されていなければ、14項目からなるXLFD の名前を持つ フォントの全てが選択可能となる。フォントの一部だけを利用したいときには、 -pattern を指定し、その後に部分的または完全なフォント名を続け る。例えば ``-pattern *medium*'' を指定すると、フォント名のどこかに ``medium'' という文字列が含まれるフォントだけが選択される。シェルのワ イルドカード文字のエスケープには注意すること。
-print をコマンド行で指定した場合には、選択されたフォント指定子 は quit ボタンを押したときに標準出力に書き出される。-print オプションが指定されていたかどうかには関係なく、select ボタンを 押すとフォント指定子は PRIMARY (テキスト)のセレクションにされる。
-sample オプションは、線形インデックスのフォントのサンプル表示に 使うテキストのデフォルト値を上書き指定する。
-sample オプションは、行列形式にエンコードされたフォントのサンプ ル表示に使うテキストのデフォルト値を上書き指定する。
-sampleUCS オプションは、フォントが ISO10646 の CHARSET_REGISTRY を持っている場合に、デフォルトのテキストでなく UTF-8 形式でエンコード されたサンプルテキストを使って選択されたフォントを表示させる。
-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 をインス トールしたディレクトリ)内にほぼ記述されている。
アプリケーション固有のリソース:
- cursor (class Cursor)
- アプリケーションウィンドウのカーソルを指定する。
- pattern (class Pattern)
- 利用可能なフォントのサブセットの選択に使うフォント名のパターンを指定す る。-patternと等価である。 少なくとも1つのフィールド区切り文字を含むパターンは大変有効である。例 えば ``*-m-*'' はモノスペースのフォントを指定する。
- pixelSizeList (class PixelSizeList)
- ピクセルサイズのメニューに追加するピクセルサイズのリストを指定する。こ れにより、そのピクセルサイズでスケーラブルフォントを選択できるようにな る。 デフォルトの pixelSizeList は 7, 30, 40, 50, 60 を含む。
- pointSizeList (class PointSizeList)
- ポイントサイズのメニューに追加するポイントサイズ(10ポイント単位)のリス トを指定する。これにより、そのポイントサイズでスケーラブルフォントを選 択できるようになる。デフォルトの pointSizeList は 250, 300, 350, 400 を含む。
- printOnQuit (class PrintOnQuit)
- このリソース値が True ならば、quit ボタンが押されたときに、選択 されているフォント名が標準出力に出力される。
- sampleText (class Text)
- 線形インデックス形式のフォントに対して用いる1バイトテキストのサンプル を指定する。 それぞれのグリフのインデックスは1バイトであり、各行は改行文字で区切ら れている。
- sampleText16 (class Text16)
- 行列形式でエンコードされているフォントに対して用いる2バイトテキストの サンプルを指定する。 それぞれのグリフのインデックスは2バイトであり、各行は1バイトの改行文字 で区切られている。
- scaledFonts (class ScaledFonts)
- このリソース値に True を指定すると、スケーラブルフォントに対して 任意のピクセルサイズやポイントサイズが選択できるようになる。
ウィジェット固有のリソース:
- showUnselectable (class ShowUnselectable)
- それぞれのフィールドのメニューに対して、前に行ったフィールドの選択に基 づいて決まる、現在選択することができない値を表示するかどうかを指定する。 表示する場合には、選択できない値はこのようにしてはっきりと識別され、ポ インタがメニュー上にあってもハイライトされない。 このリソースの完全な名前は fieldN.menu.options.showUnselectable であり、クラスは MenuButton.SimpleMenu.Options.ShowUnselectable である。 ここで、N はフィールドの数に置き換えられる(最も左のフィールドの番号が0 である)。 デフォルト値は、フィールド11(フォント中の文字の平均幅)以外に対しては True であり、フィールド11に対しては False である。選択できないエントリ を表示したくない場合には、リソースファイル中で '*menu.options.showUnselectable:False' と指定するとよい。
ファイル
$XFILESEARCHPATH/XFontSel
バグ
あいまいすぎるパターンは間違って解釈され、最初に選択される文字列がユー ザの意図に一致しなかったり、最初のサンプルテキスト出力が提供された文字 列にマッチできなかったりすることになる。フィールドに新しい値を選択して サンプル出力を直すことができるが、マッチするフォントが無いこともある。
PRIMARY セレクションには、単なる STRING ではなく FONT が返されるべきで ある。
フィールドの値をどのように変えても、xfontsel が PRIMARY_SELECTION の所有権を取得する。これはパラメータで制御できるべき だと思われる。
遅いマシンで実行すると、フォント名が完全に解析される前にユーザがフィー ルドメニューを要求することがあり得る。メニューが無いことを示すエラーメッ セージが標準エラー出力に出力されるが、それ以外には不都合は(良いことも) ない。
平均幅のメニューは大きすぎて使いにくい。
著者
Ralph R. Swick, Digital Equipment Corporation/MIT Project Athena
Mark Leisher <[email protected]> は UTF-8 のサンプルテキストの
表示機能を追加した。