use std::collections::HashMap;
use lazy_static::lazy_static;
lazy_static! {
pub static ref SUPERSCRIPT: HashMap<char, char> = {
let mut m = HashMap::new();
m.insert('a', 'ᵃ');
m.insert('b', 'ᵇ');
m.insert('c', 'ᶜ');
m.insert('d', 'ᵈ');
m.insert('e', 'ᵉ');
m.insert('f', 'ᶠ');
m.insert('g', 'ᵍ');
m.insert('h', 'ʰ');
m.insert('i', 'ⁱ');
m.insert('j', 'ʲ');
m.insert('k', 'ᵏ');
m.insert('l', 'ˡ');
m.insert('m', 'ᵐ');
m.insert('n', 'ⁿ');
m.insert('o', 'ᵒ');
m.insert('p', 'ᵖ');
m.insert('q', 'q');
m.insert('r', 'ʳ');
m.insert('s', 'ˢ');
m.insert('t', 'ᵗ');
m.insert('u', 'ᵘ');
m.insert('v', 'ᵛ');
m.insert('w', 'ʷ');
m.insert('x', 'ˣ');
m.insert('y', 'ʸ');
m.insert('z', 'ᶻ');
m.insert('A', 'ᴬ');
m.insert('B', 'ᴮ');
m.insert('C', 'ᶜ');
m.insert('D', 'ᴰ');
m.insert('E', 'ᴱ');
m.insert('F', 'ᶠ');
m.insert('G', 'ᴳ');
m.insert('H', 'ᴴ');
m.insert('I', 'ᴵ');
m.insert('J', 'ᴶ');
m.insert('K', 'ᴷ');
m.insert('L', 'ᴸ');
m.insert('M', 'ᴹ');
m.insert('N', 'ᴺ');
m.insert('O', 'ᴼ');
m.insert('P', 'ᴾ');
m.insert('Q', 'Q');
m.insert('R', 'ᴿ');
m.insert('S', 'ˢ');
m.insert('T', 'ᵀ');
m.insert('U', 'ᵁ');
m.insert('V', 'ⱽ');
m.insert('W', 'ᵂ');
m.insert('X', 'ˣ');
m.insert('Y', 'ʸ');
m.insert('Z', 'ᶻ');
m.insert('0', '⁰');
m.insert('1', '¹');
m.insert('2', '²');
m.insert('3', '³');
m.insert('4', '⁴');
m.insert('5', '⁵');
m.insert('6', '⁶');
m.insert('7', '⁷');
m.insert('8', '⁸');
m.insert('9', '⁹');
m
};
pub static ref SUBSCRIPT: HashMap<char, char> = {
let mut m = HashMap::new();
m.insert('a', 'ₐ');
m.insert('b', 'b');
m.insert('c', 'c');
m.insert('d', 'd');
m.insert('e', 'ₑ');
m.insert('f', 'f');
m.insert('g', 'g');
m.insert('h', 'ₕ');
m.insert('i', 'ᵢ');
m.insert('j', 'ⱼ');
m.insert('k', 'ₖ');
m.insert('l', 'ₗ');
m.insert('m', 'ₘ');
m.insert('n', 'ₙ');
m.insert('o', 'ₒ');
m.insert('p', 'ₚ');
m.insert('q', 'q');
m.insert('r', 'ᵣ');
m.insert('s', 'ₛ');
m.insert('t', 'ₜ');
m.insert('u', 'ᵤ');
m.insert('v', 'ᵥ');
m.insert('w', 'w');
m.insert('x', 'ₓ');
m.insert('y', 'y');
m.insert('z', 'z');
m.insert('A', 'ₐ');
m.insert('B', 'B');
m.insert('C', 'C');
m.insert('D', 'D');
m.insert('E', 'ₑ');
m.insert('F', 'F');
m.insert('G', 'G');
m.insert('H', 'ₕ');
m.insert('I', 'ᵢ');
m.insert('J', 'ⱼ');
m.insert('K', 'ₖ');
m.insert('L', 'ₗ');
m.insert('M', 'ₘ');
m.insert('N', 'ₙ');
m.insert('O', 'ₒ');
m.insert('P', 'ₚ');
m.insert('Q', 'Q');
m.insert('R', 'ᵣ');
m.insert('S', 'ₛ');
m.insert('T', 'ₜ');
m.insert('U', 'ᵤ');
m.insert('V', 'ᵥ');
m.insert('W', 'W');
m.insert('X', 'ₓ');
m.insert('Y', 'Y');
m.insert('Z', 'Z');
m.insert('0', '₀');
m.insert('1', '₁');
m.insert('2', '₂');
m.insert('3', '₃');
m.insert('4', '₄');
m.insert('5', '₅');
m.insert('6', '₆');
m.insert('7', '₇');
m.insert('8', '₈');
m.insert('9', '₉');
m
};
pub static ref SCRIPT: HashMap<char, char> = {
let mut m = HashMap::new();
m.insert('a', '𝒶');
m.insert('b', '𝒷');
m.insert('c', '𝒸');
m.insert('d', '𝒹');
m.insert('e', 'ℯ');
m.insert('f', '𝒻');
m.insert('g', '𝓰');
m.insert('h', '𝒽');
m.insert('i', '𝒾');
m.insert('j', '𝒿');
m.insert('k', '𝓀');
m.insert('l', '𝓁');
m.insert('m', '𝓂');
m.insert('n', '𝓃');
m.insert('o', 'ℴ');
m.insert('p', '𝓅');
m.insert('q', '𝓆');
m.insert('r', '𝓇');
m.insert('s', '𝓈');
m.insert('t', '𝓉');
m.insert('u', '𝓊');
m.insert('v', '𝓋');
m.insert('w', '𝓌');
m.insert('x', '𝓍');
m.insert('y', '𝓎');
m.insert('z', '𝓏');
m.insert('A', '𝒜');
m.insert('B', 'ℬ');
m.insert('C', '𝒞');
m.insert('D', '𝒟');
m.insert('E', 'ℰ');
m.insert('F', 'ℱ');
m.insert('G', '𝒢');
m.insert('H', 'ℋ');
m.insert('I', 'ℐ');
m.insert('J', '𝒥');
m.insert('K', '𝒦');
m.insert('L', 'ℒ');
m.insert('M', 'ℳ');
m.insert('N', '𝒩');
m.insert('O', '𝒪');
m.insert('P', '𝒫');
m.insert('Q', '𝒬');
m.insert('R', 'ℛ');
m.insert('S', '𝒮');
m.insert('T', '𝒯');
m.insert('U', '𝒰');
m.insert('V', '𝒱');
m.insert('W', '𝒲');
m.insert('X', '𝒳');
m.insert('Y', '𝒴');
m.insert('Z', '𝒵');
m
};
pub static ref SCRIPT_BOLD: HashMap<char, char> = {
let mut m = HashMap::new();
m.insert('a', '𝓪');
m.insert('b', '𝓫');
m.insert('c', '𝓬');
m.insert('d', '𝓭');
m.insert('e', '𝓮');
m.insert('f', '𝓯');
m.insert('g', '𝓰');
m.insert('h', '𝓱');
m.insert('i', '𝓲');
m.insert('j', '𝓳');
m.insert('k', '𝓴');
m.insert('l', '𝓵');
m.insert('m', '𝓶');
m.insert('n', '𝓷');
m.insert('o', '𝓸');
m.insert('p', '𝓹');
m.insert('q', '𝓺');
m.insert('r', '𝓻');
m.insert('s', '𝓼');
m.insert('t', '𝓽');
m.insert('u', '𝓾');
m.insert('v', '𝓿');
m.insert('w', '𝔀');
m.insert('x', '𝔁');
m.insert('y', '𝔂');
m.insert('z', '𝔃');
m.insert('A', '𝓐');
m.insert('B', '𝓑');
m.insert('C', '𝓒');
m.insert('D', '𝓓');
m.insert('E', '𝓔');
m.insert('F', '𝓕');
m.insert('G', '𝓖');
m.insert('H', '𝓗');
m.insert('I', '𝓘');
m.insert('J', '𝓙');
m.insert('K', '𝓚');
m.insert('L', '𝓛');
m.insert('M', '𝓜');
m.insert('N', '𝓝');
m.insert('O', '𝓞');
m.insert('P', '𝓟');
m.insert('Q', '𝓠');
m.insert('R', '𝓡');
m.insert('S', '𝓢');
m.insert('T', '𝓣');
m.insert('U', '𝓤');
m.insert('V', '𝓥');
m.insert('W', '𝓦');
m.insert('X', '𝓧');
m.insert('Y', '𝓨');
m.insert('Z', '𝓩');
m.insert('0', '𝟎');
m.insert('1', '𝟏');
m.insert('2', '𝟐');
m.insert('3', '𝟑');
m.insert('4', '𝟒');
m.insert('5', '𝟓');
m.insert('6', '𝟔');
m.insert('7', '𝟕');
m.insert('8', '𝟖');
m.insert('9', '𝟗');
m
};
pub static ref FULLWIDTH: HashMap<char, char> = {
let mut m = HashMap::new();
m.insert('a', 'a');
m.insert('b', 'b');
m.insert('c', 'c');
m.insert('d', 'd');
m.insert('e', 'e');
m.insert('f', 'f');
m.insert('g', 'g');
m.insert('h', 'h');
m.insert('i', 'i');
m.insert('j', 'j');
m.insert('k', 'k');
m.insert('l', 'l');
m.insert('m', 'm');
m.insert('n', 'n');
m.insert('o', 'o');
m.insert('p', 'p');
m.insert('q', 'q');
m.insert('r', 'r');
m.insert('s', 's');
m.insert('t', 't');
m.insert('u', 'u');
m.insert('v', 'v');
m.insert('w', 'w');
m.insert('x', 'x');
m.insert('y', 'y');
m.insert('z', 'z');
m.insert('A', 'A');
m.insert('B', 'B');
m.insert('C', 'C');
m.insert('D', 'D');
m.insert('E', 'E');
m.insert('F', 'F');
m.insert('G', 'G');
m.insert('H', 'H');
m.insert('I', 'I');
m.insert('J', 'J');
m.insert('K', 'K');
m.insert('L', 'L');
m.insert('M', 'M');
m.insert('N', 'N');
m.insert('O', 'O');
m.insert('P', 'P');
m.insert('Q', 'Q');
m.insert('R', 'R');
m.insert('S', 'S');
m.insert('T', 'T');
m.insert('U', 'U');
m.insert('V', 'V');
m.insert('W', 'W');
m.insert('X', 'X');
m.insert('Y', 'Y');
m.insert('Z', 'Z');
m.insert('0', '0');
m.insert('1', '1');
m.insert('2', '2');
m.insert('3', '3');
m.insert('4', '4');
m.insert('5', '5');
m.insert('6', '6');
m.insert('7', '7');
m.insert('8', '8');
m.insert('9', '9');
m.insert('.', '.');
m.insert(',', ',');
m.insert('?', '?');
m.insert('!', '!');
m.insert('@', '@');
m.insert('#', '#');
m.insert('$', '$');
m.insert('%', '%');
m.insert('^', '^');
m.insert('&', '&');
m.insert('*', '*');
m.insert('(', '(');
m.insert(')', ')');
m.insert('=', '=');
m.insert('+', '+');
m.insert('-', '-');
m.insert('_', '_');
m.insert('[', '[');
m.insert(']', ']');
m.insert('{', '{');
m.insert('}', '}');
m.insert('<', '<');
m.insert('>', '>');
m.insert('/', '/');
m.insert('/', '/');
m.insert('\'', ''');
m.insert('"', '"');
m.insert('`', '`');
m.insert('~', '~');
m
};
pub static ref GOTHIC: HashMap<char, char> = {
let mut m = HashMap::new();
m.insert('a', '𝔞');
m.insert('b', '𝔟');
m.insert('c', '𝔠');
m.insert('d', '𝔡');
m.insert('e', '𝔢');
m.insert('f', '𝔣');
m.insert('g', '𝔤');
m.insert('h', '𝔥');
m.insert('i', '𝔦');
m.insert('j', '𝔧');
m.insert('k', '𝔨');
m.insert('l', '𝔩');
m.insert('m', '𝔪');
m.insert('n', '𝔫');
m.insert('o', '𝔬');
m.insert('p', '𝔭');
m.insert('q', '𝔮');
m.insert('r', '𝔯');
m.insert('s', '𝔰');
m.insert('t', '𝔱');
m.insert('u', '𝔲');
m.insert('v', '𝔳');
m.insert('w', '𝔴');
m.insert('x', '𝔵');
m.insert('y', '𝔶');
m.insert('z', '𝔷');
m.insert('A', '𝔄');
m.insert('B', '𝔅');
m.insert('C', 'ℭ');
m.insert('D', '𝔇');
m.insert('E', '𝔈');
m.insert('F', '𝔉');
m.insert('G', '𝔊');
m.insert('H', 'ℌ');
m.insert('I', 'ℑ');
m.insert('J', '𝔍');
m.insert('K', '𝔎');
m.insert('L', '𝔏');
m.insert('M', '𝔐');
m.insert('N', '𝔑');
m.insert('O', '𝔒');
m.insert('P', '𝔓');
m.insert('Q', '𝔔');
m.insert('R', 'ℜ');
m.insert('S', '𝔖');
m.insert('T', '𝔗');
m.insert('U', '𝔘');
m.insert('V', '𝔙');
m.insert('W', '𝔚');
m.insert('X', '𝔛');
m.insert('Y', '𝔜');
m.insert('Z', 'ℨ');
m
};
pub static ref GOTHIC_BOLD: HashMap<char, char> = {
let mut m = HashMap::new();
m.insert('a', '𝖆');
m.insert('b', '𝖇');
m.insert('c', '𝖈');
m.insert('d', '𝖉');
m.insert('e', '𝖊');
m.insert('f', '𝖋');
m.insert('g', '𝖌');
m.insert('h', '𝖍');
m.insert('i', '𝖎');
m.insert('j', '𝖏');
m.insert('k', '𝖐');
m.insert('l', '𝖑');
m.insert('m', '𝖒');
m.insert('n', '𝖓');
m.insert('o', '𝖔');
m.insert('p', '𝖕');
m.insert('q', '𝖖');
m.insert('r', '𝖗');
m.insert('s', '𝖘');
m.insert('t', '𝖙');
m.insert('u', '𝖚');
m.insert('v', '𝖛');
m.insert('w', '𝖜');
m.insert('x', '𝖝');
m.insert('y', '𝖞');
m.insert('z', '𝖟');
m.insert('A', '𝕬');
m.insert('B', '𝕭');
m.insert('C', '𝕮');
m.insert('D', '𝕯');
m.insert('E', '𝕰');
m.insert('F', '𝕱');
m.insert('G', '𝕲');
m.insert('H', '𝕳');
m.insert('I', '𝕴');
m.insert('J', '𝕵');
m.insert('K', '𝕶');
m.insert('L', '𝕷');
m.insert('M', '𝕸');
m.insert('N', '𝕹');
m.insert('O', '𝕺');
m.insert('P', '𝕻');
m.insert('Q', '𝕼');
m.insert('R', '𝕽');
m.insert('S', '𝕾');
m.insert('T', '𝕿');
m.insert('U', '𝖀');
m.insert('V', '𝖁');
m.insert('W', '𝖂');
m.insert('X', '𝖃');
m.insert('Y', '𝖄');
m.insert('Z', '𝖅');
m
};
pub static ref SANS: HashMap<char, char> = {
let mut m = HashMap::new();
m.insert('a', '𝖺');
m.insert('b', '𝖻');
m.insert('c', '𝖼');
m.insert('d', '𝖽');
m.insert('e', '𝖾');
m.insert('f', '𝖿');
m.insert('g', '𝗀');
m.insert('h', '𝗁');
m.insert('i', '𝗂');
m.insert('j', '𝗃');
m.insert('k', '𝗄');
m.insert('l', '𝗅');
m.insert('m', '𝗆');
m.insert('n', '𝗇');
m.insert('o', '𝗈');
m.insert('p', '𝗉');
m.insert('q', '𝗊');
m.insert('r', '𝗋');
m.insert('s', '𝗌');
m.insert('t', '𝗍');
m.insert('u', '𝗎');
m.insert('v', '𝗏');
m.insert('w', '𝗐');
m.insert('x', '𝗑');
m.insert('y', '𝗒');
m.insert('z', '𝗓');
m.insert('A', '𝖠');
m.insert('B', '𝖡');
m.insert('C', '𝖢');
m.insert('D', '𝖣');
m.insert('E', '𝖤');
m.insert('F', '𝖥');
m.insert('G', '𝖦');
m.insert('H', '𝖧');
m.insert('I', '𝖨');
m.insert('J', '𝖩');
m.insert('K', '𝖪');
m.insert('L', '𝖫');
m.insert('M', '𝖬');
m.insert('N', '𝖭');
m.insert('O', '𝖮');
m.insert('P', '𝖯');
m.insert('Q', '𝖰');
m.insert('R', '𝖱');
m.insert('S', '𝖲');
m.insert('T', '𝖳');
m.insert('U', '𝖴');
m.insert('V', '𝖵');
m.insert('W', '𝖶');
m.insert('X', '𝖷');
m.insert('Y', '𝖸');
m.insert('Z', '𝖹');
m.insert('0', '𝟢');
m.insert('1', '𝟣');
m.insert('2', '𝟤');
m.insert('3', '𝟥');
m.insert('4', '𝟦');
m.insert('5', '𝟧');
m.insert('6', '𝟨');
m.insert('7', '𝟩');
m.insert('8', '𝟪');
m.insert('9', '𝟫');
m.insert('.', '.');
m.insert(',', ',');
m.insert('?', '?');
m.insert('!', '!');
m.insert('@', '@');
m.insert('#', '#');
m.insert('$', '$');
m.insert('%', '%');
m.insert('^', '^');
m.insert('&', '&');
m.insert('*', '*');
m.insert('(', '(');
m.insert(')', ')');
m.insert('[', '[');
m.insert(']', ']');
m.insert('{', '{');
m.insert('}', '}');
m.insert('<', '<');
m.insert('>', '>');
m.insert('/', '/');
m.insert('\'', '\'');
m.insert('"', '"');
m.insert('-', '-');
m.insert('_', '_');
m.insert('=', '=');
m.insert('+', '+');
m.insert('`', '`');
m.insert('~', '~');
m
};
pub static ref SANS_ITALIC: HashMap<char, char> = {
let mut m = HashMap::new();
m.insert('a', '𝘢');
m.insert('b', '𝘣');
m.insert('c', '𝘤');
m.insert('d', '𝘥');
m.insert('e', '𝘦');
m.insert('f', '𝘧');
m.insert('g', '𝘨');
m.insert('h', '𝘩');
m.insert('i', '𝘪');
m.insert('j', '𝘫');
m.insert('k', '𝘬');
m.insert('l', '𝘭');
m.insert('m', '𝘮');
m.insert('n', '𝘯');
m.insert('o', '𝘰');
m.insert('p', '𝘱');
m.insert('q', '𝘲');
m.insert('r', '𝘳');
m.insert('s', '𝘴');
m.insert('t', '𝘵');
m.insert('u', '𝘶');
m.insert('v', '𝘷');
m.insert('w', '𝘸');
m.insert('x', '𝘹');
m.insert('y', '𝘺');
m.insert('z', '𝘻');
m.insert('A', '𝘈');
m.insert('B', '𝘉');
m.insert('C', '𝘊');
m.insert('D', '𝘋');
m.insert('E', '𝘌');
m.insert('F', '𝘍');
m.insert('G', '𝘎');
m.insert('H', '𝘏');
m.insert('I', '𝘐');
m.insert('J', '𝘑');
m.insert('K', '𝘒');
m.insert('L', '𝘓');
m.insert('M', '𝘔');
m.insert('N', '𝘕');
m.insert('O', '𝘖');
m.insert('P', '𝘗');
m.insert('Q', '𝘘');
m.insert('R', '𝘙');
m.insert('S', '𝘚');
m.insert('T', '𝘛');
m.insert('U', '𝘜');
m.insert('V', '𝘝');
m.insert('W', '𝘞');
m.insert('X', '𝘟');
m.insert('Y', '𝘠');
m.insert('Z', '𝘡');
m
};
pub static ref MONOSPACE: HashMap<char, char> = {
let mut m = HashMap::new();
m.insert('a', '𝚊');
m.insert('b', '𝚋');
m.insert('c', '𝚌');
m.insert('d', '𝚍');
m.insert('e', '𝚎');
m.insert('f', '𝚏');
m.insert('g', '𝚐');
m.insert('h', '𝚑');
m.insert('i', '𝚒');
m.insert('j', '𝚓');
m.insert('k', '𝚔');
m.insert('l', '𝚕');
m.insert('m', '𝚖');
m.insert('n', '𝚗');
m.insert('o', '𝚘');
m.insert('p', '𝚙');
m.insert('q', '𝚚');
m.insert('r', '𝚛');
m.insert('s', '𝚜');
m.insert('t', '𝚝');
m.insert('u', '𝚞');
m.insert('v', '𝚟');
m.insert('w', '𝚠');
m.insert('x', '𝚡');
m.insert('y', '𝚢');
m.insert('z', '𝚣');
m.insert('A', '𝙰');
m.insert('B', '𝙱');
m.insert('C', '𝙲');
m.insert('D', '𝙳');
m.insert('E', '𝙴');
m.insert('F', '𝙵');
m.insert('G', '𝙶');
m.insert('H', '𝙷');
m.insert('I', '𝙸');
m.insert('J', '𝙹');
m.insert('K', '𝙺');
m.insert('L', '𝙻');
m.insert('M', '𝙼');
m.insert('N', '𝙽');
m.insert('O', '𝙾');
m.insert('P', '𝙿');
m.insert('Q', '𝚀');
m.insert('R', '𝚁');
m.insert('S', '𝚂');
m.insert('T', '𝚃');
m.insert('U', '𝚄');
m.insert('V', '𝚅');
m.insert('W', '𝚆');
m.insert('X', '𝚇');
m.insert('Y', '𝚈');
m.insert('Z', '𝚉');
m.insert('0', '𝟶');
m.insert('1', '𝟷');
m.insert('2', '𝟸');
m.insert('3', '𝟹');
m.insert('4', '𝟺');
m.insert('5', '𝟻');
m.insert('6', '𝟼');
m.insert('7', '𝟽');
m.insert('8', '𝟾');
m.insert('9', '𝟿');
m
};
pub static ref SANS_BOLD: HashMap<char, char> = {
let mut m = HashMap::new();
m.insert('a', '𝗮');
m.insert('b', '𝗯');
m.insert('c', '𝗰');
m.insert('d', '𝗱');
m.insert('e', '𝗲');
m.insert('f', '𝗳');
m.insert('g', '𝗴');
m.insert('h', '𝗵');
m.insert('i', '𝗶');
m.insert('j', '𝗷');
m.insert('k', '𝗸');
m.insert('l', '𝗹');
m.insert('m', '𝗺');
m.insert('n', '𝗻');
m.insert('o', '𝗼');
m.insert('p', '𝗽');
m.insert('q', '𝗾');
m.insert('r', '𝗿');
m.insert('s', '𝘀');
m.insert('t', '𝘁');
m.insert('u', '𝘂');
m.insert('v', '𝘃');
m.insert('w', '𝘄');
m.insert('x', '𝘅');
m.insert('y', '𝘆');
m.insert('z', '𝘇');
m.insert('A', '𝗔');
m.insert('B', '𝗕');
m.insert('C', '𝗖');
m.insert('D', '𝗗');
m.insert('E', '𝗘');
m.insert('F', '𝗙');
m.insert('G', '𝗚');
m.insert('H', '𝗛');
m.insert('I', '𝗜');
m.insert('J', '𝗝');
m.insert('K', '𝗞');
m.insert('L', '𝗟');
m.insert('M', '𝗠');
m.insert('N', '𝗡');
m.insert('O', '𝗢');
m.insert('P', '𝗣');
m.insert('Q', '𝗤');
m.insert('R', '𝗥');
m.insert('S', '𝗦');
m.insert('T', '𝗧');
m.insert('U', '𝗨');
m.insert('V', '𝗩');
m.insert('W', '𝗪');
m.insert('X', '𝗫');
m.insert('Y', '𝗬');
m.insert('Z', '𝗭');
m.insert('0', '𝟬');
m.insert('1', '𝟭');
m.insert('2', '𝟮');
m.insert('3', '𝟯');
m.insert('4', '𝟰');
m.insert('5', '𝟱');
m.insert('6', '𝟲');
m.insert('7', '𝟳');
m.insert('8', '𝟴');
m.insert('9', '𝟵');
m
};
pub static ref SANS_BOLD_ITALIC: HashMap<char, char> = {
let mut m = HashMap::new();
m.insert('a', '𝙖');
m.insert('b', '𝙗');
m.insert('c', '𝙘');
m.insert('d', '𝙙');
m.insert('e', '𝙚');
m.insert('f', '𝙛');
m.insert('g', '𝙜');
m.insert('h', '𝙝');
m.insert('i', '𝙞');
m.insert('j', '𝙟');
m.insert('k', '𝙠');
m.insert('l', '𝙡');
m.insert('m', '𝙢');
m.insert('n', '𝙣');
m.insert('o', '𝙤');
m.insert('p', '𝙥');
m.insert('q', '𝙦');
m.insert('r', '𝙧');
m.insert('s', '𝙨');
m.insert('t', '𝙩');
m.insert('u', '𝙪');
m.insert('v', '𝙫');
m.insert('w', '𝙬');
m.insert('x', '𝙭');
m.insert('y', '𝙮');
m.insert('z', '𝙯');
m.insert('A', '𝘼');
m.insert('B', '𝘽');
m.insert('C', '𝘾');
m.insert('D', '𝘿');
m.insert('E', '𝙀');
m.insert('F', '𝙁');
m.insert('G', '𝙂');
m.insert('H', '𝙃');
m.insert('I', '𝙄');
m.insert('J', '𝙅');
m.insert('K', '𝙆');
m.insert('L', '𝙇');
m.insert('M', '𝙈');
m.insert('N', '𝙉');
m.insert('O', '𝙊');
m.insert('P', '𝙋');
m.insert('Q', '𝙌');
m.insert('R', '𝙍');
m.insert('S', '𝙎');
m.insert('T', '𝙏');
m.insert('U', '𝙐');
m.insert('V', '𝙑');
m.insert('W', '𝙒');
m.insert('X', '𝙓');
m.insert('Y', '𝙔');
m.insert('Z', '𝙕');
m
};
pub static ref SERIF_BOLD: HashMap<char, char> = {
let mut m = HashMap::new();
m.insert('a', '𝐚');
m.insert('b', '𝐛');
m.insert('c', '𝐜');
m.insert('d', '𝐝');
m.insert('e', '𝐞');
m.insert('f', '𝐟');
m.insert('g', '𝐠');
m.insert('h', '𝐡');
m.insert('i', '𝐢');
m.insert('j', '𝐣');
m.insert('k', '𝐤');
m.insert('l', '𝐥');
m.insert('m', '𝐦');
m.insert('n', '𝐧');
m.insert('o', '𝐨');
m.insert('p', '𝐩');
m.insert('q', '𝐪');
m.insert('r', '𝐫');
m.insert('s', '𝐬');
m.insert('t', '𝐭');
m.insert('u', '𝐮');
m.insert('v', '𝐯');
m.insert('w', '𝐰');
m.insert('x', '𝐱');
m.insert('y', '𝐲');
m.insert('z', '𝐳');
m.insert('A', '𝐀');
m.insert('B', '𝐁');
m.insert('C', '𝐂');
m.insert('D', '𝐃');
m.insert('E', '𝐄');
m.insert('F', '𝐅');
m.insert('G', '𝐆');
m.insert('H', '𝐇');
m.insert('I', '𝐈');
m.insert('J', '𝐉');
m.insert('K', '𝐊');
m.insert('L', '𝐋');
m.insert('M', '𝐌');
m.insert('N', '𝐍');
m.insert('O', '𝐎');
m.insert('P', '𝐏');
m.insert('Q', '𝐐');
m.insert('R', '𝐑');
m.insert('S', '𝐒');
m.insert('T', '𝐓');
m.insert('U', '𝐔');
m.insert('V', '𝐕');
m.insert('W', '𝐖');
m.insert('X', '𝐗');
m.insert('Y', '𝐘');
m.insert('Z', '𝐙');
m.insert('0', '𝟎');
m.insert('1', '𝟏');
m.insert('2', '𝟐');
m.insert('3', '𝟑');
m.insert('4', '𝟒');
m.insert('5', '𝟓');
m.insert('6', '𝟔');
m.insert('7', '𝟕');
m.insert('8', '𝟖');
m.insert('9', '𝟗');
m
};
pub static ref SMALL_CAPS: HashMap<char, char> = {
let mut m = HashMap::new();
m.insert('a', 'ᴀ');
m.insert('b', 'ʙ');
m.insert('c', 'ᴄ');
m.insert('d', 'ᴅ');
m.insert('e', 'ᴇ');
m.insert('f', 'ꜰ');
m.insert('g', 'ɢ');
m.insert('h', 'ʜ');
m.insert('i', 'ɪ');
m.insert('j', 'ᴊ');
m.insert('k', 'ᴋ');
m.insert('l', 'ʟ');
m.insert('m', 'ᴍ');
m.insert('n', 'ɴ');
m.insert('o', 'ᴏ');
m.insert('p', 'ᴘ');
m.insert('q', 'ǫ');
m.insert('r', 'ʀ');
m.insert('s', 'ꜱ');
m.insert('t', 'ᴛ');
m.insert('u', 'ᴜ');
m.insert('v', 'ᴠ');
m.insert('w', 'ᴡ');
m.insert('x', 'x');
m.insert('y', 'ʏ');
m.insert('z', 'ᴢ');
m.insert('A', 'ᴀ');
m.insert('B', 'ʙ');
m.insert('C', 'ᴄ');
m.insert('D', 'ᴅ');
m.insert('E', 'ᴇ');
m.insert('F', 'ꜰ');
m.insert('G', 'ɢ');
m.insert('H', 'ʜ');
m.insert('I', 'ɪ');
m.insert('J', 'ᴊ');
m.insert('K', 'ᴋ');
m.insert('L', 'ʟ');
m.insert('M', 'ᴍ');
m.insert('N', 'ɴ');
m.insert('O', 'ᴏ');
m.insert('P', 'ᴘ');
m.insert('Q', 'ǫ');
m.insert('R', 'ʀ');
m.insert('S', 'ꜱ');
m.insert('T', 'ᴛ');
m.insert('U', 'ᴜ');
m.insert('V', 'ᴠ');
m.insert('W', 'ᴡ');
m.insert('X', 'x');
m.insert('Y', 'ʏ');
m.insert('Z', 'ᴢ');
m
};
pub static ref CIRCLED: HashMap<char, char> = {
let mut m = HashMap::new();
m.insert('a', 'ⓐ');
m.insert('b', 'ⓑ');
m.insert('c', 'ⓒ');
m.insert('d', 'ⓓ');
m.insert('e', 'ⓔ');
m.insert('f', 'ⓕ');
m.insert('g', 'ⓖ');
m.insert('h', 'ⓗ');
m.insert('i', 'ⓘ');
m.insert('j', 'ⓙ');
m.insert('k', 'ⓚ');
m.insert('l', 'ⓛ');
m.insert('m', 'ⓜ');
m.insert('n', 'ⓝ');
m.insert('o', 'ⓞ');
m.insert('p', 'ⓟ');
m.insert('q', 'ⓠ');
m.insert('r', 'ⓡ');
m.insert('s', 'ⓢ');
m.insert('t', 'ⓣ');
m.insert('u', 'ⓤ');
m.insert('v', 'ⓥ');
m.insert('w', 'ⓦ');
m.insert('x', 'ⓧ');
m.insert('y', 'ⓨ');
m.insert('z', 'ⓩ');
m.insert('A', 'Ⓐ');
m.insert('B', 'Ⓑ');
m.insert('C', 'Ⓒ');
m.insert('D', 'Ⓓ');
m.insert('E', 'Ⓔ');
m.insert('F', 'Ⓕ');
m.insert('G', 'Ⓖ');
m.insert('H', 'Ⓗ');
m.insert('I', 'Ⓘ');
m.insert('J', 'Ⓙ');
m.insert('K', 'Ⓚ');
m.insert('L', 'Ⓛ');
m.insert('M', 'Ⓜ');
m.insert('N', 'Ⓝ');
m.insert('O', 'Ⓞ');
m.insert('P', 'Ⓟ');
m.insert('Q', 'Ⓠ');
m.insert('R', 'Ⓡ');
m.insert('S', 'Ⓢ');
m.insert('T', 'Ⓣ');
m.insert('U', 'Ⓤ');
m.insert('V', 'Ⓥ');
m.insert('W', 'Ⓦ');
m.insert('X', 'Ⓧ');
m.insert('Y', 'Ⓨ');
m.insert('Z', 'Ⓩ');
m.insert('0', '⓪');
m.insert('1', '①');
m.insert('2', '②');
m.insert('3', '③');
m.insert('4', '④');
m.insert('5', '⑤');
m.insert('6', '⑥');
m.insert('7', '⑦');
m.insert('8', '⑧');
m.insert('9', '⑨');
m.insert('.', '⨀');
m.insert('*', '⊛');
m.insert('-', '⊖');
m.insert('+', '⊕');
m.insert('=', '⊜');
m.insert('<', '⧀');
m.insert('>', '⧁');
m.insert('/', '⊘');
m.insert('\\', '⦸');
m
};
pub static ref CIRCLED_NEGATIVE: HashMap<char, char> = {
let mut m = HashMap::new();
m.insert('a', '🅐');
m.insert('b', '🅑');
m.insert('c', '🅒');
m.insert('d', '🅓');
m.insert('e', '🅔');
m.insert('f', '🅕');
m.insert('g', '🅖');
m.insert('h', '🅗');
m.insert('i', '🅘');
m.insert('j', '🅙');
m.insert('k', '🅚');
m.insert('l', '🅛');
m.insert('m', '🅜');
m.insert('n', '🅝');
m.insert('o', '🅞');
m.insert('p', '🅟');
m.insert('q', '🅠');
m.insert('r', '🅡');
m.insert('s', '🅢');
m.insert('t', '🅣');
m.insert('u', '🅤');
m.insert('v', '🅥');
m.insert('w', '🅦');
m.insert('x', '🅧');
m.insert('y', '🅨');
m.insert('z', '🅩');
m.insert('A', '🅐');
m.insert('B', '🅑');
m.insert('C', '🅒');
m.insert('D', '🅓');
m.insert('E', '🅔');
m.insert('F', '🅕');
m.insert('G', '🅖');
m.insert('H', '🅗');
m.insert('I', '🅘');
m.insert('J', '🅙');
m.insert('K', '🅚');
m.insert('L', '🅛');
m.insert('M', '🅜');
m.insert('N', '🅝');
m.insert('O', '🅞');
m.insert('P', '🅟');
m.insert('Q', '🅠');
m.insert('R', '🅡');
m.insert('S', '🅢');
m.insert('T', '🅣');
m.insert('U', '🅤');
m.insert('V', '🅥');
m.insert('W', '🅦');
m.insert('X', '🅧');
m.insert('Y', '🅨');
m.insert('Z', '🅩');
m.insert('0', '⓿');
m.insert('1', '➊');
m.insert('2', '➋');
m.insert('3', '➌');
m.insert('4', '➍');
m.insert('5', '➎');
m.insert('6', '➏');
m.insert('7', '➐');
m.insert('8', '➑');
m.insert('9', '➒');
m
};
pub static ref SQUARED: HashMap<char, char> = {
let mut m = HashMap::new();
m.insert('a', '🄰');
m.insert('b', '🄱');
m.insert('c', '🄲');
m.insert('d', '🄳');
m.insert('e', '🄴');
m.insert('f', '🄵');
m.insert('g', '🄶');
m.insert('h', '🄷');
m.insert('i', '🄸');
m.insert('j', '🄹');
m.insert('k', '🄺');
m.insert('l', '🄻');
m.insert('m', '🄼');
m.insert('n', '🄽');
m.insert('o', '🄾');
m.insert('p', '🄿');
m.insert('q', '🅀');
m.insert('r', '🅁');
m.insert('s', '🅂');
m.insert('t', '🅃');
m.insert('u', '🅄');
m.insert('v', '🅅');
m.insert('w', '🅆');
m.insert('x', '🅇');
m.insert('y', '🅈');
m.insert('z', '🅉');
m.insert('A', '🄰');
m.insert('B', '🄱');
m.insert('C', '🄲');
m.insert('D', '🄳');
m.insert('E', '🄴');
m.insert('F', '🄵');
m.insert('G', '🄶');
m.insert('H', '🄷');
m.insert('I', '🄸');
m.insert('J', '🄹');
m.insert('K', '🄺');
m.insert('L', '🄻');
m.insert('M', '🄼');
m.insert('N', '🄽');
m.insert('O', '🄾');
m.insert('P', '🄿');
m.insert('Q', '🅀');
m.insert('R', '🅁');
m.insert('S', '🅂');
m.insert('T', '🅃');
m.insert('U', '🅄');
m.insert('V', '🅅');
m.insert('W', '🅆');
m.insert('X', '🅇');
m.insert('Y', '🅈');
m.insert('Z', '🅉');
m.insert('.', '⊡');
m.insert('*', '⧆');
m.insert('+', '⊞');
m.insert('-', '⊟');
m.insert('/', '⧄');
m.insert('\\', '⧅');
m
};
pub static ref SQUARED_NEGATIVE: HashMap<char, char> = {
let mut m = HashMap::new();
m.insert('a', '🅰');
m.insert('b', '🅱');
m.insert('c', '🅲');
m.insert('d', '🅳');
m.insert('e', '🅴');
m.insert('f', '🅵');
m.insert('g', '🅶');
m.insert('h', '🅷');
m.insert('i', '🅸');
m.insert('j', '🅹');
m.insert('k', '🅺');
m.insert('l', '🅻');
m.insert('m', '🅼');
m.insert('n', '🅽');
m.insert('o', '🅾');
m.insert('p', '🅿');
m.insert('q', '🆀');
m.insert('r', '🆁');
m.insert('s', '🆂');
m.insert('t', '🆃');
m.insert('u', '🆄');
m.insert('v', '🆅');
m.insert('w', '🆆');
m.insert('x', '🆇');
m.insert('y', '🆈');
m.insert('z', '🆉');
m.insert('A', '🅰');
m.insert('B', '🅱');
m.insert('C', '🅲');
m.insert('D', '🅳');
m.insert('E', '🅴');
m.insert('F', '🅵');
m.insert('G', '🅶');
m.insert('H', '🅷');
m.insert('I', '🅸');
m.insert('J', '🅹');
m.insert('K', '🅺');
m.insert('L', '🅻');
m.insert('M', '🅼');
m.insert('N', '🅽');
m.insert('O', '🅾');
m.insert('P', '🅿');
m.insert('Q', '🆀');
m.insert('R', '🆁');
m.insert('S', '🆂');
m.insert('T', '🆃');
m.insert('U', '🆄');
m.insert('V', '🆅');
m.insert('W', '🆆');
m.insert('X', '🆇');
m.insert('Y', '🆈');
m.insert('Z', '🆉');
m
};
pub static ref DOUBLE_STRUCK: HashMap<char, char> = {
let mut m = HashMap::new();
m.insert('a', '𝕒');
m.insert('b', '𝕓');
m.insert('c', '𝕔');
m.insert('d', '𝕕');
m.insert('e', '𝕖');
m.insert('f', '𝕗');
m.insert('g', '𝕘');
m.insert('h', '𝕙');
m.insert('i', '𝕚');
m.insert('j', '𝕛');
m.insert('k', '𝕜');
m.insert('l', '𝕝');
m.insert('m', '𝕞');
m.insert('n', '𝕟');
m.insert('o', '𝕠');
m.insert('p', '𝕡');
m.insert('q', '𝕢');
m.insert('r', '𝕣');
m.insert('s', '𝕤');
m.insert('t', '𝕥');
m.insert('u', '𝕦');
m.insert('v', '𝕧');
m.insert('w', '𝕨');
m.insert('x', '𝕩');
m.insert('y', '𝕪');
m.insert('z', '𝕫');
m.insert('A', '𝔸');
m.insert('B', '𝔹');
m.insert('C', 'ℂ');
m.insert('D', '𝔻');
m.insert('E', '𝔼');
m.insert('F', '𝔽');
m.insert('G', '𝔾');
m.insert('H', 'ℍ');
m.insert('I', '𝕀');
m.insert('J', '𝕁');
m.insert('K', '𝕂');
m.insert('L', '𝕃');
m.insert('M', '𝕄');
m.insert('N', 'ℕ');
m.insert('O', '𝕆');
m.insert('P', 'ℙ');
m.insert('Q', 'ℚ');
m.insert('R', 'ℝ');
m.insert('S', '𝕊');
m.insert('T', '𝕋');
m.insert('U', '𝕌');
m.insert('V', '𝕍');
m.insert('W', '𝕎');
m.insert('X', '𝕏');
m.insert('Y', '𝕐');
m.insert('Z', 'ℤ');
m.insert('0', '𝟘');
m.insert('1', '𝟙');
m.insert('2', '𝟚');
m.insert('3', '𝟛');
m.insert('4', '𝟜');
m.insert('5', '𝟝');
m.insert('6', '𝟞');
m.insert('7', '𝟟');
m.insert('8', '𝟠');
m.insert('9', '𝟡');
m
};
pub static ref INVERTED: HashMap<char, char> = {
let mut m = HashMap::new();
m.insert('a', 'ɐ');
m.insert('b', 'q');
m.insert('c', 'ɔ');
m.insert('d', 'p');
m.insert('e', 'ǝ');
m.insert('f', 'ɟ');
m.insert('g', 'ƃ');
m.insert('h', 'ɥ');
m.insert('i', 'ı');
m.insert('j', 'ɾ');
m.insert('k', 'ʞ');
m.insert('l', 'ן');
m.insert('m', 'ɯ');
m.insert('n', 'u');
m.insert('o', 'o');
m.insert('p', 'd');
m.insert('q', 'b');
m.insert('r', 'ɹ');
m.insert('s', 's');
m.insert('t', 'ʇ');
m.insert('u', 'n');
m.insert('v', 'ʌ');
m.insert('w', 'ʍ');
m.insert('x', 'x');
m.insert('y', 'ʎ');
m.insert('z', 'z');
m.insert('A', 'ɐ');
m.insert('B', 'q');
m.insert('C', 'ɔ');
m.insert('D', 'p');
m.insert('E', 'ǝ');
m.insert('F', 'ɟ');
m.insert('G', 'ƃ');
m.insert('H', 'ɥ');
m.insert('I', 'ı');
m.insert('J', 'ɾ');
m.insert('K', 'ʞ');
m.insert('L', 'ן');
m.insert('M', 'ɯ');
m.insert('N', 'u');
m.insert('O', 'o');
m.insert('P', 'd');
m.insert('Q', 'b');
m.insert('R', 'ɹ');
m.insert('S', 's');
m.insert('T', 'ʇ');
m.insert('U', 'n');
m.insert('V', '𐌡');
m.insert('W', 'ʍ');
m.insert('X', 'x');
m.insert('Y', 'ʎ');
m.insert('Z', 'z');
m.insert('3', 'Ɛ');
m.insert('4', 'ᔭ');
m.insert('6', '9');
m.insert('7', 'L');
m.insert('9', '6');
m.insert('?', '¿');
m.insert('!', '¡');
m.insert('&', '⅋');
m.insert('_', '¯');
m.insert('/', '\\');
m.insert('\\', '/');
m.insert('~', '∽');
m
};
pub static ref REVERSED: HashMap<char, char> = {
let mut m = HashMap::new();
m.insert('a', 'A');
m.insert('b', 'd');
m.insert('c', 'ↄ');
m.insert('d', 'b');
m.insert('e', 'ɘ');
m.insert('f', 'ꟻ');
m.insert('g', 'g');
m.insert('h', 'H');
m.insert('i', 'i');
m.insert('j', 'j');
m.insert('k', 'k');
m.insert('l', 'l');
m.insert('m', 'm');
m.insert('n', 'ᴎ');
m.insert('o', 'o');
m.insert('p', 'q');
m.insert('q', 'p');
m.insert('r', 'ᴙ');
m.insert('s', 'ꙅ');
m.insert('t', 'T');
m.insert('u', 'U');
m.insert('v', 'v');
m.insert('w', 'w');
m.insert('x', 'x');
m.insert('y', 'Y');
m.insert('z', 'z');
m.insert('A', 'A');
m.insert('B', 'd');
m.insert('C', 'Ↄ');
m.insert('D', 'b');
m.insert('E', 'Ǝ');
m.insert('F', 'ꟻ');
m.insert('G', 'G');
m.insert('H', 'H');
m.insert('I', 'I');
m.insert('J', 'J');
m.insert('K', 'K');
m.insert('L', '⅃');
m.insert('M', 'M');
m.insert('N', 'ᴎ');
m.insert('O', 'O');
m.insert('P', 'ꟼ');
m.insert('Q', 'p');
m.insert('R', 'ᴙ');
m.insert('S', 'Ꙅ');
m.insert('T', 'T');
m.insert('U', 'U');
m.insert('V', 'V');
m.insert('W', 'W');
m.insert('X', 'X');
m.insert('Y', 'Y');
m.insert('Z', 'Z');
m.insert('0', '0');
m.insert('1', '߁');
m.insert('2', '2');
m.insert('3', '3');
m.insert('4', '4');
m.insert('5', '5');
m.insert('6', '6');
m.insert('7', '7');
m.insert('8', '8');
m.insert('9', '9');
m.insert('.', '.');
m.insert(',', ',');
m.insert('?', '⸮');
m.insert('!', '!');
m.insert('@', '@');
m.insert('#', '#');
m.insert('$', '$');
m.insert('%', '%');
m.insert('^', '^');
m.insert('&', '&');
m.insert('*', '*');
m.insert('(', ')');
m.insert(')', '(');
m.insert('[', ']');
m.insert(']', '[');
m.insert('{', '}');
m.insert('}', '{');
m.insert('<', '>');
m.insert('>', '<');
m.insert('/', '\\');
m.insert('\\', '/');
m.insert('\'', '\'');
m.insert('"', '"');
m.insert('-', '-');
m.insert('_', '_');
m.insert('=', '=');
m.insert('+', '+');
m.insert('`', '`');
m.insert('~', '∽');
m
};
pub static ref FAUX_CYRILLIC: HashMap<char, char> = {
let mut m = HashMap::new();
m.insert('a', 'а');
m.insert('b', 'ъ');
m.insert('c', 'с');
m.insert('d', 'd');
m.insert('e', 'э');
m.insert('f', 'f');
m.insert('g', 'Б');
m.insert('h', 'Ђ');
m.insert('i', 'і');
m.insert('j', 'ј');
m.insert('k', 'к');
m.insert('l', 'l');
m.insert('m', 'м');
m.insert('n', 'и');
m.insert('o', 'о');
m.insert('p', 'р');
m.insert('q', 'q');
m.insert('r', 'ѓ');
m.insert('s', 'ѕ');
m.insert('t', 'т');
m.insert('u', 'ц');
m.insert('v', 'v');
m.insert('w', 'ш');
m.insert('x', 'х');
m.insert('y', 'Ў');
m.insert('z', 'z');
m.insert('A', 'Д');
m.insert('B', 'Б');
m.insert('C', 'C');
m.insert('D', 'D');
m.insert('E', 'Є');
m.insert('F', 'F');
m.insert('G', 'Б');
m.insert('H', 'Н');
m.insert('I', 'І');
m.insert('J', 'Ј');
m.insert('K', 'Ќ');
m.insert('L', 'L');
m.insert('M', 'М');
m.insert('N', 'И');
m.insert('O', 'Ф');
m.insert('P', 'Р');
m.insert('Q', 'Q');
m.insert('R', 'Я');
m.insert('S', 'Ѕ');
m.insert('T', 'Г');
m.insert('U', 'Ц');
m.insert('V', 'V');
m.insert('W', 'Щ');
m.insert('X', 'Ж');
m.insert('Y', 'Ч');
m.insert('Z', 'Z');
m
};
}