あー、分かった。要は単純なケースしかサポートしてないんだな。
mergeFonts -cid cidfontinfo merged.cid src1.map src1.ufo src2.map src2.ufo
のようなことをしてCIDフォントが作れるんかなぁと思ったがそうではないようだ。そもそもクラッシュする箇所をコメントアウトしたところで、merged.cid
という名のUFOができてしまう(!)
ということで、いまのところ(或いはずっと?)CIDフォントを作り出す機能はないようだが、中途半端にcidfontinfoから情報としてFullName
が持ってこられた状態になると、
int ufoEndFont(ufoCtx h) { if ( h->stm.src ) h->cb.stm.close(&h->cb.stm, h->stm.src); memFree(h, h->top.FullName.ptr); return ufoSuccess; }
のmemFree
でクラッシュする。たぶんcidfontinfoのreaderだか何だかが読み出したバッファを共有しているとか、staticなバッファを参照しているとかそういうのなんだろう。
まぁともかく上記のようなことはできず、
mergeFonts merged.ufo src1.ufo src2.ufo
のような単純な使用にとどめておきなさいと。