2012-09-29 23 views
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是我的第一个猜测,但我还没有得到它的工作。

任何人都有解决方案/其他想法?

如果您想要测试字符串,请尝试使用అక్త్రిన్。 (背景:我需要逐个绘制字形,因为我需要在自己的应用中对自己的字形进行自定义)。

回答

相关问题