Fontconfig

Fontconfig（または fontconfig）は、システム全体のフォントの設定（代替フォントの設定、フォント置換の設定、レンダリングの設定など）に関する情報をアプリケーションに提供するためのライブラリである。fontconfigはキース・パッカードによって作成され、現在はベーダッド・エスファーボッドによってメンテナンスされている。fontconfigは、MIT Licenseのもとで配布されている自由ソフトウェアである

Fontconfigは通常、X.OrgやWaylandなどを使用するグラフィカルなLinux（およびその他のUnix系）デスクトップ環境で利用され、フォント処理の重要な役割を担っている。他のプラットフォームで使用されることもあり、GIMPなど、Pangoを使用してテキストのレイアウトやレンダリングを行うWindowsソフトウェアにおいても利用される。

 利用 
エンドユーザーは、直接または間接的にfontconfigを使用してシステム上のフォント設定をカスタマイズできる。  

アプリケーションは、次の2つの方法でfontconfigを使用できる。  
 システム上で利用可能なフォントを照会する。  
 指定したパラメータに最も近いフォントを照会する。  

フォントのマッチングを行うために、fontconfigはインストールされているすべてのフォントについての情報を保存する。例えば、フォントファミリー、スタイル、太さ、dpi、Unicodeの対応範囲などの情報である。この情報はを行うためにも使われる。

 設定 
fontconfigでは、XMLフォーマットを使って設定ファイルを記述する。fontconfigファイル用のDTDは、通常に置かれている。

マスター設定ファイルは通常  である。これに加えて、以下に示す他のいくつかの設定ファイルも（存在すれば）参照される。
 /etc/fonts/conf.d
 $XDG_CONFIG_HOME/fontconfig/conf.d
 $XDG_CONFIG_HOME/fontconfig/fonts.conf
 ~/.fonts.conf.d
 ~/.fonts.conf（将来のバージョンで廃止される予定）

設定ファイルの簡単な例：
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <!-- すべてのフォントに対してアンチエイリアスを有効にする -->
    <match target="font">
        <edit mode="assign" name="antialias"><bool>true</bool></edit>
    </match>
</fontconfig>

詳細については fontconfig マニュアルに記載されている。

ユーティリティ
Fontconfigには、フォント設定を管理・照会するための8つのコマンドラインユーティリティが含まれている。

 fc-list: Fontconfigが認識しているすべてのフォント、または指定されたパターンに一致するフォントを一覧表示する。
 fc-match: 通常のFontconfigのマッチングルールに従い、指定されたフォントパターン（デフォルトでは空のパターン）に最も適したフォントを検索する。
 fc-cache: 指定されたディレクトリまたは設定ファイルで指定されたすべてのディレクトリから、FreeTypeが扱えるすべてのフォントのキャッシュを作成する。
 fc-cat: キャッシュファイルまたはフォントディレクトリからフォント情報を読み込み、それをASCII 形式で出力する。
 fc-query: フォントファイルを照会し、結果を表示する。
 fc-scan: フォントファイルまたはディレクトリをスキャンし、結果を表示する。
 fc-pattern: 指定したパターンに最も近いフォントを表示する。
 fc-validate: フォントファイルを検証し、その結果を表示する。

Fontconfigは、FreeType（フォントレンダラ）および Expat（XMLパーサライブラリ）という、二つの自由ソフトウェアに依存している。

Fontmatrixは、グラフィカルユーザインタフェースで fontconfig を使ってシステム上でフォントを表示したり、選択したり、管理するのに役立つ。

 バージョン番号の付け方 
最後の番号が90以上のときはプレリリースバージョンを示す、というバージョンの付け方をしている。

 外部リンク 

 fontconfig 公式サイト


 脚注 

Category:Freedesktop.org
Category:オープンソースソフトウェア
Category:UNIXのソフトウェア
Category:Cでプログラムされた自由ソフトウェア