FontConfigはフォント名(ファミリー名、サイズなどを指定するフォントパター ンを表現する文字列)からシステムにインストールされているフォントを選び 出すライブラリです。

詳しくは、思うところ実に日本語訳が存在するべき FontConfigユーザードキュメンテーション( 以下FCUD)を読んでください。

アンチエイリアス(やサブピクセルレンダリング)された文字を表示するXアプ リケーションの多くはXftと呼ばれるFreeTypeインターフェイスを使用してお り、XftはFontConfigを通じてフォントを選び出しています。

したがって、Xftを利用しているアプリケーションならば、FontConfigを利用 しているので、FontConfig形式のフォント名によってユーザーがフォントを指 定できる可能性が低くありません。

フォント名は以下のような形式の文字列です。

<families>-<point sizes>:<name1>=<values1>:<name2>=<values2>...

例えば、EPSON 太明朝体B:pixelsize=20のようになります。 pixelsize=20のようにname=valueの形になっている部分が、追加のフォン トプロパティを指定しています。

matrixはこのようなフォントプロパティのひとつで、FCUDによるとグリフに適 用する「アフィン変換の4つの数式である」とあります。

アフィン変換は3×3の行列で2次元図形を変形させるのに使います。2×2 だと回転はできても平行移動が表現できないので、3×3に拡張するという話 だったと思います。よくわかりませんが、グリフに何が起こるかは下の図が一 目瞭然です。

2D affine transformation matrix

matrixプロパティは4つの数で、2×2の行列を指定しますので本当にアフィ ン変換なのか不安になりますが、アフィン変換行列の左上 1,1 から右下 2,2 までの正方形を指定していると解釈すると、上の図と合致します。

端末エミュレーターである rxvt では、rxvt -fn ‘xft:フォント名’ の形でフォ ントが指定できますので、matrixプロパティを試してみましょう。

ノーマル

ノーマル

EPSON 太明朝体B-20。20ポイント。

斜体

斜体

EPSON 太明朝体B-20:matrix=1 .1 0 1。セルの横幅が大きくなりました。

45度回転

45度回転

EPSON 太明朝体B-20:matrix=.707 .707 -.707 .707。時計回りに45度。

横二倍角

横二倍角

EPSON 太明朝体B-20:matrix=2 0 0 1。和字と英字に別々のフォントを指定 できるようなアプリケーションがあれば、全角・半角の比率を調整するのに使 えるでしょうか。