Fixed a glyph lookup crash.

This commit is contained in:
Michael Griebling
2023-01-17 14:13:04 -05:00
parent e4ba232a5f
commit 2dd0fac5a8

View File

@@ -201,22 +201,22 @@ class MTFontMathTable {
return self.getVariantsForGlyph(glyph, inDictionary:variants) return self.getVariantsForGlyph(glyph, inDictionary:variants)
} }
func getVariantsForGlyph(_ glyph: CGGlyph, inDictionary variants:NSDictionary?) -> [NSNumber?] { func getVariantsForGlyph(_ glyph: CGGlyph, inDictionary variants:NSDictionary?) -> [NSNumber] {
let glyphName = self.font!.get(nameForGlyph: glyph) let glyphName = self.font!.get(nameForGlyph: glyph)
let variantGlyphs = variants![glyphName] as! NSArray? let variantGlyphs = variants![glyphName] as! NSArray?
let glyphArray = NSMutableArray(capacity: variantGlyphs!.count) var glyphArray = [NSNumber]()
if variantGlyphs == nil { if variantGlyphs == nil {
// There are no extra variants, so just add the current glyph to it. // There are no extra variants, so just add the current glyph to it.
let glyph = self.font!.get(glyphWithName: glyphName) let glyph = self.font!.get(glyphWithName: glyphName)
glyphArray.add(glyph as Any) glyphArray.append(NSNumber(value:glyph))
return glyphArray as! [NSNumber?] return glyphArray
} }
for gvn in variantGlyphs! { for gvn in variantGlyphs! {
let glyphVariantName = gvn as! String? let glyphVariantName = gvn as! String?
let variantGlyph = self.font?.get(glyphWithName: glyphVariantName!) let variantGlyph = self.font?.get(glyphWithName: glyphVariantName!)
glyphArray.add(variantGlyph as Any) glyphArray.append(NSNumber(value:variantGlyph!))
} }
return glyphArray as! [NSNumber?] return glyphArray
} }
/** Returns a larger vertical variant of the given glyph if any. /** Returns a larger vertical variant of the given glyph if any.