(PECL ps >= 1.1.0)
ps_findfont — フォントを読み込む
$psdoc
, string $fontname
, string $encoding
[, bool $embed
= false
] )あとで使用するために、フォントを読み込みます。読み込んだフォントを実際に利用するためには、 ps_setfont() で設定しなければなりません。 文字の間隔を計算するため、この関数は adobe フォントメトリックファイルを必要とします。 ページの内部で読み込まれたフォントは、 そのページ内でのみ有効となります。ドキュメント全体で使われるフォントは、 最初の ps_begin_page() の実行より前に読み込まれなければなりません。 ページとページの間で ps_findfont() が呼ばれた場合は、それ以降のページでフォントが有効になります。
afm ファイルの名前は、
fontname
.afm でなければなりません。
フォントを埋め込む場合は、フォントのアウトラインを含む
fontname
.pfb
が存在しなければなりません。
最初のページを処理する前に ps_findfont() をコール際、 postscript ヘッダが出力されます。ここには、ドキュメント全体に適用される BoundingBox が含まれます。 通常は、BoundingBox を設定するのは最初に ps_begin_page() がコールされたときで、これは ps_findfont() をコールした後になります。 したがって、 ps_findfont() のコール時にはまだ BoundingBox が設定されておらず、警告が発生してしまいます。 こうなることを避けるため、 ps_findfont() をコールする前に ps_set_parameter() をコールし、BoundingBox を設定しておくべきです。
psdoc
ps_new() が返す、postscript ファイルのリソース ID。
fontname
フォントの名前。
encoding
ps_findfont() は、encoding
で渡されたファイルを読み込もうと試みます。 エンコーディングファイルは、
dvips(1) で使われるものと同形式です。
そこにはフォントエンコーディングベクタ(現在は利用されていませんが、
存在する必要があります)が含まれており、また afm ファイルから
生成されたリゲチャのリストを拡張するための拡張リゲチャが含まれています。
encoding
は NULL
または空文字列とすることも可能で、
その場合はデフォルトエンコーディング(TeXBase1)が用いられます。
encoding が builtin と指定された場合は、 エンコード処理は行われずにフォント固有のエンコーディングがそのまま用いられます。 これは、記号フォントを扱う場合に便利です。
embed
0 より大きい値を設定すると、フォントがドキュメントに埋め込まれます。 これを使用するには、フォントのアウトライン (.pfb ファイル) が必要です。
成功した場合にフォントの ID を、失敗した場合にゼロを返します。 ID は正の数値です。