1
我有一个字符串,我可以在核心文本漆像这样:如何绘制布局字形一一 - 核心文本
CGContextShowGlyphsAtPoint(context, 0, 0, glyphs, glyphCount);
的伟大工程。现在我需要分别绘制每个这些字形,在同一个位置上,最后用上面那个漂亮的效用函数绘制。而且我不是用英文做的,有时候在字形下方的字形下面有一个字形(变音符号)。
很显然,我需要的是这样的:
CGPoint pt = CGPointMakeZero;
for (int i = 0; i < glyphCount; i++) {
CGContextShowGlyphsAtPoint(context, pt.x, pt.y, glyphs[i], 1);
pt.x += <some quantity>
pt.y += <some quantity>
}
不幸的是我还没有想出什么“一些量”应该是还没有......从CGContextGetAdvancesForGlyphs
和/或CTFontGetVerticalTranslationsForGlyphs
度量的某种组合和/或CGContextGetGlyphBBoxes
是我的第一个猜测,但我还没有得到它的工作。
任何人都有解决方案/其他想法?
如果您想要测试字符串,请尝试使用అక్త్రిన్。 (背景:我需要逐个绘制字形,因为我需要在自己的应用中对自己的字形进行自定义)。