## Font HOWTO

Donovan
Rebbechi,

    elflord@panix.com

山下義之
日本語訳

    dica@eurus.dti.ne.jp

v2.0
2002-07-10
dr

あらゆる Linux のフォント問題に対処する際の糸口となるよう、幅広い情報を取りまとめた HOWTO

## はじめに

### 本文書のありか

この文書は筆者の Web サイトに置いてあります。

### 内容・誤字の修正に関するフィードバック

html ファイルは送らないで！　せっかくいただいても、それでは手の打ちようがありません。むしろ sgml ソースに基づいたパッチを送っていただければ幸いです。その場合は、Font-HOWTO.sgml を修正して Font-HOWTO.sgml.new という名前で保存し、以下のように diff プログラムを実行してから、パッチをお送りください。

    	diff -u Font-HOWTO.sgml Font-HOWTO.sgml.new

これなら納得のいく修正はすぐさま簡単に反映できます。また、変更箇所をざっとチェックして、納得がいくかどうか判断するのも簡単です。

### 最終更新

本バージョンは 2002 年 7 月 10 日（水）20:05:15（東部夏時間）に更新されています。最新版は上記の Web サイトで入手してください。

### 著作権

Copyright (c) 2000-2002 by Donovan Rebbechi

本文書はいかなる形式であれ自由に複製および配布（販売・譲渡）していただいて結構です。修正内容やコメントは文書の管理担当者に送付していただきたいところですが、それも義務ではありません。派生文書の作成および配布は、以下の条件を満たしていれば認められます。

- LDP（Linux Documentation Project）ないし同様の組織に宛てて（sgml のように適切な形式の）派生文書を送付し、インターネットで閲覧できるようにすること。LDP に送付しない場合は、文書のありかを LDP に通知すること。

- 本文書と同じライセンス、もしくは GPL を派生文書に適用すること。また、著作権に関する条項を付し、少なくとも適用されるライセンスを明記すること。

- 過去の執筆者および主要な貢献者の功績をしかるべく記載すること。

翻訳以外の派生文書を作成しようと考えている方は、企画内容について現在の管理担当者にご相談ください。

### 本文書の狙い

