Solaris X Window System 開発ガイド

第 4 章 フォントのサポート

この章では、Solaris X サーバーでのフォントのサポートについて説明します。この章で説明する内容は以下のとおりです。

Solaris X サーバーでのフォントのサポート

Solaris X Window System は、X11 サーバーと Display PostScript (DPS) 拡張機能にフォントのサポートを提供します。さまざまなベンダ製のフォントフォーマットを使用して、英語やアジア系言語などの外国語のテキストを表示できます。シンボルフォントを使用すると、数学の方程式も表示できます。Solaris 環境では、欧文テキスト用のラテン系フォントを 55 種類、シンボルフォントを 2 種類用意しています。Solaris に付属のフォント管理の GUI ツールまたはコマンドラインツールを使用して、その他のフォントもシステムに追加できます。

X フォントサーバー

Solaris X サーバーは X フォントサーバー xfs のクライアントにできます。X フォントサーバーは X サーバーにフォントを提供します。Solaris X フォントサーバーは、標準の X フォントサーバーと同じフォントに加えて、Sun の TrueType フォントもサポートします。Sun 独自の F3 フォントフォーマットはサポートしていません。Type1 フォントは、X コンソーシアムに寄贈された Type1 インタプリタによりサポートされます。

xfs は手動または自動で起動できます。詳細は xfs(1) のマニュアルページを参照してください。

使用できるフォントフォーマット

ベンダが異なればフォントのフォーマットも異なります。Solaris 環境でサポートするフォントフォーマット、ベンダ、対応するファイルタイプを、表 4-1表 4-2 に示します。表 4-1 はアウトラインフォント、表 4-2 はビットマップフォントをリストします。

表 4-1 アウトラインフォントフォーマット

フォントフォーマット 

ベンダ 

ファイルタイプ 

TrueType 

その他のメーカ 

.ttf

Type1 (ASCII) 

Adobe 社、その他のメーカ 

.pfa

Type1 (バイナリ) 

Adobe 社、その他のメーカ 

.pfb

Type3 

Adobe 社、その他のメーカ 

.ps

Speedo 

Bitstream 社 

.spd

F3 

SunSoft 

.f3b

表 4-2 ビットマップフォントフォーマット

フォントフォーマット 

ベンダ 

ファイルタイプ 

可搬コンパイル済形式 

MIT 

.pcf

ビットマップ配布形式 

Adobe 社 

.bdf

ビックエンディアン可搬形式 

Adobe 社 (sparc) 

.bepf

リトルエンディアン可搬形式 

Adobe 社 (IA および ppc) 

.lepf

Solaris サーバーによって提供されるフォントは、/usr/openwin/lib/X11/fonts ディレクトリに入っています。ディレクトリ構造の詳細については、後述の 「フォントの探索」を参照してください。

Solaris 環境では、DPS からでも X11 フォントの大部分を使用できるようになっています (表 4-3 を参照)。ただし、DPS でサポートするフォントは X11 とは少し異なっています。

表 4-3 利用できるフォントファイル

フォント名 

X11 での使用 

DPS での使用 

TrueType 

可 

可 

Type1 アウトラインフォント (ASCII) 

可 

可 

Type1 アウトラインフォント (バイナリ) 

可 

可 

Type3 

可 

可 

Speedo 

可 

不可 

F3 

可 

可 

可搬コンパイル済形式 

可 

可 

ビットマップ配付形式 

可 

不可 

ビックエンディアン可搬形式 

不可 

可 

リトルエンディアン可搬形式 

不可 

オプションのフォントパッケージ

エンドユーザーアプリケーションが必要とするフォントはエンドユーザークラスタでインストールされます。しかし、一部の特殊なアプリケーションではデベロッパクラスタのフォントが必要になります。このようなアプリケーションに対応するために追加するパッケージは SUNWxwoft パッケージです。デベロッパクラスタ全体をインストールする必要はありません。

関連ファイル

Solaris 環境では、次のような拡張子のファイルを提供します。これらの内容を編集しないでください。

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

Solaris のフォントの表現方法には、「アウトライン」フォントと「ビットマップ」フォントの 2 種類があります。アウトラインフォントから文字を表示する際、サーバーは文字の輪郭線だけについて拡大・縮小と回転処理を行います。こうして形を整えられた輪郭線は、ピクセル形式 (ビットマップ) で「描画」され、画面上に表示されます。このビットマップは、再使用のためにグリフキャッシュにも格納されます。

頻繁に使用されるのは一部のフォントサイズであるため、そのビットマップはプリレンダリング済みビットマップ形式の別のファイルにも格納されます。これによりサーバーは、拡大・縮小やレンダリングの処理を行う手間が省けます。ただし、結果として得られるビットマップフォントはサイズと方向が一意に決まってしまうため、「手で調整」することによって見映えよく読みやすくするフォントもあります。これらのビットマップもグリフキャッシュに格納されます。推奨するビットマップフォーマットは、可搬コンパイル済形式 (.pcf) です。

/usr/openwin/bin というディレクトリには、さまざまなビットマップフォーマット間だけでなく、アウトラインフォントとビットマップフォント間の変換も行うツールとして次のものが入っています。詳細については、それぞれのマニュアルページを参照してください。

