![objective-c – 使用时出现错误字距 – [NSString drawInRect:withAttributes:],第1张 objective-c – 使用时出现错误字距 – [NSString drawInRect:withAttributes:],第1张](/aiimages/objective-c+%E2%80%93+%E4%BD%BF%E7%94%A8%E6%97%B6%E5%87%BA%E7%8E%B0%E9%94%99%E8%AF%AF%E5%AD%97%E8%B7%9D+%E2%80%93+%5BNSString+drawInRect%EF%BC%9AwithAttributes%EF%BC%9A%5D.png)
对于小点大小,第一种情况(在Cocoa中呈现)几乎难以辨认,而第二种情况(来自文本编辑)要好得多.我认为这里根本没有使用字距调整信息.如果我应用值为0.0的NSKernAttribute(根据文档关闭字距调整),我得到相同的结果,顶部的那个.
我也尝试过使用带有CTlineDraw的Core Text,但仍然有很糟糕的字距.所以我的问题是,在Cocoa文本系统中启用字距调整是否需要做些什么?如果没有,NSTextVIEw如何应用字距调整?
解决方法 顶部的例子是“更紧”,底部的例子是’更宽松’看 – [NSTextVIEw tightenKerning],– [NSTextVIEw loosenKerning]. Apple在这里混淆地称其他人称之为“跟踪”为“Kerning”即.在字体中指定的“字符前进”之后,在每个字形之间均匀地应用恒定量的额外空间(正或负),以使文本显示,更好,更紧或更松散.默认的“紧密度”或“松散度”是渲染引擎的属性,而不是字体,并且在不同的OSX版本,应用程序或UI元素之间可能很容易区分.
在字体中,字距调整表用于调整特定字形对所需的字符前进,例如,在我的假设字体中:’AV’被列为字距对 – 当字符时’A’应该具有较小的前进跟随它是’V’.
OSX字体Helvetica和HelveticaNeue(以及许多其他字体)根本没有字距调整信息,因此您的示例中没有使用字距调整信息.
如果字体没有字符串信息,那么您的问题是“我如何在Cocoa文本系统中启用字距调整?”没有意义或不代表你认为它意味着什么(?).
总结以上是内存溢出为你收集整理的objective-c – 使用时出现错误字距 – [NSString drawInRect:withAttributes:]全部内容,希望文章能够帮你解决objective-c – 使用时出现错误字距 – [NSString drawInRect:withAttributes:]所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)