web-dev-qa-db-ja.com

XTerm * faceNameまたはxterm -fa <NAME>のX11フォントに使用する正しい名前をどのようにして知っていますか?

Mac OS X 10.8とXQuartz 2.7.2を使用しています。 *.ttfディレクトリに/Users/<name>/.fontsという名前のTrueTypeフォントをいくつかダウンロードして配置しました。 XQuartzを実行すると、fonts.dirを含むいくつかのファイルが作成されます。このファイルには、インストールした各フォントのさまざまなエンコーディングなどのX11フォント名が含まれています。

私の問題は、xterm -fa <NAME>または.Xresources XTerm*faceNameエントリで使用する正しい名前を常に「見つけ出す」ことができないことです。一部のフォントでは、fonts.dirファイルの詳細なX11フォント名にリストされているコアフォント名が機能しますが、他のフォントでは機能しません。

17
Jason Waldrop

次のワンライナーは、正しいフォント名を見つけるのに非常に役立ちました。

$ fc-list | cut -f2 -d: | sort -u

特に「IPAX0208明朝」のような日本語フォントでは、正しい名前を推測することはできなかったでしょう。もう少しタイピングを気にしない場合は、

$ fc-list | cut -f2 -d: | sort -u | less -r

ページ出力を取得します。

23
syntaxerror

Xfontselを使用して正しい名前を取得できます。

$ xfontsel

enter image description here

興味のあるフォントを選択して、[選択]ボタンをクリックします。フォント名がクリップボードにコピーされます。その名前を使用してxtermを実行します。例えば。:

$ xterm -font -Adobe-helvetica-*-r-normal-*-12-120-*-*-*-*-*-*

「-fa」を使用して私のシステム(linux)で機能させることはできませんが、「-font」は機能します。

5
terdon

不足しているのは、fonts.aliasファイルのエントリです。

/usr/share/X11/fonts/75dpi/fonts.alias

このファイルが行うことは、インストールされているX Windowフォントの短い名前(「エイリアス」)を提供することです。ファイルにない短い名前を使用しようとすると、xtermの起動時に次のような動作が発生します。

lansdale:~> xterm -xrm \*font:courr12
xterm: cannot load font "courr12"

(xtermは起動し、デフォルトの異なるフォントで実行されます)

X11フォント名が長いため、fonts.aliasファイルが存在します。たとえば、courr12は次の略称です。

-Adobe-courier-medium-r-normal--12-120-75-75-m-70-iso10646-1

[長い名前は実際には、ダッシュ/ハイフンでつながれた14の異なる編集可能なフィールドです。それらを表示するには、プログラムxfontselを実行します。すべてのフィールドがアスタリスクで表示され、特定の何かに設定されていないことを意味します。]

ファイルの各行は、短い名前(エイリアス)、空白で始まり、次にそれが指す/参照する長い名前です。この方法では、常に長い名前を使用する必要はなく、エイリアスを設定してそれを使用するだけです。ファイルに新しい行を入れるときは、短い名前を決定します。システムにインストールされているフォントファイルが必要なのは、完全なX11名だけです。

1990年代にUnixシステムで最初に歯を切ったとき、私はcourr12に出くわし、後でxtermにそれをフォント(Courier 'Roman'サイズ12)で欲するようになりました。 HP/UXおよびSolarisでは、fonts.aliasファイルにはすでにcourr12が含まれているため、"XTerm*font: courr12".Xdefaultsファイルに追加するだけで、すべてが正常に機能します。

0
user855923

FontBookを使用してフォントをロードすると、xterm -faで使用する正しい名前が表示されます。

0
Jason Waldrop