FIGlet フォントを使用してテキストをレンダリングします。
Text_Figlet を使用すると、 FIGlet フォントを使用したテキストのようなアスキーアートを作成することができます。 このパッケージは水平方向の押しつぶし (horizontal smushing) やドイツ語の文字 (äÜß など) をサポートしており、 左から右、右から左の両方の方向に対応しています。また、 不完全なフォントや gzip 圧縮されたフォントにも対応しています (PHP の zlib 拡張モジュールがインストールされていることが前提です)。
例 64-5"Hello, world!" を FIGlet フォントで書いた例
|
Text_Figlet で使用できるメソッドはたったふたつだけです。 loadFont() で、使用する FIGlet フォントファイルを選択します。 そして lineEcho() にテキストを渡すと、 先ほど選択したフォントでそれをレンダリングした結果が返されます。
loadFont() の最初のパラメータには、FIGlet フォントファイル (*.flf あるいは *.flf.gz) の名前/パスを指定します。 そして、もしドイツ語の文字も使用するなら、オプションの二番目パラメータを指定します (デフォルトは true です)。このメソッドは、 フォントの読み込みに成功した場合に true を返し、 問題が発生した場合に PEAR_Error を返します。
lineEcho() は、フォントを loadFont() で読み込んだ後にコールします (必要なら複数回コールできます)。 このメソッドの最初のパラメータには、そのフォントを使用してレンダリングしたいテキストを渡します。 オプションの二番目のパラメータは、結果を HTML テキストとして出力する場合に指定します。 これを指定した場合は、特殊文字をエスケープしてテキストが正しく表示されるようにします。 このパラメータのデフォルトは false です。 テキストを等幅で表示するため、この結果は <pre> タグで囲む必要があります。 メソッド名を見ると、いかにも結果をそのまま表示するように思えますが、 実際は 違います。このメソッドは、結果を表示せずに返します。
例 64-6PHP による "Hello, world!" のレンダリング
|
Text_Figlet パッケージにはいくつかのフォントが同梱されています。 これらはデータディレクトリにインストールされます。データディレクトリの場所を調べるには pear config-get data_dir とします。 実際の場所は、この結果に Text_Figlet/fonts/ を追加したものとなります。同梱されているフォントは次のとおりです。
3-d.flf
alligator2.flf
bell.flf
block.flf
contessa.flf
cybermedium.flf
isometric1.flf
larry3d.flf
script.flf
slant.flf