ここは手短にやっつけましょう (-; この文書の目的は、過去のフォント関連文書がカバーしていない巨大な穴を埋めることです。これまでにも Linux のフォントを題材とする文書は散見されましたが、総合的なものはひとつも見当たらず、割と狭く焦点を絞ったものばかりという感がありました。そこで本文書は、フォントの扱いという問題に画期的なアプローチをかけてみせるのではなく（目新しいネタも盛りこんではありますが）、あらゆる Linux のフォント問題に対処する際の糸口となるよう、幅広い情報を取りまとめることに主眼を置いています。

### 謝辞

数々の有益なアドバイスをくれた Rod Smith には特に感謝。彼は pfm2afm のバグを修正してくれた人物でもあります。また、参考資料として重宝した Font Deuglification HOWTO の著者 Doug Holland、StarOffice を理解するのに役立った文書の著者 John McLaughlin、さまざまなアドバイスや建設的なコメントをくれた Linux コミュニティのみなさんにも謝意を表します。

## いろはの「い」――フォント概論

### フォントの種類

#### ビットマップフォント

ビットマップとは点の集合です。ビットマップフォントもまったく同じように表現できます――点の集合ということですね。それゆえに出力デバイスとは切っても切れぬ関係にあって、特定の解像度で利用することしかできません。75 dpi のビットマップスクリーンフォントは、1200 dpi のプリンタで印刷しようと、やはり 75 dpi なのです。

ビットマップフォントは二種類に大別できます。ひとつはビットマッププリンタフォントで、dvips の作成する pk フォントはその一例です。もうひとつは X やコンソールが利用するビットマップスクリーンフォントで、通常は bdf ないし pcf の拡張子がついています。後者は文字のサイズを変更できず、印刷にも適していないため、そういう短所が問題とならない端末画面やコンソール、あるいはテキストエディタで使用するのが一番です。

#### Type1 フォント

Type1 は Adobe が開発したフォント規格で、Adobe の PostScript 規格に準拠しています。よって Linux との相性もよく、X や Ghostscript が対応しています。PostScript フォントといえば、昔から UNIX で印刷するときの定番フォントですね。

UNIX 向けの Type1 フォントは、afm（adobe font metric）ファイルとアウトラインファイルのセットで配布されるのが普通です。後者はたいてい pfb（printer font binary）ないし pfa（printer font ascii）の形式を取ります。afm ファイルにはメトリクス情報が記録してあり、アウトラインファイルにはすべてのグリフが含まれているという仕組みです。

Type1 フォントの配布形式は、フォントを使用するプラットフォームによって異なることもあります。例えば Windows 向けの PostScript フォントは、メトリックファイルの形式として pfm を使うことが珍しくありません。

#### Type3 フォント

このフォントの配布形式は Type1 の場合と同様で、メトリクス情報を含む afm ファイルと pfa ファイルがセットになっています。ただ、PostScript 規格に準拠しているとはいえ、X が対応していないフォントなので、用途は限定されてしまいます。

#### TrueType フォント

Apple が開発したフォントです。この形式を Microsoft にも使用させることで、Apple はまんまと Adobe の握るフォント市場に食いこみました。TrueType フォントの場合、メトリクス情報と形態の情報はひとつのファイル（たいてい拡張子 ttf のついたもの）に含まれています。最近はこのフォントを X で利用するためのフォントサーバが開発されていますし、PostScript と Ghostscript はしばらく前から対応ずみです。そのため、Linux で TrueType フォントを利用する機会はいよいよ増えています。

#### Type42 フォント

実は TrueType フォントと似たようなもので、付加されたヘッダーによって PostScript フォントへの変換を可能にしてあるという違いしかありません。Ghostscript や SAMBA をはじめ、たいていのアプリケーションではユーザーの目に触れない形で使用されます。もっとも、PostScript プリンタをお使いなら、必要上あえて Type42 フォントのファイルを作成するケースもあることでしょう。

#### Type1 vs TrueType――両者の比較

それぞれの推進派が長年にわたって対立しているとはいえ、Type1 フォントと TrueType フォントには多くの共通点があります。両者はいずれも拡大や縮小の可能なアウトラインフォントです。Type1 フォントの文字は（二次スプライン曲線ではなく）三次ベジェ曲線で描かれます。この方式は TrueType フォントの曲線もすべて表現できますから、理屈の上では多少なりとも優位に立っているわけです。もっとも、実際にはほとんど違いがありません。

ヒンティング処理に優れているという点では、TrueType フォントに分がありそうです（Type1 にもヒンティング機能はあるものの、TrueType ほど充実していない）。しかし、この機能がものを言うのは、コンソール画面のような低解像度の出力デバイスを利用するときだけです（600 dpi のプリンタなら、たとえ極小フォントを扱う場合であろうと、ヒンティング機能の向上が目に見えるほどの効果をあげることはない）。また、きちんとヒンティング処理をほどこされた TrueType フォントがまれであることからも、同フォントの優位性には疑問符がつきます。ヒンティング機能を実現するソフトウェアのパッケージは、大半の弱小デザイン会社の予算をオーバーしているのです。きちんと処理されたフォントを作成できるのは、Monotype のようなごくひと握りの大手ベンダーにかぎられます。

結論を述べてしまうと、TrueType と Type1 の違いは普及度とアプリケーションの対応状況にあるのです。Windows 向けの TrueType フォントが広く普及した結果、Web ページの中には特定の TrueType フォントが利用できることを前提として作られたものもあります。また、Windows のアプリケーションに付属してくるという理由から、多数の TrueType フォントを抱えているユーザーも少なくありません。その一方で Linux のアプリケーションはどうかといえば、Type1 には対応していても TrueType への対応は今ひとつというものがほとんどです。さらに、たいていの大手フォントベンダーは今なお大半のフォントを Type1 形式で配布しています。Adobe などは TrueType フォントをほとんど出荷していません。そこで筆者としては、とにかくお使いのアプリケーションで利用できるフォントを選ぶこと、そしてフォント形式の変換はなるべく避けることをお勧めします（形式の変換には犠牲がつきものですからね）。

#### メタフォント

文書整形システム TeX の一部として Donald E. Knuth が開発したものです。メタフォントは（PostScript と同じく）グラフィクスプログラミング言語で、フォントのみにとどまらない幅広い用途があり、非常に優れた数々の長所を備えています。ごく自然にフォントのサイズを変更できることも、重要な点のひとつでしょう。メタフォントの一種である Computer Modern を例に取れば、20 ポイントのものと 10 ポイントのものでは形状が異なります。小さなフォントは大きなフォントより幅を広く取るほうが望ましいからです（そうしておけば、大きなフォントはより美しく、小さなフォントはより読みやすくなる）。

拡張子は mf となるのが普通です。また、メタフォントは出力デバイスに合わせてビットマップフォントを生成します。作業に時間をかけるだけあって、できあがるフォントは質の高いものになりますが、WYSIWYG 流の組版には必ずしも適していません。

### フォントファミリー

フォントというものは、数種類の異なる書体をセットにした形で配布されるのが普通です。例えばボールド（太字）やイタリック（斜体）、ボールドイタリックといった書体なら、大半のフォントに含まれています。フォントによってはスモールキャップやデミボールドもあることでしょう。あるフォントとその仲間で構成されるグループのことを書体の「ファミリー（フォントファミリー）」といいます。Garamond ファミリーの場合なら、Garamond のほかに Garamond イタリック、Garamond ボールド、Garamond ボールドイタリック、Garamond デミボールド、Garamond デミボールドイタリックという家族構成です。これが Adobe の Garamond Expert だと、さらに Garamond スモールキャップと Garamond 見出しキャピタルも加わります。

## いろはの「ろ」――タイポグラフィー（文字のデザイン）

ここではタイポグラフィーの基礎を取りあげましょう。必修事項というわけではありませんが、興味をそそられるフォント愛好家は多いはずです。

### 書体の分類

#### 等幅 vs プロポーショナル

フォントの分類法はいくつかあります。まずは「等幅」フォントおよびプロポーショナルフォントという分けかたです。等幅フォントとは個々の文字幅が等しいフォントのことで、タイプライターで打った文章のような外見になります。テキストエディタやコンソール画面には適しているものの、長い文書の本文には向いていません。これと対になるのが、文字幅に差があるプロポーショナルフォントです。たいていはこちらを利用するのですが、等幅フォントにも使い道はあります（例えば、マニュアル文書で例として挙げるシェルコマンドを等幅フォントで記述する）。もっとも有名な等幅フォントは Courier でしょう。

#### セリフ――つけるべきか省くべきか、それが問題だ。

セリフ（serif）というのは描線の先端についている小さな鉤のことです。Times Roman のようなフォントの i を例に取るなら、縦棒の両端にある出っ張りがセリフですね。一般的にはセリフフォントのほうがセリフなしフォントより読みやすいと考えられています。セリフフォントは多種多様です。

サンセリフ（sans serif）フォントはこういう鉤がついていないフォントのことで、それだけに見た目があっさりしています。長い書物の本文に使用されることはまずありませんが、ある程度読みやすいサンセリフフォントであれば、斜め読みや走り読みが当たり前の文章（Web ページ、カタログ、販促パンフレットなど）には適しています。また、コンピュータ画面の表示用フォントとしても使えますし、とりわけサイズが小さいときには威力を発揮します。細部まで凝っていないせいで、かえって表示が鮮明になるのです。Microsoft などは、極小サイズでも画面上で読みやすいフォントとして、自社製品の Verdana をさかんに売りこんでいます。

サンセリフフォントの代表格は、Lucida Sans、MS Comic Sans、Verdana、Myriad、Avant Garde、Arial、Century Gothic、Helvetica といったところです。ちなみに Helvetica は一部のタイポグラファーに有害視されています。いささか多用されすぎているため、利用を控えるようユーザーに呼びかけているタイポグラファーの著書も少なくありません。

#### 古きものと新しきもの――セリフフォントいろいろ

##### old style

old style フォントは 15 世紀後半から伝わる由緒正しい書体を踏襲しています。デザインは概して地味で、非常に読みやすいものばかりです。長い文書にはうってつけでしょう。「オールドスタイル」という名称はフォントのスタイルに由来するもので、考案された時代から命名されたわけではありません。old style の定番フォントには、Goudy Old Style をはじめとして、20 世紀に考案されたものもあるのです。old style に分類されるフォントには次のような特徴が見られます。

- くっきりと形よくデザインされたセリフ。

- 斜線の強弱。仮に万年筆でフォントを描くとしたら、左上 45 度の線を太く、右上 45 度の線を細く引くこともできますね。old style フォントの見た目は往々にしてそんな感じです。

- 読みやすさ。old style フォントはほぼ例外なくとても読みやすい。

- 微妙かつ控えめなコントラスト。太い線と細い線があるとはいえ、ウェイト（太さ）のコントラストは微妙であって、あからさまではない。

old style フォントの代表例は、Garamond、Goudy Old Style、Jenson、Caslon といったところです（最後のひとつについては異論もあり、transitional フォントとみなす人もいる）。

##### modern（didone とも呼ばれる）

old style とは対照的なフォントです。old style に比べると概して個性が強く、主義主張を感じさせますから、長文の組版よりは文書の味つけに役立ちます。とはいえ、何事もはっきりと割りきれるものではありません。Computer Modern や Monotype Modern、New Century Schoolbook のように格別の読みやすさを誇る modern フォントもあるのです（ウェイトのコントラストをやわらげることで読みやすくしてある）。modern フォントは 19 世紀以降に普及したデザインをベースにしています。主な特徴は以下のとおりです。

- 控えめなセリフ。細い横線のみであることも多い。

- 縦線の強調。縦線は太く、横線は細い。

- 太い線と細い線を比べた場合、コントラストのはっきりしているものが多い。

- ウェイトのコントラストがきついものは old style フォントほど読みやすくない。

modern フォントの代表格は Bodoni でしょう。ほかには Computer Modern や（Computer Modern の原型となった）Monotype Modern もあります。

##### transitional

transitional フォントは modern と old style の中間に位置づけられます。読みやすさの点では old style に近いものが少なくありません。しかし、デザインはもう少し最近のスタイルに基づいています。modern 寄りの傾向はうかがえるものの、modern よりはずっと微妙な味のあるフォントです。代表例は Times Roman、Utopia、Bulmer、Baskerville といったところ。このうち Times は old style 寄りですが、Bulmer はきわめて modern 風です。

##### slab serif

old style の洗練されたセリフや、modern の一部に見られる細いセリフとは違って、ブロックのような太いセリフがついていることから、slab（厚板）serif の名があります。見た目はえてしてがっちりしており、かなり読みやすいものが大半です。slab serif にはエジプトがらみの名を授かっているもの――Nile、Egyptienne など――がいろいろとあります（実のところ、エジプトとはまったく無関係なのですが）。この種のフォントの強みといえば、（コピー文書や新聞記事など）かすれがちな印刷物を読みやすく仕上げられることでしょう。なにしろ見た目のがっちりしたフォントなのです。代表格は Clarendon や Memphis、Egyptienne といったところで、それ以外にはタイプライター用のフォントが数種。slab serif には等幅フォントが数多く見受けられます。逆に言えば、等幅フォントの大半（ほぼすべて）は slab serif です。

#### サンセリフ革命

意外や意外、サンセリフフォントの台頭は割と最近の出来事です。先陣を切って有名になったものは、いずれも 19 世紀ないし 20 世紀初頭に考案されています。古くからあるのは Grotesque や Futura、Gill Sans といったところです。この三つはそれぞれ、サンセリフフォントの種類である "grotesque" "geometric" "humanist" を代表しています。

##### grotesque

「グロテスク」などと命名されたのは、かなりそっけないデザインが当初はいささか衝撃的だったからです。セリフの欠如とシンプルで無駄のないデザインが相まって、見た目はごくあっさりしています。「眼前に迫りくる」ような外見は見出しにもってこいです。また、コミックや販促パンフレットのように本文の分量が少ないものには、grotesque の中でも読みやすいタイプのものがしっくり来ます。grotesque は geometric ほどお上品には見えません。geometric に比べると、ウェイトに変化がついていて描線の数も多く、（あれほど丸みのある弧を使わないせいで）角ばっています。大文字の G や小文字の a も geometric とは別物です。ミニマリズム的なところがあるとはいえ、無謀なまでに前衛的な geometric ほど極端に走っているわけではありません。

grotesque の代表例としては、使われすぎの Helvetica をはじめ、Grotesque、Arial、Franklin Gothic、Univers があります。

##### geometric

Futura は「形は機能に応じて決まる」という主張を掲げて登場しました。geometric フォントは見るからにミニマリズム的です。主な特徴としては、均一な線の太さ（ウェイトの欠如）が挙げられます。この一面がとりわけはっきりうかがえるのはボールド体で、grotesque や humanist のボールド体ではよくウェイトに変化をつけてありますが、geometric ではめったに変化が見られません。また、デザインに見てとれる正真正銘のミニマリズムも特筆すべき点でしょう。文字はほぼ例外なく、縦横の直線および（しばしばコンパスで描いたように見えるほど）丸みを帯びた弧で構成されています。使われている線の数も最小限でしかありません。のちにモダンアート界を席巻するミニマリズム思想に忠実なせいで、いかにも現代的な外見です。geometric フォントのトレードマークは大文字の G で、二本の描線――湾曲のきつい長めの弧と横線――がミニマリズム流にあしらわれています。もうひとつ目立つのは小文字の a で、縦の直線に円がひとつと、これまた二本のシンプルな線で描かれたものです（別にもうひとつある a の文字は複雑すぎるせいで使用されない）。geometric フォントの代表例としては、Avant Garde や Futura、Century Gothic があります。

##### humanist

名前から察しがつくかもしれませんが、humanist フォントはあまり無機質でない外観をめざしてデザインされました。grotesque や geometric に比べれば、セリフフォントに似た特徴の多いフォントです。見た目は「ペンで描いた」ようだと言われています。微妙にウェイトの異なる描線をあしらってあるのが特徴で、ことにボールド体ではその傾向が顕著です。曲線の部分は geometric よりずっと柔軟性を備えています。しばしば humanist フォントの目印となるのは、「二階建て」になっている小文字の g で、セリフフォントの old style に使われている g と同じ形をしています。humanist は比較的 old style と相性がいいので、文書の体裁を損ないたくなければ、一番手頃なフォントです。

#### 書体の相性

書体を配置するのは容易なことではありませんから、同じページに多くの種類を使いすぎるのは避けるほうが得策です。書体をふたつ選ぶとしたら、セリフフォントとサンセリフフォントをひとつずつにするのが妥当でしょう。Monotype の Typography 101 ページでは、分類別の組み合わせが論じられています。それによれば modern と geometric は相性がよく、old style と humanist もよくなじむそうです。humanist は transitional とも釣り合います。また、slab serif は grotesque と合うし、ものによっては geometric や humanist とも調和するとか。

ここまで読めば、Monotype の基本的な方針はだいたい理解できますね。割と地味なセリフフォントはごく普通のサンセリフフォントと組み合わせていますし、派手なセリフフォントの modern は「アヴァンギャルド」な雰囲気の geometric と対にしているわけです。

### 合字、スモールキャップフォント、エキスパートフォント

#### 合字

文字間のスペース設定にはありとあらゆる問題がつきものです。例えば fi の二文字をきちんと組むには、f と i をごく近くまで接近させる必要がある。ところが、いざそうすると i の点は f に接触してしまうし、縦棒の上端についているセリフは f の横棒とぶつかってしまう――。この問題を解決するため、フォントのセットには合字というものが収録されています。例えば fi の合字は一文字として扱われ、fi という二文字の代わりに使用できるのです。たいていのフォントには fi と fl の合字が含まれています。また、後述するエキスパートフォントには、ffl や ffi といった合字や、点のない i が追加されていることもよくあります。

#### スモールキャップ（スモールキャピタル）フォント

スモールキャップフォントというのは、小文字の代用品となる縮小された大文字のことです。これは強調すべき見出しを書くときに重宝します（LaTeX でよく使われる）。スモールキャップで見出しを書くときは、各語の先頭に通常の大文字を用い、残りの文字にスモールキャップを当てるのが一般的です（この場合は「タイトル文字」と呼ばれる）。こうしておくと、通常の大文字を羅列するよりずっと読みやすくなるという利点があります（組版の観点から言えば、大文字ずくめは御法度なのです）。

#### エキスパートフォント

エキスパートフォントは書体を補完するオマケのセットです。合字や装飾文字（書体に付属する小さな飾り罫一式のようなもの）、スモールキャップフォント、スワッシュキャピタル（派手に飾りたてられた巻きひげ文字）などが含まれます。

### メトリクスと形態

プロポーショナルフォントの字間はメトリクス情報によって定義されます。メトリクスに含まれているのは、フォントのサイズに関する情報と「カーニング」情報で、後者によって設定されるのがカーニングペア――特殊な字間を取るよう定められている文字の組み合わせです。例えば To という二文字を並べる場合、字間スペースの設定として適切なのは o の一部が T の傘にもぐりこんでしまうような配置ですから、To はたいていカーニングペアに指定されているわけです。LaTeX のような文書整形プログラムが行やページの区切りを決めるには、カーニング情報を読みこむ必要があります。WYSIWYG 流の組版プログラムでも同じことです。

フォントを定義する要素としてもうひとつ重要なのは、フォントの輪郭、すなわち形態です。フォントの形を決める各要素（一画一画の描線、強調部分など）は「グリフ」と呼ばれます。

## X でフォントを使う

X にフォントを追加する方法はさまざまです。まず、XFree86 には「フォントパス」というものがあり、フォントを探しに行く先のディレクトリや「フォントサーバ」が列挙されています。フォントサーバというのは XFree86 でフォントを利用するためのバックグラウンドプロセスに過ぎません。その強みは、リモートのディスプレイにもフォントを送れることです。

最近では xfs（そのものずばり "X font server"）にパッチが当てられ、TrueType フォントの使用や単独のプログラムとしての実行が可能になりました。パッチの当たったバージョンは RedHat 系のディストリビューションに同梱されていますし、XFree86 4.0 以降にも収録されています。実のところ、xfs は XFree86 付属の標準フォントサーバそのもので、ソースコードは XFree86 のソースツリーに含まれています。ところが最近のディストリビューションには、単独で走らせることの可能なバージョンが同梱されているのです。パッチのおかげで TrueType フォントを扱えるようになった単独プログラムの X フォントサーバこそ、フォント対策としては現時点で最高の選択と言えるでしょう（TrueType フォントは xfsft というフォントサーバを通じて利用される）。その長所は以下のとおり。

- Type1 や TrueType、ビットマップなど、さまざまなフォントに対応している。

- リモートのディスプレイにフォントを送れる。

- フォントパスの編集をぐっと手軽にしてくれる――xfs があれば、もはや設定ファイルを書き換える必要はなく、chkfontpath というコマンドラインのユーティリティで設定できるのです。これならユーザーが楽をできるばかりか、パッケージ作成時の安全性確保やスクリプト活用も容易になります。

ディストリビューションが違えば設定も違ってきますから、なんでも一概に論じることはできません。ユーザーの環境は三つのグループに分類できます。

- 単独の xfs がインストールしてあり、TrueType フォントに対応するためのパッチも当ててあるケース。ここに分類されるのは、RedHat をはじめ、Mandrake や TurboLinux といった RedHat 系のディストリビューションです。Debian 3.0 にもパッチの当たった xfs が同梱されることになっています（現在テスト中）。このグループの場合は TrueType も Type1 も xfs を通じてインストールするのがもっとも賢明なやりかたでしょう。

- 単独の xfs はインストールしてあるが TrueType フォントには対応していないというケースも、ディストリビューションによってはありえます。XFree86 で TrueType がサポートされているのは 4.0 以降のバージョンに限られます。ここに分類されるのは Debian の安定版（"potato"）です。この場合は Type1 フォントのインストールに xfs、TrueType フォントのインストールに xfstt を使うのがベストでしょう。Debian に TrueType フォントをインストールする際の詳細については、TrueType Fonts in Debian mini-HOWTO を参照してもよいでしょう。

- さらに xfs がインストールされていないケース。この環境で Type1 フォントをインストールするには、XFree86 のパスにフォントを追加してから xset を利用することになります。また、TrueType フォントのインストールはどうかというと、XFree86 4.x では X フォントパスへの追加という方法を取れますが、XFree86 3.x では xfstt を使う必要があります。

### フォントパス

XFree86 がフォントを探しだすときは、フォントのあるディレクトリ（ないしサーバ――詳細は後述）をリストアップしたもの、すなわち「フォントパス」をたどります。アプリケーションがフォントを要求すると、XFree86 はフォントパスに含まれるディレクトリをひとつずつ捜索し、要求されたフォントを見つけてくるわけです。フォントを使うにはフォントパスを設定する必要があります。フォントパスにディレクトリを追加するときは、以下のコマンドを実行してください。

    	xset fp+ ディレクトリのパス

その後は次のコマンドを入力し、利用できるフォントを X サーバに再認識させます。

    	xset fp rehash

これらのコマンドは自動的に実行したいところでしょうから、自分の .xinitrc ファイルに記入してしまいましょう（X の起動法によっては .Xclients ないし .xsession に記入すべき場合もある。三ファイルのうちふたつをシンボリックリンクにしてしまい、残るひとつをリンク先にすれば、面倒が避けられて便利）。また、コマンドを自動的に実行するには XF86Config を編集する方法もあります。X の起動時に /usr/share/fonts/myfonts をフォントパスに追加するなら、XF86Config に次のような記述を書き足すわけです。

    	...
    	Section "Files"
    	...

    	FontPath /usr/share/fonts/myfonts
    	...
    	EndSection
    	...

XF86Config を編集する方法の利点は、設定の変更がシステム全体に反映されることでしょう。

### Type1 フォントのインストール

#### type1inst の実行

X で Type1 フォントを使うには type1inst というユーティリティの助けを借りるのが一番お手軽です。これは Perl スクリプトで、同フォントの利用に必要なふたつのファイル、fonts.dir と fonts.scale を自動的に作成します。フォントのあるディレクトリに移動したら、あとは type1inst を実行するだけです。

    	cd ディレクトリのパス
    	type1inst

#### xfs パッケージがある場合

つづいてはフォントをフォントパスに追加します。単独プログラムの xfs（ 参照）がすでに起動している状態なら、xfs の設定ファイルを編集してください。RedHat をお使いなら chkfontpath を実行するだけでかまいません。コマンドの形式は「chkfontpath --add ディレクトリのパス」となります。

あとは xfs の再起動か、SIGHUP を送ることによる再読みこみを通じて、X でフォントを使えるようになるはずです。場合によっては xset fp rehash を実行する必要もあります。

#### xfs パッケージがない場合

先述したとおり、新規フォントのあるディレクトリをフォントパスに追加する必要があります。

### TrueType フォント

TrueType フォントを追加するには、同フォントを扱えるフォントサーバが必要ですから、手順はやや面倒になります。こうしたフォントサーバとして挙げられるのは xfstt と xfs です。

xfstt は TrueType 専用のフォントサーバです。設定しやすく、なかなか便利なのですが、普及度の面では xfs に水をあけられているようですね。xfs のほうが優れている点といえば、Type1 と TrueType の両方に対応していることでしょう。

#### xfstt

ダウンロードした xfstt をインストールすれば、セットアップはおしまいです。インストールがすんだら、以下の手順に従ってください。

1. 適切なディレクトリにフォントをインストール（パッケージの付属文書に目を通すこと）。

2. そのディレクトリに移動して xfstt --sync を実行。これによって xfstt はフォントを探しだし、fonts.dir ファイルを作成する。

3. フォントパスに「unix/:7100」の文字列を追加。

   訳注：xfs との衝突を避けるため、xfstt 0.9.99 以降ではポート番号が 7100 から 7101 に変更されています。また、フォントを使うには xfstt をバックグラウンドで起動しておかなければなりません。詳しくは xfstt の付属文書をご覧ください。

ここまで来れば、追加した TrueType フォントは表示可能となり、GIMP や Netscape といったアプリケーションで利用できるようになっているはずです。xfstt はシステムの起動時に必ず起動するよう設定しておくほうがいいかもしれません。起動ファイルがパッケージに含まれているかどうか確認してください（RPM を利用しているなら、rpm -ql xfstt | grep init を実行し、/etc/rc.d/init.d/xfstt というような名前のファイルを探せばよい）。起動用のスクリプトが見つからない場合は、/etc/rc.local にこんな感じの二行を追記するだけで結構です。

    	/usr/X11R6/bin/xfstt --sync
    	/usr/X11R6/bin/xfstt &

### xfs

最近のディストリビューションは、X 用フォントサーバの xfs を単独実行の可能なプログラムとして同梱していることもあります。注目すべきは RedHat 系のディストリビューションで、このようにモジュール化された xfs はコンパイル時から TrueType フォントに対応しています。Debian にも xfs は収録されていますが、TrueType のサポートが組みこまれているのはテスト版（"woody"）だけで、安定版（"potato"）は未対応です。

独立したサーバとして動かせるタイプの xfs には数々の利点がありますし、コンパイルの時点で TrueType のサポート機能が組みこまれていればなおさらです。最大の長所はといえば、もはや X サーバから切り離されているため、リモートのディスプレイにもフォントを表示できるということでしょう。また、フォントパスの編集もずいぶん楽になります。

#### xfs のパス

フォントサーバの xfs 自体にもフォントパスがあります。と言ったら、だからどうなんだと思われるかもしれませんね。どういうことができるかというと――XFree86 のフォントパスに「unix/:ポート番号」という記述を追加することで、このフォントパスにフォントサーバ xfs を組みこめるわけです。いったんそうしてしまえば、xfs のフォントパスに含まれるフォントはすべて XFree86 で利用できるようになります。

xfs のフォントパスを定義するのは xfs の設定ファイルで、RedHat なら /etc/X11/fs/config、Debian なら /etc/X11/xfs/config に相当します。RedHat をお使いなら、直接このファイルを編集する必要はなく、chkfontpath ユーティリティを利用できます。コマンドの書式はあっさりしたものです。

    	chkfontpath --add ディレクトリのパス

ほかのディストリビューションの場合は、こんな具合に設定ファイルを編集すれば OK です。

    	catalogue = /usr/X11R6/lib/X11/fonts/misc:unscaled,
    	...
    	/usr/share/fonts/my_new_fonts/,
    	...
    	/usr/share/fonts/some_other_directory
    	# サイズを 12 ポイントにするには 12×10
    	default-point-size = 120
    	...

上記の例では /usr/share/fonts/my_new_fonts/ を xfs のフォントパスに追加しています。注意してほしいのはディレクトリを列挙した部分の最終行にカンマがついていないことです。こうして変更したフォントパスを有効にするには、xfs に設定を読みこませる必要がありますので、/etc/init.d/xfs reload を実行するか、あるいは kill -HUP [pid] ないし killall -HUP xfs で SIGHUP を送ってください。代わりに xfs を再起動してもかまいませんが、その場合は X も再起動させるほうがよいでしょう。

#### xfs にフォントをインストールする

xfs 向けにフォントを用意するときは、以下の手順を踏むことになります。

- xfs がインストールされていない場合は、まずインストール。

- 追加するフォントをディレクトリに格納。

- Type1 フォントをインストールするときは、そのディレクトリで type1inst を実行してから、xfs にディレクトリを認識させる。

- TrueType フォントをインストールするときは（ディストリビューションによっては xfs で TrueType を扱えないことに注意！）、新規フォントのあるディレクトリで以下のコマンドを実行し、xfs にディレクトリを認識させる。

      	ttmkfdir -o fonts.scale
      	mkfontdir

  フォント格納用に新規ディレクトリを作成した場合は、fonts.scale をコピーして fonts.dir の名で保存するか、あるいはシンボリックリンクを張る必要があるかもしれない。ttmkfdir は FreeType というパッケージの付属プログラム。

- この時点で新しいディレクトリを xfs のサーチパスに追加できる。RedHat 系のユーザーは chkfontpath ユーティリティを使えばよい。その他のユーザーは xfs の設定ファイルを編集すること。

- xfs がインストールずみなら、どのポートで動作しているか確認すべき。それには次のコマンドを実行する。

      	ps ax | grep xfs

- 次いで XFree86 のフォントパスを確認。

      	xset -q

- 「unix/:ポート番号」という感じの文字列がフォントパスに含まれている場合、「ポート番号」はフォントサーバの動作するポートを意味しており、すでに xfs はきちんとセットアップされていることになる。そうでない場合は xfs を XFree86 のフォントパスに追加すること。

      	xset fp+ unix/:ポート番号
      	xset fp rehash

  先述したとおり、各ユーザーの .xinitrc を編集すれば、xfs を常に XFree86 のフォントパスに組みこんでおける。システム全体でそうするときは XF86Config ファイル（おそらく /etc/X11/XF86Config、/etc/XF86Config、/usr/X11R6/lib/X11/XF86Config のいずれか）を編集すること。"Files" のセクションに FontPath "unix/:ポート番号" の一行を追記すればよい。以下に一例を挙げておく。

      	...
      	Section "Files"
      	...

      	FontPath "unix/:-1"
      	...
      	EndSection
      	...

- xfs がきちんとインストールしてあれば、上述の再読み込みや再起動は次のコマンドで可能になる。

      	/etc/rc.d/init.d/xfs restart

- xfs を再起動したあとは X を再起動するとよい。

## Ghostscript でフォントを使う

Ghostscript でフォントを利用するには、そのフォントに対応するファイルのありかを Ghostscript に教えてやるだけのことです。そのためには /usr/share/ghostscript/version/Fontmap を編集します。フォーマットはごく単純ですから、ざっと目を通すだけですぐにも理解できるでしょう。

### Type1 フォント

Type1 フォントは簡単に追加できます。フォントのあるディレクトリで type1inst を実行してください。type1inst は Fontmap という名前のファイルを出力します。このファイルの内容を Ghostscript が使う Fontmap ファイルの最後に追記しましょう。

### TrueType フォント

TrueType フォントの追加はやや面倒で、まずフォント名を調べなければなりません。その手段としては（強引な力技ですが）、TrueType フォントを Type1 フォントに変換するプログラム ttf2pt1 を用いて、afm ファイルからフォント名を取得するという手があります（もっと効率のいい方法があるはずなのに！　まあ、みっともないやりかたではあっても、うまくいくことは確かなのですが）。こんなふうにコマンドを実行してください。

    	ttf2pt1 -A フォントのファイル名 - 2> /dev/null | grep FontName

そのあと、Ghostscript の Fontmap ファイルにエントリを追加します。以下は正しい書式の一例です。

    	xxx-font	(/usr/share/fonts/subdirectory/xxxfont.ttf);

さて、これはこれでいいのですが、500 やそこらのフォントをこの方法で処理するとなったら大変ですね。そういうときはちょっとした Perl スクリプトの出番です。

    #!/usr/bin/perl
    # ttfontmap -- TrueType フォント用の Fontmap ファイルを生成
    my $directory=shift || print STDERR "Usage: ttfontmap {directory}\n";

    $directory=~s/\/$//;

    for my $fontname ( glob ( "$directory/*.ttf" ) )
    {
        open ( R, "sh -c \"ttf2pt1 -A $fontname - 2>/dev/null\" |" );
        while ( <R> )
        {
            if ( $_ =~ /^FontName/ )
            {
                s/^FontName\s*//;
                chomp;
                print "/" .  $_ . "    ($fontname);\n" ;
            }
        }
        close R;
    }

このスクリプトは ダウンロードできます。

カット & ペーストした内容を ttfontmap という名前で保存し、そのファイルをパスの通っているところ（例えば /usr/bin）に格納すれば、スクリプトのセットアップは完了です。以下のように実行してください。

    	ttfontmap ディレクトリ > 出力ファイル名

「ディレクトリ」の部分にはフォントのあるディレクトリのパスを入力します。作成された出力ファイルの内容を Ghostscript の Fontmap に追加すればよいわけです。

注意：「ttfontmap ディレクトリ >> /usr/share/ghostscript/version/Fontmap」とすればいいじゃないか、と思う方もいらっしゃることでしょう。しかし、これはお勧めできません（>> と入力すべきところを > としたらどうなることか……）。

### Ghostscript でフォントをプレビューする

Ghostscript で使えるようになったフォントはプレビューできます。Ghostscript パッケージに含まれている prfont.ps というファイルを読みこませる形で Ghostscript インタープリタを起動してから、

    	/フォント名 DoFont

と入力してください（「フォント名」には見たいフォントの Ghostscript 用フォント名を指定）。gs を呼び出す手段はほかにもいくつかあります。一例として、gv のようにもっと気のきいた PostScript ビューアで見られる PostScript ファイルを作成したければ、

    	gs -sDEVICE=pswrite -sOutputFile=xxxxxx.ps  prfont.ps

とすることができます。こうしておけば、出力ファイルを印刷することもできます。

## TrueType を Type1 に変換する

### そんなことをしてどうするの？

いや、むしろ「それをやらなくてどうするの！」と言うべきかもしれません。Linux のユーザーといえば Windows からの乗り換え組が主流ですから、たいていは大量の TrueType フォントを所有しているはずです。この中にはかなり質の高いフォントがたくさんあります（例えば MS Word や Corel の製品に付属するもの）。しかし、Linux のアプリケーションの中には、Type1 フォントなら OK なのに TrueType フォントには未対応、というものがあるのです（StarOffice や LaTeX など）。ここで最新情報――StarOffice は TrueType フォントを扱えるようですが、詳細は今なお調査中。扱えるとしてもかなり高度な技術が要求されます。残念なことではありませんか。Ghostscript は TrueType に対応していますし、TrueType 用のフォントサーバもあるのですから、Linux で TrueType フォントを扱う基盤はすでにできているのに……。

### どうやるの？

TrueType フォントを Type1 フォントに変換するには、http://ttf2pt1.sourceforge.net/ で ttf2pt1 を入手してください。コマンドの書式はこんな感じになります。

    	ttf2pt1 -b xxxx.ttf ファイル名

「ファイル名」は新たに作成する Type1 フォントのファイル名です（つまり自由に命名できます。ttf2pt1 -b foo.ttf foo という具合に、ttf ファイルと同じ名前をつけるのがいいでしょう）。

ま、フォントがひとつならこれでよし。たくさんあるなら、もっと気のきいたやりかたが必要です。単純にループで処理することもできます。

    	for X in *.ttf; do ttf2pt1 -b $X ${X%%.ttf}; done

あるいは ttfutils パッケージをダウンロードして、ttf2type1 で変換するという手もあります。

    	ttf2type1 *.ttf

## WYSIWYG 流の組版とフォント

### 前置きと概要

WYSIWYG 流の組版で使用するフォントを Linux にインストールするのは、かなり複雑な作業です。通常は三つの手順を踏むことになります。

- フォントを X サーバで利用できるようにする

- フォントを Ghostscript で利用できるようにする

- フォントを組版プログラムで利用できるようにする

こうも複雑になる最大の理由は、フォントを印刷する仕組み（Ghostscript）と画面に表示する仕組みが互いに無関係なことです。言わば Linux の右手と左手はてんでばらばらに動いていることになります。印刷用フォントと表示用フォントが別のマシンに入っている場合もあり、X クライアントの利用するフォントがすべて印刷できるとはかぎらないのですから、ちょっとやそっとのことで一件落着とはいきません。

ありがたいことに、大半の WYSIWYG 流アプリケーションにはこの問題をうまく解決する機能が組み込まれています。解決策の内容としては、なんらかのメカニズムを通じて画面表示用のフォントを印刷用フォントに関連づけることが挙げられます（これが主題。ほかに解決すべき問題として、ボールド、イタリック、ローマンといった書体をフォントの「ファミリー」としてまとめる必要もある）。ただし、あいにく標準となるような方法はありません。標準的なフォント管理システムでこの問題に対処できれば、あらゆるアプリケーションが（アプリ固有の設定ではなく）システム全体に共通する設定を利用できるのですから、WYSIWYG 流の組版プログラムにフォントをインストールする手間がぐっと省けるはずなのに……。

### Applixware

Applixware にフォントをインストールする方法はふた通りあります。Applixware「専用の」フォントサーバ、FontTastic を利用するやりかたがひとつ。そしてもうひとつは、Applixware のフォントマップを編集し、もともとシステムにインストールされているフォントを使うやりかたです。前者のほうが手軽ですが、このやりかたでインストールされたフォントは 300 dpi で印刷することしかできない場合もあります。

#### FontTastic

楽をするには FontTastic を使うことです。以下の手順に従うだけで、新たにフォントをインストールできます。

1. root になって Applixware を起動。

2. "Tools" メニューをクリック。

3. "Font Installer" を選択。

4. ポップアップダイアログの "OK" をチェック。

5. "Catalogs" メニューをクリックして "Create" を選択。

6. 「カタログ名」のボックスにフォント名を入力。どんな名前でもかまわない。ここでは仮に "foobar" とする。

7. カタログ操作リストから foobar のカタログを選択。

8. "Services" メニューから "Install fonts into -> FontTastic font server" を選択。

9. カタログリストのうち、foobar のカタログが選択されていることを確認してから、"Select files" ボタンをクリック。

10. "Select files" のダイアログからインストールしたいフォントを選択。ファイルを選択したら "OK" を押す。例えば /usr/share/fonts/ttfonts/ ディレクトリの arial.ttf を選択したい場合は、"Current Directory" のダイアログに /usr/share/fonts/ttfonts と入力し、ファイルのダイアログボックスで arial.ttf を選択してから "OK" をクリックする。複数のファイルを選択することも可能だが、いずれも同じディレクトリにあるフォントでなければならない。

11. リストを編集することも可能。その場合は、リストボックスのフォントを確認して、削除ないし改名する。

12. 準備ができたら "Install fonts" をクリック。さらに "OK" をクリックする。

13. "Services" メニューの "Update" を選択。しつこく表示されるダイアログの "OK" をチェックしてから "Services" メニューを閉じる。さらに Applixware も終了。

14. おめでとう、終了です！　Applixware を再起動すれば追加したフォントが使えます。

#### システムのフォントを Applixware で使う

こちらのほうが設定は複雑ですが、結果はさらに良好です。本当に重要でひんぱんに使うフォントは、この方法で処理することをお勧めします。手順は数段階に分けられます。

##### フォントを X で利用できるようにする

この説明は にあります。

##### フォントを Ghostscript で利用できるようにする

この説明は にあります。

##### fontmap.dir を編集する

この最終段階をクリアすれば、Applixware でフォントを使えるようになりますが、この作業にはとりわけ時間がかかります。fontmap.dir ファイルは、Applixware をインストールした場所のサブディレクトリ axdata/fontmetrics にあります。この作業の基本的な目的は、スクリーンフォントとアウトラインフォントの対応関係を Applixware に教えてやることです。スクリーンフォントが Applixware と同じマシンにインストールされているとはかぎりませんから、通常はかなり厄介な作業になります。

以下は fontmap.dir にフォントを追加する方法です。この例では Baskerville イタリックを追加することにします。

1. まず次の一行を追記しましょう。

       	FontRecord = Baskerville-Normal-Italic

   実のところ、FontRecord のエントリにはどんなフォント名を記入してもかまいません。ただし、各エントリとフォントは一対一で対応する必要があります。というわけで、Ghostscript の使用するフォント名がお勧めです。

2. 続いて記入するのは次の一行です。

       	Family = Baskerville

   フォントファミリーの名前としては、Applixware のフォント選択メニューに表示されるものを入力します。ボールドやイタリック、ローマン、ボールドイタリックといった書体は、通常なら同じファミリーに分類されますから、フォントファミリー名とフォントは一対一の対応にならないのが普通です。

3. ボールドやイタリック、ボールドイタリックの場合は、さらに記述を追加します。イタリックなら

       	Slant = 1

   そしてボールドなら

       	Weight = 1

   という具合です。ボールドイタリックのときは二行とも記入します。この例では Slant = 1 だけでかまいません。

4. さらに次のような一行を追加します。

       	ScreenName = "-paradise-baskerville-medium-i-normal--0-0-0-0-p-0-iso8859-1"

   「スクリーンネーム」とは、X サーバが使用するフォント名のことです。以下のコマンドを実行すれば、文字列 "bask" を含むフォント名が一気に取得できます。

       	xlsfonts | grep -i bask

5. 今度はプリンタフォントの名前を記入しましょう。

       	PostScriptPrinterName = Baskerville-Normal-Italic

6. 次いでフォントメトリックファイルとアウトラインファイルの格納されている場所を指定する必要があります。

       	MetricsFile = /usr/share/fonts/misc/baskvli.afm
       	Type1FontFileName = /usr/share/fonts/misc/baskvli.pfb

   追加するのが TrueType フォントなら、ttf2pt1 で afm ファイルを生成できます（代わりに ttfutils パッケージを入手して ttf2afm を使用してもよい）。

       	ttf2pt1 -A foo.ttf - > foo.afm

   それから以下のように記述してください。

       	MetricsFile = /usr/share/fonts/misc/foo.afm

   Type1FontFileName エントリは指定しないでください。この件は Ghostscript にまかせましょう。

以上です。同じファミリーに属するフォントをすべて追加すると、ファイルの内容はこんな感じになります。

    	FontRecord = Baskerville-Normal
    	Family = Baskerville
    	ScreenName = "-paradise-baskerville-medium-r-normal--0-0-0-0-p-0-iso8859-1"
    	PostScriptPrintName = Baskerville-Normal
    	MetricsFile = /usr/share/fonts/misc/baskvl.afm
    	Type1FontFileName = /usr/share/fonts/misc/baskvl.pfb

    	FontRecord = Baskerville-Normal-Italic
    	Family = Baskerville
    	Slant = 1
    	ScreenName = "-paradise-baskerville-medium-i-normal--0-0-0-0-p-0-iso8859-1"
    	PostScriptPrintName = Baskerville-Normal-Italic
    	MetricsFile = /usr/share/fonts/misc/baskvli.afm
    	Type1FontFileName = /usr/share/fonts/misc/baskvli.pfb

    	FontRecord = Baskerville-Bold
    	Family = Baskerville
    	Weight = 1
    	ScreenName = "-paradise-baskerville-bold-r-normal--0-0-0-0-p-0-iso8859-1"
    	PostScriptPrintName = Baskerville-Bold
    	MetricsFile = /usr/share/fonts/misc/baskvlb.afm
    	Type1FontFileName = /usr/share/fonts/misc/baskvlb.pfb

    	FontRecord = Baskerville-Bold-Italic
    	Family = Baskerville
    	Weight = 1
    	Slant = 1
    	ScreenName = "-paradise-baskerville-bold-i-normal--0-0-0-0-p-0-iso8859-1"
    	PostScriptPrintName = Baskerville-Bold-Italic
    	MetricsFile = /usr/share/fonts/misc/baskvlbi.afm
    	Type1FontFileName = /usr/share/fonts/misc/baskvlbi.pfb

このファイルではさらに詳細な設定が可能です。設定時のフォーマットは、当のファイルに記載されている「キーワード一覧（glossary）」で説明してあります。

### StarOffice

ここでは StarOffice 5.0 を取りあげましょう。StarOffice 5.1 でも手順は似たようなものですが、ユーティリティの名が psetup ではなく spadmin になっています。 まず特筆すべきは John McLaughlin のページです。この問題の情報源として優れていますし、以下に続く説明の大半は同ページにヒントを得て執筆したものです。

筆者が StarOffice 5.0 と 5.1 の両方を使ってみたところ、5.1 では新規フォントの追加に伴う苦労が軽減されているという印象を受けました。TrueType フォントの追加が 5.0 では難航しましたが、5.1 ではいくらか容易になったようです。

#### 事前に設定をバックアップすべし！

うっかり設定をふいにしたときのため、バックアップを取っておくほうが賢明です。フォント設定の変更は、xp3 ディレクトリ内の数ファイルに影響をおよぼします。xp3/psstd.fonts ファイルのバックアップは必須でしょう。筆者としては、それだけでなく xp3 ディレクトリを丸ごと保存するようお勧めします。バックアップファイルを作成するには、StarOffice のディレクトリへ移動したのち、次のコマンドを使用します。

    	tar cvzf xp3.tgz xp3

復元するときは、xp3 ディレクトリを削除してから、アーカイブを展開してください。

    	rm -rf xp3
    	tar xvzf xp3.tgz

#### Type1 フォントを StarOffice に追加する

StarOffice に Type1 フォントを追加するのは、割と単純な作業です。お手持ちの TrueType フォントを StarOffice 5.0 で使いたければ、まず Type1 フォントに変換してから、ここで説明する手順に従うのが一番でしょう。StarOffice 5.1 をお使いなら、同じ手順で TrueType フォントをそのままインストールしたいところかもしれませんね（ただし、その場合はやや難易度がアップ）。 まずはお定まりのステップです――X と Ghostscript の両方でフォントが使えるようにしてください。それがすんだら、psetup ツールでフォントを StarOffice にインストールします。手順は以下のとおり。

1. root になって psetup を実行（StarOffice 5.1 の場合は spadmin を実行）。

2. "Add fonts" ボタンをクリック。

3. ここでもっとも手軽なのは "Initialize font paths" ボタンをクリックすることです。これにより、X のフォントパスに含まれているフォントがすべてリストボックスに表示されます。

4. インストールしたいフォント（ボックスに表示されているはず）の格納されているディレクトリを選択してから "OK" をクリック。

5. "Convert all font metrics" ボタンをクリック。

以上です。作業は完了しました。StarOffice を終了してかまいません（あるいは終了するまで "OK" をクリックする）。StarOffice を再起動したときには、追加したフォントが使えるようになっています。

#### TrueType フォントを StarOffice に追加する

StarOffice に TrueType フォントを追加するのは大変ですが、不可能ではありません。長時間にわたって John McLaughlin のページを熟読し、苦心を重ねた結果、とうとう筆者は StarOffice 5.1 で TrueType フォントを使うことに成功しました。5.0 ではうまくいきませんので注意してください。以下の手法は Ghostscript で印刷している方に適しています。

- まず X でフォントが使えるようにします。

- 次いで Ghostscript でフォントが使えるようにします。

- 追加したいフォントの afm ファイルが必要です。次のコマンドで作成してください。

      	ttf2pt1 -A foo.ttf - > foo.afm

- そうでなければ、ttfutils パッケージを入手して ttf2afm を使うという手もあります。こちらの利点は複数のフォントを一度に処理できることです。例えばこんな感じ。

      	ttf2afm *.ttf

- StarOffice では、各 ttf ファイルに対応する pfb ファイルが必要です。これは次のコマンドで作成できます。

      	touch foo.pfb

  実はこのファイル、印刷時に使われるだけです。しかも PPD ファイルにフォントを追記すれば、StarOffice はそのフォントがプリンタ内にあると思いこみますから（実際は Ghostscript の変換システムに取りこまれている）、pfb ファイルを実際に使用する必要はなくなります。とにかく pfb ファイルが存在していれば、フォントのインストールには事足りるようです。

- ここまで来れば、spadmin を実行してフォントをインストールできます。

- さて、今度はプリンタの設定と対応関係にある PPD ファイルにフォントを追加しましょう。ここで用いるフォント名というのは、StarOffice で使われる名前であって、Ghostscript 向けのフォント名ではありません。例えばフォントのファイルが foobar.ttf で、対応する afm ファイルが foobar.afm なら、PPD ファイルには "foobar" というフォント名を記入します。こんな感じの記述になるはずです。

      	*Font cloistrk: Standard "(001.002)" Standard ROM

一方、印刷時に Ghostscript を使用しないケースでは、別の問題に対処する必要が生じます。この場合、StarOffice をだましてプリンタ内にフォントが存在していると思いこませるのはご法度です。プリンタの ROM にはフォントが読みこまれていませんから、gv による PostScript ファイルの表示が美しくても、プリンタで印刷することはできません。PostScript プリンタをお使いなら、主な相違点は以下のとおりです。

- PPD ファイルは編集しない。

- 先ほどは touch foo.pfb というコマンドで空の pfb ファイルを作成しましたが、今度は Type42 PostScript フォントを生成するために pfb ファイルが必要になります。Type42 フォントの実体は「TrueType のプリンタフォント」です。大半のアプリケーションでは人知れず密かに使用されるため、その存在をユーザーが意識することはありません。Type42 フォントのファイルを作成するには ttfps を使います。

      	ttfps foo.ttf foo.pfb

難点をいくつか。StarOffice では時として望みのスクリーンフォントを使ってもらえないことがあります。ときどき xp3/psstd.fonts を確認し、意図どおりの表示用フォントが本当に使われるよう、必要に応じて同ファイルを編集するのもよいでしょう。また、StarOffice は設定上の問題を巧みに処理してくれません。設定に不備があれば、付属のワードプロセッサを起動することさえできない場合もあります。だからこそ、xp3 ディレクトリのバックアップが欠かせないのです。

#### 実際に起こっていること

StarOffice に TrueType フォントをインストールするつもりなら、StarOffice の動作を理解しておく必要があるかもしれません。spadmin や psetup を実行したときの流れは以下のようになります。

- xp3/pssoftfonts ディレクトリの pfb アウトラインファイルに対してシンボリックリンクが張られる。

- xp3/fontmetrics/afm/ ディレクトリに afm ファイルがコピーされる。

- xp3/psstd.fonts ファイルにエントリが追加される。これは StarOffice が使用するスクリーンフォントの名称をすべて記録してあるファイルです（スクリーンフォントとアウトラインファイルの名称を対応させるのが主要な役目）。

以上の事情があるからこそ、xp3 ディレクトリを丸ごとバックアップするに越したことはありません。StarOffice のクリーンな設定を復元するには、それが唯一の手軽な手段です。

### WordPerfect

今のところ未着手。WordPerfect にフォントをインストールする際の情報源としては、Rod Smith の Web ページが決定版です。

## Netscape

フォントという観点から見れば、もっとも悪評の高いアプリケーションかもしれません。しかし、Netscape のフォント処理のまずさは、ごく単純な処置で克服できます。Netscape 最大の問題といえば、あまりにも小さな 75 dpi のフォントを使いたがることです。これを修正するには .Xdefaults ファイルで適切な X のリソースを指定してやります。

    	Netscape*documentFonts.sizeIncrement: 20
    	Netscape*documentFonts.xResolution*iso-8859-1: 100
    	Netscape*documentFonts.yResolution*iso-8859-1: 100

100 の部分は任意の数字に変更できます。筆者のようにかなり大きなフォントを好む方は、150 とでもしてください。

Netscape のフォント処理のまずさに対処しようとするとき、もうひとつ見逃せない奥の手といえば、Microsoft のフォントパックを入手することです。このパックの収録フォントは普及度も高く、持っている場合のメリット（および持っていない場合のデメリット）はかなり大きいと言えます。

## TeX/LaTeX

### TeX/LaTeX で使用するフォントの概説

TeX や LaTeX にフォントを追加する手順はいささかこみいっています。しかし、要領さえ呑みこんでしまえば簡単です（えてしてそういうものですね）。フォントの配布形式としては、メタフォントや Type1 フォントがあります。入手しやすいのはだいたい Type1 形式のほうです。とはいえ、メタフォントにははっきりとした強みがあります。 Type1 フォントや TrueType フォントの場合は、まったく同じ形のフォントをサイズに応じて拡大ないし縮小するだけですが、メタフォントで生成されるフォントはサイズ次第で形そのものを調整できるのです。この特徴がなぜ望ましいかといえば、小さめのフォントは幅を（比較的）広く、大きめのフォントは狭く取るのが理想的である、ということが主な理由として挙げられます。

ここでは Type1 フォントのみを取りあげます。入手しやすいこと、そしてインストールしづらいことが理由です。

まず LaTeX のフォントについて駆け足で解説しておきましょう。LaTeX が Type1 フォントを扱うときは、次のようなファイルを使うことになります。

- .pl -- プロパティリスト（property list）。人間が読んで理解できる形式の TeX フォントメトリックファイル。

- .vpl -- 仮想プロパティリスト（virtual property list）。人間が読んで理解できる形式の仮想フォントファイル。

- .fd -- フォント定義（font definition）ファイル。フォントの「ファミリー」を定義する。

- .tfm -- TeX フォントメトリック（TeX font metric）ファイル。メトリクスについては用語集を参照のこと。Type1 フォントが使う .afm ファイルに相当する。フォントのメトリクスは、TeX でページをきちんとレイアウトする際に必要。

- .vf -- 仮想フォント（virtual font）。エンコーディングの詳細情報を含んでおり、インタープリタとして機能する。TeX ではフォントとして扱われる。一例として、foobar-exp.pfb という妙なフォントにいくつかの（例えば 20 個の）代用文字が含まれていると仮定し、このうちの数個をある仮想フォントが利用するケースを想定してみよう（それ以外の文字は foobar.pfb フォントから呼び出す）。そこへ dvips が「仮想フォント foo.vf に含まれている 65 番の文字をおくれ」とリクエストをよこしたとする。TeX のスキームでは常に 65 番が "a" であると、dvips は承知しているのである。TeX の要求を受けた仮想フォント foo.vf は、Type1 フォント foobar.pfb に含まれている 14 番目の文字を呼び出すことになる（Type1 フォント foobar.pfb から "a" の代用文字が呼ばれることもある）。仮想フォントの仕組みは実に柔軟で、さまざまなフォントファイルからフォントを生成できる。Adobe の「エキスパート」フォントなどを使うときに便利。

- .pk -- 出力デバイスに合わせて作られるビットマップフォント。たいていは必要に応じて（Type1 フォントやメタフォントから）生成される。概して解像度が高く（300〜1200 程度）、プリンタへの出力用。解像度が高いことや、各フォントのサイズごとにひとつずつ必要となることから、使用するディスクスペースはかなり多い。よって .pk ファイルは保存されず、キャッシュされることになっている。

- .mf -- メタフォントのファイル（metafont files）。メタフォントはフォントのデザインに広く利用されているグラフィクスプログラミング言語で（ただし画像も扱える）、TrueType や Type1 のスキームより優れた点がたくさんある。主な弱点といえば、そのふたつほど場所を選ばずに利用できるわけではないこと。また、WYSIWYG 流の組版にもあまり向いていない。もちろん、組版システムとして TeX を利用するなら、これはたいした欠点とはならない。

TeX のディレクトリ構造を把握しておくのはよいことです。知っておくべき主なディレクトリを挙げましょう。

- $TEXMF/fonts -- フォントを格納するメインのディレクトリ。

- $TEXMF/fonts/type1 -- Type1 フォントのディレクトリ。

- $TEXMF/fonts/type1/ベンダー名 -- 該当ベンダーの形態ファイルを格納するディレクトリ。

- $TEXMF/fonts/type1/ベンダー名/フォント名 -- 該当フォントを格納するディレクトリ。たいていはごく普通の英名がついており、TeX でフォントを命名する際の暗号めいたルールにならう必要はない。

- $TEXMF/fonts/afm/ベンダー名/フォント名 -- 該当ベンダーの該当フォントを定義する afm ファイルのディレクトリ。

- $TEXMF/fonts/tfm/ベンダー名/フォント名 -- afm ディレクトリと同様。ただし、こちらには tfm ファイルが格納される。

- $TEXMF/fonts/vf/ベンダー名/フォント名 -- 同上。ただし仮想フォントが格納される。

- $TEXMF/fonts/source/ベンダー名/フォント名 -- 同上。ただしメタフォントのファイルが格納される。

- $TEXMF/dvips/config/psfonts.map -- dvips 向けのフォントマップファイル。機能も形式も Ghostscript の Fontmap ファイルに近い。

- $TEXMF/tex/latex/psnfss -- フォント定義ファイルをすべて格納するディレクトリ。

### Type1 フォントを追加する

#### フォントの命名

まずフォントに適切な名前をつけてやる必要があります。命名法については、システムにインストールされた fontinst の付属文書を参照してください（TeTeX の関連文書を格納したディレクトリの中に fontinst のサブディレクトリがあるはず）。ごく簡潔にまとめてしまえば、フォント名の形式は FNW{V}E{n} となります。

- F はベンダーを示す一文字の略称（m = Monotype、p = Adobe、b = Bitstream、f = フリー）。

- N はフォント名を示す二文字の略称（例えば ag は "avant garde" の略）。

- W はフォントのウェイト（r = レギュラー、b = ボールド、l = ライト、d = デミボールド）。

- V は必要に応じて文字の傾きを指定する変数（i = イタリック、o = オブリーク）。

- E はエンコーディングのタイプを示す略称（ほぼ例外なく 8a、すなわち Adobe 標準エンコーディング）。

- n は必要に応じて字幅を指定する変数（n = 狭く）。

例えば Adobe Garamond デミボールドなら pgad8a となります。

#### TeX フォントメトリクスと仮想フォントを作成する

では、以下のように fontinst を実行してください。

    	latex `kpsewhich fontinst.sty`

続いてプロンプトに以下の文字列を入力します。

    	\latinfamily{フォント名}{}\bye

「フォント名」とは、ファイル名の最初の三文字です（Adobe Garamond なら pad）。これにより、フォント記述ファイルやプロパティリストファイル、仮想プロパティリストファイルなど、いろいろなファイルが生成されます。また、多数の .mtx ファイルも生成されます。これも fontinst の生成したファイルですが、ユーザーが使用する必要はありません。ここで必要なのは、プロパティリストおよび仮想プロパティリストをメトリクスおよび仮想フォントに変換することです。それには pltotf と vptovf を実行します。

    	for X in *.pl; do pltotf $X; done
    	for X in *.vpl; do vptovf $X; done

それがすんだら、pl・vpl・mtx の各ファイルを削除してください。

#### dvips の設定

dvips の設定ファイル psfonts.map を編集しましょう。ファイルの形式を説明するには例を挙げるのが一番です。

    	marr8r          ArialMT <8r.enc <farr8a.pfa
    	marbi8r         Arial_BoldItalicMT <8r.enc <farbi8a.pfa
    	marb8r          Arial_BoldMT <8r.enc <farb8a.pfa
    	marri8r         Arial_ItalicMT <8r.enc <farri8a.pfa
    	marr8rn         Arial_Narrow <8r.enc <farr8an.pfa

8r.enc とあるのは、使用するエンコーディングのタイプを dvips に教えてやるための記述に過ぎません（本文書の例では fontinst で仮想フォントを作成しているため、ここはすべて 8r となる）。左端の列は TeX の使用するフォント名です。二列目は実際のフォント名で、フォントのファイルに書きこまれています（これを調べるには afm ファイルをテキストエディタで開き、FontName の項を探すこと）。右端の列にあるのは、各フォントの形態を定義するファイルの名前です。ディレクトリのパスを記述する必要はありません。TeX はすべてお見通しです。

#### フォントのテスト

以下の文書を LaTeX で処理してみましょう。

    \documentclass{article}
    \begin{document}
    	\usefont{T1}{pga}{m}{n}\selectfont
    	\huge
    	Testing a new font \dots the quick red fox jumped over the lazy brown dogs
    \end{document}

pga の部分はテストするフォントに応じて書き換えます。これがうまくいけば、作業はほぼ完了です。あとは各ファイルを適切なディレクトリに格納し（概説の部分を参照のこと）、以下のコマンドで TeX のディレクトリリストを更新してください。

    	 texconfig rehash

#### .sty ファイルの作成

.sty ファイルを作成すれば、もっと手軽にフォントを使えるかもしれません。$TEXMF/tex/latex/psnfss にあるファイルをテンプレートとして使ってください。

## Linux 向けフォントを入手する

### TrueType

#### 商用ソフトウェア

TrueType フォントはごく簡単に入手できますし、MS Word や WordPerfect のようなパッケージには腐るほど付属しているのが普通です。大量のフォントを手に入れたければ WordPerfect を入手するのが手っ取り早いでしょう（どケチな方には、今やすたれた Windows 版 WordPerfect を購入するという手もあります。この CD に収録されているフォントは読みやすい）。

#### Microsoft のダウンロードサイト

Microsoft の提供する TrueType フォントもいくつかあります。ここの .exe ファイルは単なるアーカイブですから、unzip で展開できます。ダウンロードサイトをご利用ください。

#### Luc の Web ページ

Luc Devroye の Web ページからリンクをたどれば、フリーのフォントを入手できる数々のサイトに到達できます。これらのフォントの特徴といえば、かなりのものが「本当に」フリーであることです。「海賊版フォント」ではありません。

#### TrueType フォントのある Web サイト

フォントを自由にダウンロードできる Web サイトもいくつかあります。例えば freeware connection には、多数のアーカイブに至るリンクが張られています。

#### フォントベンダー

TrueType フォントを販売しているベンダーもいくつかあります。しかし、かなり値の張るものが大半ですから、同じ金額を Type1 フォントに投資するほうが得策でしょう。この件については Type1 フォントのセクションで補足します。TrueType フォントを安く売っている場所といえば BuyFonts です。安いフォントを買うつもりなら、まずは倫理上の問題について書いてあるセクションを参照してください。

### Type1 フォントとメタフォント

#### Windows および Mac 向けの形式を扱う

ベンダーの中には Windows や Mac のユーザーを想定してフォントを出荷するところが少なくありません。それがときには問題となります。「Windows フォント」のほうはたいてい zip 形式で圧縮されているため、ごく扱いやすいものが大半です。pfm ファイルを（pfm2afm で）afm ファイルに変換すればすみます。

かたや Macintosh 向けフォントはといえば、.sit.bin 形式――stuffit のアーカイブ――で配布されるのが普通なので、それほど楽には使えません。残念ながら、最新の stuffit で作成されたアーカイブを Linux で展開するようなツールは存在しません。Executor（Mac のエミュレータ）を使うか、さもなくば DOSEMU ないし Wine で stuffit を動かすか、ふたつにひとつでしょう。いったん .sit.bin ファイルを展開してしまえば、あとは t1utils パッケージに付属する t1unmac でファイル形式を変換するだけです。

あいにく一部のベンダーは Macintosh 形式（stuffit のアーカイブ）の Type1 フォントしか出荷していません。しかし、フォント博士の Luc Devroye によれば、大手ベンダーは例外なく Mac 向けと Windows 向けの Type1 フォントを用意しているそうです。

#### フリーのフォント

CTAN は良質なフォントの宝庫ですし、フリーなものもたくさんあります。その大半はメタフォント形式ですが、一部は Type1 フォントとしても入手可能です。また、Blue Sky もご覧ください。こちらでは Type1 形式の Computer Modern フォントが入手できます（その質の高いこと――品質と完成度の面でこれに匹敵するフォントを購入したら、500 ドルくらいの出費になるはずです。最高級の各種フォントにも引けを取りません）。

Luc Devroye の Web ページからリンクをたどれば、フリーのフォントを入手できる数々のサイトに到達できます。これらのフォントの特徴といえば、かなりのものが「本当に」フリーであることです。「海賊版フォント」ではありません。

URW はたいていのプリンタに常駐している標準的な PostScript フォントを公開しています。なかなかの優れものです。

Walnut Creek Archive にはフリーで入手できるフォント数種とシェアウェアのフォントがあります。その一部は露骨なパクリです（しかも出来は今ひとつ）。なんらかのライセンスが付属していないフォントはおそらくパクリでしょう。また、WinSite には Type1 フォントがいくつかあります（Windows 3.x 向けページ以下にある fonts/atm のページ）。惜しむらくは、ものによって afm ファイルの記述に誤りがあったり、カーニングペアが一切なかったりすることです（afm ファイルについては "FontName" セクションを書き換えればよい。フォントの形態を定義したファイルの内容と同じフォント名にすること。なお、カーニングペアの追加という問題は、言うまでもなく本文書の守備範囲からはずれているので割愛）。

Luc Devroye の Web ページは、多数のリンク以外にフリーの自作フォントもそろえていますし、実に興味深いタイポグラフィー論まで展開しています。まさに「必見サイト」です。フォントベンダーへのリンクも数多く張ってあります。

#### 商用フォント

##### 値段を取るか、質を取るか――わざわざ高級フォントを買う意味とは？

不思議ですね――どうして高価なフォントと安価なフォントがあるのか？　高価なのは大半の PostScript プリンタに常駐している「標準 PostScript フォント」です。また、なぜ高いほうを購入しなければならないのか？　私見ですが、一般のユーザーが使うぶんには（Bitstream の CD に収録されているような）お徳用フォントで充分でしょう。とはいうものの、「仕事」でフォントを使う方や、筋金入りのフォントマニアにとっては、ひときわ良質なフォントが必需品ですし、質のよいフォントといったら（Computer Modern をはじめとする）フリーのフォントか、市販されている商用フォントのどちらかになります。

安いフォントの長所は明白でしょう――安いことです。しかし、高級フォントにも長所はあります。

- 倫理上の問題：安いフォントはまず間違いなくパクリです。文字をデザインするには、それなりの時間とデザイナーの経験が必要になります。単価が 1 ドルを切るようなら、ベンダーがデザインしたフォントでないことはほぼ確実でしょう。とてつもない数のフォントを収録した CD もパクリと見てさしつかえありません（例外があるとすれば、何千ドルもする大手ベンダーのコレクション）。きちんとしたベンダーのフォントに比べて、パクリ製品はたいてい品質の面で劣っています。

- 完全性：質の高いフォント（特に Adobe の製品）は、数種類の書体をセットにした形で配布されており、気のきいた追加フォントが完全なフォントファミリーを構成するようになっています。ボールド、イタリック、デミボールドといった書体に加えて、スワッシュキャピタルやスモールキャップ、旧字体や合字を収録しているケースが大半です。つい最近のことですが、Adobe ではマルチプルマスター技術を開発し、ひとつのフォントファミリーで無限（に近い数）の書体を利用できるようにしています。

- 品質：フリーで入手できるフォントや安いパクリ製品の中には、カーニングペアやまともな合字といった必須の要素を欠いているものがかなりあります。こういうフォントはそもそも安物のコピー品です。それに引き換え、ひとかどのデザイナーは元のデザインを丹念に吟味し、アレンジすることに全力を尽くします。

- 信頼性：Adobe Garamond のデザイナー（Robert Slimbach）は、Claude Garamond によるオリジナル版のデザインを自ら研究しています。名の通ったベンダーであれば、自社製品のデザインを必ず丹念に検討しているものです。インターネットから失敬してきたものを Fontographer で加工して一丁あがり、というような態度とは訳が違います。

##### お徳用品

- それなりに質の高い Type1 フォントを収めた CD がほしい方は、ぜひとも Bitstream を訪れるべきです。名の知れた商品としては、250 種のフォントを収録した CD と 500 種のフォントを収録した CD があります（本文書執筆時の後者の価格は 50 ドル）。いずれも品質はなかなかのものですし、一般のユーザーがはじめて手を出すにはうってつけでしょう。なお、Corel の製品に使用されているフォントは（大半が）Bitstream とのライセンス契約で供与されたものです。

- Matchfonts にはいっそう割安なフォントがあります――八種類程度の「詰め合わせ」セットが 30 ドルです。出来のよい筆記体フォントもいくつか含まれています。いずれも利用可能な形式で配布されているようです（Windows 向けの afm フォントは .exe 形式のファイルですが、拡張子にだまされてはいけません――実はただの zip アーカイブです）。筆者が判断するかぎり、パクリ製品ではありません。

- EFF はひとつ 2 ドルで TrueType フォントを販売しています。また、「プロの水準」にある PostScript フォントは一書体につき 16 ドル、TrueType フォントは 12 ドルです。

##### 高級品

- Adobe の Type サイトでは高品質のフォントを入手できます。値の張るものもありますが、手頃なセットもありますので、Type Collections のページ をご覧ください。また、Adobe が扱っている製品の中には、市場でも最高の水準と言えるほどフォントファミリーの充実したものがあります。例えば Garamond や Caslon、そしてこれらの マルチプルマスター版といったところです（Adobe のサイトに使用されている Myriad と Minion は、優れたマルチプルマスターフォントの代表例）。

- Berthold Types Limited は大手ベンダーのひとつで、数々の高級品を扱っています。一部は Adobe を介して販売されていますが、Berthold ではすべてが入手可能です。価格は Adobe と同程度でしょう。

- ITC は高級フォントをいくつか開発しています（例えば Corel の製品に同梱されているフォントの一部）。同社のフォントはファミリー当たり 100〜180 ドルです。形式としては Type1 と TrueType の両方があります。Mac の形式を Linux で扱うのは難しいので、「Windows 向け」パッケージを選ぶほうがよいでしょう。

- Linotype は有名なベンダーで、名だたるデザイナーの手がけたフォントを扱っています。かの Herman Zapf もそのひとりです（そう、"Zapf Chancery" の名は彼に由来しています。Palatino も彼の作品です）。

- Monotype は Microsoft 製品のフォントをあらかた開発しています。歴史もあれば評価も高いというベンダーです。

- Tiro Typeworks の販売するフォントは、いささか高価ながら良質です。あらゆるタイプの合字をはじめ、スモールキャップや見出しフォントなど、各種の書体が非常に充実しています。対応 OS の選択肢としては UNIX の名も……ちまたには「Windows または Mac 向け」という断り書きがあふれかえっていますから、これは思わぬ拾い物といったところです。

##### その他のリンク

ベンダーはまだまだありますので、Luc Devroye のページからリンクをたどってみてください。

## Linux 向けの便利なフォント関連ソフト

Linux 向けのフォント関連パッケージはいろいろあります。必須のプログラムも少なくありません。

- chkfontpath：xfs の設定ファイルを編集するユーティリティ。

- DTM（Definitive Type Manager）：フォント全般の管理を担うツール。これは開発版。

- fontinst：LaTeX 関連のパッケージで、Type1 フォントを LaTeX にインストールする際の手間を省くプログラム。

- FreeType：TrueType フォント用のライブラリで、大半の Linux ディストリビューションに同梱されている。

- Ghostscript：Linux での印刷を実現するソフト。Linux に付属しているバージョンは GNU の Ghostscript で、Aladdin Ghostscript の最新版（古いものは GPL に準拠して公開されている）よりひとつ前のバージョンに相当する。

- pfm2afm：Windows 向けの pfm フォントメトリックファイルを Linux 用の afm メトリクスに変換するユーティリティ。CTAN で入手できるオリジナル版に手を加えたもので、Linux でコンパイルできるよう Rod Smith の手で修正されている。

- mminstance と t1utils：いずれも Type1 フォントを扱うためのパッケージ。mminstance では Adobe の マルチプルマスター技術で作成された Type1 フォントを扱う。t1utils のほうは複数のユーティリティをセットにしたもので、Type1 フォントを別形式の Type1 フォントに変換できる。

- ttf2pt1：TrueType フォントを Type1 フォントに変換するソフト。Type1 フォントを必要とするアプリケーションがある場合に便利。

- ttfps：.ttf 形式の TrueType フォントファイルを Type42 フォントのファイルに変換できる。

- ttfutils：TrueType フォントを扱うユーティリティの詰め合わせパッケージ。ttf2pt1 を必要とする。必需品とはいかないまでも便利。

- type1inst：Type1 フォントのインストールに欠かせないパッケージ。インストールの手間が大幅に省ける。

- xfstt：Linux 向けの TrueType フォントサーバ。これはこれで便利だが、おそらく xfs のほうがベター。

- xfsft：フォントサーバ。xfs に含まれている。

- x-tt：ハングル文字と日本語フォントを扱うためのフォントサーバ。

## フォントをめぐる倫理とライセンスの問題

フォントのライセンスはとかく物議を醸しがちな問題です。フリーのフォントが大量に出回っているのは事実ですが、ライセンスが付属していないものはおそらくなんらかの「パクリ」でしょう。なおさら話をややこしくしているのは、フォントに関する知的所有権関連諸法の内容です。アメリカの場合、基本的にフォントファイルの著作権は保護されていますが、フォントのデザインは対象外となっています。つまり、フォントを再配布するのは違法ですが、方眼紙に印刷した上で描線をなぞり、また新たにデザインしてしまうという「リバースエンジニアリング」は、法的になんら問題のない行為なのです。リバースエンジニアリングされたフォントはたいてい安価で入手し放題ですが、出来はよくありません。この手のフォントは、膨大な数のフォントを収録した激安 CD で配布されることが多く、海賊版フォントも同様です。よってリバースエンジニアリングされたフォントと単なる海賊版を判別するのは、必ずしも容易なことではありません。Linux 向けにフリーのフォントをパッケージングしようとする者にとっては、実に頭の痛い状況です。

海賊版フォントのもっとも不愉快な点といえば、デザイナーの割く労力の価値が軽視されていることかもしれません。海賊版はひとつの CD にごっそりつめこんであるものと相場が決まっていますが、記載してしかるべきオリジナル版デザイナーのクレジットは決して見当たりません。それに引き換え、まっとうなフォントベンダーの中には、お抱えデザイナーの名を明記しているところもいくつかありますから、立派なものです。

この問題については諸説が入り乱れています。知的所有権を支持する意見が読みたければ、TypeRight をご覧ください。また、Southern Software, Inc. では異なる見解が披露されています。ただし、ここのフォントは決して購入しないように！　同社の Type1 フォント（Adobe 製品をリバースエンジニアリングした粗悪品）は、afm ファイルを含んでいないため、使いものになりません。

フォントと知的所有権をめぐる問題は、comp.fonts FAQ や Luc Devroye のホームページでも取りあげられています。どちらの見解もさほど極端に走らない内容です。

## 参考文献

### フォント情報

- Rod Smith のホームページ：Applixware および WordPerfect におけるフォントやプリンタの扱いがみっちり説明されている。

- John McLaughlin のページ：StarOffice のフォント設定が論じられている。

- Jim Land のホームページ：PostScript とフォントを扱ったページへのリンクが多数ある。

- comp.fonts FAQ：フォントをめぐる FAQ の決定版。

- Luc Devroye のホームページ：フォントその他に関する情報が満載されている。彼は自ら数々のフリーフォントをデザインしている人物で、ホームページには興味深いリンクや情報ならびに解説が山ほどある。

- Font Deuglification HOWTO：Linux における TrueType フォントを題材としている。TrueType フォントを論じた HOWTO 文書としては文句なしにチャンピオン。情報源として秀逸。

  訳注：同文書は Hal Burgiss 氏によって改訂されており、現在は "XFree86 Font De-uglification HOWTO" の名で公開されています。

- TrueType Fonts in Debian mini-HOWTO：TrueType フォントを Debian にインストールする方法が解説されている。Debian のユーザーにとっては必読の文書。また、TrueType フォント対応版の xfs がお使いのディストリビューションに含まれていなければ、やはり一読の価値がある。

- TrueType HOWTO（ドラフト版）：1998 年 6 月付の未完成品。念のため挙げておく。

- TrueType for XFree86 mini-HOWTO：いささか古くなった HOWTO 文書。RedHat 5.x のみに通用する内容。

### PostScript と印刷の情報

- Adobe の PostScript 関連ページ：PostScript 規格を扱ったサイトの決定版。

- Ghostscript のホームページ：各種情報を掲載するほか、最新のプリンタドライバを網羅している。

- Jim Land のホームページ：PostScript とフォントを扱ったページへのリンクが多数ある。

- Christopher Browne の印刷 FAQ

## 用語集

- afm：Adobe Font Metric の略。これはフォントの幅や字間スペースの情報を格納してあるファイルで、フォントの形態を定義するファイルと対をなす。

- アンチエイリアス：フォントスムージングとも呼ばれ、低解像度のデバイス（例えばモニター）向けにフォントを変換する技術を指す。フォントを変換するときの問題は、フォント自体が輪郭線で描かれているのに対して、デバイス側ではフォントを点の集合として表示すること。よって変換の際には輪郭の内部にある画素（ピクセル）を黒く塗りつぶし、そこ以外のドットには手をつけないことになる。が、これだけでは輪郭線上の画素に対する処理が不充分で、境界線にある画素は灰色に仕上げるほうが望ましい。アンチエイリアスとは基本的にこれを実現する仕組み。

- bdf フォント：X で利用できる各種ビットマップフォント。

- ビットマップフォント：点の集合でできているフォント。フォントの特徴はいずれも点の配置として記録される。したがって出力デバイスとの関わりが深く、同じビットマップフォントを画面表示と印刷の両方に使用することはできない。ビットマップスクリーンフォントの例としては、X の利用する .pcf フォントや .bdf フォントが挙げられる。ビットマッププリンタフォントの一例は TeX の pk フォント。

- didone：「modern フォント」の項を参照。

- dpi：Dots Per Inch（1 インチ当たりのドット数）を意味する。モニターの表示は 75〜100 dpi 程度の密度が普通だが、最近のプリンタは 300〜1200 dpi という具合にさまざま。

- エキスパートフォント：フォントを補完する文字のセット。スモールキャップフォントや装飾文字、オマケの合字、数字のプロポーショナルフォントなどが含まれる。Adobe のフォントにはエキスパートフォントの付属しているものも多い。

- フォントサーバ：XFree86 でフォントを利用できるようにするため、バックグラウンドで動くプログラム。

- グリフ：平たく言えば「形」を意味する。アウトラインフォントの構成要素。小文字の i を例に取れば、点や縦棒やセリフのひとつひとつがグリフに相当する。フォントの形態はグリフで決まる。

- カーニング：プロポーショナルフォントの場合、字間のスペースは文字の組み合わせ次第で変わる。フォントのメトリックファイルには、特定の二文字を組み合わせるときのスペースに関する情報が含まれている。カーニングペアとはこうした組み合わせのこと。

- 合字：連続した文字を表現するための特殊な文字。実例を挙げて説明するのが一番だろう――fi の二文字が変換される場合、i の点は f に接触してしまうし、左上のセリフも f の横棒とぶつかってしまいかねない。これに対して合字の fi はひとつの文字で、ひとつの f とひとつの i を連続して並べる代わりに使用できる。その他の合字としては fl や ffi や ffl があるが、たいていのフォントには fi と fl しか収録されていない。残りは「エキスパートフォント」として入手可能な場合もある。

- メタフォント：フォントの生成に使われるグラフィクス言語。多々ある長所の最たるものとしては、サイズの変更時に引き伸ばす必要のないフォントを生成できることが挙げられる。つまり、メタフォントで作成した 17 ポイントの Computer Modern フォントは、10 ポイントの Computer Modern フォントをそのまま拡大したものとは形が異なるのである。Adobe のマルチプルマスター技術が登場するまで、この機能を備えているのはメタフォントだけだった。メタフォントの強みは高品質のフォントを作成できること。弱点はといえば、アウトラインフォントからビットマップフォントを生成するのに時間がかかることで、それゆえに WYSIWYG 流の組版とは相性が悪い。

- メトリクス（メトリック）：フォントが占めるスペースの大きさを定義した情報。フォントが収まる箱のようなものと表現できる。ページ内でフォントを配置する際にはこの情報が欠かせない（フォントの形そのものは問題とされない）。よってたいていのプロポーショナルフォントは、形態に関する情報のほかにメトリクス情報も保有している。メトリクスにはカーニング情報も含まれる。

- modern フォント：19 世紀以降に考案されたデザインを基調とするフォント。垂直線を強調してあるため、見た目ががっしりしている。old style や transitional より強烈な「個性」や「主義主張」が特徴だが、品位や格式もそれなりにとどめている。長文には適していないものの、文書の味つけには有効。代表格としては Bodoni がある。

- old style フォント：由緒ある書体のグループ。15 世紀後半から伝わるデザインに基づいている。長い文書（例えば書籍）にはうってつけ。先人のデザインを踏まえたスタイルではあるが、中にはかなり新しい書体もある。ことに Goudy Old Style は 20 世紀初頭に Goudy が考案したもの。old style の代表格としては、Goudy Old Style に加えて Garamond や Caslon がある。

- pcf フォント：X が利用するビットマップフォント。

- PostScript：ページ記述を目的とするプログラミング言語の一種。当初は開発元である Adobe の商標だったが、今や ISO の規格でもある。変換にはインタープリタが必要。これには Ghostscript のようなコンピュータ上のプログラムが使用されるが、一部のプリンタでも同言語の解釈は可能。

- セリフフォント：描線の先端に小さな鉤（セリフ）がついているフォント。概して読みやすい。ただし、出力デバイスの解像度が低い場合は、（なにしろ細かい飾りだけに）セリフを再現するのがかなり難しく、フォントのサイズが小さければなおさら。よって低解像度のデバイスで小さなフォントを扱うなら、（Microsoft の Verdana のような）サンセリフフォントのほうが読みやすいこともよくある。また、セリフフォントであっても（各種 modern フォントのように）長文向きではないものもある。

- サンセリフ（sans serif）フォント：セリフのついていないフォント（sans はフランス語で「〜のない」という意味）。見た目があっさりしていて、見出しにもってこい。タイポグラフィー界の常識では、見出しのみに使うべきとされているが、それが唯一の用途とはかぎらない。一部のサンセリフフォントは、インパクトより読みやすさを重視してデザインされている。斜め読みされてしまう短めの文書（例えばカタログや販促パンフレット）で人目を引くのによい場合もあるし、最近 Microsoft が開発した Verdana は、小さな文字を低解像度のデバイスに出力する場合でも読みやすい。有名なサンセリフフォントとしては、Lucida Sans や MS Comic Sans、Avant Garde、Arial、Verdana、Century Gothic などがある。

- slab serif フォント：鉤のようなセリフではなく、厚板（slab）のようなセリフ（平たい線やブロックなど）がついているフォントのグループ。例外もあるとはいえ、非常に読みやすいものが多い。セリフがシンプルでがっちりしているため、ページにめりこんでいるような印象を受ける。Clarendon や New Century Schoolbook、そして Memphis の知名度が高い。

- transitional フォント：old style フォントより最近のデザインを基調としているフォント。読みやすいものが多い。Baskerville や Times Roman が代表格。

- Type1 フォント：Adobe の開発したフォントの一種。昔から X サーバのアーキテクチャや PostScript 規格でサポートされていたため、Linux で動くほぼすべてのアプリケーションできちんと使える。PostScript フォントの配布形態はさまざまだが、UNIX 向けのものは afm（adobe font metric）ファイルとアウトラインファイルの組み合わせが一般的。後者は通常、.pfb（printer font binary）ファイルないし .pfa（printer font ascii）ファイル。なお、メトリックファイルにはメトリクス情報、アウトラインファイルにはすべてのグリフが含まれている。

- Type3 フォント：Type1 に似たフォント。配布時の構成ファイル（afm ファイルおよび pfa ファイル）の拡張子も Type1 フォントに似ているが、X でサポートされていないため、このフォントに対応している Linux のアプリケーションはあまり多くない。