use super::StandardFont;
pub(crate) const BASE14_FONT_NAMES: [&str; 14] = [
"Courier",
"Courier-Bold",
"Courier-BoldOblique",
"Courier-Oblique",
"Helvetica",
"Helvetica-Bold",
"Helvetica-BoldOblique",
"Helvetica-Oblique",
"Times-Roman",
"Times-Bold",
"Times-BoldItalic",
"Times-Italic",
"Symbol",
"ZapfDingbats",
];
pub(crate) const ALT_FONT_NAMES: &[(&str, StandardFont)] = &[
("Arial", StandardFont::Helvetica),
("Arial,Bold", StandardFont::HelveticaBold),
("Arial,BoldItalic", StandardFont::HelveticaBoldOblique),
("Arial,Italic", StandardFont::HelveticaOblique),
("Arial-Bold", StandardFont::HelveticaBold),
("Arial-BoldItalic", StandardFont::HelveticaBoldOblique),
("Arial-BoldItalicMT", StandardFont::HelveticaBoldOblique),
("Arial-BoldMT", StandardFont::HelveticaBold),
("Arial-Italic", StandardFont::HelveticaOblique),
("Arial-ItalicMT", StandardFont::HelveticaOblique),
("ArialBold", StandardFont::HelveticaBold),
("ArialBoldItalic", StandardFont::HelveticaBoldOblique),
("ArialItalic", StandardFont::HelveticaOblique),
("ArialMT", StandardFont::Helvetica),
("ArialMT,Bold", StandardFont::HelveticaBold),
("ArialMT,BoldItalic", StandardFont::HelveticaBoldOblique),
("ArialMT,Italic", StandardFont::HelveticaOblique),
("ArialRoundedMTBold", StandardFont::HelveticaBold),
("Courier", StandardFont::Courier),
("Courier,Bold", StandardFont::CourierBold),
("Courier,BoldItalic", StandardFont::CourierBoldOblique),
("Courier,Italic", StandardFont::CourierOblique),
("Courier-Bold", StandardFont::CourierBold),
("Courier-BoldOblique", StandardFont::CourierBoldOblique),
("Courier-Oblique", StandardFont::CourierOblique),
("CourierBold", StandardFont::CourierBold),
("CourierBoldItalic", StandardFont::CourierBoldOblique),
("CourierItalic", StandardFont::CourierOblique),
("CourierNew", StandardFont::Courier),
("CourierNew,Bold", StandardFont::CourierBold),
("CourierNew,BoldItalic", StandardFont::CourierBoldOblique),
("CourierNew,Italic", StandardFont::CourierOblique),
("CourierNew-Bold", StandardFont::CourierBold),
("CourierNew-BoldItalic", StandardFont::CourierBoldOblique),
("CourierNew-Italic", StandardFont::CourierOblique),
("CourierNewBold", StandardFont::CourierBold),
("CourierNewBoldItalic", StandardFont::CourierBoldOblique),
("CourierNewItalic", StandardFont::CourierOblique),
(
"CourierNewPS-BoldItalicMT",
StandardFont::CourierBoldOblique,
),
("CourierNewPS-BoldMT", StandardFont::CourierBold),
("CourierNewPS-ItalicMT", StandardFont::CourierOblique),
("CourierNewPSMT", StandardFont::Courier),
("CourierStd", StandardFont::Courier),
("CourierStd-Bold", StandardFont::CourierBold),
("CourierStd-BoldOblique", StandardFont::CourierBoldOblique),
("CourierStd-Oblique", StandardFont::CourierOblique),
("Helvetica", StandardFont::Helvetica),
("Helvetica,Bold", StandardFont::HelveticaBold),
("Helvetica,BoldItalic", StandardFont::HelveticaBoldOblique),
("Helvetica,Italic", StandardFont::HelveticaOblique),
("Helvetica-Bold", StandardFont::HelveticaBold),
("Helvetica-BoldItalic", StandardFont::HelveticaBoldOblique),
("Helvetica-BoldOblique", StandardFont::HelveticaBoldOblique),
("Helvetica-Italic", StandardFont::HelveticaOblique),
("Helvetica-Oblique", StandardFont::HelveticaOblique),
("HelveticaBold", StandardFont::HelveticaBold),
("HelveticaBoldItalic", StandardFont::HelveticaBoldOblique),
("HelveticaItalic", StandardFont::HelveticaOblique),
("Symbol", StandardFont::Symbol),
("SymbolMT", StandardFont::Symbol),
("Times-Bold", StandardFont::TimesBold),
("Times-BoldItalic", StandardFont::TimesBoldOblique),
("Times-Italic", StandardFont::TimesOblique),
("Times-Roman", StandardFont::Times),
("TimesBold", StandardFont::TimesBold),
("TimesBoldItalic", StandardFont::TimesBoldOblique),
("TimesItalic", StandardFont::TimesOblique),
("TimesNewRoman", StandardFont::Times),
("TimesNewRoman,Bold", StandardFont::TimesBold),
("TimesNewRoman,BoldItalic", StandardFont::TimesBoldOblique),
("TimesNewRoman,Italic", StandardFont::TimesOblique),
("TimesNewRoman-Bold", StandardFont::TimesBold),
("TimesNewRoman-BoldItalic", StandardFont::TimesBoldOblique),
("TimesNewRoman-Italic", StandardFont::TimesOblique),
("TimesNewRomanBold", StandardFont::TimesBold),
("TimesNewRomanBoldItalic", StandardFont::TimesBoldOblique),
("TimesNewRomanItalic", StandardFont::TimesOblique),
("TimesNewRomanPS", StandardFont::Times),
("TimesNewRomanPS-Bold", StandardFont::TimesBold),
("TimesNewRomanPS-BoldItalic", StandardFont::TimesBoldOblique),
(
"TimesNewRomanPS-BoldItalicMT",
StandardFont::TimesBoldOblique,
),
("TimesNewRomanPS-BoldMT", StandardFont::TimesBold),
("TimesNewRomanPS-Italic", StandardFont::TimesOblique),
("TimesNewRomanPS-ItalicMT", StandardFont::TimesOblique),
("TimesNewRomanPSMT", StandardFont::Times),
("TimesNewRomanPSMT,Bold", StandardFont::TimesBold),
(
"TimesNewRomanPSMT,BoldItalic",
StandardFont::TimesBoldOblique,
),
("TimesNewRomanPSMT,Italic", StandardFont::TimesOblique),
("ZapfDingbats", StandardFont::Dingbats),
];
#[cfg(test)]
pub(crate) const WEIGHT_POW: [u8; 100] = [
0, 6, 12, 14, 16, 18, 22, 24, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58,
60, 62, 64, 66, 68, 70, 70, 72, 72, 74, 74, 74, 76, 76, 76, 78, 78, 78, 80, 80, 80, 82, 82, 82,
84, 84, 84, 84, 86, 86, 86, 88, 88, 88, 88, 90, 90, 90, 90, 92, 92, 92, 92, 94, 94, 94, 94, 96,
96, 96, 96, 96, 98, 98, 98, 98, 100, 100, 100, 100, 100, 102, 102, 102, 102, 102, 104, 104,
104, 104, 104, 106, 106, 106, 106, 106,
];
#[cfg(test)]
pub(crate) const WEIGHT_POW_11: [u8; 100] = [
0, 4, 7, 8, 9, 10, 12, 13, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33,
34, 35, 36, 37, 39, 39, 40, 40, 41, 41, 41, 42, 42, 42, 43, 43, 43, 44, 44, 44, 45, 45, 45, 46,
46, 46, 46, 43, 47, 47, 48, 48, 48, 48, 45, 50, 50, 50, 46, 51, 51, 51, 52, 52, 52, 52, 53, 53,
53, 53, 53, 54, 54, 54, 54, 55, 55, 55, 55, 55, 56, 56, 56, 56, 56, 57, 57, 57, 57, 57, 58, 58,
58, 58, 58,
];
#[cfg(test)]
pub(crate) const WEIGHT_POW_SHIFT_JIS: [u8; 100] = [
0, 0, 2, 4, 6, 8, 10, 14, 16, 20, 22, 26, 28, 32, 34, 38, 42, 44, 48, 52, 56, 60, 64, 66, 70,
74, 78, 82, 86, 90, 96, 96, 96, 96, 98, 98, 98, 100, 100, 100, 100, 102, 102, 102, 102, 104,
104, 104, 104, 104, 106, 106, 106, 106, 106, 108, 108, 108, 108, 108, 110, 110, 110, 110, 110,
112, 112, 112, 112, 112, 112, 114, 114, 114, 114, 114, 114, 114, 116, 116, 116, 116, 116, 116,
116, 118, 118, 118, 118, 118, 118, 118, 120, 120, 120, 120, 120, 120, 120, 120,
];
#[cfg(test)]
pub(crate) const ANGLE_SKEW: [i8; 30] = [
0, -2, -3, -5, -7, -9, -11, -12, -14, -16, -18, -19, -21, -23, -25, -27, -29, -31, -32, -34,
-36, -38, -40, -42, -45, -47, -49, -51, -53, -55,
];