2012-09-29 27 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是我的第一個猜測,但我還沒有得到它的工作。

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

如果您想要測試字符串,請嘗試使用అక్త్రిన్。 (背景:我需要逐個繪製字形,因爲我需要在自己的應用中對自己的字形進行自定義)。

回答

相關問題