強火で進め

このブログではプログラム関連の記事を中心に書いてます。

同梱したフォントファイルを使う方法


Processingでフォント指定で描画する場合にはフォントファイルを .vlw というファイルに変換をして使うみたいです。

早速、メニューから「Tools」→「Create Font...」と選択し、Processingの付属の専用ツールで変換しようとしました。

しかし、日本語を含める為に出力する文字の選択に「All Characters」を選択した状態で変換をすると以下の様にヒープメモリ不足のエラーが発生しました。

Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space

そこでヒープメモリを増やしたい所ですがProcessingのプログラム(.pdeファイル)を実行する時に変更する方法しか見当たらず諦めかけていたのですが createFont() という別のメソッドを使う方法を発見しました。

プログラムはこの様になります。

void setup() {
  size(300, 200);
  PFont font = createFont("uzura_font", 24);
  textFont(font);
}

void draw(){
  text("こんにちは世界!", 5, height/2); 
}

.pdeファイルを保存しているフォルダに data フォルダを作成し、そこにプログラムで使用するフォントを置きます。今回はうずらフォントを使用しました。このフォントはファイル名は uzura.ttf なので最初は createFont() に uzura と記述したのですがそれでは正しく描画されませんでした。ここにはファイル名では無く、フォントファミリー名を指定するみたいです。