math_text_transform/variants/
script.rs

1/// Transform a character to it's mathematical script equivalent.
2pub fn math_script(c: char) -> Option<char> {
3    match c {
4        // Latin capital letters.
5        'A' => Some('𝒜'),
6        'B' => Some('ℬ'),
7        'C' => Some('𝒞'),
8        'D' => Some('𝒟'),
9        'E' => Some('ℰ'),
10        'F' => Some('ℱ'),
11        'G' => Some('𝒢'),
12        'H' => Some('ℋ'),
13        'I' => Some('ℐ'),
14        'J' => Some('𝒥'),
15        'K' => Some('𝒦'),
16        'L' => Some('ℒ'),
17        'M' => Some('ℳ'),
18        'N' => Some('𝒩'),
19        'O' => Some('𝒪'),
20        'P' => Some('𝒫'),
21        'Q' => Some('𝒬'),
22        'R' => Some('ℛ'),
23        'S' => Some('𝒮'),
24        'T' => Some('𝒯'),
25        'U' => Some('𝒰'),
26        'V' => Some('𝒱'),
27        'W' => Some('𝒲'),
28        'X' => Some('𝒳'),
29        'Y' => Some('𝒴'),
30        'Z' => Some('𝒵'),
31
32        // Latin small letters.
33        'a' => Some('𝒶'),
34        'b' => Some('𝒷'),
35        'c' => Some('𝒸'),
36        'd' => Some('𝒹'),
37        'e' => Some('ℯ'),
38        'f' => Some('𝒻'),
39        'g' => Some('ℊ'),
40        'h' => Some('𝒽'),
41        'i' => Some('𝒾'),
42        'j' => Some('𝒿'),
43        'k' => Some('𝓀'),
44        'l' => Some('𝓁'),
45        'm' => Some('𝓂'),
46        'n' => Some('𝓃'),
47        'o' => Some('ℴ'),
48        'p' => Some('𝓅'),
49        'q' => Some('𝓆'),
50        'r' => Some('𝓇'),
51        's' => Some('𝓈'),
52        't' => Some('𝓉'),
53        'u' => Some('𝓊'),
54        'v' => Some('𝓋'),
55        'w' => Some('𝓌'),
56        'x' => Some('𝓍'),
57        'y' => Some('𝓎'),
58        'z' => Some('𝓏'),
59
60        // No equivalence.
61        _ => None,
62    }
63}