99.69.1 X11 のフォント (x11_fonts)

初期起動時は、システムの設定か、ユーザの .Xdefaults ファイルの設定か、 コマンドライン指定か、のいずれかによる X11 リソースによってデフォルト のフォントが選択されます。

例:

     gnuplot*font: lucidasans-bold-12

新しいデフォルトのフォントを、gnuplot 内部から x11 ドライバに以下のようにして指示することもできます:
    `set term x11 font "<fontspec>"`

まず x11 ドライバは、与えられたフォントの正式名を X サーバに尋ねます。 この問い合わせが失敗した場合、< fontspec> "< font> ,< size> ,< slant> ,< weight> " と解釈し、以下の形の完全な X11 フォント名を生成しようとします:
     -*-<font>-<weight>-<s>-*-*-<size>-*-*-*-*-*-<encoding>


<font> はフォントの基本名 (base name) (例: Times, Symbol)
<size> はポイントサイズ (指定がなければデフォルトは 12)
<s> は <slant>=="italic" なら `i`, <slant>=="oblique" なら `o`, その他は `r`
<weight> は明示的に指定されれば `medium` か `bold`、その他は `*`
<encoding> は現在の文字集合に基づいて設定 (以下参照: `set encoding`)

よって set term x11 font "arial,15,italic" は (デフォルトの encoding だとすれば) -*-arial-*-i-*-*-15-*-*-*-*-*-iso8859-1 に変換されます。 < size> , < slant> , < weight> 指定はいずれも必須ではありません。< slant> < weight> を指定しなかった場合は、フォントサーバが最初に見つけた、変種 のフォントを取得するかもしれません。 デフォルトのエンコーディングは、対応する X11 リソースを使って設定するこ ともできます。例:
     gnuplot*encoding: iso8859-15

x11 ドライバは、一般的な PostScript フォント名も認識し、それと同等で有 効な X11 フォントか TrueType フォントに置き換えます。 これと同じ手順が、set label の要求によるフォントの生成でも使われてい ます。

あなたの gnuplot が configure の -enable-x11-mbfonts オプションをつけ てインストールされたものなら、フォント名の前に "mbfont:" をつけるこ とでマルチバイトフォントを指定することができます。フォント名を複数指定 する個ともできますが、その場合はセミコロンで区切ります。マルチバイトフ ォントのエンコーディングは locale の設定に従いますので、環境変数 LC_CTYPE を適切な値 (例えば ja_JP.eucJP, ko_KR.EUC, zh_CN.EUC など) に に設定する必要があります。

例:

     set term x11 font 'mbfont:kana14;k14'
           # 'kana14' と 'k14' は日本語の X11 font エイリアス名、';'
           # はフォント名の区切りです。
     set term x11 font 'mbfont:fixed,16,r,medium'
           # <font>,<size>,<slant>,<weight> 形式も使用できます。
     set title '(mb strings)' font 'mbfont:*-fixed-medium-r-normal--14-*'

同じ書式は X のリソースでのデフォルトフォントの設定でも有効です。例:

     gnuplot*font: \
         mbfont:-misc-fixed-medium-r-normal--14-*-*-*-c-*-jisx0208.1983-0

gnuplot が -enable-x11-mbfonts でインストールされた場合、"mbfont:" をつけなくても 2 つの特別な PostScript フォント名 'Ryumin-Light-*', 'GothicBBB-Medium-*' (標準的な日本語 PS フォント) を使うこともできます。

竹野茂治@新潟工科大学
2017年8月23日