cocos2dx3.2@フォント周りに関して

・win32、iphoneandroidで共通したフォントを使えるようにした
・一文字ごとの文字送り表示ができるようにした
・ルビを振れるようにした
・文字数、行数に合った吹き出しを自動生成できるようにした

前回から進んだのはこれくらい。
cocos2d-x3.2ではFontDefinitionの_fontNameに指定したttfファイルへのパスからファイル名を
切り出して、デバイスごとのフォントの読み込み処理に渡すようになったみたい。
なのでttfのファイル名とフォント名を合わせる必要があるのだけど、「IPAex明朝.ttf」みたいな
ファイル名にしたとき、sjis→utf8の文字化けがおきてフォントが認識されず、
デフォルトのフォントが使われてハマった。色々試してみたところPostScript名でも
いけるようなので「IPAexMincho.ttf」という感じにしたらいけた。
PostScript名はMacならフォントをインストールした後にFontBookをみれば確認できる。
WindowsではSAKURA等を使うと確認できる。
http://www.vector.co.jp/soft/winnt/writing/se191710.html

xcodeでの導入手順が若干面倒臭かったけど、

1.Macにフォントインストール
2.「Build Phases」→「Copy Bundle Resources」→「+」→「Add Other...」から
  ttfファイルを追加
3.「Info」→「Custom IOS Target Properties」→「Fonts provided by application」に
  fftファイル名を追加(拡張子含む)

で行けた。

漫画で使われてるアンチック体(アンチゴチ)が欲しくてやさしさアンチックを
読み込んでみたのだけどandroidで文字の下の方が切れる現象が出たので断念した。
フォントのウェイトが関係してるのだろか?
結局、文字コードを見てひらがな、カタカナなら明朝体、それ以外ならゴシック体を
読み込むよう処理を振り分けてる。記号周りで何々なら明朝体にすべし、みたいな
ルールとかはあるんだろうか? そこら辺は追々処理を追加していくことにする。

追記:GL-アンチックPlusが良さ気。

縦書き処理を実装中。ルビが絡んでくると面倒臭い。