Processing

PythonでProcessing loadFont() フォントを読み込む

.vlw形式のフォントをPFontオブジェクトに読み込む。

ツールメニューから “フォント作成… “を選択して、.vlwフォントを作成する。このツールは、英数字の文字ごとにテクスチャを作成し、それらを.vlwファイルとして現在のスケッチのデータフォルダに追加する。文字は(ベクターデータではなく)テクスチャとして定義されているため、フォントを作成する際のサイズは、描画されるサイズとの関係で考慮する必要がある。例えば、フォントを32ピクセル以下で描画する場合は、32ptフォントをロードする。12ptのフォントをロードして48ptで表示した場合、プログラムはフォントのテクスチャを大きなサイズに引き伸ばすことになるため、文字が歪む。

他のデータを読み込む関数(loadImage()など)と同様に、loadFont()関数もdraw()の中で使用してはならない。フレームごとにディスク(またはネットワーク)からフォントが再読み込みされるため、動作が重くなる。ファイルのロードはsetup()内で行うことが推奨される。

正しくロードするためには、フォントは現在のスケッチの「data」フォルダの中に配置する必要がある。あるいは、絶対パス(Unix と Linux では / で始まるもの、Windows ではドライブレター)を使って、ローカルコンピュータのどこからでもファイルを読み込むことができる。

ファイルが利用できない場合やエラーが発生した場合は、nullが返され、コンソールにエラーメッセージが表示される。エラーメッセージはプログラムを停止させるものではないが、コードが返された値がnullであるかどうかをチェックしていない場合、null値はNullPointerExceptionを引き起こす可能性がある。

ベクトルデータをデフォルトのレンダラー設定で使用できるようにするには、(loadFont()ではなく)createFont()を使用する。これは、多くのフォントサイズが必要な場合や、PDFライブラリなど、デフォルトのレンダラーをベースにしたレンダラーを使用する場合に役立つ。