所以我花了几个小时把头撞在墙上,因为我的 CoreText 项目不能正常工作。我发现了这个问题,这很奇怪。我希望这里有人可以帮助我理解为什么相同大小的相同字体的字体特征在 CTFontRef 和 UIFont 之间是不同的。
为了测试,我使用了以下四行:
UIFont* tFont=[UIFont fontWithName:@"Helvetica" size:20];
CTFontRef fontRef=CTFontCreateWithName((CFStringRef)@"Helvetica", 20.0f, NULL);
NSLog(@"UIFont: ascent:%f descent:%f leading:%f",_font.ascender,_font.descender,_font.leading);
NSLog(@"CTFontRef: ascent:%f descent:%f leading:%f",CTFontGetAscent(fontRef),CTFontGetDescent(fontRef),CTFontGetLeading(fontRef));
并收到此输出:
UIFont: ascent:18.400391 descent:-4.599609 leading:24.000000
CTFontRef: ascent:15.400391 descent:4.599609 leading:0.000000
什么???