1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/// Transform a character to it's mathematical monospace equivalent.
pub fn math_monospace(c: char) -> Option<char> {
    match c {
        // Digits
        '0' => Some('𝟶'),
        '1' => Some('𝟷'),
        '2' => Some('𝟸'),
        '3' => Some('𝟹'),
        '4' => Some('𝟺'),
        '5' => Some('𝟻'),
        '6' => Some('𝟼'),
        '7' => Some('𝟽'),
        '8' => Some('𝟾'),
        '9' => Some('𝟿'),

        // Latin capital letters.
        'A' => Some('𝙰'),
        'B' => Some('𝙱'),
        'C' => Some('𝙲'),
        'D' => Some('𝙳'),
        'E' => Some('𝙴'),
        'F' => Some('𝙵'),
        'G' => Some('𝙶'),
        'H' => Some('𝙷'),
        'I' => Some('𝙸'),
        'J' => Some('𝙹'),
        'K' => Some('𝙺'),
        'L' => Some('𝙻'),
        'M' => Some('𝙼'),
        'N' => Some('𝙽'),
        'O' => Some('𝙾'),
        'P' => Some('𝙿'),
        'Q' => Some('𝚀'),
        'R' => Some('𝚁'),
        'S' => Some('𝚂'),
        'T' => Some('𝚃'),
        'U' => Some('𝚄'),
        'V' => Some('𝚅'),
        'W' => Some('𝚆'),
        'X' => Some('𝚇'),
        'Y' => Some('𝚈'),
        'Z' => Some('𝚉'),

        // Latin small letters.
        'a' => Some('𝚊'),
        'b' => Some('𝚋'),
        'c' => Some('𝚌'),
        'd' => Some('𝚍'),
        'e' => Some('𝚎'),
        'f' => Some('𝚏'),
        'g' => Some('𝚐'),
        'h' => Some('𝚑'),
        'i' => Some('𝚒'),
        'j' => Some('𝚓'),
        'k' => Some('𝚔'),
        'l' => Some('𝚕'),
        'm' => Some('𝚖'),
        'n' => Some('𝚗'),
        'o' => Some('𝚘'),
        'p' => Some('𝚙'),
        'q' => Some('𝚚'),
        'r' => Some('𝚛'),
        's' => Some('𝚜'),
        't' => Some('𝚝'),
        'u' => Some('𝚞'),
        'v' => Some('𝚟'),
        'w' => Some('𝚠'),
        'x' => Some('𝚡'),
        'y' => Some('𝚢'),
        'z' => Some('𝚣'),

        // No equivalence.
        _ => None,
    }
}