switch font names to not include tag

This commit is contained in:
Jacob Lifshay 2026-01-04 18:31:56 -08:00
parent c8cd234d8f
commit b1d83b1d84
Signed by: programmerjake
SSH key fingerprint: SHA256:HnFTLGpSm4Q4Fj502oCFisjZSoakwEuTsJJMSke63RQ

View file

@ -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<Self> {
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<KnownFontGroup> {
@ -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() {