Fontconfig(または fontconfig)は、システム全体におけるフォント設定を一元管理するためのライブラリです。具体的には、代替フォントの設定、フォント置換の設定、レンダリングの設定など、フォントに関する様々な情報をアプリケーションに提供する役割を担っています。このライブラリは、元々はキース・パッカードによって開発され、現在はBehdad Esfahbod氏によってメンテナンスされています。
Fontconfigは、パーミッシブなフリーソフトウェアライセンスの下で配布されている自由ソフトウェアです。そのため、誰でも自由に利用、改変、再配布することが可能です。
特に
Linuxをはじめとする
Unix系システムのデスクトップ環境において、Fontconfigはフォントの取り扱いに不可欠な役割を果たしています。フォントの表示や選択、管理など、ユーザーエクスペリエンスに直接影響を与える部分を担っています。
利用方法
エンドユーザーは、Fontconfigを利用することで、システムのフォント設定を柔軟にカスタマイズできます。例えば、特定のフォントを優先的に使用したり、フォントの表示方法を調整したりすることができます。
アプリケーション開発者は、以下の2つの方法でFontconfigを活用できます。
1.
システムで利用可能なフォントの問い合わせ: システムにインストールされているフォントの一覧を取得し、アプリケーション内で利用できます。
2.
指定したパラメータに合致するフォントの検索: フォントファミリー、スタイル、太さ、dpi、
Unicodeの対応範囲などのパラメータを指定して、最も近いフォントを検索できます。
フォントのマッチングを行う際、Fontconfigはインストールされているすべてのフォントに関する情報を保持します。これらの情報に基づいて、フォントの置換や適切なフォントの選択が行われます。
設定
Fontconfigの設定は、XML形式の設定ファイルを用いて行います。設定ファイルでは、フォントの表示に関する様々なルールを記述することができます。Fontconfigの設定ファイルのためのDTDは、通常`/etc/fonts/fonts.dtd`に配置されています。
主な設定ファイルは以下の通りです。
`/etc/fonts/fonts.conf`: マスター設定ファイル。システム全体のフォント設定を定義します。
`/etc/fonts/local.conf`: ローカル設定ファイル。ユーザー固有の設定を記述します。
`/etc/fonts/conf.d/.conf`: 設定ファイルディレクトリ。複数の設定ファイルをまとめて管理できます。
`$XDG_CONFIG_HOME/fontconfig/fonts.conf`: ユーザーごとの設定ファイル。
`$XDG_CONFIG_HOME/fontconfig/conf.d/
.conf`: ユーザーごとの設定ファイルディレクトリ。
`~/.fonts.conf`: ユーザーごとの設定ファイル。将来のバージョンで廃止予定です。
設定ファイルの記述例としては、例えば特定のフォントを特定の場面で使用するように設定したり、フォントの表示スタイルを調整したりすることができます。
詳細な設定方法については、Fontconfigのマニュアルを参照してください。
ユーティリティ
Fontconfigには、フォント設定を管理するための便利なコマンドラインユーティリティが複数付属しています。
`fc-list`: Fontconfigが認識しているすべてのフォント、または指定したパターンに一致するフォントの一覧を表示します。
`fc-match`: 指定したフォントパターンに最も近いフォントを検索します。
`fc-cache`: FreeTypeで扱えるフォントのキャッシュを作成します。これにより、フォントの読み込み速度を向上させることができます。
`fc-cat`: キャッシュファイルまたはフォントディレクトリからフォント情報を読み込み、
ASCII形式で出力します。
`fc-query`: フォントファイルに関する詳細な情報を表示します。
`fc-scan`: フォントファイルまたはディレクトリをスキャンし、結果を表示します。
`fc-pattern`: 指定したパターンに最も近いフォントを表示します。
`fc-validate`: フォントファイルを検証し、結果を表示します。
これらのユーティリティを使用することで、フォントの設定状況を確認したり、問題を特定したりすることができます。
依存関係
Fontconfigは、以下の2つのフリーソフトウェアに依存しています。
FreeType: フォントのレンダリングを行うライブラリです。
Expat: XMLパーサライブラリです。
これらのライブラリがインストールされている必要があります。
Fontmatrix
Fontmatrixは、FontconfigをGUIで操作するためのツールです。フォントの表示、選択、管理をグラフィカルに行うことができます。
バージョン番号の付け方
Fontconfigのバージョン番号の付け方には特徴があります。末尾の番号が90以上の場合は、プレリリースバージョンであることを示します。
外部リンク
fontconfig 公式サイト
Font Configuration and Customization for Open Source (PDF)