font: expand set of characters considered symbols

Low hanging fruit of some Unicode blocks that are full of very symbol-y
characters.
pull/8510/head
Qwerasd 2025-09-03 18:05:26 -06:00
parent 2464728851
commit 7c4b45ecee
1 changed files with 16 additions and 2 deletions

View File

@ -237,13 +237,27 @@ pub fn isCovering(cp: u21) bool {
/// Returns true of the codepoint is a "symbol-like" character, which
/// for now we define as anything in a private use area and anything
/// in the "dingbats" unicode block.
/// in several unicode blocks:
/// - Dingbats
/// - Emoticons
/// - Miscellaneous Symbols
/// - Enclosed Alphanumerics
/// - Enclosed Alphanumeric Supplement
/// - Miscellaneous Symbols and Pictographs
/// - Transport and Map Symbols
///
/// In the future it may be prudent to expand this to encompass more
/// symbol-like characters, and/or exclude some PUA sections.
pub fn isSymbol(cp: u21) bool {
// TODO: This should probably become a codegen'd LUT
return ziglyph.general_category.isPrivateUse(cp) or
ziglyph.blocks.isDingbats(cp);
ziglyph.blocks.isDingbats(cp) or
ziglyph.blocks.isEmoticons(cp) or
ziglyph.blocks.isMiscellaneousSymbols(cp) or
ziglyph.blocks.isEnclosedAlphanumerics(cp) or
ziglyph.blocks.isEnclosedAlphanumericSupplement(cp) or
ziglyph.blocks.isMiscellaneousSymbolsAndPictographs(cp) or
ziglyph.blocks.isTransportAndMapSymbols(cp);
}
/// Returns the appropriate `constraint_width` for