というわけで、全く解決方法が見つからない、Javaでオープンタイプフォントを使用する方法。
一応おさらいしておくと、実行環境から、オープンタイプフォントをリストアップすることもできるし、
それで、createFont() することもできる。
でも、drawString("あいうえお")で表示すると、
となってしまうのだ。
標準のAPIを使用し、何もエラーが出ない。なのにコレ。
もうどうしようもないわ。
これを回避するには、やはりローテクを使うしかない。
多関節キャラのパーツ画像を1枚のテクスチャに敷き詰めるアルゴリズム。
先日、機能向上したが、この技術が使えそうだ。
文字1字ずつを1つのパーツとみなし、横に結合・展開してみたのが、これ。
重ならずに、文字列として表示する分には、完璧だ。
あとは、横に伸びている「い」を何とかするだけ。
…と、思いがちだが、そんなに簡単ではない。
たとえば、今のままで、「ショートケーキ」を表示すると、どうなるか。
ベースラインやアセントなどの、Y方向の情報がないんだから、そりゃ、こうなる。
で、ここから、ごにょごにょするとだな。
どうよ、このできばえ!
Javaでオープンタイプフォント(OpenTypeFont)を使えたぜ!