From 63f1c54f12529e081ae33a4ce3a5ba35ba618c2e Mon Sep 17 00:00:00 2001 From: Guille Gonzalez Date: Sat, 10 Jan 2026 06:14:44 +0100 Subject: [PATCH] Handle empty font variant tables in FontMetrics --- Sources/SwiftUIMath/Internal/Font/FontMetrics.swift | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Sources/SwiftUIMath/Internal/Font/FontMetrics.swift b/Sources/SwiftUIMath/Internal/Font/FontMetrics.swift index cfd6d78..04ff39f 100644 --- a/Sources/SwiftUIMath/Internal/Font/FontMetrics.swift +++ b/Sources/SwiftUIMath/Internal/Font/FontMetrics.swift @@ -30,7 +30,8 @@ extension Math { guard let graphicsFont = FontRegistry.shared.graphicsFont(named: font.name), let glyphName = graphicsFont.name(for: glyph) as String?, - let variantGlyphs = table.vVariants[glyphName] + let variantGlyphs = table.vVariants[glyphName], + !variantGlyphs.isEmpty else { return [glyph] } @@ -44,7 +45,8 @@ extension Math { guard let graphicsFont = FontRegistry.shared.graphicsFont(named: font.name), let glyphName = graphicsFont.name(for: glyph) as String?, - let variantGlyphs = table.hVariants[glyphName] + let variantGlyphs = table.hVariants[glyphName], + !variantGlyphs.isEmpty else { return [glyph] } @@ -58,7 +60,8 @@ extension Math { guard let graphicsFont = FontRegistry.shared.graphicsFont(named: font.name), let glyphName = graphicsFont.name(for: glyph) as String?, - let variantGlyphs = table.vVariants[glyphName] + let variantGlyphs = table.vVariants[glyphName], + !variantGlyphs.isEmpty else { return glyph }