日本語を使うには、少し特殊な操作が必要です。OSの種類(MAC or Windows)やOSのversionによってそれは異なるようです。ここでは、Windows10で確認できた方法を紹介します。
コンピューターに登録されているフォント(文字種)には様々なものがあります。ゴシックや明朝体といったものがそうです。プロセッシングでは、コンピューターにあらかじめ登録されているフォントを利用します。そのためまずは、コンピューターに登録されているフォントを確認します。
下記のコードで、コンピューターに登録されているフォントを確認できます。
size(400, 300);
String[] fontList = PFont.list();
printArray(fontList);
このコードを実行すると、下記のように登録されているフォントがコンソールに表示されます。
日本語を出力する手続きは、下記にまとめました。
①フォントを作成する。
②作成したフォントをテキスト用に設定する
③テキストを出力する。
①の「フォントを作成する」処理では、createFont()という命令を使います。パラメーターは、使用するフォント、フォントのサイズです。使用するフォントには、コンピューターに登録されているフォントを使用します。
createFont(“使用するフォント” , フォントサイズ);
そして、createFontは下記のように使います。
PFont myFont = createFont("MS ゴシック", 32);
このコードは、作成したフォントをmyFontに格納するという処理です。myFontはPFontタイプのクラスです。クラスの説明は長くなるのでここでは省きます。フォントを作成するにはこうするのだと、とりあえずは覚えて頂きたく思います。
②の「作成したフォントをテキスト用に設定する」処理では、textFont()という命令を使います。パラメーターには、上記で作成したmyFontです。
textFont(PFontタイプのクラス(この場合、myFont));
③の「テキストを出力する」処理では、text()という命令を使います。パラメーターは、出力する文字、x軸上の位置、y軸上の位置となります。
text("出力する文字", x軸上の位置 , y軸上の位置);
覚えることが多いですね。下記が実際のコード例です。
size(400, 300);
PFont myFont = createFont("MS ゴシック", 32); //①フォントを作成する
textFont(myFont); //②テキストのフォントを設定する
text("ゴシック", width/2, height/2); //③テキストを出力する
line(0,height/2,width,height/2); //補助線
line(width/2,0,width/2,height); //補助線
結果は下記になります。
テキストの出力される位置ですがは、text()の第2パラメーターで指定した値がテキストの左端、第3パラメーターで指定した値がテキストの下端になります。(わかりやすくするために、line()で補助線を描いています)
文字を出力する位置を調整する方法を説明します。それにはtextAlign()という命令を使います。第一パラメーターはx軸上の位置を調整します。第二パラメーターにはy軸上の位置を調整します。第一パラメーターには「LEFT」と「CENTER」、「RIGHT」のいずれかを指定します。第二パラメーターには「TOP」と「BOTTOM」、「CENTER」、「BASELINE」のいずれかを指定します。「BASELINE」にすると、デフォルト値になります。
textAlign(LEFT or CENTER or RIGHT , TOP or BOTTOM or CENTER or BASELINE);
下記がコード例です。
size(400, 300);
PFont myFont = createFont("MS ゴシック", 32);
textFont(myFont);
textAlign(CENTER, CENTER); //x軸もy軸もCENTER(中央)に設定。
text("ゴシック", width/2, height/2);
line(0,height/2,width,height/2); //補助性
line(width/2,0,width/2,height); //補助性
結果は下記になります。「ゴシック」という文字が、画面中央に表示されました。CENTER以外のパラメーターも試してみましょう。