フォント - Linux / オープンソースとアラビア語


 * ホームに戻る.
 * Linux / オープンソースに限らない事は、フォント - コンピュータとアラビア語を見て下さい.

X11 におけるフォントの機構とフォント名
ソフト事情で述べる mlterm を始め、X11 でフォント名を指定する方法を復習します.

X においては、旧来の core font system と、 Xft の二つの描字システムがあり、両者でフォントの指定法が異なります. インストールされたフォントのリストを調べる方法も、後で述べます.

Xft
Xft は始めから TrueType 等の、スケーラブルフォントの良いサポートを目指して開発されたシステムです. 最近のソフトは大体こちらを使います. Xft でのフォントの名前は core font system に比べればずっと簡単で、Bitstream Vera Sans とか、Lateef 等となります.

Xft では、フォントの選択のされ方に柔軟性があります. それを制御するため fontconig が提供されています. ユーザが fontconfig を設定するヒントは後述します.

インストールされたフォントのリストが欲しいときは、  コマンドを使います: $ fc-list | less

このコマンドは fontconfig-2.3.x 以降についてきます. 無ければ、mozilla / firefox 等最近のソフトの、フォント選択メニューに現われる名前を参考にしても良いでしょう.

core X11 font system (伝統的)
旧来の core font system についても述べておきます. このフォントの指定法は、 XLFD, X Logical Font Description と呼ばれています. まずビットマップの例を見ましょう:

-arabeyes-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1

最初の  はメーカー等の名、二番目の   がほぼ、フォントの名前です. は太さ、  はローマン (他の例は斜体、イタリックです)です. は無視して下さい. ほとんど全てのフォントが normal です.

数字のならびでは、最初の  が普通、肝心で、文字のサイズです. 単位はピクセル、画素です. 後は無視して下さい. 最後の  はフォントのエンコーディングで、この例ではユニコードです.

ところで、OpenType 等のスケーラブル ( = 任意の大きさに拡大可能な ) フォントでは、少し話が異なります. 次を見て下さい:

-misc-lateef-medium-r-normal--0-0-0-0-p-0-iso10646-1

サイズ関係の数字が、全て  になっています. スケーラブルなフォントでは、名前さえ指定すれば十分なので、 0 にする約束になっています.

ワイルドカードとして * (アスタリスク) も使える事も、指摘しておきます.

インストールされたフォントのリスト
使う事のできるフォントのリストを手に入れる方法です. Core system では、 コマンドを使います. ワイルドカードが使えるので、アラビア文字を含むフォントはユニコード = iso10646 のものを使いたいので、

$ xlsfonts -fn "-*-iso10646-1" | less

などとすれば良いでしょう.

フォントの手動インストール
特権ユーザになる場合とならないでも済む方法と、両方を紹介します. まず、フォントのファイルを適当なディレクトリに展開します. もちろん、一つのディレクトリにフォントを複数置くことができます.

Xft / fontconfig では、それで終わりです. ただし、フォントをディレクトリに新たに置いた事は、実行中のプロセスには反映されません. 必要ならばそのソフトは再起動しましょう.

core system では、更に以下が必要です.

ビットマップの場合
*.bdf というファイルがあるときは、

$ bdftopcf fontfile.bdf; gzip fontfile.pcf

として、pcf ファイルを作ります. 圧縮はするのが普通ですが、必要ではありません. (多分これで大丈夫ですが、詳しい事は知りません. )

True Type、Open Type の場合
主に *.ttf ファイルがある時です. 他には *.ttc, *.otf, *.otc 等. そのファイルのあるディレクトリで

$ ttmkfdir

とし、 ファイルを生成します. もしかしたら  は   以下にあるかも知れません. なお、 というコマンドもほぼ同じ働きをします.

以上が済んだら、 $ mkfontdir として、 ファイルを作れば、そのディレクトリを使うことができます.

特権ユーザになる場合は、 なり、xfs の設定ファイルなりを書き足しますが、これは良いでしょう. 一般ユーザであっても、

$ xset +fp directory-of-your-fonts

とすれば、X を終了するまで、そのディレクトリのフォントが使えます. ネットワーク上で X が動いている場合とかは、知りません.

fontconfig
準備中.

firefox で使えるフォントは?
ソフト事情を見て下さい.

ラテン文字のフォント
ラテン文字 (ローマ字とも、いわゆるアルファベット) の良いフォントも無いと不便なので、紹介しておきます.

ラテン文字のフォントは沢山ありますが、 1. 教科書で見るような、アラビア文字のローマ字転写をサポートして、 2. サンセリフを含み 3. かなり自由なライセンスのものとして、 DejaVu Fonts を挙げておきます. 思うに、これは Linux で標準の位置を占めるべきです.

これは、今日では X Window System にも含まれる Bitstream Vera をベースにして、拡張をほどこしたものです. Bitstream Vera は、アラビア文字のローマ字転写で出てくるような、ユニコードでは定義されているものの、ちょっと標準ではない文字はサポートされていません. しかも 2003 年に公表されて以来、全く変更がなされていません.

DejaVu Fonts では、長母音の上付き棒も、下点も大丈夫です. また、2006 年秋の時点でも、やむ事なく手入れがなされているようです.

また、私 (利用者:Oibane) はコンピュータの画面上ではサンセリフ体を使いますが、 DejaVu Fonts はこれを含みます. 色々な付加記号をサポートするフォント自体は他にも沢山ありますが、大体がセリフ付きです. サンセリフは、意外と少ないです.

文献、リンク
X Window Systemのフォントに関連した文献、リンクです.
 * README.fonts (英語のみ ?) 基本的な事はこれでおさえられます. X11R6.8.2 に附属するファイルです. 日付は 2004 年 3 月になっています. Gentoo Linux では、 以下にあります. どこかに日本語訳は無いでしょうか.
 * (2006 年秋)以上は 2005 年に書いたのですが、Gentoo Linux の場合、Xorg 7.0 になってからはインストールされないようです. インターネットで検索して下さい.


 * xlfd.ps (英語) X11 にかなり前から付いてくるファイルです. フォントの指定法 X Logical Font Description の説明が書いてあります. 読みやすくは無いので、入門用ではありません.
 * (2005 年) Gentoo Linux では、  フラグを有効にして xorg-x11 をビルドしないと、インストールされません. 無い人は、検索エンジンで探すのが良いでしょう.  Postscript が読めない人は、ghostscript をインストールして、   を実行すれば、 pdf に変換されます.
 * (2006 年) Gentoo Linux では、xorg 7.0 以降ではインストールされなくなりました.


 * 書体関係 Wiki 主にフリーな、日本語のフォントについての総合情報です. Unix User 誌 2004 年 3 月号の記事「フォント関連の基礎知識 (の原稿)」は、おすすめです.


 * ホームに戻る.