From b1d83b1d840fd5637893b5cd8f193d0e188fff2e Mon Sep 17 00:00:00 2001 From: Jacob Lifshay Date: Sun, 4 Jan 2026 18:31:56 -0800 Subject: [PATCH] switch font names to not include tag --- src/main.rs | 320 ++++++++++++++++++++++++++++------------------------ 1 file changed, 173 insertions(+), 147 deletions(-) diff --git a/src/main.rs b/src/main.rs index d9c54ec..d2e2c1b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -68,6 +68,22 @@ mod non_nan_float { } } +const fn str_eq(a: &str, b: &str) -> bool { + let a = a.as_bytes(); + let b = b.as_bytes(); + if a.len() != b.len() { + return false; + } + let mut i = 0; + while i < a.len() { + if a[i] != b[i] { + return false; + } + i += 1; + } + true +} + macro_rules! make_enum_font { ( enum $Font:ident { @@ -75,7 +91,7 @@ macro_rules! make_enum_font { $Other:ident $other_body:tt, $(#[group] $KnownFontGroup:ident { - $(#[name = $known_font_name:literal, size = $known_font_size:literal] + $(#[name_with_tag = $known_font_name_with_tag:literal, size = $known_font_size:literal] $KnownFont:ident,)* },)* } @@ -101,10 +117,24 @@ macro_rules! make_enum_font { } impl $Font { + const fn extract_font_name_from_font_name_with_tag(font_name_with_tag: &str) -> &str { + if let [b'A'..=b'Z',b'A'..=b'Z',b'A'..=b'Z',b'A'..=b'Z',b'A'..=b'Z',b'A'..=b'Z',b'+',_,..] = font_name_with_tag.as_bytes() { + font_name_with_tag.split_at(7).1 + } else { + panic!("invalid font name with id") + } + } + const fn new_known(font_name: &str, size: NonNaNF32) -> Option { + match size.get() { + $($($known_font_size if str_eq(font_name, const { Self::extract_font_name_from_font_name_with_tag($known_font_name_with_tag) }) => Some(Self::$KnownFont),)*)* + _ => None, + } + } fn new(font_name: &str, size: NonNaNF32) -> Self { - match (font_name, size.get()) { - $($(($known_font_name, $known_font_size) => Self::$KnownFont,)*)* - _ => Self::Other { + if let Some(v) = Self::new_known(font_name, size) { + v + } else { + Self::Other { font_name: Box::from(font_name), size, } @@ -119,7 +149,7 @@ macro_rules! make_enum_font { const fn font_name(&self) -> &str { match self { Self::$Other { font_name, .. } => font_name, - $($(Self::$KnownFont => $known_font_name,)*)* + $($(Self::$KnownFont => const { Self::extract_font_name_from_font_name_with_tag($known_font_name_with_tag) },)*)* } } const fn known_font_group(&self) -> Option { @@ -135,6 +165,17 @@ macro_rules! make_enum_font { } } } + + const _: () = { + $($( + let (known_font_name, known_font) = const { + let known_font_name = Font::extract_font_name_from_font_name_with_tag($known_font_name_with_tag); + (known_font_name, &Font::new_known(known_font_name, NonNaNF32::new($known_font_size).unwrap()).unwrap()) + }; + assert!(str_eq(known_font_name, known_font.font_name())); + assert!(matches!(known_font, Font::$KnownFont)); + )*)* + }; }; } @@ -147,352 +188,352 @@ make_enum_font! { }, #[group] InsnHeader { - #[name = "YDJYQV+DejaVuSansCondensed-BoldOblique", size = 9.963] + #[name_with_tag = "YDJYQV+DejaVuSansCondensed-BoldOblique", size = 9.963] InsnHeader, }, #[group] RtlFnHeader { - #[name = "APUYSQ+zcoN-Regular", size = 9.963] + #[name_with_tag = "APUYSQ+zcoN-Regular", size = 9.963] RtlFnHeader, }, #[group] PageHeader { - #[name = "MJBFWM+DejaVuSansCondensed", size = 9.963] + #[name_with_tag = "MJBFWM+DejaVuSansCondensed", size = 9.963] PageHeader, }, #[group] PageFooter { - #[name = "MJBFWM+DejaVuSansCondensed", size = 4.981] + #[name_with_tag = "MJBFWM+DejaVuSansCondensed", size = 4.981] PageFooter, }, #[group] InsnDesc { - #[name = "MJBFWM+DejaVuSansCondensed", size = 8.966] + #[name_with_tag = "MJBFWM+DejaVuSansCondensed", size = 8.966] InsnDesc0, - #[name = "FZTIYT+CMMI9", size = 8.966] + #[name_with_tag = "FZTIYT+CMMI9", size = 8.966] InsnDesc1, - #[name = "ONUAYC+CMSSI9", size = 8.966] + #[name_with_tag = "ONUAYC+CMSSI9", size = 8.966] InsnDesc2, - #[name = "TNGBFZ+CMSY9", size = 8.966] + #[name_with_tag = "TNGBFZ+CMSY9", size = 8.966] InsnDesc3, - #[name = "WHMZPU+CMEX9", size = 8.966] + #[name_with_tag = "WHMZPU+CMEX9", size = 8.966] InsnDesc4, - #[name = "ZJTMSG+CMSS9", size = 8.966] + #[name_with_tag = "ZJTMSG+CMSS9", size = 8.966] InsnDesc5, }, #[group] InsnDescMisc { - #[name = "MJBFWM+DejaVuSansCondensed", size = 2.377] + #[name_with_tag = "MJBFWM+DejaVuSansCondensed", size = 2.377] InsnDescMisc0, - #[name = "MJBFWM+DejaVuSansCondensed", size = 2.561] + #[name_with_tag = "MJBFWM+DejaVuSansCondensed", size = 2.561] InsnDescMisc1, - #[name = "MJBFWM+DejaVuSansCondensed", size = 4.492] + #[name_with_tag = "MJBFWM+DejaVuSansCondensed", size = 4.492] InsnDescMisc2, - #[name = "MJBFWM+DejaVuSansCondensed", size = 4.641] + #[name_with_tag = "MJBFWM+DejaVuSansCondensed", size = 4.641] InsnDescMisc3, - #[name = "MJBFWM+DejaVuSansCondensed", size = 4.772] + #[name_with_tag = "MJBFWM+DejaVuSansCondensed", size = 4.772] InsnDescMisc4, - #[name = "MJBFWM+DejaVuSansCondensed", size = 4.864] + #[name_with_tag = "MJBFWM+DejaVuSansCondensed", size = 4.864] InsnDescMisc5, - #[name = "MJBFWM+DejaVuSansCondensed", size = 4.925] + #[name_with_tag = "MJBFWM+DejaVuSansCondensed", size = 4.925] InsnDescMisc6, - #[name = "MJBFWM+DejaVuSansCondensed", size = 5.097] + #[name_with_tag = "MJBFWM+DejaVuSansCondensed", size = 5.097] InsnDescMisc7, - #[name = "MJBFWM+DejaVuSansCondensed", size = 5.123] + #[name_with_tag = "MJBFWM+DejaVuSansCondensed", size = 5.123] InsnDescMisc8, - #[name = "MJBFWM+DejaVuSansCondensed", size = 5.131] + #[name_with_tag = "MJBFWM+DejaVuSansCondensed", size = 5.131] InsnDescMisc9, - #[name = "MJBFWM+DejaVuSansCondensed", size = 5.516] + #[name_with_tag = "MJBFWM+DejaVuSansCondensed", size = 5.516] InsnDescMisc10, - #[name = "MJBFWM+DejaVuSansCondensed", size = 5.604] + #[name_with_tag = "MJBFWM+DejaVuSansCondensed", size = 5.604] InsnDescMisc11, - #[name = "MJBFWM+DejaVuSansCondensed", size = 5.634] + #[name_with_tag = "MJBFWM+DejaVuSansCondensed", size = 5.634] InsnDescMisc12, - #[name = "MJBFWM+DejaVuSansCondensed", size = 5.906] + #[name_with_tag = "MJBFWM+DejaVuSansCondensed", size = 5.906] InsnDescMisc13, - #[name = "MJBFWM+DejaVuSansCondensed", size = 6.033] + #[name_with_tag = "MJBFWM+DejaVuSansCondensed", size = 6.033] InsnDescMisc14, - #[name = "MJBFWM+DejaVuSansCondensed", size = 6.068] + #[name_with_tag = "MJBFWM+DejaVuSansCondensed", size = 6.068] InsnDescMisc15, - #[name = "MJBFWM+DejaVuSansCondensed", size = 6.213] + #[name_with_tag = "MJBFWM+DejaVuSansCondensed", size = 6.213] InsnDescMisc16, - #[name = "MJBFWM+DejaVuSansCondensed", size = 6.252] + #[name_with_tag = "MJBFWM+DejaVuSansCondensed", size = 6.252] InsnDescMisc17, - #[name = "MJBFWM+DejaVuSansCondensed", size = 6.962] + #[name_with_tag = "MJBFWM+DejaVuSansCondensed", size = 6.962] InsnDescMisc18, - #[name = "MJBFWM+DejaVuSansCondensed", size = 7.977] + #[name_with_tag = "MJBFWM+DejaVuSansCondensed", size = 7.977] InsnDescMisc19, }, #[group] InsnDescCode { - #[name = "APUYSQ+zcoN-Regular", size = 6.974] + #[name_with_tag = "APUYSQ+zcoN-Regular", size = 6.974] InsnDescCode, }, #[group] InsnDescCodeMisc { - #[name = "APUYSQ+zcoN-Regular", size = 3.587] + #[name_with_tag = "APUYSQ+zcoN-Regular", size = 3.587] InsnDescCodeMisc0, - #[name = "APUYSQ+zcoN-Regular", size = 4.483] + #[name_with_tag = "APUYSQ+zcoN-Regular", size = 4.483] InsnDescCodeMisc1, }, #[group] InsnDescItalic { - #[name = "CGMSHV+DejaVuSansCondensed-Oblique", size = 8.966] + #[name_with_tag = "CGMSHV+DejaVuSansCondensed-Oblique", size = 8.966] InsnDescItalic, }, #[group] InsnDescBold { - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 8.966] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 8.966] InsnDescBold, }, #[group] InsnDescBoldItalic { - #[name = "YDJYQV+DejaVuSansCondensed-BoldOblique", size = 8.966] + #[name_with_tag = "YDJYQV+DejaVuSansCondensed-BoldOblique", size = 8.966] InsnDescBoldItalic, }, #[group] InsnDescSmall { - #[name = "MJBFWM+DejaVuSansCondensed", size = 7.97] + #[name_with_tag = "MJBFWM+DejaVuSansCondensed", size = 7.97] InsnDescSmall, }, #[group] InsnDescSmallItalic { - #[name = "CGMSHV+DejaVuSansCondensed-Oblique", size = 7.97] + #[name_with_tag = "CGMSHV+DejaVuSansCondensed-Oblique", size = 7.97] InsnDescSmallItalic, }, #[group] InsnDescSmallBold { - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 7.97] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 7.97] InsnDescSmallBold, }, #[group] InsnDescSmallBoldItalic { - #[name = "YDJYQV+DejaVuSansCondensed-BoldOblique", size = 7.97] + #[name_with_tag = "YDJYQV+DejaVuSansCondensed-BoldOblique", size = 7.97] InsnDescSmallBoldItalic, }, #[group] InsnDescBoldMisc { - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 2.21] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 2.21] InsnDescBoldMisc0, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 2.399] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 2.399] InsnDescBoldMisc1, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 2.763] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 2.763] InsnDescBoldMisc2, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 2.946] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 2.946] InsnDescBoldMisc3, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 2.949] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 2.949] InsnDescBoldMisc4, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 2.999] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 2.999] InsnDescBoldMisc5, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 3.065] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 3.065] InsnDescBoldMisc6, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 3.086] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 3.086] InsnDescBoldMisc7, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 3.183] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 3.183] InsnDescBoldMisc8, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 3.686] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 3.686] InsnDescBoldMisc9, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 3.744] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 3.744] InsnDescBoldMisc10, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 3.825] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 3.825] InsnDescBoldMisc11, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 3.842] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 3.842] InsnDescBoldMisc12, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 3.857] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 3.857] InsnDescBoldMisc13, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 3.979] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 3.979] InsnDescBoldMisc14, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 4.032] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 4.032] InsnDescBoldMisc15, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 4.112] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 4.112] InsnDescBoldMisc16, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 4.161] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 4.161] InsnDescBoldMisc17, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 4.206] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 4.206] InsnDescBoldMisc18, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 4.353] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 4.353] InsnDescBoldMisc19, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 4.378] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 4.378] InsnDescBoldMisc20, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 4.434] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 4.434] InsnDescBoldMisc21, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 4.595] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 4.595] InsnDescBoldMisc22, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 4.619] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 4.619] InsnDescBoldMisc23, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 4.647] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 4.647] InsnDescBoldMisc24, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 4.68] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 4.68] InsnDescBoldMisc25, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 4.693] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 4.693] InsnDescBoldMisc26, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 4.736] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 4.736] InsnDescBoldMisc27, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 4.781] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 4.781] InsnDescBoldMisc28, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 4.802] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 4.802] InsnDescBoldMisc29, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 4.995] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 4.995] InsnDescBoldMisc30, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.201] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.201] InsnDescBoldMisc31, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.258] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.258] InsnDescBoldMisc32, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.363] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.363] InsnDescBoldMisc33, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.442] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.442] InsnDescBoldMisc34, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.473] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.473] InsnDescBoldMisc35, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.485] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.485] InsnDescBoldMisc36, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.512] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.512] InsnDescBoldMisc37, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.543] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.543] InsnDescBoldMisc38, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.613] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.613] InsnDescBoldMisc39, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.744] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.744] InsnDescBoldMisc40, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.774] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.774] InsnDescBoldMisc41, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.809] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.809] InsnDescBoldMisc42, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.849] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.849] InsnDescBoldMisc43, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.911] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.911] InsnDescBoldMisc44, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.92] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.92] InsnDescBoldMisc45, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.962] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.962] InsnDescBoldMisc46, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.981] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.981] InsnDescBoldMisc47, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 6.146] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 6.146] InsnDescBoldMisc48, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 6.213] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 6.213] InsnDescBoldMisc49, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 6.221] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 6.221] InsnDescBoldMisc50, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 6.243] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 6.243] InsnDescBoldMisc51, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 6.55] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 6.55] InsnDescBoldMisc52, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 6.62] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 6.62] InsnDescBoldMisc53, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 6.699] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 6.699] InsnDescBoldMisc54, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 6.725] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 6.725] InsnDescBoldMisc55, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 6.751] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 6.751] InsnDescBoldMisc56, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 6.856] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 6.856] InsnDescBoldMisc57, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 8.029] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 8.029] InsnDescBoldMisc58, - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 8.406] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 8.406] InsnDescBoldMisc59, }, #[group] InsnDescSubscript { - #[name = "MJBFWM+DejaVuSansCondensed", size = 5.978] + #[name_with_tag = "MJBFWM+DejaVuSansCondensed", size = 5.978] InsnDescSubscript, }, #[group] InsnDescBoldSubscript { - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.978] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 5.978] InsnDescBoldSubscript, }, #[group] InsnDescItalicSubscript { - #[name = "CGMSHV+DejaVuSansCondensed-Oblique", size = 5.978] + #[name_with_tag = "CGMSHV+DejaVuSansCondensed-Oblique", size = 5.978] InsnDescItalicSubscript, }, #[group] InsnDescBoldItalicSubscript { - #[name = "YDJYQV+DejaVuSansCondensed-BoldOblique", size = 5.978] + #[name_with_tag = "YDJYQV+DejaVuSansCondensed-BoldOblique", size = 5.978] InsnDescBoldItalicSubscript, }, #[group] InsnExtMnemonic { - #[name = "APUYSQ+zcoN-Regular", size = 8.966] + #[name_with_tag = "APUYSQ+zcoN-Regular", size = 8.966] InsnExtMnemonic, }, #[group] InsnCode { - #[name = "APUYSQ+zcoN-Regular", size = 7.97] + #[name_with_tag = "APUYSQ+zcoN-Regular", size = 7.97] InsnCode0, - #[name = "RRFUNA+CMSY8", size = 7.97] + #[name_with_tag = "RRFUNA+CMSY8", size = 7.97] InsnCode1, - #[name = "HPXOZC+CMSS8", size = 7.97] + #[name_with_tag = "HPXOZC+CMSS8", size = 7.97] InsnCode2, }, #[group] InsnCodeSubscript { - #[name = "APUYSQ+zcoN-Regular", size = 5.978] + #[name_with_tag = "APUYSQ+zcoN-Regular", size = 5.978] InsnCodeSubscript0, - #[name = "DBQTKF+CMSY6", size = 5.978] + #[name_with_tag = "DBQTKF+CMSY6", size = 5.978] InsnCodeSubscript1, }, #[group] TitlePageBig { - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 24.787] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 24.787] TitlePageBig, }, #[group] TitlePageVersion { - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 9.963] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 9.963] TitlePageVersion, }, #[group] TitlePageTm { - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 6.974] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 6.974] TitlePageTm, }, #[group] TitlePageRev { - #[name = "MJBFWM+DejaVuSansCondensed", size = 6.974] + #[name_with_tag = "MJBFWM+DejaVuSansCondensed", size = 6.974] TitlePageRev, }, #[group] TitlePageBook { - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 20.663] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 20.663] TitlePageBook, }, #[group] LegalPageItalic { - #[name = "CGMSHV+DejaVuSansCondensed-Oblique", size = 9.963] + #[name_with_tag = "CGMSHV+DejaVuSansCondensed-Oblique", size = 9.963] LegalPageItalic, }, #[group] ChangeSummaryPageBold { - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 11.955] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 11.955] ChangeSummaryPageBold, }, #[group] ChapterTitle { - #[name = "NHUPPK+DejaVuSansCondensed-Bold", size = 17.215] + #[name_with_tag = "NHUPPK+DejaVuSansCondensed-Bold", size = 17.215] ChapterTitle, }, #[group] MathMisc { - #[name = "AAJMKT+CMMI6", size = 5.978] + #[name_with_tag = "AAJMKT+CMMI6", size = 5.978] MathMisc0, - #[name = "CUTMFD+CMSSI8", size = 5.978] + #[name_with_tag = "CUTMFD+CMSSI8", size = 5.978] MathMisc1, - #[name = "CUTMFD+CMSSI8", size = 7.97] + #[name_with_tag = "CUTMFD+CMSSI8", size = 7.97] MathMisc2, - #[name = "FZTIYT+CMMI9", size = 5.734] + #[name_with_tag = "FZTIYT+CMMI9", size = 5.734] MathMisc3, - #[name = "FZTIYT+CMMI9", size = 7.168] + #[name_with_tag = "FZTIYT+CMMI9", size = 7.168] MathMisc4, - #[name = "HONFQS+CMMI8", size = 7.97] + #[name_with_tag = "HONFQS+CMMI8", size = 7.97] MathMisc5, - #[name = "HPXOZC+CMSS8", size = 5.978] + #[name_with_tag = "HPXOZC+CMSS8", size = 5.978] MathMisc6, - #[name = "LLVRDD+CMSY10", size = 11.955] + #[name_with_tag = "LLVRDD+CMSY10", size = 11.955] MathMisc7, - #[name = "ZJTMSG+CMSS9", size = 7.168] + #[name_with_tag = "ZJTMSG+CMSS9", size = 7.168] MathMisc8, }, } @@ -503,21 +544,6 @@ impl Font { self.size() * const { 3.985 / Font::InsnCode0.size() } } const fn line_height_helper(&self) -> f32 { - const fn str_eq(a: &str, b: &str) -> bool { - let a = a.as_bytes(); - let b = b.as_bytes(); - if a.len() != b.len() { - return false; - } - let mut i = 0; - while i < a.len() { - if a[i] != b[i] { - return false; - } - i += 1; - } - true - } let font_name = self.font_name(); let mut i = 0; while i < KnownFontGroup::INSN_CODE_FONT_GROUPS.len() {