質問: loadFont("MS-Gothic-24.vlw"); textFont(gfont, 20); noStroke(); noLoop(); } void draw() { fill(128); rect(0, 0, width, height); fill(255, 255, 0); //横幅は2文字より狭くする text("四字熟語", 30, 20, 30, 350); } ```
回答: 推測も含みます。 Windows/Macintosh(あるいはLinuxも?)True Type Fontが利用可能なんじゃないでしょうか?なのでシステムにインストールされている日本語グリフを含むフォントを用いれば同様の方法で縦書きが可能だと思います。 textSize(24); などとすると、デフォルトで漢字が表示できるフォントを選んでいても漢字のグリフが失われ英字(多分ISO-8859の範囲内?)しか表示できなくなるように見えます。このためサイズを明示してテキストを描画したい場合は「ツール>フォント作成...」でフォントファイル(vlwファイル)を作成した上でご質問に書かれているようにloadFont()でフォントを明示しなければならないようです。 このとき注意すべきなのは日本語文字のグリフを含むフォントをサイズだけ指定してもダメで、「文字...」ボタンを押して「文字選択」ダイアログを開いた上でそのフォントの中で使用する文字種を明示しなければならないことです。そうしないとtextSize(24)などとしたときと同様ISO-8859の範囲の英字しか表示されなくなってしまいました。 文字選択ダイアログでは「全ての文字」を指定すると簡単なんですがフォントサイズが巨大になるので「Specific Unicode Blocks」を選んで、「必要最小限の文字種」のみ選択するとよいみたいです。とはいえ、漢字全部とかなを選ぶとそれなりのサイズになってしまうかも知れませんが・・・