現在、CoreGraphics と CoreText を使用して単純なビットマップ フォント ジェネレーターを作成しています。次の方法でフォントのカーニング テーブルを取得しています。
CFDataRef kernTable = CTFontCopyTable(m_ctFontRef, kCTFontTableKern, kCTFontTableOptionNoOptions);
そしてそれを解析するとうまくいきます。カーニング ペアは、カーニング ペアのグリフ インデックス (つまり CGGlyph) を提供し、それらを Unicode (つまり UniChar) に変換する必要がありますが、残念ながら、これは非常に簡単ではないようです。私が得た最も近いものは次のものを使用していました:
CGFontCopyGlyphNameForGlyph
CGGlyph のグリフ名を取得するには、名前を Unicode に変換する方法がわかりません。これは、実際にはquoteleftなどの単なる文字列であるためです。私が考えたもう1つのことはkCTFontTableCmap
、グリフからUnicode IDへのマッピングを手動で行うために自分自身を解析することでしたが、それはタスクにとって余分な作業のようです. これを行う簡単な方法はありますか?
ありがとう!