表 4-4 に示すように、ビットマップフォントのファイルフォーマットの多くは、アーキテクチャに依存したバイナリファイルです。これらは、アーキテクチャの異なるマシン間 (SPARC と IA 間など) では共有できません。

表 4-4 ビットマップフォントのフォーマット

フォントフォーマット 

バイナリ形式 

アーキテクチャに依存 

ビットマップ配付形式 

いいえ 

いいえ 

可搬コンパイル済形式 

はい 

いいえ 

リトルエンディアン可搬形式 

はい 

はい (IA および ppc)  

ビッグエンディアン可搬形式 

はい 

はい (SPARC) 

Solaris 環境には圧縮形式の .pcf ファイル (拡張子は .pcf.Z) があり、必要に応じて展開できます。システムにフォントを追加する際、フォントファイルは圧縮してもしなくてもかまいません。フォントをより高速で表示したい場合は、非圧縮形式のファイルを使用してください。ディスク領域をより多く確保するには、圧縮ファイルを使用してください。詳細については、compress(1) のマニュアルページを参照してください。

アウトラインからビットマップへのフォントの置き換え

アウトラインフォントによっては、フォントサイズが合えば Solaris 環境がビットマップフォントに自動的に置き換えるものもあります。これにより性能が向上し、場合によってはテキストも美しく読みやすくなります。1 つのアウトラインフォントに対して、置き換えが発生するサイズにはいくつかあります。

フォントの置き換えが発生する条件

現在の DPS では、F3 アウトラインフォント、Type1、および TrueType フォントは .pcf ビットマップフォーマットで置き換えられます。置き換えが発生するのは、正立で、要求された 1 ピクセルのサイズが .pcf フォントサイズの 1 ピクセルの半分以下であり、.pcf フォントが .upr (PostScript リソース) ファイル中のリソースになっている場合です。上記のすべてのスケーラブルフォントは .pcf フォーマットで置き換えられます。

DPS で TrueType および F3 フォントを使用する場合

/FontType が TrueType については 42、F3 フォントについては 7 を返すことを除いて、TrueType および F3 フォントは Type1 フォントと同様に動作します。たとえば、次の PostScript コードは、フォントの種類にかかわらず同じように動作します。

/Helvetica
findfont 50 scalefont setfont 10 10 moveto (ABC)

show

しかし、次のコードを実行すると、TrueType フォントでは 42、F3 フォントでは 7、Type1 フォントでは 1 が戻されます。

currentfont
/FontType get ==

戻されるフォントの種類は、DPS の現在の内部リソースパスによって決まります。

フォントの探索

デフォルト時 Solaris サーバーは、/usr/openwin/lib/X11/fonts というディレクトリに入っているディレクトリの中からフォントを探索します。フォントのディレクトリ構造全体については、次の表 4-5 を参照してください。ディレクトリ名には /usr/openwin/lib/X11/fonts というパス名がつきます。

表 4-5 フォントのディレクトリ構造

ディレクトリ 

サブディレクトリ 

ファイル拡張子 

内容 

/TrueType

 

.ttf

TrueType フォント 

/TrueType

/ttmap

.ttmap

TrueType 文字セット仕様 

/TTbitmaps

 

.pcf

ビットマップフォント 

/100dpi

 

.pcf

ビットマップフォント 

/75dpi

 

.pcf

ビットマップフォント 

/F3

/afm

.f3b

F3 フォーマットのスケーラブルフォント 

 

/map

.map

F3 文字セット仕様 

/F3bitmaps

 

.pcf

ビットマップフォント 

/Speedo

 

.spd

Bitstream Speedo フォーマットのアウトラインフォント 

/Type1

 

.pfa, .pfb

Type1 スケーラブルフォント 

 

/afm

.afm

Adobe フォントメトリック 

 

/outline

.pfa, .pfb

Type1 スケーラブルフォント 

 

/prebuilt

.bepf, .lepf

SPARC Solaris と IA 用ビットマップ 

/Xt+

 

.pcf

ビットマップフォント 

/Type3

 

.ps

PostScript アウトラインフォント 

/encodings

 

.enc

エンコーディング情報 

/misc

 

.pcf

ビットマップフォント 

X11 でのデフォルトフォントパスの変更

X11 でのデフォルトフォントパスは、次のようになっています。

/usr/openwin/lib/X11/fonts/F3, /usr/openwin/lib/X11/fonts/F3bitmaps, /usr/openwin/lib/X11/fonts/Type1, /usr/openwin/lib/X11/fonts/Speedo, /usr/openwin/lib/X11/fonts/misc, /usr/openwin/lib/X11/fonts/75dpi, /usr/openwin/lib/X11/fonts/100dpi

ディレクトリパスは絶対パスでなければなりません。

デフォルトのフォントパスを変更するには、Solaris に付属のフォント管理 GUI ツールまたはコマンドラインツールを使用します。フォント管理ツールについての詳細は、『フォントの管理』を参照してください。

フォントのインストールおよび管理

ワークステーションまたは NeWSprintTM プリンタのフォントをインストール、削除、表示したり、フォントパスやフォント属性を編集するには、Solaris に付属の管理 GUI ツールまたはコマンドラインツールを使用します。フォント管理ツールについての詳細は、『フォントの管理』を参照してください。