gpt4 book ai didi

objective-c - NSGlyph 的 -glyphIsEncoded :? 的替代品

转载 作者:行者123 更新时间:2023-12-03 17:04:47 25 4
gpt4 key购买 nike

在移植一些古老代码时,我遇到了一个特殊的类,它在 OS X 10.4 中大部分被弃用,称为 NSGlyph。经过谷歌搜索一段时间后,我想出了 very few hits它到底做了什么,以及为什么它对框架中的 if-else 分支很重要。特别是,方法 NSFont -glyphIsEncoded: 似乎是某些分支的重要组成部分,如果我只是将其删除并继续前进,以防万一出现问题,那将是一种耻辱。有人知道 NSFont -glyphIsEncoded: 的合适替代品吗?

if (glyph == 0xffff || ![font glyphIsEncoded:glyph]) {
// Switch to getting it from the system font for "normal" keys
// get the glyph from the layout manager (this normally will be the ascii value)
glyph = [layoutManager glyphAtIndex: i];
font = [NSFont systemFontOfSize:[font pointSize]]; // use the system font
//NSLog(@"Asking layout manager for glyph for %@, got %d", glyphName, glyph);
}
if (glyph != 0xffff && [font glyphIsEncoded:glyph]) {
NSRect bounds = [font boundingRectForGlyph:glyph];
[path moveToPoint: NSMakePoint(left, 0.0 - [font descender])];
[path appendBezierPathWithGlyph: glyph inFont: font];
left += [font advancementForGlyph: glyph].width;
continue; // rendered a character
} //etc...

最佳答案

根据documentation ,

[font glyphIsEncoded:glyph]

可以替换为

glyph < [font numberOfGlyphs]

关于objective-c - NSGlyph 的 -glyphIsEncoded :? 的替代品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12651052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com