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
是我的第一個猜測,但我還沒有得到它的工作。
任何人都有解決方案/其他想法?
如果您想要測試字符串,請嘗試使用అక్త్రిన్。 (背景:我需要逐個繪製字形,因爲我需要在自己的應用中對自己的字形進行自定義)。