Я обнаружил, что когда я использовал несколько гарнитур в одном абзаце, установки минимальной и максимальной высоты строки было недостаточно. Я также должен был установить межстрочный интервал равным 0, иначе линии имели бы непоследовательное ведение. Вот мое полное решение:
CGFloat lineHeight = 68.0f;
CGFloat lineSpacing = 0.0f;
CTParagraphStyleSetting setting[4] = {
{kCTParagraphStyleSpecifierMaximumLineHeight, sizeof(CGFloat), &lineHeight},
{kCTParagraphStyleSpecifierMinimumLineHeight, sizeof(CGFloat), &lineHeight},
{kCTParagraphStyleSpecifierMaximumLineSpacing, sizeof(CGFloat), &lineSpacing},
{kCTParagraphStyleSpecifierMinimumLineSpacing, sizeof(CGFloat), &lineSpacing}
};
CTParagraphStyleRef paragraphStyle = CTParagraphStyleCreate(setting, 4);
NSRange fullRange = NSMakeRange(0, [mutString length]);
[mutString addAttributes:[NSDictionary dictionaryWithObjectsAndKeys:(__bridge id)paragraphStyle,
(NSString*)kCTParagraphStyleAttributeName, nil]
range:fullRange];
CFRelease(paragraphStyle);