我正在编写一个 iPhone 应用程序,它需要呈现包含变音符号(波浪线、重音符号等)的 i18n 文本。Apple 提供UIFont类,可用于获取给定字体/字体大小组合的前导、上升、下降等。
问题是这些信息不能准确地反映变音符号。具体来说,大写字母的变音符号通常超过 lineHeight(UIFont 属性以前称为leading)。
同样的问题存在于整个框架中,即。NSString:sizeWithFont也有同样的问题。
我需要知道文本的真正边界框,因为我使用的是不支持文本绘制的 OpenGL,因此需要将文本渲染到纹理。
目前,我正在使用 hack 来解决这个问题。有没有更好的办法?