#![allow(non_snake_case)]
#![allow(unused_mut)]
#![allow(missing_docs)]
use std::collections::HashMap;
lazy_static!{
pub static ref GLYPH_WIDTHS: HashMap<Font, HashMap<char, f64>> = {
let mut TimesRoman_widths: HashMap<char, f64> = HashMap::new();
TimesRoman_widths.insert('A', 0.72);
TimesRoman_widths.insert('Æ', 0.89);
TimesRoman_widths.insert('Á', 0.72);
TimesRoman_widths.insert('Ă', 0.72);
TimesRoman_widths.insert('Â', 0.72);
TimesRoman_widths.insert('Ä', 0.72);
TimesRoman_widths.insert('À', 0.72);
TimesRoman_widths.insert('Ā', 0.72);
TimesRoman_widths.insert('Ą', 0.72);
TimesRoman_widths.insert('Å', 0.72);
TimesRoman_widths.insert('Ã', 0.72);
TimesRoman_widths.insert('B', 0.67);
TimesRoman_widths.insert('C', 0.67);
TimesRoman_widths.insert('Ć', 0.67);
TimesRoman_widths.insert('Č', 0.67);
TimesRoman_widths.insert('Ç', 0.67);
TimesRoman_widths.insert('D', 0.72);
TimesRoman_widths.insert('Ď', 0.72);
TimesRoman_widths.insert('Đ', 0.72);
TimesRoman_widths.insert('∆', 0.61);
TimesRoman_widths.insert('E', 0.61);
TimesRoman_widths.insert('É', 0.61);
TimesRoman_widths.insert('Ě', 0.61);
TimesRoman_widths.insert('Ê', 0.61);
TimesRoman_widths.insert('Ë', 0.61);
TimesRoman_widths.insert('Ė', 0.61);
TimesRoman_widths.insert('È', 0.61);
TimesRoman_widths.insert('Ē', 0.61);
TimesRoman_widths.insert('Ę', 0.61);
TimesRoman_widths.insert('Ð', 0.72);
TimesRoman_widths.insert('€', 0.50);
TimesRoman_widths.insert('F', 0.56);
TimesRoman_widths.insert('G', 0.72);
TimesRoman_widths.insert('Ğ', 0.72);
TimesRoman_widths.insert('Ģ', 0.72);
TimesRoman_widths.insert('H', 0.72);
TimesRoman_widths.insert('I', 0.33);
TimesRoman_widths.insert('Í', 0.33);
TimesRoman_widths.insert('Î', 0.33);
TimesRoman_widths.insert('Ï', 0.33);
TimesRoman_widths.insert('İ', 0.33);
TimesRoman_widths.insert('Ì', 0.33);
TimesRoman_widths.insert('Ī', 0.33);
TimesRoman_widths.insert('Į', 0.33);
TimesRoman_widths.insert('J', 0.39);
TimesRoman_widths.insert('K', 0.72);
TimesRoman_widths.insert('Ķ', 0.72);
TimesRoman_widths.insert('L', 0.61);
TimesRoman_widths.insert('Ĺ', 0.61);
TimesRoman_widths.insert('Ľ', 0.61);
TimesRoman_widths.insert('Ļ', 0.61);
TimesRoman_widths.insert('Ł', 0.61);
TimesRoman_widths.insert('M', 0.89);
TimesRoman_widths.insert('N', 0.72);
TimesRoman_widths.insert('Ń', 0.72);
TimesRoman_widths.insert('Ň', 0.72);
TimesRoman_widths.insert('Ņ', 0.72);
TimesRoman_widths.insert('Ñ', 0.72);
TimesRoman_widths.insert('O', 0.72);
TimesRoman_widths.insert('Œ', 0.89);
TimesRoman_widths.insert('Ó', 0.72);
TimesRoman_widths.insert('Ô', 0.72);
TimesRoman_widths.insert('Ö', 0.72);
TimesRoman_widths.insert('Ò', 0.72);
TimesRoman_widths.insert('Ő', 0.72);
TimesRoman_widths.insert('Ō', 0.72);
TimesRoman_widths.insert('Ø', 0.72);
TimesRoman_widths.insert('Õ', 0.72);
TimesRoman_widths.insert('P', 0.56);
TimesRoman_widths.insert('Q', 0.72);
TimesRoman_widths.insert('R', 0.67);
TimesRoman_widths.insert('Ŕ', 0.67);
TimesRoman_widths.insert('Ř', 0.67);
TimesRoman_widths.insert('Ŗ', 0.67);
TimesRoman_widths.insert('S', 0.56);
TimesRoman_widths.insert('Ś', 0.56);
TimesRoman_widths.insert('Š', 0.56);
TimesRoman_widths.insert('Ş', 0.56);
TimesRoman_widths.insert('Ș', 0.56);
TimesRoman_widths.insert('T', 0.61);
TimesRoman_widths.insert('Ť', 0.61);
TimesRoman_widths.insert('Ţ', 0.61);
TimesRoman_widths.insert('Þ', 0.56);
TimesRoman_widths.insert('U', 0.72);
TimesRoman_widths.insert('Ú', 0.72);
TimesRoman_widths.insert('Û', 0.72);
TimesRoman_widths.insert('Ü', 0.72);
TimesRoman_widths.insert('Ù', 0.72);
TimesRoman_widths.insert('Ű', 0.72);
TimesRoman_widths.insert('Ū', 0.72);
TimesRoman_widths.insert('Ų', 0.72);
TimesRoman_widths.insert('Ů', 0.72);
TimesRoman_widths.insert('V', 0.72);
TimesRoman_widths.insert('W', 0.94);
TimesRoman_widths.insert('X', 0.72);
TimesRoman_widths.insert('Y', 0.72);
TimesRoman_widths.insert('Ý', 0.72);
TimesRoman_widths.insert('Ÿ', 0.72);
TimesRoman_widths.insert('Z', 0.61);
TimesRoman_widths.insert('Ź', 0.61);
TimesRoman_widths.insert('Ž', 0.61);
TimesRoman_widths.insert('Ż', 0.61);
TimesRoman_widths.insert('a', 0.44);
TimesRoman_widths.insert('á', 0.44);
TimesRoman_widths.insert('ă', 0.44);
TimesRoman_widths.insert('â', 0.44);
TimesRoman_widths.insert('´', 0.33);
TimesRoman_widths.insert('ä', 0.44);
TimesRoman_widths.insert('æ', 0.67);
TimesRoman_widths.insert('à', 0.44);
TimesRoman_widths.insert('ā', 0.44);
TimesRoman_widths.insert('&', 0.78);
TimesRoman_widths.insert('ą', 0.44);
TimesRoman_widths.insert('å', 0.44);
TimesRoman_widths.insert('^', 0.47);
TimesRoman_widths.insert('~', 0.54);
TimesRoman_widths.insert('*', 0.50);
TimesRoman_widths.insert('@', 0.92);
TimesRoman_widths.insert('ã', 0.44);
TimesRoman_widths.insert('b', 0.50);
TimesRoman_widths.insert('\\', 0.28);
TimesRoman_widths.insert('|', 0.20);
TimesRoman_widths.insert('{', 0.48);
TimesRoman_widths.insert('}', 0.48);
TimesRoman_widths.insert('[', 0.33);
TimesRoman_widths.insert(']', 0.33);
TimesRoman_widths.insert('˘', 0.33);
TimesRoman_widths.insert('¦', 0.20);
TimesRoman_widths.insert('•', 0.35);
TimesRoman_widths.insert('c', 0.44);
TimesRoman_widths.insert('ć', 0.44);
TimesRoman_widths.insert('ˇ', 0.33);
TimesRoman_widths.insert('č', 0.44);
TimesRoman_widths.insert('ç', 0.44);
TimesRoman_widths.insert('¸', 0.33);
TimesRoman_widths.insert('¢', 0.50);
TimesRoman_widths.insert('ˆ', 0.33);
TimesRoman_widths.insert(':', 0.28);
TimesRoman_widths.insert(',', 0.25);
TimesRoman_widths.insert('', 0.25);
TimesRoman_widths.insert('©', 0.76);
TimesRoman_widths.insert('¤', 0.50);
TimesRoman_widths.insert('d', 0.50);
TimesRoman_widths.insert('†', 0.50);
TimesRoman_widths.insert('‡', 0.50);
TimesRoman_widths.insert('ď', 0.59);
TimesRoman_widths.insert('đ', 0.50);
TimesRoman_widths.insert('°', 0.40);
TimesRoman_widths.insert('¨', 0.33);
TimesRoman_widths.insert('÷', 0.56);
TimesRoman_widths.insert('$', 0.50);
TimesRoman_widths.insert('˙', 0.33);
TimesRoman_widths.insert('ı', 0.28);
TimesRoman_widths.insert('e', 0.44);
TimesRoman_widths.insert('é', 0.44);
TimesRoman_widths.insert('ě', 0.44);
TimesRoman_widths.insert('ê', 0.44);
TimesRoman_widths.insert('ë', 0.44);
TimesRoman_widths.insert('ė', 0.44);
TimesRoman_widths.insert('è', 0.44);
TimesRoman_widths.insert('8', 0.50);
TimesRoman_widths.insert('…', 1.00);
TimesRoman_widths.insert('ē', 0.44);
TimesRoman_widths.insert('—', 1.00);
TimesRoman_widths.insert('–', 0.50);
TimesRoman_widths.insert('ę', 0.44);
TimesRoman_widths.insert('=', 0.56);
TimesRoman_widths.insert('ð', 0.50);
TimesRoman_widths.insert('!', 0.33);
TimesRoman_widths.insert('¡', 0.33);
TimesRoman_widths.insert('f', 0.33);
TimesRoman_widths.insert('fi', 0.56);
TimesRoman_widths.insert('5', 0.50);
TimesRoman_widths.insert('fl', 0.56);
TimesRoman_widths.insert('ƒ', 0.50);
TimesRoman_widths.insert('4', 0.50);
TimesRoman_widths.insert('⁄', 0.17);
TimesRoman_widths.insert('g', 0.50);
TimesRoman_widths.insert('ğ', 0.50);
TimesRoman_widths.insert('ģ', 0.50);
TimesRoman_widths.insert('ß', 0.50);
TimesRoman_widths.insert('`', 0.33);
TimesRoman_widths.insert('>', 0.56);
TimesRoman_widths.insert('≥', 0.55);
TimesRoman_widths.insert('«', 0.50);
TimesRoman_widths.insert('»', 0.50);
TimesRoman_widths.insert('‹', 0.33);
TimesRoman_widths.insert('›', 0.33);
TimesRoman_widths.insert('h', 0.50);
TimesRoman_widths.insert('˝', 0.33);
TimesRoman_widths.insert('-', 0.33);
TimesRoman_widths.insert('i', 0.28);
TimesRoman_widths.insert('í', 0.28);
TimesRoman_widths.insert('î', 0.28);
TimesRoman_widths.insert('ï', 0.28);
TimesRoman_widths.insert('ì', 0.28);
TimesRoman_widths.insert('ī', 0.28);
TimesRoman_widths.insert('į', 0.28);
TimesRoman_widths.insert('j', 0.28);
TimesRoman_widths.insert('k', 0.50);
TimesRoman_widths.insert('ķ', 0.50);
TimesRoman_widths.insert('l', 0.28);
TimesRoman_widths.insert('ĺ', 0.28);
TimesRoman_widths.insert('ľ', 0.34);
TimesRoman_widths.insert('ļ', 0.28);
TimesRoman_widths.insert('<', 0.56);
TimesRoman_widths.insert('≤', 0.55);
TimesRoman_widths.insert('¬', 0.56);
TimesRoman_widths.insert('◊', 0.47);
TimesRoman_widths.insert('ł', 0.28);
TimesRoman_widths.insert('m', 0.78);
TimesRoman_widths.insert('¯', 0.33);
TimesRoman_widths.insert('−', 0.56);
TimesRoman_widths.insert('µ', 0.50);
TimesRoman_widths.insert('×', 0.56);
TimesRoman_widths.insert('n', 0.50);
TimesRoman_widths.insert('ń', 0.50);
TimesRoman_widths.insert('ň', 0.50);
TimesRoman_widths.insert('ņ', 0.50);
TimesRoman_widths.insert('9', 0.50);
TimesRoman_widths.insert('≠', 0.55);
TimesRoman_widths.insert('ñ', 0.50);
TimesRoman_widths.insert('#', 0.50);
TimesRoman_widths.insert('o', 0.50);
TimesRoman_widths.insert('ó', 0.50);
TimesRoman_widths.insert('ô', 0.50);
TimesRoman_widths.insert('ö', 0.50);
TimesRoman_widths.insert('œ', 0.72);
TimesRoman_widths.insert('˛', 0.33);
TimesRoman_widths.insert('ò', 0.50);
TimesRoman_widths.insert('ő', 0.50);
TimesRoman_widths.insert('ō', 0.50);
TimesRoman_widths.insert('1', 0.50);
TimesRoman_widths.insert('½', 0.75);
TimesRoman_widths.insert('¼', 0.75);
TimesRoman_widths.insert('¹', 0.30);
TimesRoman_widths.insert('ª', 0.28);
TimesRoman_widths.insert('º', 0.31);
TimesRoman_widths.insert('ø', 0.50);
TimesRoman_widths.insert('õ', 0.50);
TimesRoman_widths.insert('p', 0.50);
TimesRoman_widths.insert('¶', 0.45);
TimesRoman_widths.insert('(', 0.33);
TimesRoman_widths.insert(')', 0.33);
TimesRoman_widths.insert('∂', 0.48);
TimesRoman_widths.insert('%', 0.83);
TimesRoman_widths.insert('.', 0.25);
TimesRoman_widths.insert('·', 0.25);
TimesRoman_widths.insert('‰', 1.00);
TimesRoman_widths.insert('+', 0.56);
TimesRoman_widths.insert('±', 0.56);
TimesRoman_widths.insert('q', 0.50);
TimesRoman_widths.insert('?', 0.44);
TimesRoman_widths.insert('¿', 0.44);
TimesRoman_widths.insert('"', 0.41);
TimesRoman_widths.insert('„', 0.44);
TimesRoman_widths.insert('“', 0.44);
TimesRoman_widths.insert('”', 0.44);
TimesRoman_widths.insert('‘', 0.33);
TimesRoman_widths.insert('’', 0.33);
TimesRoman_widths.insert('‚', 0.33);
TimesRoman_widths.insert('\'', 0.18);
TimesRoman_widths.insert('r', 0.33);
TimesRoman_widths.insert('ŕ', 0.33);
TimesRoman_widths.insert('√', 0.45);
TimesRoman_widths.insert('ř', 0.33);
TimesRoman_widths.insert('ŗ', 0.33);
TimesRoman_widths.insert('®', 0.76);
TimesRoman_widths.insert('˚', 0.33);
TimesRoman_widths.insert('s', 0.39);
TimesRoman_widths.insert('ś', 0.39);
TimesRoman_widths.insert('š', 0.39);
TimesRoman_widths.insert('ş', 0.39);
TimesRoman_widths.insert('ș', 0.39);
TimesRoman_widths.insert('§', 0.50);
TimesRoman_widths.insert(';', 0.28);
TimesRoman_widths.insert('7', 0.50);
TimesRoman_widths.insert('6', 0.50);
TimesRoman_widths.insert('/', 0.28);
TimesRoman_widths.insert(' ', 0.25);
TimesRoman_widths.insert('£', 0.50);
TimesRoman_widths.insert('∑', 0.60);
TimesRoman_widths.insert('t', 0.28);
TimesRoman_widths.insert('ť', 0.33);
TimesRoman_widths.insert('ţ', 0.28);
TimesRoman_widths.insert('þ', 0.50);
TimesRoman_widths.insert('3', 0.50);
TimesRoman_widths.insert('¾', 0.75);
TimesRoman_widths.insert('³', 0.30);
TimesRoman_widths.insert('˜', 0.33);
TimesRoman_widths.insert('™', 0.98);
TimesRoman_widths.insert('2', 0.50);
TimesRoman_widths.insert('²', 0.30);
TimesRoman_widths.insert('u', 0.50);
TimesRoman_widths.insert('ú', 0.50);
TimesRoman_widths.insert('û', 0.50);
TimesRoman_widths.insert('ü', 0.50);
TimesRoman_widths.insert('ù', 0.50);
TimesRoman_widths.insert('ű', 0.50);
TimesRoman_widths.insert('ū', 0.50);
TimesRoman_widths.insert('_', 0.50);
TimesRoman_widths.insert('ų', 0.50);
TimesRoman_widths.insert('ů', 0.50);
TimesRoman_widths.insert('v', 0.50);
TimesRoman_widths.insert('w', 0.72);
TimesRoman_widths.insert('x', 0.50);
TimesRoman_widths.insert('y', 0.50);
TimesRoman_widths.insert('ý', 0.50);
TimesRoman_widths.insert('ÿ', 0.50);
TimesRoman_widths.insert('¥', 0.50);
TimesRoman_widths.insert('z', 0.44);
TimesRoman_widths.insert('ź', 0.44);
TimesRoman_widths.insert('ž', 0.44);
TimesRoman_widths.insert('ż', 0.44);
TimesRoman_widths.insert('0', 0.50);
let mut HelveticaOblique_widths: HashMap<char, f64> = HashMap::new();
HelveticaOblique_widths.insert('A', 0.67);
HelveticaOblique_widths.insert('Æ', 1.00);
HelveticaOblique_widths.insert('Á', 0.67);
HelveticaOblique_widths.insert('Ă', 0.67);
HelveticaOblique_widths.insert('Â', 0.67);
HelveticaOblique_widths.insert('Ä', 0.67);
HelveticaOblique_widths.insert('À', 0.67);
HelveticaOblique_widths.insert('Ā', 0.67);
HelveticaOblique_widths.insert('Ą', 0.67);
HelveticaOblique_widths.insert('Å', 0.67);
HelveticaOblique_widths.insert('Ã', 0.67);
HelveticaOblique_widths.insert('B', 0.67);
HelveticaOblique_widths.insert('C', 0.72);
HelveticaOblique_widths.insert('Ć', 0.72);
HelveticaOblique_widths.insert('Č', 0.72);
HelveticaOblique_widths.insert('Ç', 0.72);
HelveticaOblique_widths.insert('D', 0.72);
HelveticaOblique_widths.insert('Ď', 0.72);
HelveticaOblique_widths.insert('Đ', 0.72);
HelveticaOblique_widths.insert('∆', 0.61);
HelveticaOblique_widths.insert('E', 0.67);
HelveticaOblique_widths.insert('É', 0.67);
HelveticaOblique_widths.insert('Ě', 0.67);
HelveticaOblique_widths.insert('Ê', 0.67);
HelveticaOblique_widths.insert('Ë', 0.67);
HelveticaOblique_widths.insert('Ė', 0.67);
HelveticaOblique_widths.insert('È', 0.67);
HelveticaOblique_widths.insert('Ē', 0.67);
HelveticaOblique_widths.insert('Ę', 0.67);
HelveticaOblique_widths.insert('Ð', 0.72);
HelveticaOblique_widths.insert('€', 0.56);
HelveticaOblique_widths.insert('F', 0.61);
HelveticaOblique_widths.insert('G', 0.78);
HelveticaOblique_widths.insert('Ğ', 0.78);
HelveticaOblique_widths.insert('Ģ', 0.78);
HelveticaOblique_widths.insert('H', 0.72);
HelveticaOblique_widths.insert('I', 0.28);
HelveticaOblique_widths.insert('Í', 0.28);
HelveticaOblique_widths.insert('Î', 0.28);
HelveticaOblique_widths.insert('Ï', 0.28);
HelveticaOblique_widths.insert('İ', 0.28);
HelveticaOblique_widths.insert('Ì', 0.28);
HelveticaOblique_widths.insert('Ī', 0.28);
HelveticaOblique_widths.insert('Į', 0.28);
HelveticaOblique_widths.insert('J', 0.50);
HelveticaOblique_widths.insert('K', 0.67);
HelveticaOblique_widths.insert('Ķ', 0.67);
HelveticaOblique_widths.insert('L', 0.56);
HelveticaOblique_widths.insert('Ĺ', 0.56);
HelveticaOblique_widths.insert('Ľ', 0.56);
HelveticaOblique_widths.insert('Ļ', 0.56);
HelveticaOblique_widths.insert('Ł', 0.56);
HelveticaOblique_widths.insert('M', 0.83);
HelveticaOblique_widths.insert('N', 0.72);
HelveticaOblique_widths.insert('Ń', 0.72);
HelveticaOblique_widths.insert('Ň', 0.72);
HelveticaOblique_widths.insert('Ņ', 0.72);
HelveticaOblique_widths.insert('Ñ', 0.72);
HelveticaOblique_widths.insert('O', 0.78);
HelveticaOblique_widths.insert('Œ', 1.00);
HelveticaOblique_widths.insert('Ó', 0.78);
HelveticaOblique_widths.insert('Ô', 0.78);
HelveticaOblique_widths.insert('Ö', 0.78);
HelveticaOblique_widths.insert('Ò', 0.78);
HelveticaOblique_widths.insert('Ő', 0.78);
HelveticaOblique_widths.insert('Ō', 0.78);
HelveticaOblique_widths.insert('Ø', 0.78);
HelveticaOblique_widths.insert('Õ', 0.78);
HelveticaOblique_widths.insert('P', 0.67);
HelveticaOblique_widths.insert('Q', 0.78);
HelveticaOblique_widths.insert('R', 0.72);
HelveticaOblique_widths.insert('Ŕ', 0.72);
HelveticaOblique_widths.insert('Ř', 0.72);
HelveticaOblique_widths.insert('Ŗ', 0.72);
HelveticaOblique_widths.insert('S', 0.67);
HelveticaOblique_widths.insert('Ś', 0.67);
HelveticaOblique_widths.insert('Š', 0.67);
HelveticaOblique_widths.insert('Ş', 0.67);
HelveticaOblique_widths.insert('Ș', 0.67);
HelveticaOblique_widths.insert('T', 0.61);
HelveticaOblique_widths.insert('Ť', 0.61);
HelveticaOblique_widths.insert('Ţ', 0.61);
HelveticaOblique_widths.insert('Þ', 0.67);
HelveticaOblique_widths.insert('U', 0.72);
HelveticaOblique_widths.insert('Ú', 0.72);
HelveticaOblique_widths.insert('Û', 0.72);
HelveticaOblique_widths.insert('Ü', 0.72);
HelveticaOblique_widths.insert('Ù', 0.72);
HelveticaOblique_widths.insert('Ű', 0.72);
HelveticaOblique_widths.insert('Ū', 0.72);
HelveticaOblique_widths.insert('Ų', 0.72);
HelveticaOblique_widths.insert('Ů', 0.72);
HelveticaOblique_widths.insert('V', 0.67);
HelveticaOblique_widths.insert('W', 0.94);
HelveticaOblique_widths.insert('X', 0.67);
HelveticaOblique_widths.insert('Y', 0.67);
HelveticaOblique_widths.insert('Ý', 0.67);
HelveticaOblique_widths.insert('Ÿ', 0.67);
HelveticaOblique_widths.insert('Z', 0.61);
HelveticaOblique_widths.insert('Ź', 0.61);
HelveticaOblique_widths.insert('Ž', 0.61);
HelveticaOblique_widths.insert('Ż', 0.61);
HelveticaOblique_widths.insert('a', 0.56);
HelveticaOblique_widths.insert('á', 0.56);
HelveticaOblique_widths.insert('ă', 0.56);
HelveticaOblique_widths.insert('â', 0.56);
HelveticaOblique_widths.insert('´', 0.33);
HelveticaOblique_widths.insert('ä', 0.56);
HelveticaOblique_widths.insert('æ', 0.89);
HelveticaOblique_widths.insert('à', 0.56);
HelveticaOblique_widths.insert('ā', 0.56);
HelveticaOblique_widths.insert('&', 0.67);
HelveticaOblique_widths.insert('ą', 0.56);
HelveticaOblique_widths.insert('å', 0.56);
HelveticaOblique_widths.insert('^', 0.47);
HelveticaOblique_widths.insert('~', 0.58);
HelveticaOblique_widths.insert('*', 0.39);
HelveticaOblique_widths.insert('@', 1.01);
HelveticaOblique_widths.insert('ã', 0.56);
HelveticaOblique_widths.insert('b', 0.56);
HelveticaOblique_widths.insert('\\', 0.28);
HelveticaOblique_widths.insert('|', 0.26);
HelveticaOblique_widths.insert('{', 0.33);
HelveticaOblique_widths.insert('}', 0.33);
HelveticaOblique_widths.insert('[', 0.28);
HelveticaOblique_widths.insert(']', 0.28);
HelveticaOblique_widths.insert('˘', 0.33);
HelveticaOblique_widths.insert('¦', 0.26);
HelveticaOblique_widths.insert('•', 0.35);
HelveticaOblique_widths.insert('c', 0.50);
HelveticaOblique_widths.insert('ć', 0.50);
HelveticaOblique_widths.insert('ˇ', 0.33);
HelveticaOblique_widths.insert('č', 0.50);
HelveticaOblique_widths.insert('ç', 0.50);
HelveticaOblique_widths.insert('¸', 0.33);
HelveticaOblique_widths.insert('¢', 0.56);
HelveticaOblique_widths.insert('ˆ', 0.33);
HelveticaOblique_widths.insert(':', 0.28);
HelveticaOblique_widths.insert(',', 0.28);
HelveticaOblique_widths.insert('', 0.25);
HelveticaOblique_widths.insert('©', 0.74);
HelveticaOblique_widths.insert('¤', 0.56);
HelveticaOblique_widths.insert('d', 0.56);
HelveticaOblique_widths.insert('†', 0.56);
HelveticaOblique_widths.insert('‡', 0.56);
HelveticaOblique_widths.insert('ď', 0.64);
HelveticaOblique_widths.insert('đ', 0.56);
HelveticaOblique_widths.insert('°', 0.40);
HelveticaOblique_widths.insert('¨', 0.33);
HelveticaOblique_widths.insert('÷', 0.58);
HelveticaOblique_widths.insert('$', 0.56);
HelveticaOblique_widths.insert('˙', 0.33);
HelveticaOblique_widths.insert('ı', 0.28);
HelveticaOblique_widths.insert('e', 0.56);
HelveticaOblique_widths.insert('é', 0.56);
HelveticaOblique_widths.insert('ě', 0.56);
HelveticaOblique_widths.insert('ê', 0.56);
HelveticaOblique_widths.insert('ë', 0.56);
HelveticaOblique_widths.insert('ė', 0.56);
HelveticaOblique_widths.insert('è', 0.56);
HelveticaOblique_widths.insert('8', 0.56);
HelveticaOblique_widths.insert('…', 1.00);
HelveticaOblique_widths.insert('ē', 0.56);
HelveticaOblique_widths.insert('—', 1.00);
HelveticaOblique_widths.insert('–', 0.56);
HelveticaOblique_widths.insert('ę', 0.56);
HelveticaOblique_widths.insert('=', 0.58);
HelveticaOblique_widths.insert('ð', 0.56);
HelveticaOblique_widths.insert('!', 0.28);
HelveticaOblique_widths.insert('¡', 0.33);
HelveticaOblique_widths.insert('f', 0.28);
HelveticaOblique_widths.insert('fi', 0.50);
HelveticaOblique_widths.insert('5', 0.56);
HelveticaOblique_widths.insert('fl', 0.50);
HelveticaOblique_widths.insert('ƒ', 0.56);
HelveticaOblique_widths.insert('4', 0.56);
HelveticaOblique_widths.insert('⁄', 0.17);
HelveticaOblique_widths.insert('g', 0.56);
HelveticaOblique_widths.insert('ğ', 0.56);
HelveticaOblique_widths.insert('ģ', 0.56);
HelveticaOblique_widths.insert('ß', 0.61);
HelveticaOblique_widths.insert('`', 0.33);
HelveticaOblique_widths.insert('>', 0.58);
HelveticaOblique_widths.insert('≥', 0.55);
HelveticaOblique_widths.insert('«', 0.56);
HelveticaOblique_widths.insert('»', 0.56);
HelveticaOblique_widths.insert('‹', 0.33);
HelveticaOblique_widths.insert('›', 0.33);
HelveticaOblique_widths.insert('h', 0.56);
HelveticaOblique_widths.insert('˝', 0.33);
HelveticaOblique_widths.insert('-', 0.33);
HelveticaOblique_widths.insert('i', 0.22);
HelveticaOblique_widths.insert('í', 0.28);
HelveticaOblique_widths.insert('î', 0.28);
HelveticaOblique_widths.insert('ï', 0.28);
HelveticaOblique_widths.insert('ì', 0.28);
HelveticaOblique_widths.insert('ī', 0.28);
HelveticaOblique_widths.insert('į', 0.22);
HelveticaOblique_widths.insert('j', 0.22);
HelveticaOblique_widths.insert('k', 0.50);
HelveticaOblique_widths.insert('ķ', 0.50);
HelveticaOblique_widths.insert('l', 0.22);
HelveticaOblique_widths.insert('ĺ', 0.22);
HelveticaOblique_widths.insert('ľ', 0.30);
HelveticaOblique_widths.insert('ļ', 0.22);
HelveticaOblique_widths.insert('<', 0.58);
HelveticaOblique_widths.insert('≤', 0.55);
HelveticaOblique_widths.insert('¬', 0.58);
HelveticaOblique_widths.insert('◊', 0.47);
HelveticaOblique_widths.insert('ł', 0.22);
HelveticaOblique_widths.insert('m', 0.83);
HelveticaOblique_widths.insert('¯', 0.33);
HelveticaOblique_widths.insert('−', 0.58);
HelveticaOblique_widths.insert('µ', 0.56);
HelveticaOblique_widths.insert('×', 0.58);
HelveticaOblique_widths.insert('n', 0.56);
HelveticaOblique_widths.insert('ń', 0.56);
HelveticaOblique_widths.insert('ň', 0.56);
HelveticaOblique_widths.insert('ņ', 0.56);
HelveticaOblique_widths.insert('9', 0.56);
HelveticaOblique_widths.insert('≠', 0.55);
HelveticaOblique_widths.insert('ñ', 0.56);
HelveticaOblique_widths.insert('#', 0.56);
HelveticaOblique_widths.insert('o', 0.56);
HelveticaOblique_widths.insert('ó', 0.56);
HelveticaOblique_widths.insert('ô', 0.56);
HelveticaOblique_widths.insert('ö', 0.56);
HelveticaOblique_widths.insert('œ', 0.94);
HelveticaOblique_widths.insert('˛', 0.33);
HelveticaOblique_widths.insert('ò', 0.56);
HelveticaOblique_widths.insert('ő', 0.56);
HelveticaOblique_widths.insert('ō', 0.56);
HelveticaOblique_widths.insert('1', 0.56);
HelveticaOblique_widths.insert('½', 0.83);
HelveticaOblique_widths.insert('¼', 0.83);
HelveticaOblique_widths.insert('¹', 0.33);
HelveticaOblique_widths.insert('ª', 0.37);
HelveticaOblique_widths.insert('º', 0.36);
HelveticaOblique_widths.insert('ø', 0.61);
HelveticaOblique_widths.insert('õ', 0.56);
HelveticaOblique_widths.insert('p', 0.56);
HelveticaOblique_widths.insert('¶', 0.54);
HelveticaOblique_widths.insert('(', 0.33);
HelveticaOblique_widths.insert(')', 0.33);
HelveticaOblique_widths.insert('∂', 0.48);
HelveticaOblique_widths.insert('%', 0.89);
HelveticaOblique_widths.insert('.', 0.28);
HelveticaOblique_widths.insert('·', 0.28);
HelveticaOblique_widths.insert('‰', 1.00);
HelveticaOblique_widths.insert('+', 0.58);
HelveticaOblique_widths.insert('±', 0.58);
HelveticaOblique_widths.insert('q', 0.56);
HelveticaOblique_widths.insert('?', 0.56);
HelveticaOblique_widths.insert('¿', 0.61);
HelveticaOblique_widths.insert('"', 0.35);
HelveticaOblique_widths.insert('„', 0.33);
HelveticaOblique_widths.insert('“', 0.33);
HelveticaOblique_widths.insert('”', 0.33);
HelveticaOblique_widths.insert('‘', 0.22);
HelveticaOblique_widths.insert('’', 0.22);
HelveticaOblique_widths.insert('‚', 0.22);
HelveticaOblique_widths.insert('\'', 0.19);
HelveticaOblique_widths.insert('r', 0.33);
HelveticaOblique_widths.insert('ŕ', 0.33);
HelveticaOblique_widths.insert('√', 0.45);
HelveticaOblique_widths.insert('ř', 0.33);
HelveticaOblique_widths.insert('ŗ', 0.33);
HelveticaOblique_widths.insert('®', 0.74);
HelveticaOblique_widths.insert('˚', 0.33);
HelveticaOblique_widths.insert('s', 0.50);
HelveticaOblique_widths.insert('ś', 0.50);
HelveticaOblique_widths.insert('š', 0.50);
HelveticaOblique_widths.insert('ş', 0.50);
HelveticaOblique_widths.insert('ș', 0.50);
HelveticaOblique_widths.insert('§', 0.56);
HelveticaOblique_widths.insert(';', 0.28);
HelveticaOblique_widths.insert('7', 0.56);
HelveticaOblique_widths.insert('6', 0.56);
HelveticaOblique_widths.insert('/', 0.28);
HelveticaOblique_widths.insert(' ', 0.28);
HelveticaOblique_widths.insert('£', 0.56);
HelveticaOblique_widths.insert('∑', 0.60);
HelveticaOblique_widths.insert('t', 0.28);
HelveticaOblique_widths.insert('ť', 0.32);
HelveticaOblique_widths.insert('ţ', 0.28);
HelveticaOblique_widths.insert('þ', 0.56);
HelveticaOblique_widths.insert('3', 0.56);
HelveticaOblique_widths.insert('¾', 0.83);
HelveticaOblique_widths.insert('³', 0.33);
HelveticaOblique_widths.insert('˜', 0.33);
HelveticaOblique_widths.insert('™', 1.00);
HelveticaOblique_widths.insert('2', 0.56);
HelveticaOblique_widths.insert('²', 0.33);
HelveticaOblique_widths.insert('u', 0.56);
HelveticaOblique_widths.insert('ú', 0.56);
HelveticaOblique_widths.insert('û', 0.56);
HelveticaOblique_widths.insert('ü', 0.56);
HelveticaOblique_widths.insert('ù', 0.56);
HelveticaOblique_widths.insert('ű', 0.56);
HelveticaOblique_widths.insert('ū', 0.56);
HelveticaOblique_widths.insert('_', 0.56);
HelveticaOblique_widths.insert('ų', 0.56);
HelveticaOblique_widths.insert('ů', 0.56);
HelveticaOblique_widths.insert('v', 0.50);
HelveticaOblique_widths.insert('w', 0.72);
HelveticaOblique_widths.insert('x', 0.50);
HelveticaOblique_widths.insert('y', 0.50);
HelveticaOblique_widths.insert('ý', 0.50);
HelveticaOblique_widths.insert('ÿ', 0.50);
HelveticaOblique_widths.insert('¥', 0.56);
HelveticaOblique_widths.insert('z', 0.50);
HelveticaOblique_widths.insert('ź', 0.50);
HelveticaOblique_widths.insert('ž', 0.50);
HelveticaOblique_widths.insert('ż', 0.50);
HelveticaOblique_widths.insert('0', 0.56);
let mut HelveticaBold_widths: HashMap<char, f64> = HashMap::new();
HelveticaBold_widths.insert('A', 0.72);
HelveticaBold_widths.insert('Æ', 1.00);
HelveticaBold_widths.insert('Á', 0.72);
HelveticaBold_widths.insert('Ă', 0.72);
HelveticaBold_widths.insert('Â', 0.72);
HelveticaBold_widths.insert('Ä', 0.72);
HelveticaBold_widths.insert('À', 0.72);
HelveticaBold_widths.insert('Ā', 0.72);
HelveticaBold_widths.insert('Ą', 0.72);
HelveticaBold_widths.insert('Å', 0.72);
HelveticaBold_widths.insert('Ã', 0.72);
HelveticaBold_widths.insert('B', 0.72);
HelveticaBold_widths.insert('C', 0.72);
HelveticaBold_widths.insert('Ć', 0.72);
HelveticaBold_widths.insert('Č', 0.72);
HelveticaBold_widths.insert('Ç', 0.72);
HelveticaBold_widths.insert('D', 0.72);
HelveticaBold_widths.insert('Ď', 0.72);
HelveticaBold_widths.insert('Đ', 0.72);
HelveticaBold_widths.insert('∆', 0.61);
HelveticaBold_widths.insert('E', 0.67);
HelveticaBold_widths.insert('É', 0.67);
HelveticaBold_widths.insert('Ě', 0.67);
HelveticaBold_widths.insert('Ê', 0.67);
HelveticaBold_widths.insert('Ë', 0.67);
HelveticaBold_widths.insert('Ė', 0.67);
HelveticaBold_widths.insert('È', 0.67);
HelveticaBold_widths.insert('Ē', 0.67);
HelveticaBold_widths.insert('Ę', 0.67);
HelveticaBold_widths.insert('Ð', 0.72);
HelveticaBold_widths.insert('€', 0.56);
HelveticaBold_widths.insert('F', 0.61);
HelveticaBold_widths.insert('G', 0.78);
HelveticaBold_widths.insert('Ğ', 0.78);
HelveticaBold_widths.insert('Ģ', 0.78);
HelveticaBold_widths.insert('H', 0.72);
HelveticaBold_widths.insert('I', 0.28);
HelveticaBold_widths.insert('Í', 0.28);
HelveticaBold_widths.insert('Î', 0.28);
HelveticaBold_widths.insert('Ï', 0.28);
HelveticaBold_widths.insert('İ', 0.28);
HelveticaBold_widths.insert('Ì', 0.28);
HelveticaBold_widths.insert('Ī', 0.28);
HelveticaBold_widths.insert('Į', 0.28);
HelveticaBold_widths.insert('J', 0.56);
HelveticaBold_widths.insert('K', 0.72);
HelveticaBold_widths.insert('Ķ', 0.72);
HelveticaBold_widths.insert('L', 0.61);
HelveticaBold_widths.insert('Ĺ', 0.61);
HelveticaBold_widths.insert('Ľ', 0.61);
HelveticaBold_widths.insert('Ļ', 0.61);
HelveticaBold_widths.insert('Ł', 0.61);
HelveticaBold_widths.insert('M', 0.83);
HelveticaBold_widths.insert('N', 0.72);
HelveticaBold_widths.insert('Ń', 0.72);
HelveticaBold_widths.insert('Ň', 0.72);
HelveticaBold_widths.insert('Ņ', 0.72);
HelveticaBold_widths.insert('Ñ', 0.72);
HelveticaBold_widths.insert('O', 0.78);
HelveticaBold_widths.insert('Œ', 1.00);
HelveticaBold_widths.insert('Ó', 0.78);
HelveticaBold_widths.insert('Ô', 0.78);
HelveticaBold_widths.insert('Ö', 0.78);
HelveticaBold_widths.insert('Ò', 0.78);
HelveticaBold_widths.insert('Ő', 0.78);
HelveticaBold_widths.insert('Ō', 0.78);
HelveticaBold_widths.insert('Ø', 0.78);
HelveticaBold_widths.insert('Õ', 0.78);
HelveticaBold_widths.insert('P', 0.67);
HelveticaBold_widths.insert('Q', 0.78);
HelveticaBold_widths.insert('R', 0.72);
HelveticaBold_widths.insert('Ŕ', 0.72);
HelveticaBold_widths.insert('Ř', 0.72);
HelveticaBold_widths.insert('Ŗ', 0.72);
HelveticaBold_widths.insert('S', 0.67);
HelveticaBold_widths.insert('Ś', 0.67);
HelveticaBold_widths.insert('Š', 0.67);
HelveticaBold_widths.insert('Ş', 0.67);
HelveticaBold_widths.insert('Ș', 0.67);
HelveticaBold_widths.insert('T', 0.61);
HelveticaBold_widths.insert('Ť', 0.61);
HelveticaBold_widths.insert('Ţ', 0.61);
HelveticaBold_widths.insert('Þ', 0.67);
HelveticaBold_widths.insert('U', 0.72);
HelveticaBold_widths.insert('Ú', 0.72);
HelveticaBold_widths.insert('Û', 0.72);
HelveticaBold_widths.insert('Ü', 0.72);
HelveticaBold_widths.insert('Ù', 0.72);
HelveticaBold_widths.insert('Ű', 0.72);
HelveticaBold_widths.insert('Ū', 0.72);
HelveticaBold_widths.insert('Ų', 0.72);
HelveticaBold_widths.insert('Ů', 0.72);
HelveticaBold_widths.insert('V', 0.67);
HelveticaBold_widths.insert('W', 0.94);
HelveticaBold_widths.insert('X', 0.67);
HelveticaBold_widths.insert('Y', 0.67);
HelveticaBold_widths.insert('Ý', 0.67);
HelveticaBold_widths.insert('Ÿ', 0.67);
HelveticaBold_widths.insert('Z', 0.61);
HelveticaBold_widths.insert('Ź', 0.61);
HelveticaBold_widths.insert('Ž', 0.61);
HelveticaBold_widths.insert('Ż', 0.61);
HelveticaBold_widths.insert('a', 0.56);
HelveticaBold_widths.insert('á', 0.56);
HelveticaBold_widths.insert('ă', 0.56);
HelveticaBold_widths.insert('â', 0.56);
HelveticaBold_widths.insert('´', 0.33);
HelveticaBold_widths.insert('ä', 0.56);
HelveticaBold_widths.insert('æ', 0.89);
HelveticaBold_widths.insert('à', 0.56);
HelveticaBold_widths.insert('ā', 0.56);
HelveticaBold_widths.insert('&', 0.72);
HelveticaBold_widths.insert('ą', 0.56);
HelveticaBold_widths.insert('å', 0.56);
HelveticaBold_widths.insert('^', 0.58);
HelveticaBold_widths.insert('~', 0.58);
HelveticaBold_widths.insert('*', 0.39);
HelveticaBold_widths.insert('@', 0.97);
HelveticaBold_widths.insert('ã', 0.56);
HelveticaBold_widths.insert('b', 0.61);
HelveticaBold_widths.insert('\\', 0.28);
HelveticaBold_widths.insert('|', 0.28);
HelveticaBold_widths.insert('{', 0.39);
HelveticaBold_widths.insert('}', 0.39);
HelveticaBold_widths.insert('[', 0.33);
HelveticaBold_widths.insert(']', 0.33);
HelveticaBold_widths.insert('˘', 0.33);
HelveticaBold_widths.insert('¦', 0.28);
HelveticaBold_widths.insert('•', 0.35);
HelveticaBold_widths.insert('c', 0.56);
HelveticaBold_widths.insert('ć', 0.56);
HelveticaBold_widths.insert('ˇ', 0.33);
HelveticaBold_widths.insert('č', 0.56);
HelveticaBold_widths.insert('ç', 0.56);
HelveticaBold_widths.insert('¸', 0.33);
HelveticaBold_widths.insert('¢', 0.56);
HelveticaBold_widths.insert('ˆ', 0.33);
HelveticaBold_widths.insert(':', 0.33);
HelveticaBold_widths.insert(',', 0.28);
HelveticaBold_widths.insert('', 0.25);
HelveticaBold_widths.insert('©', 0.74);
HelveticaBold_widths.insert('¤', 0.56);
HelveticaBold_widths.insert('d', 0.61);
HelveticaBold_widths.insert('†', 0.56);
HelveticaBold_widths.insert('‡', 0.56);
HelveticaBold_widths.insert('ď', 0.74);
HelveticaBold_widths.insert('đ', 0.61);
HelveticaBold_widths.insert('°', 0.40);
HelveticaBold_widths.insert('¨', 0.33);
HelveticaBold_widths.insert('÷', 0.58);
HelveticaBold_widths.insert('$', 0.56);
HelveticaBold_widths.insert('˙', 0.33);
HelveticaBold_widths.insert('ı', 0.28);
HelveticaBold_widths.insert('e', 0.56);
HelveticaBold_widths.insert('é', 0.56);
HelveticaBold_widths.insert('ě', 0.56);
HelveticaBold_widths.insert('ê', 0.56);
HelveticaBold_widths.insert('ë', 0.56);
HelveticaBold_widths.insert('ė', 0.56);
HelveticaBold_widths.insert('è', 0.56);
HelveticaBold_widths.insert('8', 0.56);
HelveticaBold_widths.insert('…', 1.00);
HelveticaBold_widths.insert('ē', 0.56);
HelveticaBold_widths.insert('—', 1.00);
HelveticaBold_widths.insert('–', 0.56);
HelveticaBold_widths.insert('ę', 0.56);
HelveticaBold_widths.insert('=', 0.58);
HelveticaBold_widths.insert('ð', 0.61);
HelveticaBold_widths.insert('!', 0.33);
HelveticaBold_widths.insert('¡', 0.33);
HelveticaBold_widths.insert('f', 0.33);
HelveticaBold_widths.insert('fi', 0.61);
HelveticaBold_widths.insert('5', 0.56);
HelveticaBold_widths.insert('fl', 0.61);
HelveticaBold_widths.insert('ƒ', 0.56);
HelveticaBold_widths.insert('4', 0.56);
HelveticaBold_widths.insert('⁄', 0.17);
HelveticaBold_widths.insert('g', 0.61);
HelveticaBold_widths.insert('ğ', 0.61);
HelveticaBold_widths.insert('ģ', 0.61);
HelveticaBold_widths.insert('ß', 0.61);
HelveticaBold_widths.insert('`', 0.33);
HelveticaBold_widths.insert('>', 0.58);
HelveticaBold_widths.insert('≥', 0.55);
HelveticaBold_widths.insert('«', 0.56);
HelveticaBold_widths.insert('»', 0.56);
HelveticaBold_widths.insert('‹', 0.33);
HelveticaBold_widths.insert('›', 0.33);
HelveticaBold_widths.insert('h', 0.61);
HelveticaBold_widths.insert('˝', 0.33);
HelveticaBold_widths.insert('-', 0.33);
HelveticaBold_widths.insert('i', 0.28);
HelveticaBold_widths.insert('í', 0.28);
HelveticaBold_widths.insert('î', 0.28);
HelveticaBold_widths.insert('ï', 0.28);
HelveticaBold_widths.insert('ì', 0.28);
HelveticaBold_widths.insert('ī', 0.28);
HelveticaBold_widths.insert('į', 0.28);
HelveticaBold_widths.insert('j', 0.28);
HelveticaBold_widths.insert('k', 0.56);
HelveticaBold_widths.insert('ķ', 0.56);
HelveticaBold_widths.insert('l', 0.28);
HelveticaBold_widths.insert('ĺ', 0.28);
HelveticaBold_widths.insert('ľ', 0.40);
HelveticaBold_widths.insert('ļ', 0.28);
HelveticaBold_widths.insert('<', 0.58);
HelveticaBold_widths.insert('≤', 0.55);
HelveticaBold_widths.insert('¬', 0.58);
HelveticaBold_widths.insert('◊', 0.49);
HelveticaBold_widths.insert('ł', 0.28);
HelveticaBold_widths.insert('m', 0.89);
HelveticaBold_widths.insert('¯', 0.33);
HelveticaBold_widths.insert('−', 0.58);
HelveticaBold_widths.insert('µ', 0.61);
HelveticaBold_widths.insert('×', 0.58);
HelveticaBold_widths.insert('n', 0.61);
HelveticaBold_widths.insert('ń', 0.61);
HelveticaBold_widths.insert('ň', 0.61);
HelveticaBold_widths.insert('ņ', 0.61);
HelveticaBold_widths.insert('9', 0.56);
HelveticaBold_widths.insert('≠', 0.55);
HelveticaBold_widths.insert('ñ', 0.61);
HelveticaBold_widths.insert('#', 0.56);
HelveticaBold_widths.insert('o', 0.61);
HelveticaBold_widths.insert('ó', 0.61);
HelveticaBold_widths.insert('ô', 0.61);
HelveticaBold_widths.insert('ö', 0.61);
HelveticaBold_widths.insert('œ', 0.94);
HelveticaBold_widths.insert('˛', 0.33);
HelveticaBold_widths.insert('ò', 0.61);
HelveticaBold_widths.insert('ő', 0.61);
HelveticaBold_widths.insert('ō', 0.61);
HelveticaBold_widths.insert('1', 0.56);
HelveticaBold_widths.insert('½', 0.83);
HelveticaBold_widths.insert('¼', 0.83);
HelveticaBold_widths.insert('¹', 0.33);
HelveticaBold_widths.insert('ª', 0.37);
HelveticaBold_widths.insert('º', 0.36);
HelveticaBold_widths.insert('ø', 0.61);
HelveticaBold_widths.insert('õ', 0.61);
HelveticaBold_widths.insert('p', 0.61);
HelveticaBold_widths.insert('¶', 0.56);
HelveticaBold_widths.insert('(', 0.33);
HelveticaBold_widths.insert(')', 0.33);
HelveticaBold_widths.insert('∂', 0.49);
HelveticaBold_widths.insert('%', 0.89);
HelveticaBold_widths.insert('.', 0.28);
HelveticaBold_widths.insert('·', 0.28);
HelveticaBold_widths.insert('‰', 1.00);
HelveticaBold_widths.insert('+', 0.58);
HelveticaBold_widths.insert('±', 0.58);
HelveticaBold_widths.insert('q', 0.61);
HelveticaBold_widths.insert('?', 0.61);
HelveticaBold_widths.insert('¿', 0.61);
HelveticaBold_widths.insert('"', 0.47);
HelveticaBold_widths.insert('„', 0.50);
HelveticaBold_widths.insert('“', 0.50);
HelveticaBold_widths.insert('”', 0.50);
HelveticaBold_widths.insert('‘', 0.28);
HelveticaBold_widths.insert('’', 0.28);
HelveticaBold_widths.insert('‚', 0.28);
HelveticaBold_widths.insert('\'', 0.24);
HelveticaBold_widths.insert('r', 0.39);
HelveticaBold_widths.insert('ŕ', 0.39);
HelveticaBold_widths.insert('√', 0.55);
HelveticaBold_widths.insert('ř', 0.39);
HelveticaBold_widths.insert('ŗ', 0.39);
HelveticaBold_widths.insert('®', 0.74);
HelveticaBold_widths.insert('˚', 0.33);
HelveticaBold_widths.insert('s', 0.56);
HelveticaBold_widths.insert('ś', 0.56);
HelveticaBold_widths.insert('š', 0.56);
HelveticaBold_widths.insert('ş', 0.56);
HelveticaBold_widths.insert('ș', 0.56);
HelveticaBold_widths.insert('§', 0.56);
HelveticaBold_widths.insert(';', 0.33);
HelveticaBold_widths.insert('7', 0.56);
HelveticaBold_widths.insert('6', 0.56);
HelveticaBold_widths.insert('/', 0.28);
HelveticaBold_widths.insert(' ', 0.28);
HelveticaBold_widths.insert('£', 0.56);
HelveticaBold_widths.insert('∑', 0.60);
HelveticaBold_widths.insert('t', 0.33);
HelveticaBold_widths.insert('ť', 0.39);
HelveticaBold_widths.insert('ţ', 0.33);
HelveticaBold_widths.insert('þ', 0.61);
HelveticaBold_widths.insert('3', 0.56);
HelveticaBold_widths.insert('¾', 0.83);
HelveticaBold_widths.insert('³', 0.33);
HelveticaBold_widths.insert('˜', 0.33);
HelveticaBold_widths.insert('™', 1.00);
HelveticaBold_widths.insert('2', 0.56);
HelveticaBold_widths.insert('²', 0.33);
HelveticaBold_widths.insert('u', 0.61);
HelveticaBold_widths.insert('ú', 0.61);
HelveticaBold_widths.insert('û', 0.61);
HelveticaBold_widths.insert('ü', 0.61);
HelveticaBold_widths.insert('ù', 0.61);
HelveticaBold_widths.insert('ű', 0.61);
HelveticaBold_widths.insert('ū', 0.61);
HelveticaBold_widths.insert('_', 0.56);
HelveticaBold_widths.insert('ų', 0.61);
HelveticaBold_widths.insert('ů', 0.61);
HelveticaBold_widths.insert('v', 0.56);
HelveticaBold_widths.insert('w', 0.78);
HelveticaBold_widths.insert('x', 0.56);
HelveticaBold_widths.insert('y', 0.56);
HelveticaBold_widths.insert('ý', 0.56);
HelveticaBold_widths.insert('ÿ', 0.56);
HelveticaBold_widths.insert('¥', 0.56);
HelveticaBold_widths.insert('z', 0.50);
HelveticaBold_widths.insert('ź', 0.50);
HelveticaBold_widths.insert('ž', 0.50);
HelveticaBold_widths.insert('ż', 0.50);
HelveticaBold_widths.insert('0', 0.56);
let mut HelveticaBoldOblique_widths: HashMap<char, f64> = HashMap::new();
HelveticaBoldOblique_widths.insert('A', 0.72);
HelveticaBoldOblique_widths.insert('Æ', 1.00);
HelveticaBoldOblique_widths.insert('Á', 0.72);
HelveticaBoldOblique_widths.insert('Ă', 0.72);
HelveticaBoldOblique_widths.insert('Â', 0.72);
HelveticaBoldOblique_widths.insert('Ä', 0.72);
HelveticaBoldOblique_widths.insert('À', 0.72);
HelveticaBoldOblique_widths.insert('Ā', 0.72);
HelveticaBoldOblique_widths.insert('Ą', 0.72);
HelveticaBoldOblique_widths.insert('Å', 0.72);
HelveticaBoldOblique_widths.insert('Ã', 0.72);
HelveticaBoldOblique_widths.insert('B', 0.72);
HelveticaBoldOblique_widths.insert('C', 0.72);
HelveticaBoldOblique_widths.insert('Ć', 0.72);
HelveticaBoldOblique_widths.insert('Č', 0.72);
HelveticaBoldOblique_widths.insert('Ç', 0.72);
HelveticaBoldOblique_widths.insert('D', 0.72);
HelveticaBoldOblique_widths.insert('Ď', 0.72);
HelveticaBoldOblique_widths.insert('Đ', 0.72);
HelveticaBoldOblique_widths.insert('∆', 0.61);
HelveticaBoldOblique_widths.insert('E', 0.67);
HelveticaBoldOblique_widths.insert('É', 0.67);
HelveticaBoldOblique_widths.insert('Ě', 0.67);
HelveticaBoldOblique_widths.insert('Ê', 0.67);
HelveticaBoldOblique_widths.insert('Ë', 0.67);
HelveticaBoldOblique_widths.insert('Ė', 0.67);
HelveticaBoldOblique_widths.insert('È', 0.67);
HelveticaBoldOblique_widths.insert('Ē', 0.67);
HelveticaBoldOblique_widths.insert('Ę', 0.67);
HelveticaBoldOblique_widths.insert('Ð', 0.72);
HelveticaBoldOblique_widths.insert('€', 0.56);
HelveticaBoldOblique_widths.insert('F', 0.61);
HelveticaBoldOblique_widths.insert('G', 0.78);
HelveticaBoldOblique_widths.insert('Ğ', 0.78);
HelveticaBoldOblique_widths.insert('Ģ', 0.78);
HelveticaBoldOblique_widths.insert('H', 0.72);
HelveticaBoldOblique_widths.insert('I', 0.28);
HelveticaBoldOblique_widths.insert('Í', 0.28);
HelveticaBoldOblique_widths.insert('Î', 0.28);
HelveticaBoldOblique_widths.insert('Ï', 0.28);
HelveticaBoldOblique_widths.insert('İ', 0.28);
HelveticaBoldOblique_widths.insert('Ì', 0.28);
HelveticaBoldOblique_widths.insert('Ī', 0.28);
HelveticaBoldOblique_widths.insert('Į', 0.28);
HelveticaBoldOblique_widths.insert('J', 0.56);
HelveticaBoldOblique_widths.insert('K', 0.72);
HelveticaBoldOblique_widths.insert('Ķ', 0.72);
HelveticaBoldOblique_widths.insert('L', 0.61);
HelveticaBoldOblique_widths.insert('Ĺ', 0.61);
HelveticaBoldOblique_widths.insert('Ľ', 0.61);
HelveticaBoldOblique_widths.insert('Ļ', 0.61);
HelveticaBoldOblique_widths.insert('Ł', 0.61);
HelveticaBoldOblique_widths.insert('M', 0.83);
HelveticaBoldOblique_widths.insert('N', 0.72);
HelveticaBoldOblique_widths.insert('Ń', 0.72);
HelveticaBoldOblique_widths.insert('Ň', 0.72);
HelveticaBoldOblique_widths.insert('Ņ', 0.72);
HelveticaBoldOblique_widths.insert('Ñ', 0.72);
HelveticaBoldOblique_widths.insert('O', 0.78);
HelveticaBoldOblique_widths.insert('Œ', 1.00);
HelveticaBoldOblique_widths.insert('Ó', 0.78);
HelveticaBoldOblique_widths.insert('Ô', 0.78);
HelveticaBoldOblique_widths.insert('Ö', 0.78);
HelveticaBoldOblique_widths.insert('Ò', 0.78);
HelveticaBoldOblique_widths.insert('Ő', 0.78);
HelveticaBoldOblique_widths.insert('Ō', 0.78);
HelveticaBoldOblique_widths.insert('Ø', 0.78);
HelveticaBoldOblique_widths.insert('Õ', 0.78);
HelveticaBoldOblique_widths.insert('P', 0.67);
HelveticaBoldOblique_widths.insert('Q', 0.78);
HelveticaBoldOblique_widths.insert('R', 0.72);
HelveticaBoldOblique_widths.insert('Ŕ', 0.72);
HelveticaBoldOblique_widths.insert('Ř', 0.72);
HelveticaBoldOblique_widths.insert('Ŗ', 0.72);
HelveticaBoldOblique_widths.insert('S', 0.67);
HelveticaBoldOblique_widths.insert('Ś', 0.67);
HelveticaBoldOblique_widths.insert('Š', 0.67);
HelveticaBoldOblique_widths.insert('Ş', 0.67);
HelveticaBoldOblique_widths.insert('Ș', 0.67);
HelveticaBoldOblique_widths.insert('T', 0.61);
HelveticaBoldOblique_widths.insert('Ť', 0.61);
HelveticaBoldOblique_widths.insert('Ţ', 0.61);
HelveticaBoldOblique_widths.insert('Þ', 0.67);
HelveticaBoldOblique_widths.insert('U', 0.72);
HelveticaBoldOblique_widths.insert('Ú', 0.72);
HelveticaBoldOblique_widths.insert('Û', 0.72);
HelveticaBoldOblique_widths.insert('Ü', 0.72);
HelveticaBoldOblique_widths.insert('Ù', 0.72);
HelveticaBoldOblique_widths.insert('Ű', 0.72);
HelveticaBoldOblique_widths.insert('Ū', 0.72);
HelveticaBoldOblique_widths.insert('Ų', 0.72);
HelveticaBoldOblique_widths.insert('Ů', 0.72);
HelveticaBoldOblique_widths.insert('V', 0.67);
HelveticaBoldOblique_widths.insert('W', 0.94);
HelveticaBoldOblique_widths.insert('X', 0.67);
HelveticaBoldOblique_widths.insert('Y', 0.67);
HelveticaBoldOblique_widths.insert('Ý', 0.67);
HelveticaBoldOblique_widths.insert('Ÿ', 0.67);
HelveticaBoldOblique_widths.insert('Z', 0.61);
HelveticaBoldOblique_widths.insert('Ź', 0.61);
HelveticaBoldOblique_widths.insert('Ž', 0.61);
HelveticaBoldOblique_widths.insert('Ż', 0.61);
HelveticaBoldOblique_widths.insert('a', 0.56);
HelveticaBoldOblique_widths.insert('á', 0.56);
HelveticaBoldOblique_widths.insert('ă', 0.56);
HelveticaBoldOblique_widths.insert('â', 0.56);
HelveticaBoldOblique_widths.insert('´', 0.33);
HelveticaBoldOblique_widths.insert('ä', 0.56);
HelveticaBoldOblique_widths.insert('æ', 0.89);
HelveticaBoldOblique_widths.insert('à', 0.56);
HelveticaBoldOblique_widths.insert('ā', 0.56);
HelveticaBoldOblique_widths.insert('&', 0.72);
HelveticaBoldOblique_widths.insert('ą', 0.56);
HelveticaBoldOblique_widths.insert('å', 0.56);
HelveticaBoldOblique_widths.insert('^', 0.58);
HelveticaBoldOblique_widths.insert('~', 0.58);
HelveticaBoldOblique_widths.insert('*', 0.39);
HelveticaBoldOblique_widths.insert('@', 0.97);
HelveticaBoldOblique_widths.insert('ã', 0.56);
HelveticaBoldOblique_widths.insert('b', 0.61);
HelveticaBoldOblique_widths.insert('\\', 0.28);
HelveticaBoldOblique_widths.insert('|', 0.28);
HelveticaBoldOblique_widths.insert('{', 0.39);
HelveticaBoldOblique_widths.insert('}', 0.39);
HelveticaBoldOblique_widths.insert('[', 0.33);
HelveticaBoldOblique_widths.insert(']', 0.33);
HelveticaBoldOblique_widths.insert('˘', 0.33);
HelveticaBoldOblique_widths.insert('¦', 0.28);
HelveticaBoldOblique_widths.insert('•', 0.35);
HelveticaBoldOblique_widths.insert('c', 0.56);
HelveticaBoldOblique_widths.insert('ć', 0.56);
HelveticaBoldOblique_widths.insert('ˇ', 0.33);
HelveticaBoldOblique_widths.insert('č', 0.56);
HelveticaBoldOblique_widths.insert('ç', 0.56);
HelveticaBoldOblique_widths.insert('¸', 0.33);
HelveticaBoldOblique_widths.insert('¢', 0.56);
HelveticaBoldOblique_widths.insert('ˆ', 0.33);
HelveticaBoldOblique_widths.insert(':', 0.33);
HelveticaBoldOblique_widths.insert(',', 0.28);
HelveticaBoldOblique_widths.insert('', 0.25);
HelveticaBoldOblique_widths.insert('©', 0.74);
HelveticaBoldOblique_widths.insert('¤', 0.56);
HelveticaBoldOblique_widths.insert('d', 0.61);
HelveticaBoldOblique_widths.insert('†', 0.56);
HelveticaBoldOblique_widths.insert('‡', 0.56);
HelveticaBoldOblique_widths.insert('ď', 0.74);
HelveticaBoldOblique_widths.insert('đ', 0.61);
HelveticaBoldOblique_widths.insert('°', 0.40);
HelveticaBoldOblique_widths.insert('¨', 0.33);
HelveticaBoldOblique_widths.insert('÷', 0.58);
HelveticaBoldOblique_widths.insert('$', 0.56);
HelveticaBoldOblique_widths.insert('˙', 0.33);
HelveticaBoldOblique_widths.insert('ı', 0.28);
HelveticaBoldOblique_widths.insert('e', 0.56);
HelveticaBoldOblique_widths.insert('é', 0.56);
HelveticaBoldOblique_widths.insert('ě', 0.56);
HelveticaBoldOblique_widths.insert('ê', 0.56);
HelveticaBoldOblique_widths.insert('ë', 0.56);
HelveticaBoldOblique_widths.insert('ė', 0.56);
HelveticaBoldOblique_widths.insert('è', 0.56);
HelveticaBoldOblique_widths.insert('8', 0.56);
HelveticaBoldOblique_widths.insert('…', 1.00);
HelveticaBoldOblique_widths.insert('ē', 0.56);
HelveticaBoldOblique_widths.insert('—', 1.00);
HelveticaBoldOblique_widths.insert('–', 0.56);
HelveticaBoldOblique_widths.insert('ę', 0.56);
HelveticaBoldOblique_widths.insert('=', 0.58);
HelveticaBoldOblique_widths.insert('ð', 0.61);
HelveticaBoldOblique_widths.insert('!', 0.33);
HelveticaBoldOblique_widths.insert('¡', 0.33);
HelveticaBoldOblique_widths.insert('f', 0.33);
HelveticaBoldOblique_widths.insert('fi', 0.61);
HelveticaBoldOblique_widths.insert('5', 0.56);
HelveticaBoldOblique_widths.insert('fl', 0.61);
HelveticaBoldOblique_widths.insert('ƒ', 0.56);
HelveticaBoldOblique_widths.insert('4', 0.56);
HelveticaBoldOblique_widths.insert('⁄', 0.17);
HelveticaBoldOblique_widths.insert('g', 0.61);
HelveticaBoldOblique_widths.insert('ğ', 0.61);
HelveticaBoldOblique_widths.insert('ģ', 0.61);
HelveticaBoldOblique_widths.insert('ß', 0.61);
HelveticaBoldOblique_widths.insert('`', 0.33);
HelveticaBoldOblique_widths.insert('>', 0.58);
HelveticaBoldOblique_widths.insert('≥', 0.55);
HelveticaBoldOblique_widths.insert('«', 0.56);
HelveticaBoldOblique_widths.insert('»', 0.56);
HelveticaBoldOblique_widths.insert('‹', 0.33);
HelveticaBoldOblique_widths.insert('›', 0.33);
HelveticaBoldOblique_widths.insert('h', 0.61);
HelveticaBoldOblique_widths.insert('˝', 0.33);
HelveticaBoldOblique_widths.insert('-', 0.33);
HelveticaBoldOblique_widths.insert('i', 0.28);
HelveticaBoldOblique_widths.insert('í', 0.28);
HelveticaBoldOblique_widths.insert('î', 0.28);
HelveticaBoldOblique_widths.insert('ï', 0.28);
HelveticaBoldOblique_widths.insert('ì', 0.28);
HelveticaBoldOblique_widths.insert('ī', 0.28);
HelveticaBoldOblique_widths.insert('į', 0.28);
HelveticaBoldOblique_widths.insert('j', 0.28);
HelveticaBoldOblique_widths.insert('k', 0.56);
HelveticaBoldOblique_widths.insert('ķ', 0.56);
HelveticaBoldOblique_widths.insert('l', 0.28);
HelveticaBoldOblique_widths.insert('ĺ', 0.28);
HelveticaBoldOblique_widths.insert('ľ', 0.40);
HelveticaBoldOblique_widths.insert('ļ', 0.28);
HelveticaBoldOblique_widths.insert('<', 0.58);
HelveticaBoldOblique_widths.insert('≤', 0.55);
HelveticaBoldOblique_widths.insert('¬', 0.58);
HelveticaBoldOblique_widths.insert('◊', 0.49);
HelveticaBoldOblique_widths.insert('ł', 0.28);
HelveticaBoldOblique_widths.insert('m', 0.89);
HelveticaBoldOblique_widths.insert('¯', 0.33);
HelveticaBoldOblique_widths.insert('−', 0.58);
HelveticaBoldOblique_widths.insert('µ', 0.61);
HelveticaBoldOblique_widths.insert('×', 0.58);
HelveticaBoldOblique_widths.insert('n', 0.61);
HelveticaBoldOblique_widths.insert('ń', 0.61);
HelveticaBoldOblique_widths.insert('ň', 0.61);
HelveticaBoldOblique_widths.insert('ņ', 0.61);
HelveticaBoldOblique_widths.insert('9', 0.56);
HelveticaBoldOblique_widths.insert('≠', 0.55);
HelveticaBoldOblique_widths.insert('ñ', 0.61);
HelveticaBoldOblique_widths.insert('#', 0.56);
HelveticaBoldOblique_widths.insert('o', 0.61);
HelveticaBoldOblique_widths.insert('ó', 0.61);
HelveticaBoldOblique_widths.insert('ô', 0.61);
HelveticaBoldOblique_widths.insert('ö', 0.61);
HelveticaBoldOblique_widths.insert('œ', 0.94);
HelveticaBoldOblique_widths.insert('˛', 0.33);
HelveticaBoldOblique_widths.insert('ò', 0.61);
HelveticaBoldOblique_widths.insert('ő', 0.61);
HelveticaBoldOblique_widths.insert('ō', 0.61);
HelveticaBoldOblique_widths.insert('1', 0.56);
HelveticaBoldOblique_widths.insert('½', 0.83);
HelveticaBoldOblique_widths.insert('¼', 0.83);
HelveticaBoldOblique_widths.insert('¹', 0.33);
HelveticaBoldOblique_widths.insert('ª', 0.37);
HelveticaBoldOblique_widths.insert('º', 0.36);
HelveticaBoldOblique_widths.insert('ø', 0.61);
HelveticaBoldOblique_widths.insert('õ', 0.61);
HelveticaBoldOblique_widths.insert('p', 0.61);
HelveticaBoldOblique_widths.insert('¶', 0.56);
HelveticaBoldOblique_widths.insert('(', 0.33);
HelveticaBoldOblique_widths.insert(')', 0.33);
HelveticaBoldOblique_widths.insert('∂', 0.49);
HelveticaBoldOblique_widths.insert('%', 0.89);
HelveticaBoldOblique_widths.insert('.', 0.28);
HelveticaBoldOblique_widths.insert('·', 0.28);
HelveticaBoldOblique_widths.insert('‰', 1.00);
HelveticaBoldOblique_widths.insert('+', 0.58);
HelveticaBoldOblique_widths.insert('±', 0.58);
HelveticaBoldOblique_widths.insert('q', 0.61);
HelveticaBoldOblique_widths.insert('?', 0.61);
HelveticaBoldOblique_widths.insert('¿', 0.61);
HelveticaBoldOblique_widths.insert('"', 0.47);
HelveticaBoldOblique_widths.insert('„', 0.50);
HelveticaBoldOblique_widths.insert('“', 0.50);
HelveticaBoldOblique_widths.insert('”', 0.50);
HelveticaBoldOblique_widths.insert('‘', 0.28);
HelveticaBoldOblique_widths.insert('’', 0.28);
HelveticaBoldOblique_widths.insert('‚', 0.28);
HelveticaBoldOblique_widths.insert('\'', 0.24);
HelveticaBoldOblique_widths.insert('r', 0.39);
HelveticaBoldOblique_widths.insert('ŕ', 0.39);
HelveticaBoldOblique_widths.insert('√', 0.55);
HelveticaBoldOblique_widths.insert('ř', 0.39);
HelveticaBoldOblique_widths.insert('ŗ', 0.39);
HelveticaBoldOblique_widths.insert('®', 0.74);
HelveticaBoldOblique_widths.insert('˚', 0.33);
HelveticaBoldOblique_widths.insert('s', 0.56);
HelveticaBoldOblique_widths.insert('ś', 0.56);
HelveticaBoldOblique_widths.insert('š', 0.56);
HelveticaBoldOblique_widths.insert('ş', 0.56);
HelveticaBoldOblique_widths.insert('ș', 0.56);
HelveticaBoldOblique_widths.insert('§', 0.56);
HelveticaBoldOblique_widths.insert(';', 0.33);
HelveticaBoldOblique_widths.insert('7', 0.56);
HelveticaBoldOblique_widths.insert('6', 0.56);
HelveticaBoldOblique_widths.insert('/', 0.28);
HelveticaBoldOblique_widths.insert(' ', 0.28);
HelveticaBoldOblique_widths.insert('£', 0.56);
HelveticaBoldOblique_widths.insert('∑', 0.60);
HelveticaBoldOblique_widths.insert('t', 0.33);
HelveticaBoldOblique_widths.insert('ť', 0.39);
HelveticaBoldOblique_widths.insert('ţ', 0.33);
HelveticaBoldOblique_widths.insert('þ', 0.61);
HelveticaBoldOblique_widths.insert('3', 0.56);
HelveticaBoldOblique_widths.insert('¾', 0.83);
HelveticaBoldOblique_widths.insert('³', 0.33);
HelveticaBoldOblique_widths.insert('˜', 0.33);
HelveticaBoldOblique_widths.insert('™', 1.00);
HelveticaBoldOblique_widths.insert('2', 0.56);
HelveticaBoldOblique_widths.insert('²', 0.33);
HelveticaBoldOblique_widths.insert('u', 0.61);
HelveticaBoldOblique_widths.insert('ú', 0.61);
HelveticaBoldOblique_widths.insert('û', 0.61);
HelveticaBoldOblique_widths.insert('ü', 0.61);
HelveticaBoldOblique_widths.insert('ù', 0.61);
HelveticaBoldOblique_widths.insert('ű', 0.61);
HelveticaBoldOblique_widths.insert('ū', 0.61);
HelveticaBoldOblique_widths.insert('_', 0.56);
HelveticaBoldOblique_widths.insert('ų', 0.61);
HelveticaBoldOblique_widths.insert('ů', 0.61);
HelveticaBoldOblique_widths.insert('v', 0.56);
HelveticaBoldOblique_widths.insert('w', 0.78);
HelveticaBoldOblique_widths.insert('x', 0.56);
HelveticaBoldOblique_widths.insert('y', 0.56);
HelveticaBoldOblique_widths.insert('ý', 0.56);
HelveticaBoldOblique_widths.insert('ÿ', 0.56);
HelveticaBoldOblique_widths.insert('¥', 0.56);
HelveticaBoldOblique_widths.insert('z', 0.50);
HelveticaBoldOblique_widths.insert('ź', 0.50);
HelveticaBoldOblique_widths.insert('ž', 0.50);
HelveticaBoldOblique_widths.insert('ż', 0.50);
HelveticaBoldOblique_widths.insert('0', 0.56);
let mut ZapfDingbats_widths: HashMap<char, f64> = HashMap::new();
ZapfDingbats_widths.insert(' ', 0.28);
let mut Courier_widths: HashMap<char, f64> = HashMap::new();
Courier_widths.insert('A', 0.60);
Courier_widths.insert('Æ', 0.60);
Courier_widths.insert('Á', 0.60);
Courier_widths.insert('Ă', 0.60);
Courier_widths.insert('Â', 0.60);
Courier_widths.insert('Ä', 0.60);
Courier_widths.insert('À', 0.60);
Courier_widths.insert('Ā', 0.60);
Courier_widths.insert('Ą', 0.60);
Courier_widths.insert('Å', 0.60);
Courier_widths.insert('Ã', 0.60);
Courier_widths.insert('B', 0.60);
Courier_widths.insert('C', 0.60);
Courier_widths.insert('Ć', 0.60);
Courier_widths.insert('Č', 0.60);
Courier_widths.insert('Ç', 0.60);
Courier_widths.insert('D', 0.60);
Courier_widths.insert('Ď', 0.60);
Courier_widths.insert('Đ', 0.60);
Courier_widths.insert('∆', 0.60);
Courier_widths.insert('E', 0.60);
Courier_widths.insert('É', 0.60);
Courier_widths.insert('Ě', 0.60);
Courier_widths.insert('Ê', 0.60);
Courier_widths.insert('Ë', 0.60);
Courier_widths.insert('Ė', 0.60);
Courier_widths.insert('È', 0.60);
Courier_widths.insert('Ē', 0.60);
Courier_widths.insert('Ę', 0.60);
Courier_widths.insert('Ð', 0.60);
Courier_widths.insert('€', 0.60);
Courier_widths.insert('F', 0.60);
Courier_widths.insert('G', 0.60);
Courier_widths.insert('Ğ', 0.60);
Courier_widths.insert('Ģ', 0.60);
Courier_widths.insert('H', 0.60);
Courier_widths.insert('I', 0.60);
Courier_widths.insert('Í', 0.60);
Courier_widths.insert('Î', 0.60);
Courier_widths.insert('Ï', 0.60);
Courier_widths.insert('İ', 0.60);
Courier_widths.insert('Ì', 0.60);
Courier_widths.insert('Ī', 0.60);
Courier_widths.insert('Į', 0.60);
Courier_widths.insert('J', 0.60);
Courier_widths.insert('K', 0.60);
Courier_widths.insert('Ķ', 0.60);
Courier_widths.insert('L', 0.60);
Courier_widths.insert('Ĺ', 0.60);
Courier_widths.insert('Ľ', 0.60);
Courier_widths.insert('Ļ', 0.60);
Courier_widths.insert('Ł', 0.60);
Courier_widths.insert('M', 0.60);
Courier_widths.insert('N', 0.60);
Courier_widths.insert('Ń', 0.60);
Courier_widths.insert('Ň', 0.60);
Courier_widths.insert('Ņ', 0.60);
Courier_widths.insert('Ñ', 0.60);
Courier_widths.insert('O', 0.60);
Courier_widths.insert('Œ', 0.60);
Courier_widths.insert('Ó', 0.60);
Courier_widths.insert('Ô', 0.60);
Courier_widths.insert('Ö', 0.60);
Courier_widths.insert('Ò', 0.60);
Courier_widths.insert('Ő', 0.60);
Courier_widths.insert('Ō', 0.60);
Courier_widths.insert('Ø', 0.60);
Courier_widths.insert('Õ', 0.60);
Courier_widths.insert('P', 0.60);
Courier_widths.insert('Q', 0.60);
Courier_widths.insert('R', 0.60);
Courier_widths.insert('Ŕ', 0.60);
Courier_widths.insert('Ř', 0.60);
Courier_widths.insert('Ŗ', 0.60);
Courier_widths.insert('S', 0.60);
Courier_widths.insert('Ś', 0.60);
Courier_widths.insert('Š', 0.60);
Courier_widths.insert('Ş', 0.60);
Courier_widths.insert('Ș', 0.60);
Courier_widths.insert('T', 0.60);
Courier_widths.insert('Ť', 0.60);
Courier_widths.insert('Ţ', 0.60);
Courier_widths.insert('Þ', 0.60);
Courier_widths.insert('U', 0.60);
Courier_widths.insert('Ú', 0.60);
Courier_widths.insert('Û', 0.60);
Courier_widths.insert('Ü', 0.60);
Courier_widths.insert('Ù', 0.60);
Courier_widths.insert('Ű', 0.60);
Courier_widths.insert('Ū', 0.60);
Courier_widths.insert('Ų', 0.60);
Courier_widths.insert('Ů', 0.60);
Courier_widths.insert('V', 0.60);
Courier_widths.insert('W', 0.60);
Courier_widths.insert('X', 0.60);
Courier_widths.insert('Y', 0.60);
Courier_widths.insert('Ý', 0.60);
Courier_widths.insert('Ÿ', 0.60);
Courier_widths.insert('Z', 0.60);
Courier_widths.insert('Ź', 0.60);
Courier_widths.insert('Ž', 0.60);
Courier_widths.insert('Ż', 0.60);
Courier_widths.insert('a', 0.60);
Courier_widths.insert('á', 0.60);
Courier_widths.insert('ă', 0.60);
Courier_widths.insert('â', 0.60);
Courier_widths.insert('´', 0.60);
Courier_widths.insert('ä', 0.60);
Courier_widths.insert('æ', 0.60);
Courier_widths.insert('à', 0.60);
Courier_widths.insert('ā', 0.60);
Courier_widths.insert('&', 0.60);
Courier_widths.insert('ą', 0.60);
Courier_widths.insert('å', 0.60);
Courier_widths.insert('^', 0.60);
Courier_widths.insert('~', 0.60);
Courier_widths.insert('*', 0.60);
Courier_widths.insert('@', 0.60);
Courier_widths.insert('ã', 0.60);
Courier_widths.insert('b', 0.60);
Courier_widths.insert('\\', 0.60);
Courier_widths.insert('|', 0.60);
Courier_widths.insert('{', 0.60);
Courier_widths.insert('}', 0.60);
Courier_widths.insert('[', 0.60);
Courier_widths.insert(']', 0.60);
Courier_widths.insert('˘', 0.60);
Courier_widths.insert('¦', 0.60);
Courier_widths.insert('•', 0.60);
Courier_widths.insert('c', 0.60);
Courier_widths.insert('ć', 0.60);
Courier_widths.insert('ˇ', 0.60);
Courier_widths.insert('č', 0.60);
Courier_widths.insert('ç', 0.60);
Courier_widths.insert('¸', 0.60);
Courier_widths.insert('¢', 0.60);
Courier_widths.insert('ˆ', 0.60);
Courier_widths.insert(':', 0.60);
Courier_widths.insert(',', 0.60);
Courier_widths.insert('', 0.60);
Courier_widths.insert('©', 0.60);
Courier_widths.insert('¤', 0.60);
Courier_widths.insert('d', 0.60);
Courier_widths.insert('†', 0.60);
Courier_widths.insert('‡', 0.60);
Courier_widths.insert('ď', 0.60);
Courier_widths.insert('đ', 0.60);
Courier_widths.insert('°', 0.60);
Courier_widths.insert('¨', 0.60);
Courier_widths.insert('÷', 0.60);
Courier_widths.insert('$', 0.60);
Courier_widths.insert('˙', 0.60);
Courier_widths.insert('ı', 0.60);
Courier_widths.insert('e', 0.60);
Courier_widths.insert('é', 0.60);
Courier_widths.insert('ě', 0.60);
Courier_widths.insert('ê', 0.60);
Courier_widths.insert('ë', 0.60);
Courier_widths.insert('ė', 0.60);
Courier_widths.insert('è', 0.60);
Courier_widths.insert('8', 0.60);
Courier_widths.insert('…', 0.60);
Courier_widths.insert('ē', 0.60);
Courier_widths.insert('—', 0.60);
Courier_widths.insert('–', 0.60);
Courier_widths.insert('ę', 0.60);
Courier_widths.insert('=', 0.60);
Courier_widths.insert('ð', 0.60);
Courier_widths.insert('!', 0.60);
Courier_widths.insert('¡', 0.60);
Courier_widths.insert('f', 0.60);
Courier_widths.insert('fi', 0.60);
Courier_widths.insert('5', 0.60);
Courier_widths.insert('fl', 0.60);
Courier_widths.insert('ƒ', 0.60);
Courier_widths.insert('4', 0.60);
Courier_widths.insert('⁄', 0.60);
Courier_widths.insert('g', 0.60);
Courier_widths.insert('ğ', 0.60);
Courier_widths.insert('ģ', 0.60);
Courier_widths.insert('ß', 0.60);
Courier_widths.insert('`', 0.60);
Courier_widths.insert('>', 0.60);
Courier_widths.insert('≥', 0.60);
Courier_widths.insert('«', 0.60);
Courier_widths.insert('»', 0.60);
Courier_widths.insert('‹', 0.60);
Courier_widths.insert('›', 0.60);
Courier_widths.insert('h', 0.60);
Courier_widths.insert('˝', 0.60);
Courier_widths.insert('-', 0.60);
Courier_widths.insert('i', 0.60);
Courier_widths.insert('í', 0.60);
Courier_widths.insert('î', 0.60);
Courier_widths.insert('ï', 0.60);
Courier_widths.insert('ì', 0.60);
Courier_widths.insert('ī', 0.60);
Courier_widths.insert('į', 0.60);
Courier_widths.insert('j', 0.60);
Courier_widths.insert('k', 0.60);
Courier_widths.insert('ķ', 0.60);
Courier_widths.insert('l', 0.60);
Courier_widths.insert('ĺ', 0.60);
Courier_widths.insert('ľ', 0.60);
Courier_widths.insert('ļ', 0.60);
Courier_widths.insert('<', 0.60);
Courier_widths.insert('≤', 0.60);
Courier_widths.insert('¬', 0.60);
Courier_widths.insert('◊', 0.60);
Courier_widths.insert('ł', 0.60);
Courier_widths.insert('m', 0.60);
Courier_widths.insert('¯', 0.60);
Courier_widths.insert('−', 0.60);
Courier_widths.insert('µ', 0.60);
Courier_widths.insert('×', 0.60);
Courier_widths.insert('n', 0.60);
Courier_widths.insert('ń', 0.60);
Courier_widths.insert('ň', 0.60);
Courier_widths.insert('ņ', 0.60);
Courier_widths.insert('9', 0.60);
Courier_widths.insert('≠', 0.60);
Courier_widths.insert('ñ', 0.60);
Courier_widths.insert('#', 0.60);
Courier_widths.insert('o', 0.60);
Courier_widths.insert('ó', 0.60);
Courier_widths.insert('ô', 0.60);
Courier_widths.insert('ö', 0.60);
Courier_widths.insert('œ', 0.60);
Courier_widths.insert('˛', 0.60);
Courier_widths.insert('ò', 0.60);
Courier_widths.insert('ő', 0.60);
Courier_widths.insert('ō', 0.60);
Courier_widths.insert('1', 0.60);
Courier_widths.insert('½', 0.60);
Courier_widths.insert('¼', 0.60);
Courier_widths.insert('¹', 0.60);
Courier_widths.insert('ª', 0.60);
Courier_widths.insert('º', 0.60);
Courier_widths.insert('ø', 0.60);
Courier_widths.insert('õ', 0.60);
Courier_widths.insert('p', 0.60);
Courier_widths.insert('¶', 0.60);
Courier_widths.insert('(', 0.60);
Courier_widths.insert(')', 0.60);
Courier_widths.insert('∂', 0.60);
Courier_widths.insert('%', 0.60);
Courier_widths.insert('.', 0.60);
Courier_widths.insert('·', 0.60);
Courier_widths.insert('‰', 0.60);
Courier_widths.insert('+', 0.60);
Courier_widths.insert('±', 0.60);
Courier_widths.insert('q', 0.60);
Courier_widths.insert('?', 0.60);
Courier_widths.insert('¿', 0.60);
Courier_widths.insert('"', 0.60);
Courier_widths.insert('„', 0.60);
Courier_widths.insert('“', 0.60);
Courier_widths.insert('”', 0.60);
Courier_widths.insert('‘', 0.60);
Courier_widths.insert('’', 0.60);
Courier_widths.insert('‚', 0.60);
Courier_widths.insert('\'', 0.60);
Courier_widths.insert('r', 0.60);
Courier_widths.insert('ŕ', 0.60);
Courier_widths.insert('√', 0.60);
Courier_widths.insert('ř', 0.60);
Courier_widths.insert('ŗ', 0.60);
Courier_widths.insert('®', 0.60);
Courier_widths.insert('˚', 0.60);
Courier_widths.insert('s', 0.60);
Courier_widths.insert('ś', 0.60);
Courier_widths.insert('š', 0.60);
Courier_widths.insert('ş', 0.60);
Courier_widths.insert('ș', 0.60);
Courier_widths.insert('§', 0.60);
Courier_widths.insert(';', 0.60);
Courier_widths.insert('7', 0.60);
Courier_widths.insert('6', 0.60);
Courier_widths.insert('/', 0.60);
Courier_widths.insert(' ', 0.60);
Courier_widths.insert('£', 0.60);
Courier_widths.insert('∑', 0.60);
Courier_widths.insert('t', 0.60);
Courier_widths.insert('ť', 0.60);
Courier_widths.insert('ţ', 0.60);
Courier_widths.insert('þ', 0.60);
Courier_widths.insert('3', 0.60);
Courier_widths.insert('¾', 0.60);
Courier_widths.insert('³', 0.60);
Courier_widths.insert('˜', 0.60);
Courier_widths.insert('™', 0.60);
Courier_widths.insert('2', 0.60);
Courier_widths.insert('²', 0.60);
Courier_widths.insert('u', 0.60);
Courier_widths.insert('ú', 0.60);
Courier_widths.insert('û', 0.60);
Courier_widths.insert('ü', 0.60);
Courier_widths.insert('ù', 0.60);
Courier_widths.insert('ű', 0.60);
Courier_widths.insert('ū', 0.60);
Courier_widths.insert('_', 0.60);
Courier_widths.insert('ų', 0.60);
Courier_widths.insert('ů', 0.60);
Courier_widths.insert('v', 0.60);
Courier_widths.insert('w', 0.60);
Courier_widths.insert('x', 0.60);
Courier_widths.insert('y', 0.60);
Courier_widths.insert('ý', 0.60);
Courier_widths.insert('ÿ', 0.60);
Courier_widths.insert('¥', 0.60);
Courier_widths.insert('z', 0.60);
Courier_widths.insert('ź', 0.60);
Courier_widths.insert('ž', 0.60);
Courier_widths.insert('ż', 0.60);
Courier_widths.insert('0', 0.60);
let mut CourierOblique_widths: HashMap<char, f64> = HashMap::new();
CourierOblique_widths.insert('A', 0.60);
CourierOblique_widths.insert('Æ', 0.60);
CourierOblique_widths.insert('Á', 0.60);
CourierOblique_widths.insert('Ă', 0.60);
CourierOblique_widths.insert('Â', 0.60);
CourierOblique_widths.insert('Ä', 0.60);
CourierOblique_widths.insert('À', 0.60);
CourierOblique_widths.insert('Ā', 0.60);
CourierOblique_widths.insert('Ą', 0.60);
CourierOblique_widths.insert('Å', 0.60);
CourierOblique_widths.insert('Ã', 0.60);
CourierOblique_widths.insert('B', 0.60);
CourierOblique_widths.insert('C', 0.60);
CourierOblique_widths.insert('Ć', 0.60);
CourierOblique_widths.insert('Č', 0.60);
CourierOblique_widths.insert('Ç', 0.60);
CourierOblique_widths.insert('D', 0.60);
CourierOblique_widths.insert('Ď', 0.60);
CourierOblique_widths.insert('Đ', 0.60);
CourierOblique_widths.insert('∆', 0.60);
CourierOblique_widths.insert('E', 0.60);
CourierOblique_widths.insert('É', 0.60);
CourierOblique_widths.insert('Ě', 0.60);
CourierOblique_widths.insert('Ê', 0.60);
CourierOblique_widths.insert('Ë', 0.60);
CourierOblique_widths.insert('Ė', 0.60);
CourierOblique_widths.insert('È', 0.60);
CourierOblique_widths.insert('Ē', 0.60);
CourierOblique_widths.insert('Ę', 0.60);
CourierOblique_widths.insert('Ð', 0.60);
CourierOblique_widths.insert('€', 0.60);
CourierOblique_widths.insert('F', 0.60);
CourierOblique_widths.insert('G', 0.60);
CourierOblique_widths.insert('Ğ', 0.60);
CourierOblique_widths.insert('Ģ', 0.60);
CourierOblique_widths.insert('H', 0.60);
CourierOblique_widths.insert('I', 0.60);
CourierOblique_widths.insert('Í', 0.60);
CourierOblique_widths.insert('Î', 0.60);
CourierOblique_widths.insert('Ï', 0.60);
CourierOblique_widths.insert('İ', 0.60);
CourierOblique_widths.insert('Ì', 0.60);
CourierOblique_widths.insert('Ī', 0.60);
CourierOblique_widths.insert('Į', 0.60);
CourierOblique_widths.insert('J', 0.60);
CourierOblique_widths.insert('K', 0.60);
CourierOblique_widths.insert('Ķ', 0.60);
CourierOblique_widths.insert('L', 0.60);
CourierOblique_widths.insert('Ĺ', 0.60);
CourierOblique_widths.insert('Ľ', 0.60);
CourierOblique_widths.insert('Ļ', 0.60);
CourierOblique_widths.insert('Ł', 0.60);
CourierOblique_widths.insert('M', 0.60);
CourierOblique_widths.insert('N', 0.60);
CourierOblique_widths.insert('Ń', 0.60);
CourierOblique_widths.insert('Ň', 0.60);
CourierOblique_widths.insert('Ņ', 0.60);
CourierOblique_widths.insert('Ñ', 0.60);
CourierOblique_widths.insert('O', 0.60);
CourierOblique_widths.insert('Œ', 0.60);
CourierOblique_widths.insert('Ó', 0.60);
CourierOblique_widths.insert('Ô', 0.60);
CourierOblique_widths.insert('Ö', 0.60);
CourierOblique_widths.insert('Ò', 0.60);
CourierOblique_widths.insert('Ő', 0.60);
CourierOblique_widths.insert('Ō', 0.60);
CourierOblique_widths.insert('Ø', 0.60);
CourierOblique_widths.insert('Õ', 0.60);
CourierOblique_widths.insert('P', 0.60);
CourierOblique_widths.insert('Q', 0.60);
CourierOblique_widths.insert('R', 0.60);
CourierOblique_widths.insert('Ŕ', 0.60);
CourierOblique_widths.insert('Ř', 0.60);
CourierOblique_widths.insert('Ŗ', 0.60);
CourierOblique_widths.insert('S', 0.60);
CourierOblique_widths.insert('Ś', 0.60);
CourierOblique_widths.insert('Š', 0.60);
CourierOblique_widths.insert('Ş', 0.60);
CourierOblique_widths.insert('Ș', 0.60);
CourierOblique_widths.insert('T', 0.60);
CourierOblique_widths.insert('Ť', 0.60);
CourierOblique_widths.insert('Ţ', 0.60);
CourierOblique_widths.insert('Þ', 0.60);
CourierOblique_widths.insert('U', 0.60);
CourierOblique_widths.insert('Ú', 0.60);
CourierOblique_widths.insert('Û', 0.60);
CourierOblique_widths.insert('Ü', 0.60);
CourierOblique_widths.insert('Ù', 0.60);
CourierOblique_widths.insert('Ű', 0.60);
CourierOblique_widths.insert('Ū', 0.60);
CourierOblique_widths.insert('Ų', 0.60);
CourierOblique_widths.insert('Ů', 0.60);
CourierOblique_widths.insert('V', 0.60);
CourierOblique_widths.insert('W', 0.60);
CourierOblique_widths.insert('X', 0.60);
CourierOblique_widths.insert('Y', 0.60);
CourierOblique_widths.insert('Ý', 0.60);
CourierOblique_widths.insert('Ÿ', 0.60);
CourierOblique_widths.insert('Z', 0.60);
CourierOblique_widths.insert('Ź', 0.60);
CourierOblique_widths.insert('Ž', 0.60);
CourierOblique_widths.insert('Ż', 0.60);
CourierOblique_widths.insert('a', 0.60);
CourierOblique_widths.insert('á', 0.60);
CourierOblique_widths.insert('ă', 0.60);
CourierOblique_widths.insert('â', 0.60);
CourierOblique_widths.insert('´', 0.60);
CourierOblique_widths.insert('ä', 0.60);
CourierOblique_widths.insert('æ', 0.60);
CourierOblique_widths.insert('à', 0.60);
CourierOblique_widths.insert('ā', 0.60);
CourierOblique_widths.insert('&', 0.60);
CourierOblique_widths.insert('ą', 0.60);
CourierOblique_widths.insert('å', 0.60);
CourierOblique_widths.insert('^', 0.60);
CourierOblique_widths.insert('~', 0.60);
CourierOblique_widths.insert('*', 0.60);
CourierOblique_widths.insert('@', 0.60);
CourierOblique_widths.insert('ã', 0.60);
CourierOblique_widths.insert('b', 0.60);
CourierOblique_widths.insert('\\', 0.60);
CourierOblique_widths.insert('|', 0.60);
CourierOblique_widths.insert('{', 0.60);
CourierOblique_widths.insert('}', 0.60);
CourierOblique_widths.insert('[', 0.60);
CourierOblique_widths.insert(']', 0.60);
CourierOblique_widths.insert('˘', 0.60);
CourierOblique_widths.insert('¦', 0.60);
CourierOblique_widths.insert('•', 0.60);
CourierOblique_widths.insert('c', 0.60);
CourierOblique_widths.insert('ć', 0.60);
CourierOblique_widths.insert('ˇ', 0.60);
CourierOblique_widths.insert('č', 0.60);
CourierOblique_widths.insert('ç', 0.60);
CourierOblique_widths.insert('¸', 0.60);
CourierOblique_widths.insert('¢', 0.60);
CourierOblique_widths.insert('ˆ', 0.60);
CourierOblique_widths.insert(':', 0.60);
CourierOblique_widths.insert(',', 0.60);
CourierOblique_widths.insert('', 0.60);
CourierOblique_widths.insert('©', 0.60);
CourierOblique_widths.insert('¤', 0.60);
CourierOblique_widths.insert('d', 0.60);
CourierOblique_widths.insert('†', 0.60);
CourierOblique_widths.insert('‡', 0.60);
CourierOblique_widths.insert('ď', 0.60);
CourierOblique_widths.insert('đ', 0.60);
CourierOblique_widths.insert('°', 0.60);
CourierOblique_widths.insert('¨', 0.60);
CourierOblique_widths.insert('÷', 0.60);
CourierOblique_widths.insert('$', 0.60);
CourierOblique_widths.insert('˙', 0.60);
CourierOblique_widths.insert('ı', 0.60);
CourierOblique_widths.insert('e', 0.60);
CourierOblique_widths.insert('é', 0.60);
CourierOblique_widths.insert('ě', 0.60);
CourierOblique_widths.insert('ê', 0.60);
CourierOblique_widths.insert('ë', 0.60);
CourierOblique_widths.insert('ė', 0.60);
CourierOblique_widths.insert('è', 0.60);
CourierOblique_widths.insert('8', 0.60);
CourierOblique_widths.insert('…', 0.60);
CourierOblique_widths.insert('ē', 0.60);
CourierOblique_widths.insert('—', 0.60);
CourierOblique_widths.insert('–', 0.60);
CourierOblique_widths.insert('ę', 0.60);
CourierOblique_widths.insert('=', 0.60);
CourierOblique_widths.insert('ð', 0.60);
CourierOblique_widths.insert('!', 0.60);
CourierOblique_widths.insert('¡', 0.60);
CourierOblique_widths.insert('f', 0.60);
CourierOblique_widths.insert('fi', 0.60);
CourierOblique_widths.insert('5', 0.60);
CourierOblique_widths.insert('fl', 0.60);
CourierOblique_widths.insert('ƒ', 0.60);
CourierOblique_widths.insert('4', 0.60);
CourierOblique_widths.insert('⁄', 0.60);
CourierOblique_widths.insert('g', 0.60);
CourierOblique_widths.insert('ğ', 0.60);
CourierOblique_widths.insert('ģ', 0.60);
CourierOblique_widths.insert('ß', 0.60);
CourierOblique_widths.insert('`', 0.60);
CourierOblique_widths.insert('>', 0.60);
CourierOblique_widths.insert('≥', 0.60);
CourierOblique_widths.insert('«', 0.60);
CourierOblique_widths.insert('»', 0.60);
CourierOblique_widths.insert('‹', 0.60);
CourierOblique_widths.insert('›', 0.60);
CourierOblique_widths.insert('h', 0.60);
CourierOblique_widths.insert('˝', 0.60);
CourierOblique_widths.insert('-', 0.60);
CourierOblique_widths.insert('i', 0.60);
CourierOblique_widths.insert('í', 0.60);
CourierOblique_widths.insert('î', 0.60);
CourierOblique_widths.insert('ï', 0.60);
CourierOblique_widths.insert('ì', 0.60);
CourierOblique_widths.insert('ī', 0.60);
CourierOblique_widths.insert('į', 0.60);
CourierOblique_widths.insert('j', 0.60);
CourierOblique_widths.insert('k', 0.60);
CourierOblique_widths.insert('ķ', 0.60);
CourierOblique_widths.insert('l', 0.60);
CourierOblique_widths.insert('ĺ', 0.60);
CourierOblique_widths.insert('ľ', 0.60);
CourierOblique_widths.insert('ļ', 0.60);
CourierOblique_widths.insert('<', 0.60);
CourierOblique_widths.insert('≤', 0.60);
CourierOblique_widths.insert('¬', 0.60);
CourierOblique_widths.insert('◊', 0.60);
CourierOblique_widths.insert('ł', 0.60);
CourierOblique_widths.insert('m', 0.60);
CourierOblique_widths.insert('¯', 0.60);
CourierOblique_widths.insert('−', 0.60);
CourierOblique_widths.insert('µ', 0.60);
CourierOblique_widths.insert('×', 0.60);
CourierOblique_widths.insert('n', 0.60);
CourierOblique_widths.insert('ń', 0.60);
CourierOblique_widths.insert('ň', 0.60);
CourierOblique_widths.insert('ņ', 0.60);
CourierOblique_widths.insert('9', 0.60);
CourierOblique_widths.insert('≠', 0.60);
CourierOblique_widths.insert('ñ', 0.60);
CourierOblique_widths.insert('#', 0.60);
CourierOblique_widths.insert('o', 0.60);
CourierOblique_widths.insert('ó', 0.60);
CourierOblique_widths.insert('ô', 0.60);
CourierOblique_widths.insert('ö', 0.60);
CourierOblique_widths.insert('œ', 0.60);
CourierOblique_widths.insert('˛', 0.60);
CourierOblique_widths.insert('ò', 0.60);
CourierOblique_widths.insert('ő', 0.60);
CourierOblique_widths.insert('ō', 0.60);
CourierOblique_widths.insert('1', 0.60);
CourierOblique_widths.insert('½', 0.60);
CourierOblique_widths.insert('¼', 0.60);
CourierOblique_widths.insert('¹', 0.60);
CourierOblique_widths.insert('ª', 0.60);
CourierOblique_widths.insert('º', 0.60);
CourierOblique_widths.insert('ø', 0.60);
CourierOblique_widths.insert('õ', 0.60);
CourierOblique_widths.insert('p', 0.60);
CourierOblique_widths.insert('¶', 0.60);
CourierOblique_widths.insert('(', 0.60);
CourierOblique_widths.insert(')', 0.60);
CourierOblique_widths.insert('∂', 0.60);
CourierOblique_widths.insert('%', 0.60);
CourierOblique_widths.insert('.', 0.60);
CourierOblique_widths.insert('·', 0.60);
CourierOblique_widths.insert('‰', 0.60);
CourierOblique_widths.insert('+', 0.60);
CourierOblique_widths.insert('±', 0.60);
CourierOblique_widths.insert('q', 0.60);
CourierOblique_widths.insert('?', 0.60);
CourierOblique_widths.insert('¿', 0.60);
CourierOblique_widths.insert('"', 0.60);
CourierOblique_widths.insert('„', 0.60);
CourierOblique_widths.insert('“', 0.60);
CourierOblique_widths.insert('”', 0.60);
CourierOblique_widths.insert('‘', 0.60);
CourierOblique_widths.insert('’', 0.60);
CourierOblique_widths.insert('‚', 0.60);
CourierOblique_widths.insert('\'', 0.60);
CourierOblique_widths.insert('r', 0.60);
CourierOblique_widths.insert('ŕ', 0.60);
CourierOblique_widths.insert('√', 0.60);
CourierOblique_widths.insert('ř', 0.60);
CourierOblique_widths.insert('ŗ', 0.60);
CourierOblique_widths.insert('®', 0.60);
CourierOblique_widths.insert('˚', 0.60);
CourierOblique_widths.insert('s', 0.60);
CourierOblique_widths.insert('ś', 0.60);
CourierOblique_widths.insert('š', 0.60);
CourierOblique_widths.insert('ş', 0.60);
CourierOblique_widths.insert('ș', 0.60);
CourierOblique_widths.insert('§', 0.60);
CourierOblique_widths.insert(';', 0.60);
CourierOblique_widths.insert('7', 0.60);
CourierOblique_widths.insert('6', 0.60);
CourierOblique_widths.insert('/', 0.60);
CourierOblique_widths.insert(' ', 0.60);
CourierOblique_widths.insert('£', 0.60);
CourierOblique_widths.insert('∑', 0.60);
CourierOblique_widths.insert('t', 0.60);
CourierOblique_widths.insert('ť', 0.60);
CourierOblique_widths.insert('ţ', 0.60);
CourierOblique_widths.insert('þ', 0.60);
CourierOblique_widths.insert('3', 0.60);
CourierOblique_widths.insert('¾', 0.60);
CourierOblique_widths.insert('³', 0.60);
CourierOblique_widths.insert('˜', 0.60);
CourierOblique_widths.insert('™', 0.60);
CourierOblique_widths.insert('2', 0.60);
CourierOblique_widths.insert('²', 0.60);
CourierOblique_widths.insert('u', 0.60);
CourierOblique_widths.insert('ú', 0.60);
CourierOblique_widths.insert('û', 0.60);
CourierOblique_widths.insert('ü', 0.60);
CourierOblique_widths.insert('ù', 0.60);
CourierOblique_widths.insert('ű', 0.60);
CourierOblique_widths.insert('ū', 0.60);
CourierOblique_widths.insert('_', 0.60);
CourierOblique_widths.insert('ų', 0.60);
CourierOblique_widths.insert('ů', 0.60);
CourierOblique_widths.insert('v', 0.60);
CourierOblique_widths.insert('w', 0.60);
CourierOblique_widths.insert('x', 0.60);
CourierOblique_widths.insert('y', 0.60);
CourierOblique_widths.insert('ý', 0.60);
CourierOblique_widths.insert('ÿ', 0.60);
CourierOblique_widths.insert('¥', 0.60);
CourierOblique_widths.insert('z', 0.60);
CourierOblique_widths.insert('ź', 0.60);
CourierOblique_widths.insert('ž', 0.60);
CourierOblique_widths.insert('ż', 0.60);
CourierOblique_widths.insert('0', 0.60);
let mut CourierBold_widths: HashMap<char, f64> = HashMap::new();
CourierBold_widths.insert('A', 0.60);
CourierBold_widths.insert('Æ', 0.60);
CourierBold_widths.insert('Á', 0.60);
CourierBold_widths.insert('Ă', 0.60);
CourierBold_widths.insert('Â', 0.60);
CourierBold_widths.insert('Ä', 0.60);
CourierBold_widths.insert('À', 0.60);
CourierBold_widths.insert('Ā', 0.60);
CourierBold_widths.insert('Ą', 0.60);
CourierBold_widths.insert('Å', 0.60);
CourierBold_widths.insert('Ã', 0.60);
CourierBold_widths.insert('B', 0.60);
CourierBold_widths.insert('C', 0.60);
CourierBold_widths.insert('Ć', 0.60);
CourierBold_widths.insert('Č', 0.60);
CourierBold_widths.insert('Ç', 0.60);
CourierBold_widths.insert('D', 0.60);
CourierBold_widths.insert('Ď', 0.60);
CourierBold_widths.insert('Đ', 0.60);
CourierBold_widths.insert('∆', 0.60);
CourierBold_widths.insert('E', 0.60);
CourierBold_widths.insert('É', 0.60);
CourierBold_widths.insert('Ě', 0.60);
CourierBold_widths.insert('Ê', 0.60);
CourierBold_widths.insert('Ë', 0.60);
CourierBold_widths.insert('Ė', 0.60);
CourierBold_widths.insert('È', 0.60);
CourierBold_widths.insert('Ē', 0.60);
CourierBold_widths.insert('Ę', 0.60);
CourierBold_widths.insert('Ð', 0.60);
CourierBold_widths.insert('€', 0.60);
CourierBold_widths.insert('F', 0.60);
CourierBold_widths.insert('G', 0.60);
CourierBold_widths.insert('Ğ', 0.60);
CourierBold_widths.insert('Ģ', 0.60);
CourierBold_widths.insert('H', 0.60);
CourierBold_widths.insert('I', 0.60);
CourierBold_widths.insert('Í', 0.60);
CourierBold_widths.insert('Î', 0.60);
CourierBold_widths.insert('Ï', 0.60);
CourierBold_widths.insert('İ', 0.60);
CourierBold_widths.insert('Ì', 0.60);
CourierBold_widths.insert('Ī', 0.60);
CourierBold_widths.insert('Į', 0.60);
CourierBold_widths.insert('J', 0.60);
CourierBold_widths.insert('K', 0.60);
CourierBold_widths.insert('Ķ', 0.60);
CourierBold_widths.insert('L', 0.60);
CourierBold_widths.insert('Ĺ', 0.60);
CourierBold_widths.insert('Ľ', 0.60);
CourierBold_widths.insert('Ļ', 0.60);
CourierBold_widths.insert('Ł', 0.60);
CourierBold_widths.insert('M', 0.60);
CourierBold_widths.insert('N', 0.60);
CourierBold_widths.insert('Ń', 0.60);
CourierBold_widths.insert('Ň', 0.60);
CourierBold_widths.insert('Ņ', 0.60);
CourierBold_widths.insert('Ñ', 0.60);
CourierBold_widths.insert('O', 0.60);
CourierBold_widths.insert('Œ', 0.60);
CourierBold_widths.insert('Ó', 0.60);
CourierBold_widths.insert('Ô', 0.60);
CourierBold_widths.insert('Ö', 0.60);
CourierBold_widths.insert('Ò', 0.60);
CourierBold_widths.insert('Ő', 0.60);
CourierBold_widths.insert('Ō', 0.60);
CourierBold_widths.insert('Ø', 0.60);
CourierBold_widths.insert('Õ', 0.60);
CourierBold_widths.insert('P', 0.60);
CourierBold_widths.insert('Q', 0.60);
CourierBold_widths.insert('R', 0.60);
CourierBold_widths.insert('Ŕ', 0.60);
CourierBold_widths.insert('Ř', 0.60);
CourierBold_widths.insert('Ŗ', 0.60);
CourierBold_widths.insert('S', 0.60);
CourierBold_widths.insert('Ś', 0.60);
CourierBold_widths.insert('Š', 0.60);
CourierBold_widths.insert('Ş', 0.60);
CourierBold_widths.insert('Ș', 0.60);
CourierBold_widths.insert('T', 0.60);
CourierBold_widths.insert('Ť', 0.60);
CourierBold_widths.insert('Ţ', 0.60);
CourierBold_widths.insert('Þ', 0.60);
CourierBold_widths.insert('U', 0.60);
CourierBold_widths.insert('Ú', 0.60);
CourierBold_widths.insert('Û', 0.60);
CourierBold_widths.insert('Ü', 0.60);
CourierBold_widths.insert('Ù', 0.60);
CourierBold_widths.insert('Ű', 0.60);
CourierBold_widths.insert('Ū', 0.60);
CourierBold_widths.insert('Ų', 0.60);
CourierBold_widths.insert('Ů', 0.60);
CourierBold_widths.insert('V', 0.60);
CourierBold_widths.insert('W', 0.60);
CourierBold_widths.insert('X', 0.60);
CourierBold_widths.insert('Y', 0.60);
CourierBold_widths.insert('Ý', 0.60);
CourierBold_widths.insert('Ÿ', 0.60);
CourierBold_widths.insert('Z', 0.60);
CourierBold_widths.insert('Ź', 0.60);
CourierBold_widths.insert('Ž', 0.60);
CourierBold_widths.insert('Ż', 0.60);
CourierBold_widths.insert('a', 0.60);
CourierBold_widths.insert('á', 0.60);
CourierBold_widths.insert('ă', 0.60);
CourierBold_widths.insert('â', 0.60);
CourierBold_widths.insert('´', 0.60);
CourierBold_widths.insert('ä', 0.60);
CourierBold_widths.insert('æ', 0.60);
CourierBold_widths.insert('à', 0.60);
CourierBold_widths.insert('ā', 0.60);
CourierBold_widths.insert('&', 0.60);
CourierBold_widths.insert('ą', 0.60);
CourierBold_widths.insert('å', 0.60);
CourierBold_widths.insert('^', 0.60);
CourierBold_widths.insert('~', 0.60);
CourierBold_widths.insert('*', 0.60);
CourierBold_widths.insert('@', 0.60);
CourierBold_widths.insert('ã', 0.60);
CourierBold_widths.insert('b', 0.60);
CourierBold_widths.insert('\\', 0.60);
CourierBold_widths.insert('|', 0.60);
CourierBold_widths.insert('{', 0.60);
CourierBold_widths.insert('}', 0.60);
CourierBold_widths.insert('[', 0.60);
CourierBold_widths.insert(']', 0.60);
CourierBold_widths.insert('˘', 0.60);
CourierBold_widths.insert('¦', 0.60);
CourierBold_widths.insert('•', 0.60);
CourierBold_widths.insert('c', 0.60);
CourierBold_widths.insert('ć', 0.60);
CourierBold_widths.insert('ˇ', 0.60);
CourierBold_widths.insert('č', 0.60);
CourierBold_widths.insert('ç', 0.60);
CourierBold_widths.insert('¸', 0.60);
CourierBold_widths.insert('¢', 0.60);
CourierBold_widths.insert('ˆ', 0.60);
CourierBold_widths.insert(':', 0.60);
CourierBold_widths.insert(',', 0.60);
CourierBold_widths.insert('', 0.60);
CourierBold_widths.insert('©', 0.60);
CourierBold_widths.insert('¤', 0.60);
CourierBold_widths.insert('d', 0.60);
CourierBold_widths.insert('†', 0.60);
CourierBold_widths.insert('‡', 0.60);
CourierBold_widths.insert('ď', 0.60);
CourierBold_widths.insert('đ', 0.60);
CourierBold_widths.insert('°', 0.60);
CourierBold_widths.insert('¨', 0.60);
CourierBold_widths.insert('÷', 0.60);
CourierBold_widths.insert('$', 0.60);
CourierBold_widths.insert('˙', 0.60);
CourierBold_widths.insert('ı', 0.60);
CourierBold_widths.insert('e', 0.60);
CourierBold_widths.insert('é', 0.60);
CourierBold_widths.insert('ě', 0.60);
CourierBold_widths.insert('ê', 0.60);
CourierBold_widths.insert('ë', 0.60);
CourierBold_widths.insert('ė', 0.60);
CourierBold_widths.insert('è', 0.60);
CourierBold_widths.insert('8', 0.60);
CourierBold_widths.insert('…', 0.60);
CourierBold_widths.insert('ē', 0.60);
CourierBold_widths.insert('—', 0.60);
CourierBold_widths.insert('–', 0.60);
CourierBold_widths.insert('ę', 0.60);
CourierBold_widths.insert('=', 0.60);
CourierBold_widths.insert('ð', 0.60);
CourierBold_widths.insert('!', 0.60);
CourierBold_widths.insert('¡', 0.60);
CourierBold_widths.insert('f', 0.60);
CourierBold_widths.insert('fi', 0.60);
CourierBold_widths.insert('5', 0.60);
CourierBold_widths.insert('fl', 0.60);
CourierBold_widths.insert('ƒ', 0.60);
CourierBold_widths.insert('4', 0.60);
CourierBold_widths.insert('⁄', 0.60);
CourierBold_widths.insert('g', 0.60);
CourierBold_widths.insert('ğ', 0.60);
CourierBold_widths.insert('ģ', 0.60);
CourierBold_widths.insert('ß', 0.60);
CourierBold_widths.insert('`', 0.60);
CourierBold_widths.insert('>', 0.60);
CourierBold_widths.insert('≥', 0.60);
CourierBold_widths.insert('«', 0.60);
CourierBold_widths.insert('»', 0.60);
CourierBold_widths.insert('‹', 0.60);
CourierBold_widths.insert('›', 0.60);
CourierBold_widths.insert('h', 0.60);
CourierBold_widths.insert('˝', 0.60);
CourierBold_widths.insert('-', 0.60);
CourierBold_widths.insert('i', 0.60);
CourierBold_widths.insert('í', 0.60);
CourierBold_widths.insert('î', 0.60);
CourierBold_widths.insert('ï', 0.60);
CourierBold_widths.insert('ì', 0.60);
CourierBold_widths.insert('ī', 0.60);
CourierBold_widths.insert('į', 0.60);
CourierBold_widths.insert('j', 0.60);
CourierBold_widths.insert('k', 0.60);
CourierBold_widths.insert('ķ', 0.60);
CourierBold_widths.insert('l', 0.60);
CourierBold_widths.insert('ĺ', 0.60);
CourierBold_widths.insert('ľ', 0.60);
CourierBold_widths.insert('ļ', 0.60);
CourierBold_widths.insert('<', 0.60);
CourierBold_widths.insert('≤', 0.60);
CourierBold_widths.insert('¬', 0.60);
CourierBold_widths.insert('◊', 0.60);
CourierBold_widths.insert('ł', 0.60);
CourierBold_widths.insert('m', 0.60);
CourierBold_widths.insert('¯', 0.60);
CourierBold_widths.insert('−', 0.60);
CourierBold_widths.insert('µ', 0.60);
CourierBold_widths.insert('×', 0.60);
CourierBold_widths.insert('n', 0.60);
CourierBold_widths.insert('ń', 0.60);
CourierBold_widths.insert('ň', 0.60);
CourierBold_widths.insert('ņ', 0.60);
CourierBold_widths.insert('9', 0.60);
CourierBold_widths.insert('≠', 0.60);
CourierBold_widths.insert('ñ', 0.60);
CourierBold_widths.insert('#', 0.60);
CourierBold_widths.insert('o', 0.60);
CourierBold_widths.insert('ó', 0.60);
CourierBold_widths.insert('ô', 0.60);
CourierBold_widths.insert('ö', 0.60);
CourierBold_widths.insert('œ', 0.60);
CourierBold_widths.insert('˛', 0.60);
CourierBold_widths.insert('ò', 0.60);
CourierBold_widths.insert('ő', 0.60);
CourierBold_widths.insert('ō', 0.60);
CourierBold_widths.insert('1', 0.60);
CourierBold_widths.insert('½', 0.60);
CourierBold_widths.insert('¼', 0.60);
CourierBold_widths.insert('¹', 0.60);
CourierBold_widths.insert('ª', 0.60);
CourierBold_widths.insert('º', 0.60);
CourierBold_widths.insert('ø', 0.60);
CourierBold_widths.insert('õ', 0.60);
CourierBold_widths.insert('p', 0.60);
CourierBold_widths.insert('¶', 0.60);
CourierBold_widths.insert('(', 0.60);
CourierBold_widths.insert(')', 0.60);
CourierBold_widths.insert('∂', 0.60);
CourierBold_widths.insert('%', 0.60);
CourierBold_widths.insert('.', 0.60);
CourierBold_widths.insert('·', 0.60);
CourierBold_widths.insert('‰', 0.60);
CourierBold_widths.insert('+', 0.60);
CourierBold_widths.insert('±', 0.60);
CourierBold_widths.insert('q', 0.60);
CourierBold_widths.insert('?', 0.60);
CourierBold_widths.insert('¿', 0.60);
CourierBold_widths.insert('"', 0.60);
CourierBold_widths.insert('„', 0.60);
CourierBold_widths.insert('“', 0.60);
CourierBold_widths.insert('”', 0.60);
CourierBold_widths.insert('‘', 0.60);
CourierBold_widths.insert('’', 0.60);
CourierBold_widths.insert('‚', 0.60);
CourierBold_widths.insert('\'', 0.60);
CourierBold_widths.insert('r', 0.60);
CourierBold_widths.insert('ŕ', 0.60);
CourierBold_widths.insert('√', 0.60);
CourierBold_widths.insert('ř', 0.60);
CourierBold_widths.insert('ŗ', 0.60);
CourierBold_widths.insert('®', 0.60);
CourierBold_widths.insert('˚', 0.60);
CourierBold_widths.insert('s', 0.60);
CourierBold_widths.insert('ś', 0.60);
CourierBold_widths.insert('š', 0.60);
CourierBold_widths.insert('ş', 0.60);
CourierBold_widths.insert('ș', 0.60);
CourierBold_widths.insert('§', 0.60);
CourierBold_widths.insert(';', 0.60);
CourierBold_widths.insert('7', 0.60);
CourierBold_widths.insert('6', 0.60);
CourierBold_widths.insert('/', 0.60);
CourierBold_widths.insert(' ', 0.60);
CourierBold_widths.insert('£', 0.60);
CourierBold_widths.insert('∑', 0.60);
CourierBold_widths.insert('t', 0.60);
CourierBold_widths.insert('ť', 0.60);
CourierBold_widths.insert('ţ', 0.60);
CourierBold_widths.insert('þ', 0.60);
CourierBold_widths.insert('3', 0.60);
CourierBold_widths.insert('¾', 0.60);
CourierBold_widths.insert('³', 0.60);
CourierBold_widths.insert('˜', 0.60);
CourierBold_widths.insert('™', 0.60);
CourierBold_widths.insert('2', 0.60);
CourierBold_widths.insert('²', 0.60);
CourierBold_widths.insert('u', 0.60);
CourierBold_widths.insert('ú', 0.60);
CourierBold_widths.insert('û', 0.60);
CourierBold_widths.insert('ü', 0.60);
CourierBold_widths.insert('ù', 0.60);
CourierBold_widths.insert('ű', 0.60);
CourierBold_widths.insert('ū', 0.60);
CourierBold_widths.insert('_', 0.60);
CourierBold_widths.insert('ų', 0.60);
CourierBold_widths.insert('ů', 0.60);
CourierBold_widths.insert('v', 0.60);
CourierBold_widths.insert('w', 0.60);
CourierBold_widths.insert('x', 0.60);
CourierBold_widths.insert('y', 0.60);
CourierBold_widths.insert('ý', 0.60);
CourierBold_widths.insert('ÿ', 0.60);
CourierBold_widths.insert('¥', 0.60);
CourierBold_widths.insert('z', 0.60);
CourierBold_widths.insert('ź', 0.60);
CourierBold_widths.insert('ž', 0.60);
CourierBold_widths.insert('ż', 0.60);
CourierBold_widths.insert('0', 0.60);
let mut CourierBoldOblique_widths: HashMap<char, f64> = HashMap::new();
CourierBoldOblique_widths.insert('A', 0.60);
CourierBoldOblique_widths.insert('Æ', 0.60);
CourierBoldOblique_widths.insert('Á', 0.60);
CourierBoldOblique_widths.insert('Ă', 0.60);
CourierBoldOblique_widths.insert('Â', 0.60);
CourierBoldOblique_widths.insert('Ä', 0.60);
CourierBoldOblique_widths.insert('À', 0.60);
CourierBoldOblique_widths.insert('Ā', 0.60);
CourierBoldOblique_widths.insert('Ą', 0.60);
CourierBoldOblique_widths.insert('Å', 0.60);
CourierBoldOblique_widths.insert('Ã', 0.60);
CourierBoldOblique_widths.insert('B', 0.60);
CourierBoldOblique_widths.insert('C', 0.60);
CourierBoldOblique_widths.insert('Ć', 0.60);
CourierBoldOblique_widths.insert('Č', 0.60);
CourierBoldOblique_widths.insert('Ç', 0.60);
CourierBoldOblique_widths.insert('D', 0.60);
CourierBoldOblique_widths.insert('Ď', 0.60);
CourierBoldOblique_widths.insert('Đ', 0.60);
CourierBoldOblique_widths.insert('∆', 0.60);
CourierBoldOblique_widths.insert('E', 0.60);
CourierBoldOblique_widths.insert('É', 0.60);
CourierBoldOblique_widths.insert('Ě', 0.60);
CourierBoldOblique_widths.insert('Ê', 0.60);
CourierBoldOblique_widths.insert('Ë', 0.60);
CourierBoldOblique_widths.insert('Ė', 0.60);
CourierBoldOblique_widths.insert('È', 0.60);
CourierBoldOblique_widths.insert('Ē', 0.60);
CourierBoldOblique_widths.insert('Ę', 0.60);
CourierBoldOblique_widths.insert('Ð', 0.60);
CourierBoldOblique_widths.insert('€', 0.60);
CourierBoldOblique_widths.insert('F', 0.60);
CourierBoldOblique_widths.insert('G', 0.60);
CourierBoldOblique_widths.insert('Ğ', 0.60);
CourierBoldOblique_widths.insert('Ģ', 0.60);
CourierBoldOblique_widths.insert('H', 0.60);
CourierBoldOblique_widths.insert('I', 0.60);
CourierBoldOblique_widths.insert('Í', 0.60);
CourierBoldOblique_widths.insert('Î', 0.60);
CourierBoldOblique_widths.insert('Ï', 0.60);
CourierBoldOblique_widths.insert('İ', 0.60);
CourierBoldOblique_widths.insert('Ì', 0.60);
CourierBoldOblique_widths.insert('Ī', 0.60);
CourierBoldOblique_widths.insert('Į', 0.60);
CourierBoldOblique_widths.insert('J', 0.60);
CourierBoldOblique_widths.insert('K', 0.60);
CourierBoldOblique_widths.insert('Ķ', 0.60);
CourierBoldOblique_widths.insert('L', 0.60);
CourierBoldOblique_widths.insert('Ĺ', 0.60);
CourierBoldOblique_widths.insert('Ľ', 0.60);
CourierBoldOblique_widths.insert('Ļ', 0.60);
CourierBoldOblique_widths.insert('Ł', 0.60);
CourierBoldOblique_widths.insert('M', 0.60);
CourierBoldOblique_widths.insert('N', 0.60);
CourierBoldOblique_widths.insert('Ń', 0.60);
CourierBoldOblique_widths.insert('Ň', 0.60);
CourierBoldOblique_widths.insert('Ņ', 0.60);
CourierBoldOblique_widths.insert('Ñ', 0.60);
CourierBoldOblique_widths.insert('O', 0.60);
CourierBoldOblique_widths.insert('Œ', 0.60);
CourierBoldOblique_widths.insert('Ó', 0.60);
CourierBoldOblique_widths.insert('Ô', 0.60);
CourierBoldOblique_widths.insert('Ö', 0.60);
CourierBoldOblique_widths.insert('Ò', 0.60);
CourierBoldOblique_widths.insert('Ő', 0.60);
CourierBoldOblique_widths.insert('Ō', 0.60);
CourierBoldOblique_widths.insert('Ø', 0.60);
CourierBoldOblique_widths.insert('Õ', 0.60);
CourierBoldOblique_widths.insert('P', 0.60);
CourierBoldOblique_widths.insert('Q', 0.60);
CourierBoldOblique_widths.insert('R', 0.60);
CourierBoldOblique_widths.insert('Ŕ', 0.60);
CourierBoldOblique_widths.insert('Ř', 0.60);
CourierBoldOblique_widths.insert('Ŗ', 0.60);
CourierBoldOblique_widths.insert('S', 0.60);
CourierBoldOblique_widths.insert('Ś', 0.60);
CourierBoldOblique_widths.insert('Š', 0.60);
CourierBoldOblique_widths.insert('Ş', 0.60);
CourierBoldOblique_widths.insert('Ș', 0.60);
CourierBoldOblique_widths.insert('T', 0.60);
CourierBoldOblique_widths.insert('Ť', 0.60);
CourierBoldOblique_widths.insert('Ţ', 0.60);
CourierBoldOblique_widths.insert('Þ', 0.60);
CourierBoldOblique_widths.insert('U', 0.60);
CourierBoldOblique_widths.insert('Ú', 0.60);
CourierBoldOblique_widths.insert('Û', 0.60);
CourierBoldOblique_widths.insert('Ü', 0.60);
CourierBoldOblique_widths.insert('Ù', 0.60);
CourierBoldOblique_widths.insert('Ű', 0.60);
CourierBoldOblique_widths.insert('Ū', 0.60);
CourierBoldOblique_widths.insert('Ų', 0.60);
CourierBoldOblique_widths.insert('Ů', 0.60);
CourierBoldOblique_widths.insert('V', 0.60);
CourierBoldOblique_widths.insert('W', 0.60);
CourierBoldOblique_widths.insert('X', 0.60);
CourierBoldOblique_widths.insert('Y', 0.60);
CourierBoldOblique_widths.insert('Ý', 0.60);
CourierBoldOblique_widths.insert('Ÿ', 0.60);
CourierBoldOblique_widths.insert('Z', 0.60);
CourierBoldOblique_widths.insert('Ź', 0.60);
CourierBoldOblique_widths.insert('Ž', 0.60);
CourierBoldOblique_widths.insert('Ż', 0.60);
CourierBoldOblique_widths.insert('a', 0.60);
CourierBoldOblique_widths.insert('á', 0.60);
CourierBoldOblique_widths.insert('ă', 0.60);
CourierBoldOblique_widths.insert('â', 0.60);
CourierBoldOblique_widths.insert('´', 0.60);
CourierBoldOblique_widths.insert('ä', 0.60);
CourierBoldOblique_widths.insert('æ', 0.60);
CourierBoldOblique_widths.insert('à', 0.60);
CourierBoldOblique_widths.insert('ā', 0.60);
CourierBoldOblique_widths.insert('&', 0.60);
CourierBoldOblique_widths.insert('ą', 0.60);
CourierBoldOblique_widths.insert('å', 0.60);
CourierBoldOblique_widths.insert('^', 0.60);
CourierBoldOblique_widths.insert('~', 0.60);
CourierBoldOblique_widths.insert('*', 0.60);
CourierBoldOblique_widths.insert('@', 0.60);
CourierBoldOblique_widths.insert('ã', 0.60);
CourierBoldOblique_widths.insert('b', 0.60);
CourierBoldOblique_widths.insert('\\', 0.60);
CourierBoldOblique_widths.insert('|', 0.60);
CourierBoldOblique_widths.insert('{', 0.60);
CourierBoldOblique_widths.insert('}', 0.60);
CourierBoldOblique_widths.insert('[', 0.60);
CourierBoldOblique_widths.insert(']', 0.60);
CourierBoldOblique_widths.insert('˘', 0.60);
CourierBoldOblique_widths.insert('¦', 0.60);
CourierBoldOblique_widths.insert('•', 0.60);
CourierBoldOblique_widths.insert('c', 0.60);
CourierBoldOblique_widths.insert('ć', 0.60);
CourierBoldOblique_widths.insert('ˇ', 0.60);
CourierBoldOblique_widths.insert('č', 0.60);
CourierBoldOblique_widths.insert('ç', 0.60);
CourierBoldOblique_widths.insert('¸', 0.60);
CourierBoldOblique_widths.insert('¢', 0.60);
CourierBoldOblique_widths.insert('ˆ', 0.60);
CourierBoldOblique_widths.insert(':', 0.60);
CourierBoldOblique_widths.insert(',', 0.60);
CourierBoldOblique_widths.insert('', 0.60);
CourierBoldOblique_widths.insert('©', 0.60);
CourierBoldOblique_widths.insert('¤', 0.60);
CourierBoldOblique_widths.insert('d', 0.60);
CourierBoldOblique_widths.insert('†', 0.60);
CourierBoldOblique_widths.insert('‡', 0.60);
CourierBoldOblique_widths.insert('ď', 0.60);
CourierBoldOblique_widths.insert('đ', 0.60);
CourierBoldOblique_widths.insert('°', 0.60);
CourierBoldOblique_widths.insert('¨', 0.60);
CourierBoldOblique_widths.insert('÷', 0.60);
CourierBoldOblique_widths.insert('$', 0.60);
CourierBoldOblique_widths.insert('˙', 0.60);
CourierBoldOblique_widths.insert('ı', 0.60);
CourierBoldOblique_widths.insert('e', 0.60);
CourierBoldOblique_widths.insert('é', 0.60);
CourierBoldOblique_widths.insert('ě', 0.60);
CourierBoldOblique_widths.insert('ê', 0.60);
CourierBoldOblique_widths.insert('ë', 0.60);
CourierBoldOblique_widths.insert('ė', 0.60);
CourierBoldOblique_widths.insert('è', 0.60);
CourierBoldOblique_widths.insert('8', 0.60);
CourierBoldOblique_widths.insert('…', 0.60);
CourierBoldOblique_widths.insert('ē', 0.60);
CourierBoldOblique_widths.insert('—', 0.60);
CourierBoldOblique_widths.insert('–', 0.60);
CourierBoldOblique_widths.insert('ę', 0.60);
CourierBoldOblique_widths.insert('=', 0.60);
CourierBoldOblique_widths.insert('ð', 0.60);
CourierBoldOblique_widths.insert('!', 0.60);
CourierBoldOblique_widths.insert('¡', 0.60);
CourierBoldOblique_widths.insert('f', 0.60);
CourierBoldOblique_widths.insert('fi', 0.60);
CourierBoldOblique_widths.insert('5', 0.60);
CourierBoldOblique_widths.insert('fl', 0.60);
CourierBoldOblique_widths.insert('ƒ', 0.60);
CourierBoldOblique_widths.insert('4', 0.60);
CourierBoldOblique_widths.insert('⁄', 0.60);
CourierBoldOblique_widths.insert('g', 0.60);
CourierBoldOblique_widths.insert('ğ', 0.60);
CourierBoldOblique_widths.insert('ģ', 0.60);
CourierBoldOblique_widths.insert('ß', 0.60);
CourierBoldOblique_widths.insert('`', 0.60);
CourierBoldOblique_widths.insert('>', 0.60);
CourierBoldOblique_widths.insert('≥', 0.60);
CourierBoldOblique_widths.insert('«', 0.60);
CourierBoldOblique_widths.insert('»', 0.60);
CourierBoldOblique_widths.insert('‹', 0.60);
CourierBoldOblique_widths.insert('›', 0.60);
CourierBoldOblique_widths.insert('h', 0.60);
CourierBoldOblique_widths.insert('˝', 0.60);
CourierBoldOblique_widths.insert('-', 0.60);
CourierBoldOblique_widths.insert('i', 0.60);
CourierBoldOblique_widths.insert('í', 0.60);
CourierBoldOblique_widths.insert('î', 0.60);
CourierBoldOblique_widths.insert('ï', 0.60);
CourierBoldOblique_widths.insert('ì', 0.60);
CourierBoldOblique_widths.insert('ī', 0.60);
CourierBoldOblique_widths.insert('į', 0.60);
CourierBoldOblique_widths.insert('j', 0.60);
CourierBoldOblique_widths.insert('k', 0.60);
CourierBoldOblique_widths.insert('ķ', 0.60);
CourierBoldOblique_widths.insert('l', 0.60);
CourierBoldOblique_widths.insert('ĺ', 0.60);
CourierBoldOblique_widths.insert('ľ', 0.60);
CourierBoldOblique_widths.insert('ļ', 0.60);
CourierBoldOblique_widths.insert('<', 0.60);
CourierBoldOblique_widths.insert('≤', 0.60);
CourierBoldOblique_widths.insert('¬', 0.60);
CourierBoldOblique_widths.insert('◊', 0.60);
CourierBoldOblique_widths.insert('ł', 0.60);
CourierBoldOblique_widths.insert('m', 0.60);
CourierBoldOblique_widths.insert('¯', 0.60);
CourierBoldOblique_widths.insert('−', 0.60);
CourierBoldOblique_widths.insert('µ', 0.60);
CourierBoldOblique_widths.insert('×', 0.60);
CourierBoldOblique_widths.insert('n', 0.60);
CourierBoldOblique_widths.insert('ń', 0.60);
CourierBoldOblique_widths.insert('ň', 0.60);
CourierBoldOblique_widths.insert('ņ', 0.60);
CourierBoldOblique_widths.insert('9', 0.60);
CourierBoldOblique_widths.insert('≠', 0.60);
CourierBoldOblique_widths.insert('ñ', 0.60);
CourierBoldOblique_widths.insert('#', 0.60);
CourierBoldOblique_widths.insert('o', 0.60);
CourierBoldOblique_widths.insert('ó', 0.60);
CourierBoldOblique_widths.insert('ô', 0.60);
CourierBoldOblique_widths.insert('ö', 0.60);
CourierBoldOblique_widths.insert('œ', 0.60);
CourierBoldOblique_widths.insert('˛', 0.60);
CourierBoldOblique_widths.insert('ò', 0.60);
CourierBoldOblique_widths.insert('ő', 0.60);
CourierBoldOblique_widths.insert('ō', 0.60);
CourierBoldOblique_widths.insert('1', 0.60);
CourierBoldOblique_widths.insert('½', 0.60);
CourierBoldOblique_widths.insert('¼', 0.60);
CourierBoldOblique_widths.insert('¹', 0.60);
CourierBoldOblique_widths.insert('ª', 0.60);
CourierBoldOblique_widths.insert('º', 0.60);
CourierBoldOblique_widths.insert('ø', 0.60);
CourierBoldOblique_widths.insert('õ', 0.60);
CourierBoldOblique_widths.insert('p', 0.60);
CourierBoldOblique_widths.insert('¶', 0.60);
CourierBoldOblique_widths.insert('(', 0.60);
CourierBoldOblique_widths.insert(')', 0.60);
CourierBoldOblique_widths.insert('∂', 0.60);
CourierBoldOblique_widths.insert('%', 0.60);
CourierBoldOblique_widths.insert('.', 0.60);
CourierBoldOblique_widths.insert('·', 0.60);
CourierBoldOblique_widths.insert('‰', 0.60);
CourierBoldOblique_widths.insert('+', 0.60);
CourierBoldOblique_widths.insert('±', 0.60);
CourierBoldOblique_widths.insert('q', 0.60);
CourierBoldOblique_widths.insert('?', 0.60);
CourierBoldOblique_widths.insert('¿', 0.60);
CourierBoldOblique_widths.insert('"', 0.60);
CourierBoldOblique_widths.insert('„', 0.60);
CourierBoldOblique_widths.insert('“', 0.60);
CourierBoldOblique_widths.insert('”', 0.60);
CourierBoldOblique_widths.insert('‘', 0.60);
CourierBoldOblique_widths.insert('’', 0.60);
CourierBoldOblique_widths.insert('‚', 0.60);
CourierBoldOblique_widths.insert('\'', 0.60);
CourierBoldOblique_widths.insert('r', 0.60);
CourierBoldOblique_widths.insert('ŕ', 0.60);
CourierBoldOblique_widths.insert('√', 0.60);
CourierBoldOblique_widths.insert('ř', 0.60);
CourierBoldOblique_widths.insert('ŗ', 0.60);
CourierBoldOblique_widths.insert('®', 0.60);
CourierBoldOblique_widths.insert('˚', 0.60);
CourierBoldOblique_widths.insert('s', 0.60);
CourierBoldOblique_widths.insert('ś', 0.60);
CourierBoldOblique_widths.insert('š', 0.60);
CourierBoldOblique_widths.insert('ş', 0.60);
CourierBoldOblique_widths.insert('ș', 0.60);
CourierBoldOblique_widths.insert('§', 0.60);
CourierBoldOblique_widths.insert(';', 0.60);
CourierBoldOblique_widths.insert('7', 0.60);
CourierBoldOblique_widths.insert('6', 0.60);
CourierBoldOblique_widths.insert('/', 0.60);
CourierBoldOblique_widths.insert(' ', 0.60);
CourierBoldOblique_widths.insert('£', 0.60);
CourierBoldOblique_widths.insert('∑', 0.60);
CourierBoldOblique_widths.insert('t', 0.60);
CourierBoldOblique_widths.insert('ť', 0.60);
CourierBoldOblique_widths.insert('ţ', 0.60);
CourierBoldOblique_widths.insert('þ', 0.60);
CourierBoldOblique_widths.insert('3', 0.60);
CourierBoldOblique_widths.insert('¾', 0.60);
CourierBoldOblique_widths.insert('³', 0.60);
CourierBoldOblique_widths.insert('˜', 0.60);
CourierBoldOblique_widths.insert('™', 0.60);
CourierBoldOblique_widths.insert('2', 0.60);
CourierBoldOblique_widths.insert('²', 0.60);
CourierBoldOblique_widths.insert('u', 0.60);
CourierBoldOblique_widths.insert('ú', 0.60);
CourierBoldOblique_widths.insert('û', 0.60);
CourierBoldOblique_widths.insert('ü', 0.60);
CourierBoldOblique_widths.insert('ù', 0.60);
CourierBoldOblique_widths.insert('ű', 0.60);
CourierBoldOblique_widths.insert('ū', 0.60);
CourierBoldOblique_widths.insert('_', 0.60);
CourierBoldOblique_widths.insert('ų', 0.60);
CourierBoldOblique_widths.insert('ů', 0.60);
CourierBoldOblique_widths.insert('v', 0.60);
CourierBoldOblique_widths.insert('w', 0.60);
CourierBoldOblique_widths.insert('x', 0.60);
CourierBoldOblique_widths.insert('y', 0.60);
CourierBoldOblique_widths.insert('ý', 0.60);
CourierBoldOblique_widths.insert('ÿ', 0.60);
CourierBoldOblique_widths.insert('¥', 0.60);
CourierBoldOblique_widths.insert('z', 0.60);
CourierBoldOblique_widths.insert('ź', 0.60);
CourierBoldOblique_widths.insert('ž', 0.60);
CourierBoldOblique_widths.insert('ż', 0.60);
CourierBoldOblique_widths.insert('0', 0.60);
let mut TimesBoldItalic_widths: HashMap<char, f64> = HashMap::new();
TimesBoldItalic_widths.insert('A', 0.67);
TimesBoldItalic_widths.insert('Æ', 0.94);
TimesBoldItalic_widths.insert('Á', 0.67);
TimesBoldItalic_widths.insert('Ă', 0.67);
TimesBoldItalic_widths.insert('Â', 0.67);
TimesBoldItalic_widths.insert('Ä', 0.67);
TimesBoldItalic_widths.insert('À', 0.67);
TimesBoldItalic_widths.insert('Ā', 0.67);
TimesBoldItalic_widths.insert('Ą', 0.67);
TimesBoldItalic_widths.insert('Å', 0.67);
TimesBoldItalic_widths.insert('Ã', 0.67);
TimesBoldItalic_widths.insert('B', 0.67);
TimesBoldItalic_widths.insert('C', 0.67);
TimesBoldItalic_widths.insert('Ć', 0.67);
TimesBoldItalic_widths.insert('Č', 0.67);
TimesBoldItalic_widths.insert('Ç', 0.67);
TimesBoldItalic_widths.insert('D', 0.72);
TimesBoldItalic_widths.insert('Ď', 0.72);
TimesBoldItalic_widths.insert('Đ', 0.72);
TimesBoldItalic_widths.insert('∆', 0.61);
TimesBoldItalic_widths.insert('E', 0.67);
TimesBoldItalic_widths.insert('É', 0.67);
TimesBoldItalic_widths.insert('Ě', 0.67);
TimesBoldItalic_widths.insert('Ê', 0.67);
TimesBoldItalic_widths.insert('Ë', 0.67);
TimesBoldItalic_widths.insert('Ė', 0.67);
TimesBoldItalic_widths.insert('È', 0.67);
TimesBoldItalic_widths.insert('Ē', 0.67);
TimesBoldItalic_widths.insert('Ę', 0.67);
TimesBoldItalic_widths.insert('Ð', 0.72);
TimesBoldItalic_widths.insert('€', 0.50);
TimesBoldItalic_widths.insert('F', 0.67);
TimesBoldItalic_widths.insert('G', 0.72);
TimesBoldItalic_widths.insert('Ğ', 0.72);
TimesBoldItalic_widths.insert('Ģ', 0.72);
TimesBoldItalic_widths.insert('H', 0.78);
TimesBoldItalic_widths.insert('I', 0.39);
TimesBoldItalic_widths.insert('Í', 0.39);
TimesBoldItalic_widths.insert('Î', 0.39);
TimesBoldItalic_widths.insert('Ï', 0.39);
TimesBoldItalic_widths.insert('İ', 0.39);
TimesBoldItalic_widths.insert('Ì', 0.39);
TimesBoldItalic_widths.insert('Ī', 0.39);
TimesBoldItalic_widths.insert('Į', 0.39);
TimesBoldItalic_widths.insert('J', 0.50);
TimesBoldItalic_widths.insert('K', 0.67);
TimesBoldItalic_widths.insert('Ķ', 0.67);
TimesBoldItalic_widths.insert('L', 0.61);
TimesBoldItalic_widths.insert('Ĺ', 0.61);
TimesBoldItalic_widths.insert('Ľ', 0.61);
TimesBoldItalic_widths.insert('Ļ', 0.61);
TimesBoldItalic_widths.insert('Ł', 0.61);
TimesBoldItalic_widths.insert('M', 0.89);
TimesBoldItalic_widths.insert('N', 0.72);
TimesBoldItalic_widths.insert('Ń', 0.72);
TimesBoldItalic_widths.insert('Ň', 0.72);
TimesBoldItalic_widths.insert('Ņ', 0.72);
TimesBoldItalic_widths.insert('Ñ', 0.72);
TimesBoldItalic_widths.insert('O', 0.72);
TimesBoldItalic_widths.insert('Œ', 0.94);
TimesBoldItalic_widths.insert('Ó', 0.72);
TimesBoldItalic_widths.insert('Ô', 0.72);
TimesBoldItalic_widths.insert('Ö', 0.72);
TimesBoldItalic_widths.insert('Ò', 0.72);
TimesBoldItalic_widths.insert('Ő', 0.72);
TimesBoldItalic_widths.insert('Ō', 0.72);
TimesBoldItalic_widths.insert('Ø', 0.72);
TimesBoldItalic_widths.insert('Õ', 0.72);
TimesBoldItalic_widths.insert('P', 0.61);
TimesBoldItalic_widths.insert('Q', 0.72);
TimesBoldItalic_widths.insert('R', 0.67);
TimesBoldItalic_widths.insert('Ŕ', 0.67);
TimesBoldItalic_widths.insert('Ř', 0.67);
TimesBoldItalic_widths.insert('Ŗ', 0.67);
TimesBoldItalic_widths.insert('S', 0.56);
TimesBoldItalic_widths.insert('Ś', 0.56);
TimesBoldItalic_widths.insert('Š', 0.56);
TimesBoldItalic_widths.insert('Ş', 0.56);
TimesBoldItalic_widths.insert('Ș', 0.56);
TimesBoldItalic_widths.insert('T', 0.61);
TimesBoldItalic_widths.insert('Ť', 0.61);
TimesBoldItalic_widths.insert('Ţ', 0.61);
TimesBoldItalic_widths.insert('Þ', 0.61);
TimesBoldItalic_widths.insert('U', 0.72);
TimesBoldItalic_widths.insert('Ú', 0.72);
TimesBoldItalic_widths.insert('Û', 0.72);
TimesBoldItalic_widths.insert('Ü', 0.72);
TimesBoldItalic_widths.insert('Ù', 0.72);
TimesBoldItalic_widths.insert('Ű', 0.72);
TimesBoldItalic_widths.insert('Ū', 0.72);
TimesBoldItalic_widths.insert('Ų', 0.72);
TimesBoldItalic_widths.insert('Ů', 0.72);
TimesBoldItalic_widths.insert('V', 0.67);
TimesBoldItalic_widths.insert('W', 0.89);
TimesBoldItalic_widths.insert('X', 0.67);
TimesBoldItalic_widths.insert('Y', 0.61);
TimesBoldItalic_widths.insert('Ý', 0.61);
TimesBoldItalic_widths.insert('Ÿ', 0.61);
TimesBoldItalic_widths.insert('Z', 0.61);
TimesBoldItalic_widths.insert('Ź', 0.61);
TimesBoldItalic_widths.insert('Ž', 0.61);
TimesBoldItalic_widths.insert('Ż', 0.61);
TimesBoldItalic_widths.insert('a', 0.50);
TimesBoldItalic_widths.insert('á', 0.50);
TimesBoldItalic_widths.insert('ă', 0.50);
TimesBoldItalic_widths.insert('â', 0.50);
TimesBoldItalic_widths.insert('´', 0.33);
TimesBoldItalic_widths.insert('ä', 0.50);
TimesBoldItalic_widths.insert('æ', 0.72);
TimesBoldItalic_widths.insert('à', 0.50);
TimesBoldItalic_widths.insert('ā', 0.50);
TimesBoldItalic_widths.insert('&', 0.78);
TimesBoldItalic_widths.insert('ą', 0.50);
TimesBoldItalic_widths.insert('å', 0.50);
TimesBoldItalic_widths.insert('^', 0.57);
TimesBoldItalic_widths.insert('~', 0.57);
TimesBoldItalic_widths.insert('*', 0.50);
TimesBoldItalic_widths.insert('@', 0.83);
TimesBoldItalic_widths.insert('ã', 0.50);
TimesBoldItalic_widths.insert('b', 0.50);
TimesBoldItalic_widths.insert('\\', 0.28);
TimesBoldItalic_widths.insert('|', 0.22);
TimesBoldItalic_widths.insert('{', 0.35);
TimesBoldItalic_widths.insert('}', 0.35);
TimesBoldItalic_widths.insert('[', 0.33);
TimesBoldItalic_widths.insert(']', 0.33);
TimesBoldItalic_widths.insert('˘', 0.33);
TimesBoldItalic_widths.insert('¦', 0.22);
TimesBoldItalic_widths.insert('•', 0.35);
TimesBoldItalic_widths.insert('c', 0.44);
TimesBoldItalic_widths.insert('ć', 0.44);
TimesBoldItalic_widths.insert('ˇ', 0.33);
TimesBoldItalic_widths.insert('č', 0.44);
TimesBoldItalic_widths.insert('ç', 0.44);
TimesBoldItalic_widths.insert('¸', 0.33);
TimesBoldItalic_widths.insert('¢', 0.50);
TimesBoldItalic_widths.insert('ˆ', 0.33);
TimesBoldItalic_widths.insert(':', 0.33);
TimesBoldItalic_widths.insert(',', 0.25);
TimesBoldItalic_widths.insert('', 0.25);
TimesBoldItalic_widths.insert('©', 0.75);
TimesBoldItalic_widths.insert('¤', 0.50);
TimesBoldItalic_widths.insert('d', 0.50);
TimesBoldItalic_widths.insert('†', 0.50);
TimesBoldItalic_widths.insert('‡', 0.50);
TimesBoldItalic_widths.insert('ď', 0.61);
TimesBoldItalic_widths.insert('đ', 0.50);
TimesBoldItalic_widths.insert('°', 0.40);
TimesBoldItalic_widths.insert('¨', 0.33);
TimesBoldItalic_widths.insert('÷', 0.57);
TimesBoldItalic_widths.insert('$', 0.50);
TimesBoldItalic_widths.insert('˙', 0.33);
TimesBoldItalic_widths.insert('ı', 0.28);
TimesBoldItalic_widths.insert('e', 0.44);
TimesBoldItalic_widths.insert('é', 0.44);
TimesBoldItalic_widths.insert('ě', 0.44);
TimesBoldItalic_widths.insert('ê', 0.44);
TimesBoldItalic_widths.insert('ë', 0.44);
TimesBoldItalic_widths.insert('ė', 0.44);
TimesBoldItalic_widths.insert('è', 0.44);
TimesBoldItalic_widths.insert('8', 0.50);
TimesBoldItalic_widths.insert('…', 1.00);
TimesBoldItalic_widths.insert('ē', 0.44);
TimesBoldItalic_widths.insert('—', 1.00);
TimesBoldItalic_widths.insert('–', 0.50);
TimesBoldItalic_widths.insert('ę', 0.44);
TimesBoldItalic_widths.insert('=', 0.57);
TimesBoldItalic_widths.insert('ð', 0.50);
TimesBoldItalic_widths.insert('!', 0.39);
TimesBoldItalic_widths.insert('¡', 0.39);
TimesBoldItalic_widths.insert('f', 0.33);
TimesBoldItalic_widths.insert('fi', 0.56);
TimesBoldItalic_widths.insert('5', 0.50);
TimesBoldItalic_widths.insert('fl', 0.56);
TimesBoldItalic_widths.insert('ƒ', 0.50);
TimesBoldItalic_widths.insert('4', 0.50);
TimesBoldItalic_widths.insert('⁄', 0.17);
TimesBoldItalic_widths.insert('g', 0.50);
TimesBoldItalic_widths.insert('ğ', 0.50);
TimesBoldItalic_widths.insert('ģ', 0.50);
TimesBoldItalic_widths.insert('ß', 0.50);
TimesBoldItalic_widths.insert('`', 0.33);
TimesBoldItalic_widths.insert('>', 0.57);
TimesBoldItalic_widths.insert('≥', 0.55);
TimesBoldItalic_widths.insert('«', 0.50);
TimesBoldItalic_widths.insert('»', 0.50);
TimesBoldItalic_widths.insert('‹', 0.33);
TimesBoldItalic_widths.insert('›', 0.33);
TimesBoldItalic_widths.insert('h', 0.56);
TimesBoldItalic_widths.insert('˝', 0.33);
TimesBoldItalic_widths.insert('-', 0.33);
TimesBoldItalic_widths.insert('i', 0.28);
TimesBoldItalic_widths.insert('í', 0.28);
TimesBoldItalic_widths.insert('î', 0.28);
TimesBoldItalic_widths.insert('ï', 0.28);
TimesBoldItalic_widths.insert('ì', 0.28);
TimesBoldItalic_widths.insert('ī', 0.28);
TimesBoldItalic_widths.insert('į', 0.28);
TimesBoldItalic_widths.insert('j', 0.28);
TimesBoldItalic_widths.insert('k', 0.50);
TimesBoldItalic_widths.insert('ķ', 0.50);
TimesBoldItalic_widths.insert('l', 0.28);
TimesBoldItalic_widths.insert('ĺ', 0.28);
TimesBoldItalic_widths.insert('ľ', 0.38);
TimesBoldItalic_widths.insert('ļ', 0.28);
TimesBoldItalic_widths.insert('<', 0.57);
TimesBoldItalic_widths.insert('≤', 0.55);
TimesBoldItalic_widths.insert('¬', 0.61);
TimesBoldItalic_widths.insert('◊', 0.49);
TimesBoldItalic_widths.insert('ł', 0.28);
TimesBoldItalic_widths.insert('m', 0.78);
TimesBoldItalic_widths.insert('¯', 0.33);
TimesBoldItalic_widths.insert('−', 0.61);
TimesBoldItalic_widths.insert('µ', 0.58);
TimesBoldItalic_widths.insert('×', 0.57);
TimesBoldItalic_widths.insert('n', 0.56);
TimesBoldItalic_widths.insert('ń', 0.56);
TimesBoldItalic_widths.insert('ň', 0.56);
TimesBoldItalic_widths.insert('ņ', 0.56);
TimesBoldItalic_widths.insert('9', 0.50);
TimesBoldItalic_widths.insert('≠', 0.55);
TimesBoldItalic_widths.insert('ñ', 0.56);
TimesBoldItalic_widths.insert('#', 0.50);
TimesBoldItalic_widths.insert('o', 0.50);
TimesBoldItalic_widths.insert('ó', 0.50);
TimesBoldItalic_widths.insert('ô', 0.50);
TimesBoldItalic_widths.insert('ö', 0.50);
TimesBoldItalic_widths.insert('œ', 0.72);
TimesBoldItalic_widths.insert('˛', 0.33);
TimesBoldItalic_widths.insert('ò', 0.50);
TimesBoldItalic_widths.insert('ő', 0.50);
TimesBoldItalic_widths.insert('ō', 0.50);
TimesBoldItalic_widths.insert('1', 0.50);
TimesBoldItalic_widths.insert('½', 0.75);
TimesBoldItalic_widths.insert('¼', 0.75);
TimesBoldItalic_widths.insert('¹', 0.30);
TimesBoldItalic_widths.insert('ª', 0.27);
TimesBoldItalic_widths.insert('º', 0.30);
TimesBoldItalic_widths.insert('ø', 0.50);
TimesBoldItalic_widths.insert('õ', 0.50);
TimesBoldItalic_widths.insert('p', 0.50);
TimesBoldItalic_widths.insert('¶', 0.50);
TimesBoldItalic_widths.insert('(', 0.33);
TimesBoldItalic_widths.insert(')', 0.33);
TimesBoldItalic_widths.insert('∂', 0.49);
TimesBoldItalic_widths.insert('%', 0.83);
TimesBoldItalic_widths.insert('.', 0.25);
TimesBoldItalic_widths.insert('·', 0.25);
TimesBoldItalic_widths.insert('‰', 1.00);
TimesBoldItalic_widths.insert('+', 0.57);
TimesBoldItalic_widths.insert('±', 0.57);
TimesBoldItalic_widths.insert('q', 0.50);
TimesBoldItalic_widths.insert('?', 0.50);
TimesBoldItalic_widths.insert('¿', 0.50);
TimesBoldItalic_widths.insert('"', 0.56);
TimesBoldItalic_widths.insert('„', 0.50);
TimesBoldItalic_widths.insert('“', 0.50);
TimesBoldItalic_widths.insert('”', 0.50);
TimesBoldItalic_widths.insert('‘', 0.33);
TimesBoldItalic_widths.insert('’', 0.33);
TimesBoldItalic_widths.insert('‚', 0.33);
TimesBoldItalic_widths.insert('\'', 0.28);
TimesBoldItalic_widths.insert('r', 0.39);
TimesBoldItalic_widths.insert('ŕ', 0.39);
TimesBoldItalic_widths.insert('√', 0.55);
TimesBoldItalic_widths.insert('ř', 0.39);
TimesBoldItalic_widths.insert('ŗ', 0.39);
TimesBoldItalic_widths.insert('®', 0.75);
TimesBoldItalic_widths.insert('˚', 0.33);
TimesBoldItalic_widths.insert('s', 0.39);
TimesBoldItalic_widths.insert('ś', 0.39);
TimesBoldItalic_widths.insert('š', 0.39);
TimesBoldItalic_widths.insert('ş', 0.39);
TimesBoldItalic_widths.insert('ș', 0.39);
TimesBoldItalic_widths.insert('§', 0.50);
TimesBoldItalic_widths.insert(';', 0.33);
TimesBoldItalic_widths.insert('7', 0.50);
TimesBoldItalic_widths.insert('6', 0.50);
TimesBoldItalic_widths.insert('/', 0.28);
TimesBoldItalic_widths.insert(' ', 0.25);
TimesBoldItalic_widths.insert('£', 0.50);
TimesBoldItalic_widths.insert('∑', 0.60);
TimesBoldItalic_widths.insert('t', 0.28);
TimesBoldItalic_widths.insert('ť', 0.37);
TimesBoldItalic_widths.insert('ţ', 0.28);
TimesBoldItalic_widths.insert('þ', 0.50);
TimesBoldItalic_widths.insert('3', 0.50);
TimesBoldItalic_widths.insert('¾', 0.75);
TimesBoldItalic_widths.insert('³', 0.30);
TimesBoldItalic_widths.insert('˜', 0.33);
TimesBoldItalic_widths.insert('™', 1.00);
TimesBoldItalic_widths.insert('2', 0.50);
TimesBoldItalic_widths.insert('²', 0.30);
TimesBoldItalic_widths.insert('u', 0.56);
TimesBoldItalic_widths.insert('ú', 0.56);
TimesBoldItalic_widths.insert('û', 0.56);
TimesBoldItalic_widths.insert('ü', 0.56);
TimesBoldItalic_widths.insert('ù', 0.56);
TimesBoldItalic_widths.insert('ű', 0.56);
TimesBoldItalic_widths.insert('ū', 0.56);
TimesBoldItalic_widths.insert('_', 0.50);
TimesBoldItalic_widths.insert('ų', 0.56);
TimesBoldItalic_widths.insert('ů', 0.56);
TimesBoldItalic_widths.insert('v', 0.44);
TimesBoldItalic_widths.insert('w', 0.67);
TimesBoldItalic_widths.insert('x', 0.50);
TimesBoldItalic_widths.insert('y', 0.44);
TimesBoldItalic_widths.insert('ý', 0.44);
TimesBoldItalic_widths.insert('ÿ', 0.44);
TimesBoldItalic_widths.insert('¥', 0.50);
TimesBoldItalic_widths.insert('z', 0.39);
TimesBoldItalic_widths.insert('ź', 0.39);
TimesBoldItalic_widths.insert('ž', 0.39);
TimesBoldItalic_widths.insert('ż', 0.39);
TimesBoldItalic_widths.insert('0', 0.50);
let mut Helvetica_widths: HashMap<char, f64> = HashMap::new();
Helvetica_widths.insert('A', 0.67);
Helvetica_widths.insert('Æ', 1.00);
Helvetica_widths.insert('Á', 0.67);
Helvetica_widths.insert('Ă', 0.67);
Helvetica_widths.insert('Â', 0.67);
Helvetica_widths.insert('Ä', 0.67);
Helvetica_widths.insert('À', 0.67);
Helvetica_widths.insert('Ā', 0.67);
Helvetica_widths.insert('Ą', 0.67);
Helvetica_widths.insert('Å', 0.67);
Helvetica_widths.insert('Ã', 0.67);
Helvetica_widths.insert('B', 0.67);
Helvetica_widths.insert('C', 0.72);
Helvetica_widths.insert('Ć', 0.72);
Helvetica_widths.insert('Č', 0.72);
Helvetica_widths.insert('Ç', 0.72);
Helvetica_widths.insert('D', 0.72);
Helvetica_widths.insert('Ď', 0.72);
Helvetica_widths.insert('Đ', 0.72);
Helvetica_widths.insert('∆', 0.61);
Helvetica_widths.insert('E', 0.67);
Helvetica_widths.insert('É', 0.67);
Helvetica_widths.insert('Ě', 0.67);
Helvetica_widths.insert('Ê', 0.67);
Helvetica_widths.insert('Ë', 0.67);
Helvetica_widths.insert('Ė', 0.67);
Helvetica_widths.insert('È', 0.67);
Helvetica_widths.insert('Ē', 0.67);
Helvetica_widths.insert('Ę', 0.67);
Helvetica_widths.insert('Ð', 0.72);
Helvetica_widths.insert('€', 0.56);
Helvetica_widths.insert('F', 0.61);
Helvetica_widths.insert('G', 0.78);
Helvetica_widths.insert('Ğ', 0.78);
Helvetica_widths.insert('Ģ', 0.78);
Helvetica_widths.insert('H', 0.72);
Helvetica_widths.insert('I', 0.28);
Helvetica_widths.insert('Í', 0.28);
Helvetica_widths.insert('Î', 0.28);
Helvetica_widths.insert('Ï', 0.28);
Helvetica_widths.insert('İ', 0.28);
Helvetica_widths.insert('Ì', 0.28);
Helvetica_widths.insert('Ī', 0.28);
Helvetica_widths.insert('Į', 0.28);
Helvetica_widths.insert('J', 0.50);
Helvetica_widths.insert('K', 0.67);
Helvetica_widths.insert('Ķ', 0.67);
Helvetica_widths.insert('L', 0.56);
Helvetica_widths.insert('Ĺ', 0.56);
Helvetica_widths.insert('Ľ', 0.56);
Helvetica_widths.insert('Ļ', 0.56);
Helvetica_widths.insert('Ł', 0.56);
Helvetica_widths.insert('M', 0.83);
Helvetica_widths.insert('N', 0.72);
Helvetica_widths.insert('Ń', 0.72);
Helvetica_widths.insert('Ň', 0.72);
Helvetica_widths.insert('Ņ', 0.72);
Helvetica_widths.insert('Ñ', 0.72);
Helvetica_widths.insert('O', 0.78);
Helvetica_widths.insert('Œ', 1.00);
Helvetica_widths.insert('Ó', 0.78);
Helvetica_widths.insert('Ô', 0.78);
Helvetica_widths.insert('Ö', 0.78);
Helvetica_widths.insert('Ò', 0.78);
Helvetica_widths.insert('Ő', 0.78);
Helvetica_widths.insert('Ō', 0.78);
Helvetica_widths.insert('Ø', 0.78);
Helvetica_widths.insert('Õ', 0.78);
Helvetica_widths.insert('P', 0.67);
Helvetica_widths.insert('Q', 0.78);
Helvetica_widths.insert('R', 0.72);
Helvetica_widths.insert('Ŕ', 0.72);
Helvetica_widths.insert('Ř', 0.72);
Helvetica_widths.insert('Ŗ', 0.72);
Helvetica_widths.insert('S', 0.67);
Helvetica_widths.insert('Ś', 0.67);
Helvetica_widths.insert('Š', 0.67);
Helvetica_widths.insert('Ş', 0.67);
Helvetica_widths.insert('Ș', 0.67);
Helvetica_widths.insert('T', 0.61);
Helvetica_widths.insert('Ť', 0.61);
Helvetica_widths.insert('Ţ', 0.61);
Helvetica_widths.insert('Þ', 0.67);
Helvetica_widths.insert('U', 0.72);
Helvetica_widths.insert('Ú', 0.72);
Helvetica_widths.insert('Û', 0.72);
Helvetica_widths.insert('Ü', 0.72);
Helvetica_widths.insert('Ù', 0.72);
Helvetica_widths.insert('Ű', 0.72);
Helvetica_widths.insert('Ū', 0.72);
Helvetica_widths.insert('Ų', 0.72);
Helvetica_widths.insert('Ů', 0.72);
Helvetica_widths.insert('V', 0.67);
Helvetica_widths.insert('W', 0.94);
Helvetica_widths.insert('X', 0.67);
Helvetica_widths.insert('Y', 0.67);
Helvetica_widths.insert('Ý', 0.67);
Helvetica_widths.insert('Ÿ', 0.67);
Helvetica_widths.insert('Z', 0.61);
Helvetica_widths.insert('Ź', 0.61);
Helvetica_widths.insert('Ž', 0.61);
Helvetica_widths.insert('Ż', 0.61);
Helvetica_widths.insert('a', 0.56);
Helvetica_widths.insert('á', 0.56);
Helvetica_widths.insert('ă', 0.56);
Helvetica_widths.insert('â', 0.56);
Helvetica_widths.insert('´', 0.33);
Helvetica_widths.insert('ä', 0.56);
Helvetica_widths.insert('æ', 0.89);
Helvetica_widths.insert('à', 0.56);
Helvetica_widths.insert('ā', 0.56);
Helvetica_widths.insert('&', 0.67);
Helvetica_widths.insert('ą', 0.56);
Helvetica_widths.insert('å', 0.56);
Helvetica_widths.insert('^', 0.47);
Helvetica_widths.insert('~', 0.58);
Helvetica_widths.insert('*', 0.39);
Helvetica_widths.insert('@', 1.01);
Helvetica_widths.insert('ã', 0.56);
Helvetica_widths.insert('b', 0.56);
Helvetica_widths.insert('\\', 0.28);
Helvetica_widths.insert('|', 0.26);
Helvetica_widths.insert('{', 0.33);
Helvetica_widths.insert('}', 0.33);
Helvetica_widths.insert('[', 0.28);
Helvetica_widths.insert(']', 0.28);
Helvetica_widths.insert('˘', 0.33);
Helvetica_widths.insert('¦', 0.26);
Helvetica_widths.insert('•', 0.35);
Helvetica_widths.insert('c', 0.50);
Helvetica_widths.insert('ć', 0.50);
Helvetica_widths.insert('ˇ', 0.33);
Helvetica_widths.insert('č', 0.50);
Helvetica_widths.insert('ç', 0.50);
Helvetica_widths.insert('¸', 0.33);
Helvetica_widths.insert('¢', 0.56);
Helvetica_widths.insert('ˆ', 0.33);
Helvetica_widths.insert(':', 0.28);
Helvetica_widths.insert(',', 0.28);
Helvetica_widths.insert('', 0.25);
Helvetica_widths.insert('©', 0.74);
Helvetica_widths.insert('¤', 0.56);
Helvetica_widths.insert('d', 0.56);
Helvetica_widths.insert('†', 0.56);
Helvetica_widths.insert('‡', 0.56);
Helvetica_widths.insert('ď', 0.64);
Helvetica_widths.insert('đ', 0.56);
Helvetica_widths.insert('°', 0.40);
Helvetica_widths.insert('¨', 0.33);
Helvetica_widths.insert('÷', 0.58);
Helvetica_widths.insert('$', 0.56);
Helvetica_widths.insert('˙', 0.33);
Helvetica_widths.insert('ı', 0.28);
Helvetica_widths.insert('e', 0.56);
Helvetica_widths.insert('é', 0.56);
Helvetica_widths.insert('ě', 0.56);
Helvetica_widths.insert('ê', 0.56);
Helvetica_widths.insert('ë', 0.56);
Helvetica_widths.insert('ė', 0.56);
Helvetica_widths.insert('è', 0.56);
Helvetica_widths.insert('8', 0.56);
Helvetica_widths.insert('…', 1.00);
Helvetica_widths.insert('ē', 0.56);
Helvetica_widths.insert('—', 1.00);
Helvetica_widths.insert('–', 0.56);
Helvetica_widths.insert('ę', 0.56);
Helvetica_widths.insert('=', 0.58);
Helvetica_widths.insert('ð', 0.56);
Helvetica_widths.insert('!', 0.28);
Helvetica_widths.insert('¡', 0.33);
Helvetica_widths.insert('f', 0.28);
Helvetica_widths.insert('fi', 0.50);
Helvetica_widths.insert('5', 0.56);
Helvetica_widths.insert('fl', 0.50);
Helvetica_widths.insert('ƒ', 0.56);
Helvetica_widths.insert('4', 0.56);
Helvetica_widths.insert('⁄', 0.17);
Helvetica_widths.insert('g', 0.56);
Helvetica_widths.insert('ğ', 0.56);
Helvetica_widths.insert('ģ', 0.56);
Helvetica_widths.insert('ß', 0.61);
Helvetica_widths.insert('`', 0.33);
Helvetica_widths.insert('>', 0.58);
Helvetica_widths.insert('≥', 0.55);
Helvetica_widths.insert('«', 0.56);
Helvetica_widths.insert('»', 0.56);
Helvetica_widths.insert('‹', 0.33);
Helvetica_widths.insert('›', 0.33);
Helvetica_widths.insert('h', 0.56);
Helvetica_widths.insert('˝', 0.33);
Helvetica_widths.insert('-', 0.33);
Helvetica_widths.insert('i', 0.22);
Helvetica_widths.insert('í', 0.28);
Helvetica_widths.insert('î', 0.28);
Helvetica_widths.insert('ï', 0.28);
Helvetica_widths.insert('ì', 0.28);
Helvetica_widths.insert('ī', 0.28);
Helvetica_widths.insert('į', 0.22);
Helvetica_widths.insert('j', 0.22);
Helvetica_widths.insert('k', 0.50);
Helvetica_widths.insert('ķ', 0.50);
Helvetica_widths.insert('l', 0.22);
Helvetica_widths.insert('ĺ', 0.22);
Helvetica_widths.insert('ľ', 0.30);
Helvetica_widths.insert('ļ', 0.22);
Helvetica_widths.insert('<', 0.58);
Helvetica_widths.insert('≤', 0.55);
Helvetica_widths.insert('¬', 0.58);
Helvetica_widths.insert('◊', 0.47);
Helvetica_widths.insert('ł', 0.22);
Helvetica_widths.insert('m', 0.83);
Helvetica_widths.insert('¯', 0.33);
Helvetica_widths.insert('−', 0.58);
Helvetica_widths.insert('µ', 0.56);
Helvetica_widths.insert('×', 0.58);
Helvetica_widths.insert('n', 0.56);
Helvetica_widths.insert('ń', 0.56);
Helvetica_widths.insert('ň', 0.56);
Helvetica_widths.insert('ņ', 0.56);
Helvetica_widths.insert('9', 0.56);
Helvetica_widths.insert('≠', 0.55);
Helvetica_widths.insert('ñ', 0.56);
Helvetica_widths.insert('#', 0.56);
Helvetica_widths.insert('o', 0.56);
Helvetica_widths.insert('ó', 0.56);
Helvetica_widths.insert('ô', 0.56);
Helvetica_widths.insert('ö', 0.56);
Helvetica_widths.insert('œ', 0.94);
Helvetica_widths.insert('˛', 0.33);
Helvetica_widths.insert('ò', 0.56);
Helvetica_widths.insert('ő', 0.56);
Helvetica_widths.insert('ō', 0.56);
Helvetica_widths.insert('1', 0.56);
Helvetica_widths.insert('½', 0.83);
Helvetica_widths.insert('¼', 0.83);
Helvetica_widths.insert('¹', 0.33);
Helvetica_widths.insert('ª', 0.37);
Helvetica_widths.insert('º', 0.36);
Helvetica_widths.insert('ø', 0.61);
Helvetica_widths.insert('õ', 0.56);
Helvetica_widths.insert('p', 0.56);
Helvetica_widths.insert('¶', 0.54);
Helvetica_widths.insert('(', 0.33);
Helvetica_widths.insert(')', 0.33);
Helvetica_widths.insert('∂', 0.48);
Helvetica_widths.insert('%', 0.89);
Helvetica_widths.insert('.', 0.28);
Helvetica_widths.insert('·', 0.28);
Helvetica_widths.insert('‰', 1.00);
Helvetica_widths.insert('+', 0.58);
Helvetica_widths.insert('±', 0.58);
Helvetica_widths.insert('q', 0.56);
Helvetica_widths.insert('?', 0.56);
Helvetica_widths.insert('¿', 0.61);
Helvetica_widths.insert('"', 0.35);
Helvetica_widths.insert('„', 0.33);
Helvetica_widths.insert('“', 0.33);
Helvetica_widths.insert('”', 0.33);
Helvetica_widths.insert('‘', 0.22);
Helvetica_widths.insert('’', 0.22);
Helvetica_widths.insert('‚', 0.22);
Helvetica_widths.insert('\'', 0.19);
Helvetica_widths.insert('r', 0.33);
Helvetica_widths.insert('ŕ', 0.33);
Helvetica_widths.insert('√', 0.45);
Helvetica_widths.insert('ř', 0.33);
Helvetica_widths.insert('ŗ', 0.33);
Helvetica_widths.insert('®', 0.74);
Helvetica_widths.insert('˚', 0.33);
Helvetica_widths.insert('s', 0.50);
Helvetica_widths.insert('ś', 0.50);
Helvetica_widths.insert('š', 0.50);
Helvetica_widths.insert('ş', 0.50);
Helvetica_widths.insert('ș', 0.50);
Helvetica_widths.insert('§', 0.56);
Helvetica_widths.insert(';', 0.28);
Helvetica_widths.insert('7', 0.56);
Helvetica_widths.insert('6', 0.56);
Helvetica_widths.insert('/', 0.28);
Helvetica_widths.insert(' ', 0.28);
Helvetica_widths.insert('£', 0.56);
Helvetica_widths.insert('∑', 0.60);
Helvetica_widths.insert('t', 0.28);
Helvetica_widths.insert('ť', 0.32);
Helvetica_widths.insert('ţ', 0.28);
Helvetica_widths.insert('þ', 0.56);
Helvetica_widths.insert('3', 0.56);
Helvetica_widths.insert('¾', 0.83);
Helvetica_widths.insert('³', 0.33);
Helvetica_widths.insert('˜', 0.33);
Helvetica_widths.insert('™', 1.00);
Helvetica_widths.insert('2', 0.56);
Helvetica_widths.insert('²', 0.33);
Helvetica_widths.insert('u', 0.56);
Helvetica_widths.insert('ú', 0.56);
Helvetica_widths.insert('û', 0.56);
Helvetica_widths.insert('ü', 0.56);
Helvetica_widths.insert('ù', 0.56);
Helvetica_widths.insert('ű', 0.56);
Helvetica_widths.insert('ū', 0.56);
Helvetica_widths.insert('_', 0.56);
Helvetica_widths.insert('ų', 0.56);
Helvetica_widths.insert('ů', 0.56);
Helvetica_widths.insert('v', 0.50);
Helvetica_widths.insert('w', 0.72);
Helvetica_widths.insert('x', 0.50);
Helvetica_widths.insert('y', 0.50);
Helvetica_widths.insert('ý', 0.50);
Helvetica_widths.insert('ÿ', 0.50);
Helvetica_widths.insert('¥', 0.56);
Helvetica_widths.insert('z', 0.50);
Helvetica_widths.insert('ź', 0.50);
Helvetica_widths.insert('ž', 0.50);
Helvetica_widths.insert('ż', 0.50);
Helvetica_widths.insert('0', 0.56);
let mut Symbol_widths: HashMap<char, f64> = HashMap::new();
Symbol_widths.insert('Α', 0.72);
Symbol_widths.insert('Β', 0.67);
Symbol_widths.insert('Χ', 0.72);
Symbol_widths.insert('∆', 0.61);
Symbol_widths.insert('Ε', 0.61);
Symbol_widths.insert('Η', 0.72);
Symbol_widths.insert('€', 0.75);
Symbol_widths.insert('Γ', 0.60);
Symbol_widths.insert('ℑ', 0.69);
Symbol_widths.insert('Ι', 0.33);
Symbol_widths.insert('Κ', 0.72);
Symbol_widths.insert('Λ', 0.69);
Symbol_widths.insert('Μ', 0.89);
Symbol_widths.insert('Ν', 0.72);
Symbol_widths.insert('Ω', 0.77);
Symbol_widths.insert('Ο', 0.72);
Symbol_widths.insert('Φ', 0.76);
Symbol_widths.insert('Π', 0.77);
Symbol_widths.insert('Ψ', 0.80);
Symbol_widths.insert('ℜ', 0.80);
Symbol_widths.insert('Ρ', 0.56);
Symbol_widths.insert('Σ', 0.59);
Symbol_widths.insert('Τ', 0.61);
Symbol_widths.insert('Θ', 0.74);
Symbol_widths.insert('Υ', 0.69);
Symbol_widths.insert('ϒ', 0.62);
Symbol_widths.insert('Ξ', 0.65);
Symbol_widths.insert('Ζ', 0.61);
Symbol_widths.insert('ℵ', 0.82);
Symbol_widths.insert('α', 0.63);
Symbol_widths.insert('&', 0.78);
Symbol_widths.insert('∠', 0.77);
Symbol_widths.insert('〈', 0.33);
Symbol_widths.insert('〉', 0.33);
Symbol_widths.insert('', 0.79);
Symbol_widths.insert('≈', 0.55);
Symbol_widths.insert('↔', 1.04);
Symbol_widths.insert('⇔', 1.04);
Symbol_widths.insert('⇓', 0.60);
Symbol_widths.insert('⇐', 0.99);
Symbol_widths.insert('⇒', 0.99);
Symbol_widths.insert('⇑', 0.60);
Symbol_widths.insert('↓', 0.60);
Symbol_widths.insert('', 1.00);
Symbol_widths.insert('←', 0.99);
Symbol_widths.insert('→', 0.99);
Symbol_widths.insert('↑', 0.60);
Symbol_widths.insert('', 0.60);
Symbol_widths.insert('∗', 0.50);
Symbol_widths.insert('|', 0.20);
Symbol_widths.insert('β', 0.55);
Symbol_widths.insert('', 0.49);
Symbol_widths.insert('{', 0.48);
Symbol_widths.insert('', 0.49);
Symbol_widths.insert('', 0.49);
Symbol_widths.insert('', 0.49);
Symbol_widths.insert('}', 0.48);
Symbol_widths.insert('', 0.49);
Symbol_widths.insert('', 0.49);
Symbol_widths.insert('', 0.49);
Symbol_widths.insert('[', 0.33);
Symbol_widths.insert('', 0.38);
Symbol_widths.insert('', 0.38);
Symbol_widths.insert('', 0.38);
Symbol_widths.insert(']', 0.33);
Symbol_widths.insert('', 0.38);
Symbol_widths.insert('', 0.38);
Symbol_widths.insert('', 0.38);
Symbol_widths.insert('•', 0.46);
Symbol_widths.insert('↵', 0.66);
Symbol_widths.insert('χ', 0.55);
Symbol_widths.insert('⊗', 0.77);
Symbol_widths.insert('⊕', 0.77);
Symbol_widths.insert('♣', 0.75);
Symbol_widths.insert(':', 0.28);
Symbol_widths.insert(',', 0.25);
Symbol_widths.insert('≅', 0.55);
Symbol_widths.insert('', 0.79);
Symbol_widths.insert('', 0.79);
Symbol_widths.insert('°', 0.40);
Symbol_widths.insert('δ', 0.49);
Symbol_widths.insert('♦', 0.75);
Symbol_widths.insert('÷', 0.55);
Symbol_widths.insert('⋅', 0.25);
Symbol_widths.insert('8', 0.50);
Symbol_widths.insert('∈', 0.71);
Symbol_widths.insert('…', 1.00);
Symbol_widths.insert('∅', 0.82);
Symbol_widths.insert('ε', 0.44);
Symbol_widths.insert('=', 0.55);
Symbol_widths.insert('≡', 0.55);
Symbol_widths.insert('η', 0.60);
Symbol_widths.insert('!', 0.33);
Symbol_widths.insert('∃', 0.55);
Symbol_widths.insert('5', 0.50);
Symbol_widths.insert('ƒ', 0.50);
Symbol_widths.insert('4', 0.50);
Symbol_widths.insert('⁄', 0.17);
Symbol_widths.insert('γ', 0.41);
Symbol_widths.insert('∇', 0.71);
Symbol_widths.insert('>', 0.55);
Symbol_widths.insert('≥', 0.55);
Symbol_widths.insert('♥', 0.75);
Symbol_widths.insert('∞', 0.71);
Symbol_widths.insert('∫', 0.27);
Symbol_widths.insert('⌡', 0.69);
Symbol_widths.insert('', 0.69);
Symbol_widths.insert('⌠', 0.69);
Symbol_widths.insert('∩', 0.77);
Symbol_widths.insert('ι', 0.33);
Symbol_widths.insert('κ', 0.55);
Symbol_widths.insert('λ', 0.55);
Symbol_widths.insert('<', 0.55);
Symbol_widths.insert('≤', 0.55);
Symbol_widths.insert('∧', 0.60);
Symbol_widths.insert('¬', 0.71);
Symbol_widths.insert('∨', 0.60);
Symbol_widths.insert('◊', 0.49);
Symbol_widths.insert('−', 0.55);
Symbol_widths.insert('′', 0.25);
Symbol_widths.insert('µ', 0.58);
Symbol_widths.insert('×', 0.55);
Symbol_widths.insert('9', 0.50);
Symbol_widths.insert('∉', 0.71);
Symbol_widths.insert('≠', 0.55);
Symbol_widths.insert('⊄', 0.71);
Symbol_widths.insert('ν', 0.52);
Symbol_widths.insert('#', 0.50);
Symbol_widths.insert('ω', 0.69);
Symbol_widths.insert('ϖ', 0.71);
Symbol_widths.insert('ο', 0.55);
Symbol_widths.insert('1', 0.50);
Symbol_widths.insert('(', 0.33);
Symbol_widths.insert('', 0.38);
Symbol_widths.insert('', 0.38);
Symbol_widths.insert('', 0.38);
Symbol_widths.insert(')', 0.33);
Symbol_widths.insert('', 0.38);
Symbol_widths.insert('', 0.38);
Symbol_widths.insert('', 0.38);
Symbol_widths.insert('∂', 0.49);
Symbol_widths.insert('%', 0.83);
Symbol_widths.insert('.', 0.25);
Symbol_widths.insert('⊥', 0.66);
Symbol_widths.insert('φ', 0.52);
Symbol_widths.insert('ϕ', 0.60);
Symbol_widths.insert('π', 0.55);
Symbol_widths.insert('+', 0.55);
Symbol_widths.insert('±', 0.55);
Symbol_widths.insert('∏', 0.82);
Symbol_widths.insert('⊂', 0.71);
Symbol_widths.insert('⊃', 0.71);
Symbol_widths.insert('∝', 0.71);
Symbol_widths.insert('ψ', 0.69);
Symbol_widths.insert('?', 0.44);
Symbol_widths.insert('√', 0.55);
Symbol_widths.insert('', 0.50);
Symbol_widths.insert('⊆', 0.71);
Symbol_widths.insert('⊇', 0.71);
Symbol_widths.insert('', 0.79);
Symbol_widths.insert('', 0.79);
Symbol_widths.insert('ρ', 0.55);
Symbol_widths.insert('″', 0.41);
Symbol_widths.insert(';', 0.28);
Symbol_widths.insert('7', 0.50);
Symbol_widths.insert('σ', 0.60);
Symbol_widths.insert('ς', 0.44);
Symbol_widths.insert('∼', 0.55);
Symbol_widths.insert('6', 0.50);
Symbol_widths.insert('/', 0.28);
Symbol_widths.insert(' ', 0.25);
Symbol_widths.insert('♠', 0.75);
Symbol_widths.insert('∋', 0.44);
Symbol_widths.insert('∑', 0.71);
Symbol_widths.insert('τ', 0.44);
Symbol_widths.insert('∴', 0.86);
Symbol_widths.insert('θ', 0.52);
Symbol_widths.insert('ϑ', 0.63);
Symbol_widths.insert('3', 0.50);
Symbol_widths.insert('', 0.79);
Symbol_widths.insert('', 0.89);
Symbol_widths.insert('2', 0.50);
Symbol_widths.insert('_', 0.50);
Symbol_widths.insert('∪', 0.77);
Symbol_widths.insert('∀', 0.71);
Symbol_widths.insert('υ', 0.58);
Symbol_widths.insert('℘', 0.99);
Symbol_widths.insert('ξ', 0.49);
Symbol_widths.insert('0', 0.50);
Symbol_widths.insert('ζ', 0.49);
let mut TimesItalic_widths: HashMap<char, f64> = HashMap::new();
TimesItalic_widths.insert('A', 0.61);
TimesItalic_widths.insert('Æ', 0.89);
TimesItalic_widths.insert('Á', 0.61);
TimesItalic_widths.insert('Ă', 0.61);
TimesItalic_widths.insert('Â', 0.61);
TimesItalic_widths.insert('Ä', 0.61);
TimesItalic_widths.insert('À', 0.61);
TimesItalic_widths.insert('Ā', 0.61);
TimesItalic_widths.insert('Ą', 0.61);
TimesItalic_widths.insert('Å', 0.61);
TimesItalic_widths.insert('Ã', 0.61);
TimesItalic_widths.insert('B', 0.61);
TimesItalic_widths.insert('C', 0.67);
TimesItalic_widths.insert('Ć', 0.67);
TimesItalic_widths.insert('Č', 0.67);
TimesItalic_widths.insert('Ç', 0.67);
TimesItalic_widths.insert('D', 0.72);
TimesItalic_widths.insert('Ď', 0.72);
TimesItalic_widths.insert('Đ', 0.72);
TimesItalic_widths.insert('∆', 0.61);
TimesItalic_widths.insert('E', 0.61);
TimesItalic_widths.insert('É', 0.61);
TimesItalic_widths.insert('Ě', 0.61);
TimesItalic_widths.insert('Ê', 0.61);
TimesItalic_widths.insert('Ë', 0.61);
TimesItalic_widths.insert('Ė', 0.61);
TimesItalic_widths.insert('È', 0.61);
TimesItalic_widths.insert('Ē', 0.61);
TimesItalic_widths.insert('Ę', 0.61);
TimesItalic_widths.insert('Ð', 0.72);
TimesItalic_widths.insert('€', 0.50);
TimesItalic_widths.insert('F', 0.61);
TimesItalic_widths.insert('G', 0.72);
TimesItalic_widths.insert('Ğ', 0.72);
TimesItalic_widths.insert('Ģ', 0.72);
TimesItalic_widths.insert('H', 0.72);
TimesItalic_widths.insert('I', 0.33);
TimesItalic_widths.insert('Í', 0.33);
TimesItalic_widths.insert('Î', 0.33);
TimesItalic_widths.insert('Ï', 0.33);
TimesItalic_widths.insert('İ', 0.33);
TimesItalic_widths.insert('Ì', 0.33);
TimesItalic_widths.insert('Ī', 0.33);
TimesItalic_widths.insert('Į', 0.33);
TimesItalic_widths.insert('J', 0.44);
TimesItalic_widths.insert('K', 0.67);
TimesItalic_widths.insert('Ķ', 0.67);
TimesItalic_widths.insert('L', 0.56);
TimesItalic_widths.insert('Ĺ', 0.56);
TimesItalic_widths.insert('Ľ', 0.61);
TimesItalic_widths.insert('Ļ', 0.56);
TimesItalic_widths.insert('Ł', 0.56);
TimesItalic_widths.insert('M', 0.83);
TimesItalic_widths.insert('N', 0.67);
TimesItalic_widths.insert('Ń', 0.67);
TimesItalic_widths.insert('Ň', 0.67);
TimesItalic_widths.insert('Ņ', 0.67);
TimesItalic_widths.insert('Ñ', 0.67);
TimesItalic_widths.insert('O', 0.72);
TimesItalic_widths.insert('Œ', 0.94);
TimesItalic_widths.insert('Ó', 0.72);
TimesItalic_widths.insert('Ô', 0.72);
TimesItalic_widths.insert('Ö', 0.72);
TimesItalic_widths.insert('Ò', 0.72);
TimesItalic_widths.insert('Ő', 0.72);
TimesItalic_widths.insert('Ō', 0.72);
TimesItalic_widths.insert('Ø', 0.72);
TimesItalic_widths.insert('Õ', 0.72);
TimesItalic_widths.insert('P', 0.61);
TimesItalic_widths.insert('Q', 0.72);
TimesItalic_widths.insert('R', 0.61);
TimesItalic_widths.insert('Ŕ', 0.61);
TimesItalic_widths.insert('Ř', 0.61);
TimesItalic_widths.insert('Ŗ', 0.61);
TimesItalic_widths.insert('S', 0.50);
TimesItalic_widths.insert('Ś', 0.50);
TimesItalic_widths.insert('Š', 0.50);
TimesItalic_widths.insert('Ş', 0.50);
TimesItalic_widths.insert('Ș', 0.50);
TimesItalic_widths.insert('T', 0.56);
TimesItalic_widths.insert('Ť', 0.56);
TimesItalic_widths.insert('Ţ', 0.56);
TimesItalic_widths.insert('Þ', 0.61);
TimesItalic_widths.insert('U', 0.72);
TimesItalic_widths.insert('Ú', 0.72);
TimesItalic_widths.insert('Û', 0.72);
TimesItalic_widths.insert('Ü', 0.72);
TimesItalic_widths.insert('Ù', 0.72);
TimesItalic_widths.insert('Ű', 0.72);
TimesItalic_widths.insert('Ū', 0.72);
TimesItalic_widths.insert('Ų', 0.72);
TimesItalic_widths.insert('Ů', 0.72);
TimesItalic_widths.insert('V', 0.61);
TimesItalic_widths.insert('W', 0.83);
TimesItalic_widths.insert('X', 0.61);
TimesItalic_widths.insert('Y', 0.56);
TimesItalic_widths.insert('Ý', 0.56);
TimesItalic_widths.insert('Ÿ', 0.56);
TimesItalic_widths.insert('Z', 0.56);
TimesItalic_widths.insert('Ź', 0.56);
TimesItalic_widths.insert('Ž', 0.56);
TimesItalic_widths.insert('Ż', 0.56);
TimesItalic_widths.insert('a', 0.50);
TimesItalic_widths.insert('á', 0.50);
TimesItalic_widths.insert('ă', 0.50);
TimesItalic_widths.insert('â', 0.50);
TimesItalic_widths.insert('´', 0.33);
TimesItalic_widths.insert('ä', 0.50);
TimesItalic_widths.insert('æ', 0.67);
TimesItalic_widths.insert('à', 0.50);
TimesItalic_widths.insert('ā', 0.50);
TimesItalic_widths.insert('&', 0.78);
TimesItalic_widths.insert('ą', 0.50);
TimesItalic_widths.insert('å', 0.50);
TimesItalic_widths.insert('^', 0.42);
TimesItalic_widths.insert('~', 0.54);
TimesItalic_widths.insert('*', 0.50);
TimesItalic_widths.insert('@', 0.92);
TimesItalic_widths.insert('ã', 0.50);
TimesItalic_widths.insert('b', 0.50);
TimesItalic_widths.insert('\\', 0.28);
TimesItalic_widths.insert('|', 0.28);
TimesItalic_widths.insert('{', 0.40);
TimesItalic_widths.insert('}', 0.40);
TimesItalic_widths.insert('[', 0.39);
TimesItalic_widths.insert(']', 0.39);
TimesItalic_widths.insert('˘', 0.33);
TimesItalic_widths.insert('¦', 0.28);
TimesItalic_widths.insert('•', 0.35);
TimesItalic_widths.insert('c', 0.44);
TimesItalic_widths.insert('ć', 0.44);
TimesItalic_widths.insert('ˇ', 0.33);
TimesItalic_widths.insert('č', 0.44);
TimesItalic_widths.insert('ç', 0.44);
TimesItalic_widths.insert('¸', 0.33);
TimesItalic_widths.insert('¢', 0.50);
TimesItalic_widths.insert('ˆ', 0.33);
TimesItalic_widths.insert(':', 0.33);
TimesItalic_widths.insert(',', 0.25);
TimesItalic_widths.insert('', 0.25);
TimesItalic_widths.insert('©', 0.76);
TimesItalic_widths.insert('¤', 0.50);
TimesItalic_widths.insert('d', 0.50);
TimesItalic_widths.insert('†', 0.50);
TimesItalic_widths.insert('‡', 0.50);
TimesItalic_widths.insert('ď', 0.54);
TimesItalic_widths.insert('đ', 0.50);
TimesItalic_widths.insert('°', 0.40);
TimesItalic_widths.insert('¨', 0.33);
TimesItalic_widths.insert('÷', 0.68);
TimesItalic_widths.insert('$', 0.50);
TimesItalic_widths.insert('˙', 0.33);
TimesItalic_widths.insert('ı', 0.28);
TimesItalic_widths.insert('e', 0.44);
TimesItalic_widths.insert('é', 0.44);
TimesItalic_widths.insert('ě', 0.44);
TimesItalic_widths.insert('ê', 0.44);
TimesItalic_widths.insert('ë', 0.44);
TimesItalic_widths.insert('ė', 0.44);
TimesItalic_widths.insert('è', 0.44);
TimesItalic_widths.insert('8', 0.50);
TimesItalic_widths.insert('…', 0.89);
TimesItalic_widths.insert('ē', 0.44);
TimesItalic_widths.insert('—', 0.89);
TimesItalic_widths.insert('–', 0.50);
TimesItalic_widths.insert('ę', 0.44);
TimesItalic_widths.insert('=', 0.68);
TimesItalic_widths.insert('ð', 0.50);
TimesItalic_widths.insert('!', 0.33);
TimesItalic_widths.insert('¡', 0.39);
TimesItalic_widths.insert('f', 0.28);
TimesItalic_widths.insert('fi', 0.50);
TimesItalic_widths.insert('5', 0.50);
TimesItalic_widths.insert('fl', 0.50);
TimesItalic_widths.insert('ƒ', 0.50);
TimesItalic_widths.insert('4', 0.50);
TimesItalic_widths.insert('⁄', 0.17);
TimesItalic_widths.insert('g', 0.50);
TimesItalic_widths.insert('ğ', 0.50);
TimesItalic_widths.insert('ģ', 0.50);
TimesItalic_widths.insert('ß', 0.50);
TimesItalic_widths.insert('`', 0.33);
TimesItalic_widths.insert('>', 0.68);
TimesItalic_widths.insert('≥', 0.55);
TimesItalic_widths.insert('«', 0.50);
TimesItalic_widths.insert('»', 0.50);
TimesItalic_widths.insert('‹', 0.33);
TimesItalic_widths.insert('›', 0.33);
TimesItalic_widths.insert('h', 0.50);
TimesItalic_widths.insert('˝', 0.33);
TimesItalic_widths.insert('-', 0.33);
TimesItalic_widths.insert('i', 0.28);
TimesItalic_widths.insert('í', 0.28);
TimesItalic_widths.insert('î', 0.28);
TimesItalic_widths.insert('ï', 0.28);
TimesItalic_widths.insert('ì', 0.28);
TimesItalic_widths.insert('ī', 0.28);
TimesItalic_widths.insert('į', 0.28);
TimesItalic_widths.insert('j', 0.28);
TimesItalic_widths.insert('k', 0.44);
TimesItalic_widths.insert('ķ', 0.44);
TimesItalic_widths.insert('l', 0.28);
TimesItalic_widths.insert('ĺ', 0.28);
TimesItalic_widths.insert('ľ', 0.30);
TimesItalic_widths.insert('ļ', 0.28);
TimesItalic_widths.insert('<', 0.68);
TimesItalic_widths.insert('≤', 0.55);
TimesItalic_widths.insert('¬', 0.68);
TimesItalic_widths.insert('◊', 0.47);
TimesItalic_widths.insert('ł', 0.28);
TimesItalic_widths.insert('m', 0.72);
TimesItalic_widths.insert('¯', 0.33);
TimesItalic_widths.insert('−', 0.68);
TimesItalic_widths.insert('µ', 0.50);
TimesItalic_widths.insert('×', 0.68);
TimesItalic_widths.insert('n', 0.50);
TimesItalic_widths.insert('ń', 0.50);
TimesItalic_widths.insert('ň', 0.50);
TimesItalic_widths.insert('ņ', 0.50);
TimesItalic_widths.insert('9', 0.50);
TimesItalic_widths.insert('≠', 0.55);
TimesItalic_widths.insert('ñ', 0.50);
TimesItalic_widths.insert('#', 0.50);
TimesItalic_widths.insert('o', 0.50);
TimesItalic_widths.insert('ó', 0.50);
TimesItalic_widths.insert('ô', 0.50);
TimesItalic_widths.insert('ö', 0.50);
TimesItalic_widths.insert('œ', 0.67);
TimesItalic_widths.insert('˛', 0.33);
TimesItalic_widths.insert('ò', 0.50);
TimesItalic_widths.insert('ő', 0.50);
TimesItalic_widths.insert('ō', 0.50);
TimesItalic_widths.insert('1', 0.50);
TimesItalic_widths.insert('½', 0.75);
TimesItalic_widths.insert('¼', 0.75);
TimesItalic_widths.insert('¹', 0.30);
TimesItalic_widths.insert('ª', 0.28);
TimesItalic_widths.insert('º', 0.31);
TimesItalic_widths.insert('ø', 0.50);
TimesItalic_widths.insert('õ', 0.50);
TimesItalic_widths.insert('p', 0.50);
TimesItalic_widths.insert('¶', 0.52);
TimesItalic_widths.insert('(', 0.33);
TimesItalic_widths.insert(')', 0.33);
TimesItalic_widths.insert('∂', 0.48);
TimesItalic_widths.insert('%', 0.83);
TimesItalic_widths.insert('.', 0.25);
TimesItalic_widths.insert('·', 0.25);
TimesItalic_widths.insert('‰', 1.00);
TimesItalic_widths.insert('+', 0.68);
TimesItalic_widths.insert('±', 0.68);
TimesItalic_widths.insert('q', 0.50);
TimesItalic_widths.insert('?', 0.50);
TimesItalic_widths.insert('¿', 0.50);
TimesItalic_widths.insert('"', 0.42);
TimesItalic_widths.insert('„', 0.56);
TimesItalic_widths.insert('“', 0.56);
TimesItalic_widths.insert('”', 0.56);
TimesItalic_widths.insert('‘', 0.33);
TimesItalic_widths.insert('’', 0.33);
TimesItalic_widths.insert('‚', 0.33);
TimesItalic_widths.insert('\'', 0.21);
TimesItalic_widths.insert('r', 0.39);
TimesItalic_widths.insert('ŕ', 0.39);
TimesItalic_widths.insert('√', 0.45);
TimesItalic_widths.insert('ř', 0.39);
TimesItalic_widths.insert('ŗ', 0.39);
TimesItalic_widths.insert('®', 0.76);
TimesItalic_widths.insert('˚', 0.33);
TimesItalic_widths.insert('s', 0.39);
TimesItalic_widths.insert('ś', 0.39);
TimesItalic_widths.insert('š', 0.39);
TimesItalic_widths.insert('ş', 0.39);
TimesItalic_widths.insert('ș', 0.39);
TimesItalic_widths.insert('§', 0.50);
TimesItalic_widths.insert(';', 0.33);
TimesItalic_widths.insert('7', 0.50);
TimesItalic_widths.insert('6', 0.50);
TimesItalic_widths.insert('/', 0.28);
TimesItalic_widths.insert(' ', 0.25);
TimesItalic_widths.insert('£', 0.50);
TimesItalic_widths.insert('∑', 0.60);
TimesItalic_widths.insert('t', 0.28);
TimesItalic_widths.insert('ť', 0.30);
TimesItalic_widths.insert('ţ', 0.28);
TimesItalic_widths.insert('þ', 0.50);
TimesItalic_widths.insert('3', 0.50);
TimesItalic_widths.insert('¾', 0.75);
TimesItalic_widths.insert('³', 0.30);
TimesItalic_widths.insert('˜', 0.33);
TimesItalic_widths.insert('™', 0.98);
TimesItalic_widths.insert('2', 0.50);
TimesItalic_widths.insert('²', 0.30);
TimesItalic_widths.insert('u', 0.50);
TimesItalic_widths.insert('ú', 0.50);
TimesItalic_widths.insert('û', 0.50);
TimesItalic_widths.insert('ü', 0.50);
TimesItalic_widths.insert('ù', 0.50);
TimesItalic_widths.insert('ű', 0.50);
TimesItalic_widths.insert('ū', 0.50);
TimesItalic_widths.insert('_', 0.50);
TimesItalic_widths.insert('ų', 0.50);
TimesItalic_widths.insert('ů', 0.50);
TimesItalic_widths.insert('v', 0.44);
TimesItalic_widths.insert('w', 0.67);
TimesItalic_widths.insert('x', 0.44);
TimesItalic_widths.insert('y', 0.44);
TimesItalic_widths.insert('ý', 0.44);
TimesItalic_widths.insert('ÿ', 0.44);
TimesItalic_widths.insert('¥', 0.50);
TimesItalic_widths.insert('z', 0.39);
TimesItalic_widths.insert('ź', 0.39);
TimesItalic_widths.insert('ž', 0.39);
TimesItalic_widths.insert('ż', 0.39);
TimesItalic_widths.insert('0', 0.50);
let mut TimesBold_widths: HashMap<char, f64> = HashMap::new();
TimesBold_widths.insert('A', 0.72);
TimesBold_widths.insert('Æ', 1.00);
TimesBold_widths.insert('Á', 0.72);
TimesBold_widths.insert('Ă', 0.72);
TimesBold_widths.insert('Â', 0.72);
TimesBold_widths.insert('Ä', 0.72);
TimesBold_widths.insert('À', 0.72);
TimesBold_widths.insert('Ā', 0.72);
TimesBold_widths.insert('Ą', 0.72);
TimesBold_widths.insert('Å', 0.72);
TimesBold_widths.insert('Ã', 0.72);
TimesBold_widths.insert('B', 0.67);
TimesBold_widths.insert('C', 0.72);
TimesBold_widths.insert('Ć', 0.72);
TimesBold_widths.insert('Č', 0.72);
TimesBold_widths.insert('Ç', 0.72);
TimesBold_widths.insert('D', 0.72);
TimesBold_widths.insert('Ď', 0.72);
TimesBold_widths.insert('Đ', 0.72);
TimesBold_widths.insert('∆', 0.61);
TimesBold_widths.insert('E', 0.67);
TimesBold_widths.insert('É', 0.67);
TimesBold_widths.insert('Ě', 0.67);
TimesBold_widths.insert('Ê', 0.67);
TimesBold_widths.insert('Ë', 0.67);
TimesBold_widths.insert('Ė', 0.67);
TimesBold_widths.insert('È', 0.67);
TimesBold_widths.insert('Ē', 0.67);
TimesBold_widths.insert('Ę', 0.67);
TimesBold_widths.insert('Ð', 0.72);
TimesBold_widths.insert('€', 0.50);
TimesBold_widths.insert('F', 0.61);
TimesBold_widths.insert('G', 0.78);
TimesBold_widths.insert('Ğ', 0.78);
TimesBold_widths.insert('Ģ', 0.78);
TimesBold_widths.insert('H', 0.78);
TimesBold_widths.insert('I', 0.39);
TimesBold_widths.insert('Í', 0.39);
TimesBold_widths.insert('Î', 0.39);
TimesBold_widths.insert('Ï', 0.39);
TimesBold_widths.insert('İ', 0.39);
TimesBold_widths.insert('Ì', 0.39);
TimesBold_widths.insert('Ī', 0.39);
TimesBold_widths.insert('Į', 0.39);
TimesBold_widths.insert('J', 0.50);
TimesBold_widths.insert('K', 0.78);
TimesBold_widths.insert('Ķ', 0.78);
TimesBold_widths.insert('L', 0.67);
TimesBold_widths.insert('Ĺ', 0.67);
TimesBold_widths.insert('Ľ', 0.67);
TimesBold_widths.insert('Ļ', 0.67);
TimesBold_widths.insert('Ł', 0.67);
TimesBold_widths.insert('M', 0.94);
TimesBold_widths.insert('N', 0.72);
TimesBold_widths.insert('Ń', 0.72);
TimesBold_widths.insert('Ň', 0.72);
TimesBold_widths.insert('Ņ', 0.72);
TimesBold_widths.insert('Ñ', 0.72);
TimesBold_widths.insert('O', 0.78);
TimesBold_widths.insert('Œ', 1.00);
TimesBold_widths.insert('Ó', 0.78);
TimesBold_widths.insert('Ô', 0.78);
TimesBold_widths.insert('Ö', 0.78);
TimesBold_widths.insert('Ò', 0.78);
TimesBold_widths.insert('Ő', 0.78);
TimesBold_widths.insert('Ō', 0.78);
TimesBold_widths.insert('Ø', 0.78);
TimesBold_widths.insert('Õ', 0.78);
TimesBold_widths.insert('P', 0.61);
TimesBold_widths.insert('Q', 0.78);
TimesBold_widths.insert('R', 0.72);
TimesBold_widths.insert('Ŕ', 0.72);
TimesBold_widths.insert('Ř', 0.72);
TimesBold_widths.insert('Ŗ', 0.72);
TimesBold_widths.insert('S', 0.56);
TimesBold_widths.insert('Ś', 0.56);
TimesBold_widths.insert('Š', 0.56);
TimesBold_widths.insert('Ş', 0.56);
TimesBold_widths.insert('Ș', 0.56);
TimesBold_widths.insert('T', 0.67);
TimesBold_widths.insert('Ť', 0.67);
TimesBold_widths.insert('Ţ', 0.67);
TimesBold_widths.insert('Þ', 0.61);
TimesBold_widths.insert('U', 0.72);
TimesBold_widths.insert('Ú', 0.72);
TimesBold_widths.insert('Û', 0.72);
TimesBold_widths.insert('Ü', 0.72);
TimesBold_widths.insert('Ù', 0.72);
TimesBold_widths.insert('Ű', 0.72);
TimesBold_widths.insert('Ū', 0.72);
TimesBold_widths.insert('Ų', 0.72);
TimesBold_widths.insert('Ů', 0.72);
TimesBold_widths.insert('V', 0.72);
TimesBold_widths.insert('W', 1.00);
TimesBold_widths.insert('X', 0.72);
TimesBold_widths.insert('Y', 0.72);
TimesBold_widths.insert('Ý', 0.72);
TimesBold_widths.insert('Ÿ', 0.72);
TimesBold_widths.insert('Z', 0.67);
TimesBold_widths.insert('Ź', 0.67);
TimesBold_widths.insert('Ž', 0.67);
TimesBold_widths.insert('Ż', 0.67);
TimesBold_widths.insert('a', 0.50);
TimesBold_widths.insert('á', 0.50);
TimesBold_widths.insert('ă', 0.50);
TimesBold_widths.insert('â', 0.50);
TimesBold_widths.insert('´', 0.33);
TimesBold_widths.insert('ä', 0.50);
TimesBold_widths.insert('æ', 0.72);
TimesBold_widths.insert('à', 0.50);
TimesBold_widths.insert('ā', 0.50);
TimesBold_widths.insert('&', 0.83);
TimesBold_widths.insert('ą', 0.50);
TimesBold_widths.insert('å', 0.50);
TimesBold_widths.insert('^', 0.58);
TimesBold_widths.insert('~', 0.52);
TimesBold_widths.insert('*', 0.50);
TimesBold_widths.insert('@', 0.93);
TimesBold_widths.insert('ã', 0.50);
TimesBold_widths.insert('b', 0.56);
TimesBold_widths.insert('\\', 0.28);
TimesBold_widths.insert('|', 0.22);
TimesBold_widths.insert('{', 0.39);
TimesBold_widths.insert('}', 0.39);
TimesBold_widths.insert('[', 0.33);
TimesBold_widths.insert(']', 0.33);
TimesBold_widths.insert('˘', 0.33);
TimesBold_widths.insert('¦', 0.22);
TimesBold_widths.insert('•', 0.35);
TimesBold_widths.insert('c', 0.44);
TimesBold_widths.insert('ć', 0.44);
TimesBold_widths.insert('ˇ', 0.33);
TimesBold_widths.insert('č', 0.44);
TimesBold_widths.insert('ç', 0.44);
TimesBold_widths.insert('¸', 0.33);
TimesBold_widths.insert('¢', 0.50);
TimesBold_widths.insert('ˆ', 0.33);
TimesBold_widths.insert(':', 0.33);
TimesBold_widths.insert(',', 0.25);
TimesBold_widths.insert('', 0.25);
TimesBold_widths.insert('©', 0.75);
TimesBold_widths.insert('¤', 0.50);
TimesBold_widths.insert('d', 0.56);
TimesBold_widths.insert('†', 0.50);
TimesBold_widths.insert('‡', 0.50);
TimesBold_widths.insert('ď', 0.67);
TimesBold_widths.insert('đ', 0.56);
TimesBold_widths.insert('°', 0.40);
TimesBold_widths.insert('¨', 0.33);
TimesBold_widths.insert('÷', 0.57);
TimesBold_widths.insert('$', 0.50);
TimesBold_widths.insert('˙', 0.33);
TimesBold_widths.insert('ı', 0.28);
TimesBold_widths.insert('e', 0.44);
TimesBold_widths.insert('é', 0.44);
TimesBold_widths.insert('ě', 0.44);
TimesBold_widths.insert('ê', 0.44);
TimesBold_widths.insert('ë', 0.44);
TimesBold_widths.insert('ė', 0.44);
TimesBold_widths.insert('è', 0.44);
TimesBold_widths.insert('8', 0.50);
TimesBold_widths.insert('…', 1.00);
TimesBold_widths.insert('ē', 0.44);
TimesBold_widths.insert('—', 1.00);
TimesBold_widths.insert('–', 0.50);
TimesBold_widths.insert('ę', 0.44);
TimesBold_widths.insert('=', 0.57);
TimesBold_widths.insert('ð', 0.50);
TimesBold_widths.insert('!', 0.33);
TimesBold_widths.insert('¡', 0.33);
TimesBold_widths.insert('f', 0.33);
TimesBold_widths.insert('fi', 0.56);
TimesBold_widths.insert('5', 0.50);
TimesBold_widths.insert('fl', 0.56);
TimesBold_widths.insert('ƒ', 0.50);
TimesBold_widths.insert('4', 0.50);
TimesBold_widths.insert('⁄', 0.17);
TimesBold_widths.insert('g', 0.50);
TimesBold_widths.insert('ğ', 0.50);
TimesBold_widths.insert('ģ', 0.50);
TimesBold_widths.insert('ß', 0.56);
TimesBold_widths.insert('`', 0.33);
TimesBold_widths.insert('>', 0.57);
TimesBold_widths.insert('≥', 0.55);
TimesBold_widths.insert('«', 0.50);
TimesBold_widths.insert('»', 0.50);
TimesBold_widths.insert('‹', 0.33);
TimesBold_widths.insert('›', 0.33);
TimesBold_widths.insert('h', 0.56);
TimesBold_widths.insert('˝', 0.33);
TimesBold_widths.insert('-', 0.33);
TimesBold_widths.insert('i', 0.28);
TimesBold_widths.insert('í', 0.28);
TimesBold_widths.insert('î', 0.28);
TimesBold_widths.insert('ï', 0.28);
TimesBold_widths.insert('ì', 0.28);
TimesBold_widths.insert('ī', 0.28);
TimesBold_widths.insert('į', 0.28);
TimesBold_widths.insert('j', 0.33);
TimesBold_widths.insert('k', 0.56);
TimesBold_widths.insert('ķ', 0.56);
TimesBold_widths.insert('l', 0.28);
TimesBold_widths.insert('ĺ', 0.28);
TimesBold_widths.insert('ľ', 0.39);
TimesBold_widths.insert('ļ', 0.28);
TimesBold_widths.insert('<', 0.57);
TimesBold_widths.insert('≤', 0.55);
TimesBold_widths.insert('¬', 0.57);
TimesBold_widths.insert('◊', 0.49);
TimesBold_widths.insert('ł', 0.28);
TimesBold_widths.insert('m', 0.83);
TimesBold_widths.insert('¯', 0.33);
TimesBold_widths.insert('−', 0.57);
TimesBold_widths.insert('µ', 0.56);
TimesBold_widths.insert('×', 0.57);
TimesBold_widths.insert('n', 0.56);
TimesBold_widths.insert('ń', 0.56);
TimesBold_widths.insert('ň', 0.56);
TimesBold_widths.insert('ņ', 0.56);
TimesBold_widths.insert('9', 0.50);
TimesBold_widths.insert('≠', 0.55);
TimesBold_widths.insert('ñ', 0.56);
TimesBold_widths.insert('#', 0.50);
TimesBold_widths.insert('o', 0.50);
TimesBold_widths.insert('ó', 0.50);
TimesBold_widths.insert('ô', 0.50);
TimesBold_widths.insert('ö', 0.50);
TimesBold_widths.insert('œ', 0.72);
TimesBold_widths.insert('˛', 0.33);
TimesBold_widths.insert('ò', 0.50);
TimesBold_widths.insert('ő', 0.50);
TimesBold_widths.insert('ō', 0.50);
TimesBold_widths.insert('1', 0.50);
TimesBold_widths.insert('½', 0.75);
TimesBold_widths.insert('¼', 0.75);
TimesBold_widths.insert('¹', 0.30);
TimesBold_widths.insert('ª', 0.30);
TimesBold_widths.insert('º', 0.33);
TimesBold_widths.insert('ø', 0.50);
TimesBold_widths.insert('õ', 0.50);
TimesBold_widths.insert('p', 0.56);
TimesBold_widths.insert('¶', 0.54);
TimesBold_widths.insert('(', 0.33);
TimesBold_widths.insert(')', 0.33);
TimesBold_widths.insert('∂', 0.49);
TimesBold_widths.insert('%', 1.00);
TimesBold_widths.insert('.', 0.25);
TimesBold_widths.insert('·', 0.25);
TimesBold_widths.insert('‰', 1.00);
TimesBold_widths.insert('+', 0.57);
TimesBold_widths.insert('±', 0.57);
TimesBold_widths.insert('q', 0.56);
TimesBold_widths.insert('?', 0.50);
TimesBold_widths.insert('¿', 0.50);
TimesBold_widths.insert('"', 0.56);
TimesBold_widths.insert('„', 0.50);
TimesBold_widths.insert('“', 0.50);
TimesBold_widths.insert('”', 0.50);
TimesBold_widths.insert('‘', 0.33);
TimesBold_widths.insert('’', 0.33);
TimesBold_widths.insert('‚', 0.33);
TimesBold_widths.insert('\'', 0.28);
TimesBold_widths.insert('r', 0.44);
TimesBold_widths.insert('ŕ', 0.44);
TimesBold_widths.insert('√', 0.55);
TimesBold_widths.insert('ř', 0.44);
TimesBold_widths.insert('ŗ', 0.44);
TimesBold_widths.insert('®', 0.75);
TimesBold_widths.insert('˚', 0.33);
TimesBold_widths.insert('s', 0.39);
TimesBold_widths.insert('ś', 0.39);
TimesBold_widths.insert('š', 0.39);
TimesBold_widths.insert('ş', 0.39);
TimesBold_widths.insert('ș', 0.39);
TimesBold_widths.insert('§', 0.50);
TimesBold_widths.insert(';', 0.33);
TimesBold_widths.insert('7', 0.50);
TimesBold_widths.insert('6', 0.50);
TimesBold_widths.insert('/', 0.28);
TimesBold_widths.insert(' ', 0.25);
TimesBold_widths.insert('£', 0.50);
TimesBold_widths.insert('∑', 0.60);
TimesBold_widths.insert('t', 0.33);
TimesBold_widths.insert('ť', 0.42);
TimesBold_widths.insert('ţ', 0.33);
TimesBold_widths.insert('þ', 0.56);
TimesBold_widths.insert('3', 0.50);
TimesBold_widths.insert('¾', 0.75);
TimesBold_widths.insert('³', 0.30);
TimesBold_widths.insert('˜', 0.33);
TimesBold_widths.insert('™', 1.00);
TimesBold_widths.insert('2', 0.50);
TimesBold_widths.insert('²', 0.30);
TimesBold_widths.insert('u', 0.56);
TimesBold_widths.insert('ú', 0.56);
TimesBold_widths.insert('û', 0.56);
TimesBold_widths.insert('ü', 0.56);
TimesBold_widths.insert('ù', 0.56);
TimesBold_widths.insert('ű', 0.56);
TimesBold_widths.insert('ū', 0.56);
TimesBold_widths.insert('_', 0.50);
TimesBold_widths.insert('ų', 0.56);
TimesBold_widths.insert('ů', 0.56);
TimesBold_widths.insert('v', 0.50);
TimesBold_widths.insert('w', 0.72);
TimesBold_widths.insert('x', 0.50);
TimesBold_widths.insert('y', 0.50);
TimesBold_widths.insert('ý', 0.50);
TimesBold_widths.insert('ÿ', 0.50);
TimesBold_widths.insert('¥', 0.50);
TimesBold_widths.insert('z', 0.44);
TimesBold_widths.insert('ź', 0.44);
TimesBold_widths.insert('ž', 0.44);
TimesBold_widths.insert('ż', 0.44);
TimesBold_widths.insert('0', 0.50);
let mut map = HashMap::new();
map.insert(Font::TimesRoman, TimesRoman_widths);
map.insert(Font::HelveticaOblique, HelveticaOblique_widths);
map.insert(Font::HelveticaBold, HelveticaBold_widths);
map.insert(Font::HelveticaBoldOblique, HelveticaBoldOblique_widths);
map.insert(Font::ZapfDingbats, ZapfDingbats_widths);
map.insert(Font::Courier, Courier_widths);
map.insert(Font::CourierOblique, CourierOblique_widths);
map.insert(Font::CourierBold, CourierBold_widths);
map.insert(Font::CourierBoldOblique, CourierBoldOblique_widths);
map.insert(Font::TimesBoldItalic, TimesBoldItalic_widths);
map.insert(Font::Helvetica, Helvetica_widths);
map.insert(Font::Symbol, Symbol_widths);
map.insert(Font::TimesItalic, TimesItalic_widths);
map.insert(Font::TimesBold, TimesBold_widths);
map
};
}
#[derive(Hash, PartialEq, Eq, Debug)]
pub enum Font {
TimesRoman,
HelveticaOblique,
HelveticaBold,
HelveticaBoldOblique,
ZapfDingbats,
Courier,
CourierOblique,
CourierBold,
CourierBoldOblique,
TimesBoldItalic,
Helvetica,
Symbol,
TimesItalic,
TimesBold,
}