「インストールしてみたけど,使い方が分からず途方に暮れた」「本を読んだけど,難しくて理解できなかった」「操作手順だけでなく,基本的な仕組みを知りたい」...。こうした意見にこたえるため,“Linuxの基本”を説明するコラムが復活しました。実際にLinuxを操作しながら,基本操作と仕組みに関する知識を身に付けましょう。

 X Window System(以下,X)の日本語環境に関する基本設定を紹介します。

 X*1の日本語環境でまず問題になるのが,日本語フォントの種類です。X上で日本語を表示させる場合には当然ながら,日本語フォントが必要になります。

 日本語が扱えるLinuxディストリビューションには無償のものと有償のものがあります。無償のものにはフリーの日本語フォントが組み込まれています。ただ,フリーで提供されている日本語フォントの種類は限られます。日本語は(英語圏のフォントと比較して)文字数が多いので,ボランティアで作成するときの作業が大変なためです。文字の見栄えや表現力などに関して,フリーで提供されているフォントに満足できない場合には,有償の日本語フォントを購入して使うようにします。

ビットマップとアウトライン

 古いバージョンのXはビットマップ・フォントしかサポートしませんでしたが,現在ではもちろん,アウトライン・フォントもサポートしています。

 ビットマップ・フォントは,文字をドットで表現します。アウトライン・フォントに比べて高速に表示できますが,文字を構成するドット数が決まっているため,文字を拡大すると見栄えが悪くなってしまいます。

 一方,アウトライン・フォントは,文字を輪郭線(ベクトル)で表現します。文字を直線や円弧,曲線などが集まった「図形」として定義するわけです。このため文字を拡大しても表示品質は低下しません。ただし,表示速度はビットマップ・フォントと比較して遅くなります。図形として表現された文字を最終的にドットに変換する処理*2が必要になるためです。

 アウトライン・フォントの中で広く利用されているものの一つに,Windowsに標準添付されているTrueTypeフォントがあります。X上でもFreeTypeというライブラリを用いることで,TrueTypeフォントを利用できます*3

「論理フォント名」で指定する


図1 論理フォント名を構成する14の要素
[画像のクリックで拡大表示]

写真1 xfdコマンドで半角英字フォントを表示した例
[画像のクリックで拡大表示]

写真2 xfdコマンドで全角のフォントを表示した例
[画像のクリックで拡大表示]

 Xではフォントを指定する場合,その論理フォント名を利用します。物理的なフォント名(ファイル名)と論理フォント名の対応は,ファイル「fonts.dir」に記述されています。論理フォント名は「-」(ハイフン)で区切られた14の要素(図1[表示])で構成されます。

 Xで利用可能な論理フォント名を確認するには,xlsfontsコマンドを利用します。非常に多くの論理フォント名が定義されていますので,端末エミュレータの1画面にはとても収まりません。例えば,Fedora Core 3で2番目に表示される*4論理フォント名の例は,「-adobe-courier-bold-r-normal-10-100-75-75-m-60-iso8859-1」です。これは米Adobe Systems社が提供する半角英字のクーリエ体フォントで,太字10ポイントです。このフォントは,/usr/X11R6/lib/X11/fonts/75dpiに格納されており,ファイル名は「courBO10-ISO8859-1.pcf.gz」になります。

 このフォントを表示したい場合には,xfdコマンドを実行します(写真1[表示])。「-fn」オプションで,次のようにして論理フォント名を指定します。

 論理フォント名は長い文字列になりますので,別名が定義されていることも少なくありません。例えば,別名「kanji24」を指定してフォントを表示することもできます(写真2[表示]) 。

論理フォント名の別名定義は,ファイル「fonts.alias」で設定されています。つまり,フォントのファイル名と論理フォント名の対応はfonts.dirファイルで定義され,さらに論理フォント名と別名の対応がfonts.aliasで定義されているわけです。

 また,xfontselコマンドを実行すれば,フォントを表示させながら,論理フォント名を把握できます。この際は,論理フォント名を構成する14の要素すべてを指定する必要はなく,「*」を用いて省略することもできます。

フォントを管理する「フォント・サーバー」

 前回に説明したように,Xはクライアント/サーバー方式で動作するウインドウ・システムです。フォントについても,クライアント/サーバー方式で処理できます。そのために必要なのが,フォントを管理する「フォント・サーバー」と呼ばれるソフトウエアです。

 例えば,パソコンAとパソコンBがネットワークでつながっていたとします。そして,パソコンBでフォント・サーバーが動作しているものとします。このときにパソコンAで動作しているソフト(クライアント)から,パソコンBで動作しているフォント・サーバーに対して,フォント表示の処理要求を出します。これを受けてフォント・サーバーがフォントの描画に必要な処理を行い,パソコンAに返します。パソコンAで動作しているソフトはその返答結果を用いてウインドウに文字を表示します。

 こうすることにより,パソコンAでは,自身にインストールされていないフォントであっても表示できます。また,フォント・サーバーが一括してフォントを管理するため,個々のパソコンごとにフォントを管理するよりも,運用が楽になるというメリットもあります。ただし,セキュリティ上の問題が生ずる可能性があることに注意しましょう。

 例えば,Fedora CoreやVine Linuxでは,デフォルト設定でこのフォント・サーバー(コマンド名はxfsです)が動作しています。例えば,psコマンドの出力をパイプを用いてgrepコマンドに連結し,「xfs」を検索してみましょう。

この出力結果から,プロセス番号1854のxfsが,デーモンとしてバックグラウンドで動作していることが分かります。この例では,1台のパソコン上で,クライアントとフォント・サーバーが協調して動作しながら文字を表示しています*5

「再入門 体で覚えるLinuxの基本」の目次ページはこちらから