font: when presentation isn't found, always fallback to any

Fixes #1808

When resolving a codepoint, we first attempt to find the default
presentation (if an explicit one is not given), but we were not falling
back to "any" in case that presentation was not found.
This commit is contained in:
Mitchell Hashimoto
2024-05-30 14:22:42 -07:00
parent 523f9e32cc
commit 80c0ba8758

View File

@ -211,8 +211,10 @@ pub fn getIndex(
} }
} }
// If this is already regular, we're done falling back. // If this is regular with any matching presentation, then we are done
if (style == .regular and p == null) return null; // there is nothing more we can do. Otherwise we fall through and do
// an any presentation search.
if (style == .regular and p_mode == .any) return null;
// For non-regular fonts, we fall back to regular with any presentation // For non-regular fonts, we fall back to regular with any presentation
return self.collection.getIndex(cp, .regular, .{ .any = {} }); return self.collection.getIndex(cp, .regular, .{ .any = {} });