Skip to main content

tex_glyphs/
fontstyles.rs

1/*! Font modifiers - e.g. bold, fraktur, italic, etc. */
2use phf::{phf_map, Map};
3use std::fmt::{Display, Write};
4
5/// A font modifier
6#[derive(Copy, Clone, Debug, PartialEq, Eq)]
7pub enum FontModifier {
8    /// Blackboard (e.g. `๐”ธ`)
9    Blackboard = 0,
10    /// Fraktur (e.g. `๐”„`)
11    Fraktur = 1,
12    /// Script (e.g. `๐’œ`)
13    Script = 2,
14    /// Bold (e.g. `๐€`)
15    Bold = 3,
16    /// Small capitals (e.g. `แด€` for `a`)
17    Capitals = 4,
18    /// Monospaced (e.g. `๐™ฐ`, which is distinct from `A`)
19    Monospaced = 5,
20    /// Italic (e.g. `๐ด`)
21    Italic = 6,
22    /// Oblique (e.g. `๐ด` - in unicode, italic and oblique are the same)
23    Oblique = 7,
24    /// Sans serif (e.g. `๐– `, which is distinct from `A`)
25    SansSerif = 8,
26}
27
28/// A sequence of font modifiers, encoded as bitfields
29#[derive(Copy, Clone, Debug, PartialEq, Eq, Default)]
30#[allow(clippy::struct_excessive_bools)]
31pub struct ModifierSeq {
32    pub(crate) blackboard: bool,
33    pub(crate) fraktur: bool,
34    pub(crate) script: bool,
35    pub(crate) bold: bool,
36    pub(crate) capitals: bool,
37    pub(crate) monospaced: bool,
38    pub(crate) italic: bool,
39    pub(crate) oblique: bool,
40    pub(crate) sans_serif: bool,
41}
42impl ModifierSeq {
43    #[inline]
44    fn blackboard() -> Self {
45        Self {
46            blackboard: true,
47            ..Default::default()
48        }
49    }
50
51    #[inline]
52    fn fraktur() -> Self {
53        Self {
54            fraktur: true,
55            ..Default::default()
56        }
57    }
58
59    #[inline]
60    fn script() -> Self {
61        Self {
62            script: true,
63            ..Default::default()
64        }
65    }
66
67    #[inline]
68    fn bold() -> Self {
69        Self {
70            bold: true,
71            ..Default::default()
72        }
73    }
74
75    #[inline]
76    fn capitals() -> Self {
77        Self {
78            capitals: true,
79            ..Default::default()
80        }
81    }
82
83    #[inline]
84    fn monospaced() -> Self {
85        Self {
86            monospaced: true,
87            ..Default::default()
88        }
89    }
90
91    #[inline]
92    fn italic() -> Self {
93        Self {
94            italic: true,
95            ..Default::default()
96        }
97    }
98
99    #[inline]
100    fn oblique() -> Self {
101        Self {
102            oblique: true,
103            ..Default::default()
104        }
105    }
106
107    #[inline]
108    fn sans_serif() -> Self {
109        Self {
110            sans_serif: true,
111            ..Default::default()
112        }
113    }
114
115    /// And empty sequence of modifiers
116    #[must_use]
117    #[inline]
118    pub fn empty() -> Self {
119        Self::default()
120    }
121
122    /// Add a modifier to this sequence
123    pub fn add(&mut self, m: FontModifier) {
124        match m {
125            FontModifier::Blackboard => self.blackboard = true,
126            FontModifier::Fraktur => self.fraktur = true,
127            FontModifier::Script => self.script = true,
128            FontModifier::Bold => self.bold = true,
129            FontModifier::Capitals => self.capitals = true,
130            FontModifier::Monospaced => self.monospaced = true,
131            FontModifier::Italic => self.italic = true,
132            FontModifier::Oblique => self.oblique = true,
133            FontModifier::SansSerif => self.sans_serif = true,
134        }
135    }
136
137    /// Whether this sequence contains the given modifier
138    #[must_use]
139    #[inline]
140    pub const fn has(&self, m: FontModifier) -> bool {
141        match m {
142            FontModifier::Blackboard => self.blackboard,
143            FontModifier::Fraktur => self.fraktur,
144            FontModifier::Script => self.script,
145            FontModifier::Bold => self.bold,
146            FontModifier::Capitals => self.capitals,
147            FontModifier::Monospaced => self.monospaced,
148            FontModifier::Italic => self.italic,
149            FontModifier::Oblique => self.oblique,
150            FontModifier::SansSerif => self.sans_serif,
151        }
152    }
153
154    #[inline]
155    fn map<F: FnMut(&Map<char, char>)>(&self, mut f: F) {
156        if self.has(FontModifier::Blackboard) {
157            f(&BLACKBOARD);
158        }
159        if self.has(FontModifier::Fraktur) {
160            f(&FRAKTUR);
161        }
162        if self.has(FontModifier::Script) {
163            f(&SCRIPT);
164        }
165        if self.has(FontModifier::Bold) {
166            f(&BOLD);
167        }
168        if self.has(FontModifier::Capitals) {
169            f(&CAPITAL);
170        }
171        if self.has(FontModifier::Monospaced) {
172            f(&MONOSPACED);
173        }
174        if self.has(FontModifier::Italic) || self.has(FontModifier::Oblique) {
175            f(&ITALIC);
176        }
177        if self.has(FontModifier::SansSerif) {
178            f(&SANS);
179        }
180    }
181}
182impl From<&[FontModifier]> for ModifierSeq {
183    fn from(mods: &[FontModifier]) -> Self {
184        let mut s = Self::empty();
185        for m in mods {
186            s.add(*m);
187        }
188        s
189    }
190}
191/// A wrapper struct that applies a sequence of font modifiers to a string
192pub struct CharConverter<'a, S: AsRef<str>> {
193    maps: ModifierSeq,
194    iter: &'a S,
195}
196impl<S: AsRef<str>> Display for CharConverter<'_, S> {
197    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
198        let chars = self.iter.as_ref().chars();
199        for mut c in chars {
200            self.maps.map(|m| {
201                if let Some(nc) = m.get(&c) {
202                    c = *nc;
203                }
204            });
205            f.write_char(c)?;
206        }
207        Ok(())
208    }
209}
210
211/// A trait for applying font modifiers to *something*. Implemented for anything
212/// that implements `AsRef<str>`, and for [`CharConverter`] for chaining.
213pub trait FontModifiable {
214    /// The base type of this object; usually `Self`
215    type R: AsRef<str>;
216    /// Apply the given modifiers to this object.
217    fn apply<'a>(self, mods: ModifierSeq) -> CharConverter<'a, Self::R>
218    where
219        Self: 'a;
220    /// Add the given modifiers to this object.
221    fn apply_modifiers<'a>(self, mods: &'a [FontModifier]) -> CharConverter<'a, Self::R>
222    where
223        Self: 'a + Sized,
224    {
225        self.apply(mods.into())
226    }
227    /// Applies the [`Blackboard`](FontModifier::Blackboard) modifier.
228    fn make_blackboard<'a>(self) -> CharConverter<'a, Self::R>
229    where
230        Self: 'a;
231    /// Applies the [`Fraktur`](FontModifier::Fraktur) modifier.
232    fn make_fraktur<'a>(self) -> CharConverter<'a, Self::R>
233    where
234        Self: 'a;
235    /// Applies the [`Script`](FontModifier::Script) modifier.
236    fn make_script<'a>(self) -> CharConverter<'a, Self::R>
237    where
238        Self: 'a;
239    /// Applies the [`Bold`](FontModifier::Bold) modifier.
240    fn make_bold<'a>(self) -> CharConverter<'a, Self::R>
241    where
242        Self: 'a;
243    /// Applies the [`Capitals`](FontModifier::Capitals) modifier.
244    fn make_smallcaps<'a>(self) -> CharConverter<'a, Self::R>
245    where
246        Self: 'a;
247    /// Applies the [`Monospaced`](FontModifier::Monospaced) modifier.
248    fn make_monospaced<'a>(self) -> CharConverter<'a, Self::R>
249    where
250        Self: 'a;
251    /// Applies the [`Italic`](FontModifier::Italic) modifier.
252    fn make_italic<'a>(self) -> CharConverter<'a, Self::R>
253    where
254        Self: 'a;
255    /// Applies the [`Oblique`](FontModifier::Oblique) modifier.
256    fn make_oblique<'a>(self) -> CharConverter<'a, Self::R>
257    where
258        Self: 'a;
259    /// Applies the [`SansSerif`](FontModifier::SansSerif) modifier.
260    fn make_sans<'a>(self) -> CharConverter<'a, Self::R>
261    where
262        Self: 'a;
263}
264
265impl<S: AsRef<str>> FontModifiable for &'_ S {
266    type R = S;
267    fn apply<'b>(self, mods: ModifierSeq) -> CharConverter<'b, S>
268    where
269        Self: 'b,
270    {
271        CharConverter {
272            maps: mods,
273            iter: self,
274        }
275    }
276    fn make_blackboard<'b>(self) -> CharConverter<'b, S>
277    where
278        Self: 'b,
279    {
280        CharConverter {
281            maps: ModifierSeq::blackboard(),
282            iter: self,
283        }
284    }
285    fn make_fraktur<'b>(self) -> CharConverter<'b, S>
286    where
287        Self: 'b,
288    {
289        CharConverter {
290            maps: ModifierSeq::fraktur(),
291            iter: self,
292        }
293    }
294    fn make_script<'b>(self) -> CharConverter<'b, S>
295    where
296        Self: 'b,
297    {
298        CharConverter {
299            maps: ModifierSeq::script(),
300            iter: self,
301        }
302    }
303    fn make_bold<'b>(self) -> CharConverter<'b, S>
304    where
305        Self: 'b,
306    {
307        CharConverter {
308            maps: ModifierSeq::bold(),
309            iter: self,
310        }
311    }
312    fn make_smallcaps<'b>(self) -> CharConverter<'b, S>
313    where
314        Self: 'b,
315    {
316        CharConverter {
317            maps: ModifierSeq::capitals(),
318            iter: self,
319        }
320    }
321    fn make_monospaced<'b>(self) -> CharConverter<'b, S>
322    where
323        Self: 'b,
324    {
325        CharConverter {
326            maps: ModifierSeq::monospaced(),
327            iter: self,
328        }
329    }
330    fn make_italic<'b>(self) -> CharConverter<'b, S>
331    where
332        Self: 'b,
333    {
334        CharConverter {
335            maps: ModifierSeq::italic(),
336            iter: self,
337        }
338    }
339    fn make_oblique<'b>(self) -> CharConverter<'b, S>
340    where
341        Self: 'b,
342    {
343        CharConverter {
344            maps: ModifierSeq::oblique(),
345            iter: self,
346        }
347    }
348    fn make_sans<'b>(self) -> CharConverter<'b, S>
349    where
350        Self: 'b,
351    {
352        CharConverter {
353            maps: ModifierSeq::sans_serif(),
354            iter: self,
355        }
356    }
357}
358
359impl<S: AsRef<str>> FontModifiable for CharConverter<'_, S> {
360    type R = S;
361    fn apply<'b>(mut self, mods: ModifierSeq) -> CharConverter<'b, Self::R>
362    where
363        Self: 'b,
364    {
365        self.maps = mods;
366        self
367    }
368    fn apply_modifiers<'b>(mut self, mods: &'b [FontModifier]) -> CharConverter<'b, S>
369    where
370        Self: 'b,
371    {
372        for m in mods {
373            self.maps.add(*m);
374        }
375        self
376    }
377    fn make_blackboard<'b>(mut self) -> CharConverter<'b, S>
378    where
379        Self: 'b,
380    {
381        self.maps.add(FontModifier::Blackboard);
382        self
383    }
384    fn make_fraktur<'b>(mut self) -> CharConverter<'b, S>
385    where
386        Self: 'b,
387    {
388        self.maps.add(FontModifier::Fraktur);
389        self
390    }
391    fn make_script<'b>(mut self) -> CharConverter<'b, S>
392    where
393        Self: 'b,
394    {
395        self.maps.add(FontModifier::Script);
396        self
397    }
398    fn make_bold<'b>(mut self) -> CharConverter<'b, S>
399    where
400        Self: 'b,
401    {
402        self.maps.add(FontModifier::Bold);
403        self
404    }
405    fn make_smallcaps<'b>(mut self) -> CharConverter<'b, S>
406    where
407        Self: 'b,
408    {
409        self.maps.add(FontModifier::Capitals);
410        self
411    }
412    fn make_monospaced<'b>(mut self) -> CharConverter<'b, S>
413    where
414        Self: 'b,
415    {
416        self.maps.add(FontModifier::Monospaced);
417        self
418    }
419    fn make_italic<'b>(mut self) -> CharConverter<'b, S>
420    where
421        Self: 'b,
422    {
423        self.maps.add(FontModifier::Italic);
424        self
425    }
426    fn make_oblique<'b>(mut self) -> CharConverter<'b, S>
427    where
428        Self: 'b,
429    {
430        self.maps.add(FontModifier::Oblique);
431        self
432    }
433    fn make_sans<'b>(mut self) -> CharConverter<'b, S>
434    where
435        Self: 'b,
436    {
437        self.maps.add(FontModifier::SansSerif);
438        self
439    }
440}
441
442static BLACKBOARD: Map<char, char> = phf_map! {
443    // 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
444    //     => '๐•’๐•“๐•”๐••๐•–๐•—๐•˜๐•™๐•š๐•›๐•œ๐•๐•ž๐•Ÿ๐• ๐•ก๐•ข๐•ฃ๐•ค๐•ฅ๐•ฆ๐•ง๐•จ๐•ฉ๐•ช๐•ซ๐”ธ๐”นโ„‚๐”ป๐”ผ๐”ฝ๐”พโ„๐•€๐•๐•‚๐•ƒ๐•„โ„•๐•†โ„™โ„šโ„๐•Š๐•‹๐•Œ๐•๐•Ž๐•๐•โ„ค๐Ÿ˜๐Ÿ™๐Ÿš๐Ÿ›๐Ÿœ๐Ÿ๐Ÿž๐ŸŸ๐Ÿ ๐Ÿก'
445    'a' => '๐•’','b' => '๐•“','c' => '๐•”','d' => '๐••','e' => '๐•–','f' => '๐•—','g' => '๐•˜',
446    'h' => '๐•™','i' => '๐•š','j' => '๐•›','k' => '๐•œ','l' => '๐•','m' => '๐•ž','n' => '๐•Ÿ',
447    'o' => '๐• ','p' => '๐•ก','q' => '๐•ข','r' => '๐•ฃ','s' => '๐•ค','t' => '๐•ฅ','u' => '๐•ฆ',
448    'v' => '๐•ง','w' => '๐•จ','x' => '๐•ฉ','y' => '๐•ช','z' => '๐•ซ','A' => '๐”ธ','B' => '๐”น',
449    'C' => 'โ„‚','D' => '๐”ป','E' => '๐”ผ','F' => '๐”ฝ','G' => '๐”พ','H' => 'โ„','I' => '๐•€',
450    'J' => '๐•','K' => '๐•‚','L' => '๐•ƒ','M' => '๐•„','N' => 'โ„•','O' => '๐•†','P' => 'โ„™',
451    'Q' => 'โ„š','R' => 'โ„','S' => '๐•Š','T' => '๐•‹','U' => '๐•Œ','V' => '๐•','W' => '๐•Ž',
452    'X' => '๐•','Y' => '๐•','Z' => 'โ„ค','0' => '๐Ÿ˜','1' => '๐Ÿ™','2' => '๐Ÿš','3' => '๐Ÿ›',
453    '4' => '๐Ÿœ','5' => '๐Ÿ','6' => '๐Ÿž','7' => '๐ŸŸ','8' => '๐Ÿ ','9' => '๐Ÿก'
454};
455
456static MONOSPACED: Map<char, char> = phf_map! {
457    // 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
458    //     => '๐šŠ๐š‹๐šŒ๐š๐šŽ๐š๐š๐š‘๐š’๐š“๐š”๐š•๐š–๐š—๐š˜๐š™๐šš๐š›๐šœ๐š๐šž๐šŸ๐š ๐šก๐šข๐šฃ๐™ฐ๐™ฑ๐™ฒ๐™ณ๐™ด๐™ต๐™ถ๐™ท๐™ธ๐™น๐™บ๐™ป๐™ผ๐™ฝ๐™พ๐™ฟ๐š€๐š๐š‚๐šƒ๐š„๐š…๐š†๐š‡๐šˆ๐š‰0๐Ÿท๐Ÿธ๐Ÿน๐Ÿบ๐Ÿป๐Ÿผ๐Ÿฝ๐Ÿพ๐Ÿฟ'
459    'a' => '๐šŠ','b' => '๐š‹','c' => '๐šŒ','d' => '๐š','e' => '๐šŽ','f' => '๐š','g' => '๐š',
460    'h' => '๐š‘','i' => '๐š’','j' => '๐š“','k' => '๐š”','l' => '๐š•','m' => '๐š–','n' => '๐š—',
461    'o' => '๐š˜','p' => '๐š™','q' => '๐šš','r' => '๐š›','s' => '๐šœ','t' => '๐š','u' => '๐šž',
462    'v' => '๐šŸ','w' => '๐š ','x' => '๐šก','y' => '๐šข','z' => '๐šฃ','A' => '๐™ฐ','B' => '๐™ฑ',
463    'C' => '๐™ฒ','D' => '๐™ณ','E' => '๐™ด','F' => '๐™ต','G' => '๐™ถ','H' => '๐™ท','I' => '๐™ธ',
464    'J' => '๐™น','K' => '๐™บ','L' => '๐™ป','M' => '๐™ผ','N' => '๐™ฝ','O' => '๐™พ','P' => '๐™ฟ',
465    'Q' => '๐š€','R' => '๐š','S' => '๐š‚','T' => '๐šƒ','U' => '๐š„','V' => '๐š…','W' => '๐š†',
466    'X' => '๐š‡','Y' => '๐šˆ','Z' => '๐š‰','0' => '๐Ÿถ','1' => '๐Ÿท','2' => '๐Ÿธ','3' => '๐Ÿน',
467    '4' => '๐Ÿบ','5' => '๐Ÿป','6' => '๐Ÿผ','7' => '๐Ÿฝ','8' => '๐Ÿพ','9' => '๐Ÿฟ'
468};
469
470static CAPITAL: Map<char, char> = phf_map! {
471    // 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
472    //     => 'แด€ส™แด„แด…แด‡า“ษขสœษชแดŠแด‹สŸแดษดแดแด˜วซส€sแด›แดœแด แดกxสแดข๐– ๐–ก๐–ข๐–ฃ๐–ค๐–ฅ๐–ฆ๐–ง๐–จ๐–ฉ๐–ช๐–ซ๐–ฌ๐–ญ๐–ฎ๐–ฏ๐–ฐ๐–ฑ๐–ฒ๐–ณ๐–ด๐–ต๐–ถ๐–ท๐–ธ๐–น'
473    'a' => 'แด€','b' => 'ส™','c' => 'แด„','d' => 'แด…','e' => 'แด‡','f' => 'า“','g' => 'ษข',
474    'h' => 'สœ','i' => 'ษช','j' => 'แดŠ','k' => 'แด‹','l' => 'สŸ','m' => 'แด','n' => 'ษด',
475    'o' => 'แด','p' => 'แด˜','q' => 'วซ','r' => 'ส€','s' => 's','t' => 'แด›','u' => 'แดœ',
476    'v' => 'แด ','w' => 'แดก','x' => 'x','y' => 'ส','z' => 'แดข','A' => '๐– ','B' => '๐–ก',
477    'C' => '๐–ข','D' => '๐–ฃ','E' => '๐–ค','F' => '๐–ฅ','G' => '๐–ฆ','H' => '๐–ง','I' => '๐–จ',
478    'J' => '๐–ฉ','K' => '๐–ช','L' => '๐–ซ','M' => '๐–ฌ','N' => '๐–ญ','O' => '๐–ฎ','P' => '๐–ฏ',
479    'Q' => '๐–ฐ','R' => '๐–ฑ','S' => '๐–ฒ','T' => '๐–ณ','U' => '๐–ด','V' => '๐–ต','W' => '๐–ถ',
480    'X' => '๐–ท','Y' => '๐–ธ','Z' => '๐–น'
481};
482
483static SCRIPT: Map<char, char> = phf_map! {
484     // roman
485     //'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
486     //     => '๐’ถ๐’ท๐’ธ๐’นโ„ฏ๐’ปโ„Š๐’ฝ๐’พ๐’ฟ๐“€๐“๐“‚๐“ƒโ„ด๐“…๐“†๐“‡๐“ˆ๐“‰๐“Š๐“‹๐“Œ๐“๐“Ž๐“๐’œโ„ฌ๐’ž๐’Ÿโ„ฐโ„ฑ๐’ขโ„‹โ„๐’ฅ๐’ฆโ„’โ„ณ๐’ฉ๐’ช๐’ซ๐’ฌโ„›๐’ฎ๐’ฏ๐’ฐ๐’ฑ๐’ฒ๐’ณ๐’ด๐’ต'
487    'a' => '๐’ถ','b' => '๐’ท','c' => '๐’ธ','d' => '๐’น','e' => 'โ„ฏ','f' => '๐’ป','g' => 'โ„Š',
488    'h' => '๐’ฝ','i' => '๐’พ','j' => '๐’ฟ','k' => '๐“€','l' => '๐“','m' => '๐“‚','n' => '๐“ƒ',
489    'o' => 'โ„ด','p' => '๐“…','q' => '๐“†','r' => '๐“‡','s' => '๐“ˆ','t' => '๐“‰','u' => '๐“Š',
490    'v' => '๐“‹','w' => '๐“Œ','x' => '๐“','y' => '๐“Ž','z' => '๐“','A' => '๐’œ','B' => 'โ„ฌ',
491    'C' => '๐’ž','D' => '๐’Ÿ','E' => 'โ„ฐ','F' => 'โ„ฑ','G' => '๐’ข','H' => 'โ„‹','I' => 'โ„',
492    'J' => '๐’ฅ','K' => '๐’ฆ','L' => 'โ„’','M' => 'โ„ณ','N' => '๐’ฉ','O' => '๐’ช','P' => '๐’ซ',
493    'Q' => '๐’ฌ','R' => 'โ„›','S' => '๐’ฎ','T' => '๐’ฏ','U' => '๐’ฐ','V' => '๐’ฑ','W' => '๐’ฒ',
494    'X' => '๐’ณ','Y' => '๐’ด','Z' => '๐’ต',
495    // bold
496    // '๐š๐›๐œ๐๐ž๐Ÿ๐ ๐ก๐ข๐ฃ๐ค๐ฅ๐ฆ๐ง๐จ๐ฉ๐ช๐ซ๐ฌ๐ญ๐ฎ๐ฏ๐ฐ๐ฑ๐ฒ๐ณ๐€๐๐‚๐ƒ๐„๐…๐†๐‡๐ˆ๐‰๐Š๐‹๐Œ๐๐Ž๐๐๐‘๐’๐“๐”๐•๐–๐—๐˜๐™'
497    // => '๐“ช๐“ซ๐“ฌ๐“ญ๐“ฎ๐“ฏ๐“ฐ๐“ฑ๐“ฒ๐“ณ๐“ด๐“ต๐“ถ๐“ท๐“ธ๐“น๐“บ๐“ป๐“ผ๐“ฝ๐“พ๐“ฟ๐”€๐”๐”‚๐”ƒ๐“๐“‘๐“’๐““๐“”๐“•๐“–๐“—๐“˜๐“™๐“š๐“›๐“œ๐“๐“ž๐“Ÿ๐“ ๐“ก๐“ข๐“ฃ๐“ค๐“ฅ๐“ฆ๐“ง๐“จ๐“ฉ'
498    '๐š' => '๐“ช', '๐›' => '๐“ซ', '๐œ' => '๐“ฌ', '๐' => '๐“ญ', '๐ž' => '๐“ฎ', '๐Ÿ' => '๐“ฏ', '๐ ' => '๐“ฐ',
499    '๐ก' => '๐“ฑ', '๐ข' => '๐“ฒ', '๐ฃ' => '๐“ณ', '๐ค' => '๐“ด', '๐ฅ' => '๐“ต', '๐ฆ' => '๐“ถ', '๐ง' => '๐“ท',
500    '๐จ' => '๐“ธ', '๐ฉ' => '๐“น', '๐ช' => '๐“บ', '๐ซ' => '๐“ป', '๐ฌ' => '๐“ผ', '๐ญ' => '๐“ฝ', '๐ฎ' => '๐“พ',
501    '๐ฏ' => '๐“ฟ', '๐ฐ' => '๐”€', '๐ฑ' => '๐”', '๐ฒ' => '๐”‚', '๐ณ' => '๐”ƒ', '๐€' => '๐“', '๐' => '๐“‘',
502    '๐‚' => '๐“’', '๐ƒ' => '๐““', '๐„' => '๐“”', '๐…' => '๐“•', '๐†' => '๐“–', '๐‡' => '๐“—', '๐ˆ' => '๐“˜',
503    '๐‰' => '๐“™', '๐Š' => '๐“š', '๐‹' => '๐“›', '๐Œ' => '๐“œ', '๐' => '๐“', '๐Ž' => '๐“ž', '๐' => '๐“Ÿ',
504    '๐' => '๐“ ', '๐‘' => '๐“ก', '๐’' => '๐“ข', '๐“' => '๐“ฃ', '๐”' => '๐“ค', '๐•' => '๐“ฅ', '๐–' => '๐“ฆ',
505    '๐—' => '๐“ง', '๐˜' => '๐“จ', '๐™' => '๐“ฉ'
506};
507
508static FRAKTUR: Map<char, char> = phf_map! {
509    // roman
510    // 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
511    //     => '๐”ž๐”Ÿ๐” ๐”ก๐”ข๐”ฃ๐”ค๐”ฅ๐”ฆ๐”ง๐”จ๐”ฉ๐”ช๐”ซ๐”ฌ๐”ญ๐”ฎ๐”ฏ๐”ฐ๐”ฑ๐”ฒ๐”ณ๐”ด๐”ต๐”ถ๐”ท๐”„๐”…โ„ญ๐”‡๐”ˆ๐”‰๐”Šโ„Œโ„‘๐”๐”Ž๐”๐”๐”‘๐”’๐”“๐””โ„œ๐”–๐”—๐”˜๐”™๐”š๐”›๐”œโ„จ'
512    'a' => '๐”ž','b' => '๐”Ÿ','c' => '๐” ','d' => '๐”ก','e' => '๐”ข','f' => '๐”ฃ','g' => '๐”ค',
513    'h' => '๐”ฅ','i' => '๐”ฆ','j' => '๐”ง','k' => '๐”จ','l' => '๐”ฉ','m' => '๐”ช','n' => '๐”ซ',
514    'o' => '๐”ฌ','p' => '๐”ญ','q' => '๐”ฎ','r' => '๐”ฏ','s' => '๐”ฐ','t' => '๐”ฑ','u' => '๐”ฒ',
515    'v' => '๐”ณ','w' => '๐”ด','x' => '๐”ต','y' => '๐”ถ','z' => '๐”ท','A' => '๐”„','B' => '๐”…',
516    'C' => 'โ„ญ','D' => '๐”‡','E' => '๐”ˆ','F' => '๐”‰','G' => '๐”Š','H' => 'โ„Œ','I' => 'โ„‘',
517    'J' => '๐”','K' => '๐”Ž','L' => '๐”','M' => '๐”','N' => '๐”‘','O' => '๐”’','P' => '๐”“',
518    'Q' => '๐””','R' => 'โ„œ','S' => '๐”–','T' => '๐”—','U' => '๐”˜','V' => '๐”™','W' => '๐”š',
519    'X' => '๐”›','Y' => '๐”œ','Z' => 'โ„จ',
520    // bold
521    // '๐š๐›๐œ๐๐ž๐Ÿ๐ ๐ก๐ข๐ฃ๐ค๐ฅ๐ฆ๐ง๐จ๐ฉ๐ช๐ซ๐ฌ๐ญ๐ฎ๐ฏ๐ฐ๐ฑ๐ฒ๐ณ๐€๐๐‚๐ƒ๐„๐…๐†๐‡๐ˆ๐‰๐Š๐‹๐Œ๐๐Ž๐๐๐‘๐’๐“๐”๐•๐–๐—๐˜๐™'
522    //     => '๐–†๐–‡๐–ˆ๐–‰๐–Š๐–‹๐–Œ๐–๐–Ž๐–๐–๐–‘๐–’๐–“๐–”๐–•๐––๐–—๐–˜๐–™๐–š๐–›๐–œ๐–๐–ž๐–Ÿ๐•ฌ๐•ญ๐•ฎ๐•ฏ๐•ฐ๐•ฑ๐•ฒ๐•ณ๐•ด๐•ต๐•ถ๐•ท๐•ธ๐•น๐•บ๐•ป๐•ผ๐•ฝ๐•พ๐•ฟ๐–€๐–๐–‚๐–ƒ๐–„๐–…'
523    '๐š' => '๐–†','๐›' => '๐–‡','๐œ' => '๐–ˆ','๐' => '๐–‰','๐ž' => '๐–Š','๐Ÿ' => '๐–‹','๐ ' => '๐–Œ',
524    '๐ก' => '๐–','๐ข' => '๐–Ž','๐ฃ' => '๐–','๐ค' => '๐–','๐ฅ' => '๐–‘','๐ฆ' => '๐–’','๐ง' => '๐–“',
525    '๐จ' => '๐–”','๐ฉ' => '๐–•','๐ช' => '๐––','๐ซ' => '๐–—','๐ฌ' => '๐–˜','๐ญ' => '๐–™','๐ฎ' => '๐–š',
526    '๐ฏ' => '๐–›','๐ฐ' => '๐–œ','๐ฑ' => '๐–','๐ฒ' => '๐–ž','๐ณ' => '๐–Ÿ','๐€' => '๐•ฌ','๐' => '๐•ญ',
527    '๐‚' => '๐•ฎ','๐ƒ' => '๐•ฏ','๐„' => '๐•ฐ','๐…' => '๐•ฑ','๐†' => '๐•ฒ','๐‡' => '๐•ณ','๐ˆ' => '๐•ด',
528    '๐‰' => '๐•ต','๐Š' => '๐•ถ','๐‹' => '๐•ท','๐Œ' => '๐•ธ','๐' => '๐•น','๐Ž' => '๐•บ','๐' => '๐•ป',
529    '๐' => '๐•ผ','๐‘' => '๐•ฝ','๐’' => '๐•พ','๐“' => '๐•ฟ','๐”' => '๐–€','๐•' => '๐–','๐–' => '๐–‚',
530    '๐—' => '๐–ƒ','๐˜' => '๐–„','๐™' => '๐–…'
531};
532
533static SANS: Map<char, char> = phf_map! {
534    // roman
535    // 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
536    //     => '๐–บ๐–ป๐–ผ๐–ฝ๐–พ๐–ฟ๐—€๐—๐—‚๐—ƒ๐—„๐—…๐—†๐—‡๐—ˆ๐—‰๐—Š๐—‹๐—Œ๐—๐—Ž๐—๐—๐—‘๐—’๐—“๐– ๐–ก๐–ข๐–ฃ๐–ค๐–ฅ๐–ฆ๐–ง๐–จ๐–ฉ๐–ช๐–ซ๐–ฌ๐–ญ๐–ฎ๐–ฏ๐–ฐ๐–ฑ๐–ฒ๐–ณ๐–ด๐–ต๐–ถ๐–ท๐–ธ๐–น๐Ÿข๐Ÿฃ๐Ÿค๐Ÿฅ๐Ÿฆ๐Ÿง๐Ÿจ๐Ÿฉ๐Ÿช๐Ÿซ'
537    'a' => '๐–บ','b' => '๐–ป','c' => '๐–ผ','d' => '๐–ฝ','e' => '๐–พ','f' => '๐–ฟ','g' => '๐—€',
538    'h' => '๐—','i' => '๐—‚','j' => '๐—ƒ','k' => '๐—„','l' => '๐—…','m' => '๐—†','n' => '๐—‡',
539    'o' => '๐—ˆ','p' => '๐—‰','q' => '๐—Š','r' => '๐—‹','s' => '๐—Œ','t' => '๐—','u' => '๐—Ž',
540    'v' => '๐—','w' => '๐—','x' => '๐—‘','y' => '๐—’','z' => '๐—“','A' => '๐– ','B' => '๐–ก',
541    'C' => '๐–ข','D' => '๐–ฃ','E' => '๐–ค','F' => '๐–ฅ','G' => '๐–ฆ','H' => '๐–ง','I' => '๐–จ',
542    'J' => '๐–ฉ','K' => '๐–ช','L' => '๐–ซ','M' => '๐–ฌ','N' => '๐–ญ','O' => '๐–ฎ','P' => '๐–ฏ',
543    'Q' => '๐–ฐ','R' => '๐–ฑ','S' => '๐–ฒ','T' => '๐–ณ','U' => '๐–ด','V' => '๐–ต','W' => '๐–ถ',
544    'X' => '๐–ท','Y' => '๐–ธ','Z' => '๐–น','0' => '๐Ÿข','1' => '๐Ÿฃ','2' => '๐Ÿค','3' => '๐Ÿฅ',
545    '4' => '๐Ÿฆ','5' => '๐Ÿง','6' => '๐Ÿจ','7' => '๐Ÿฉ','8' => '๐Ÿช','9' => '๐Ÿซ',
546    // bold
547    //  '๐š๐›๐œ๐๐ž๐Ÿ๐ ๐ก๐ข๐ฃ๐ค๐ฅ๐ฆ๐ง๐จ๐ฉ๐ช๐ซ๐ฌ๐ญ๐ฎ๐ฏ๐ฐ๐ฑ๐ฒ๐ณ๐€๐๐‚๐ƒ๐„๐…๐†๐‡๐ˆ๐‰๐Š๐‹๐Œ๐๐Ž๐๐๐‘๐’๐“๐”๐•๐–๐—๐˜๐™๐ŸŽ๐Ÿ๐Ÿ๐Ÿ‘๐Ÿ’๐Ÿ“๐Ÿ”๐Ÿ•๐Ÿ–๐Ÿ—๐šช๐šซ๐šฏ๐šฒ๐šต๐šท๐šน๐šบ๐šผ๐šฝ๐šฟ๐›€๐›‚๐›ƒ๐›„๐›…๐›†๐›‡๐›ˆ๐›‰๐›Š๐›‹๐›Œ๐›๐›Ž๐›๐›‘๐›’๐›”๐›•๐›–๐›—๐›˜๐›™๐›š๐››๐›œ๐›๐›ž๐›Ÿ๐› ๐›ก'
548    //     => '๐—ฎ๐—ฏ๐—ฐ๐—ฑ๐—ฒ๐—ณ๐—ด๐—ต๐—ถ๐—ท๐—ธ๐—น๐—บ๐—ป๐—ผ๐—ฝ๐—พ๐—ฟ๐˜€๐˜๐˜‚๐˜ƒ๐˜„๐˜…๐˜†๐˜‡๐—”๐—•๐—–๐——๐—˜๐—™๐—š๐—›๐—œ๐—๐—ž๐—Ÿ๐— ๐—ก๐—ข๐—ฃ๐—ค๐—ฅ๐—ฆ๐—ง๐—จ๐—ฉ๐—ช๐—ซ๐—ฌ๐—ญ๐Ÿฌ๐Ÿญ๐Ÿฎ๐Ÿฏ๐Ÿฐ๐Ÿฑ๐Ÿฒ๐Ÿณ๐Ÿด๐Ÿต๐˜๐™๐๐ ๐ฃ๐ฅ๐ง๐จ๐ช๐ซ๐ญ๐ฎ๐ฐ๐ฑ๐ฒ๐ณ๐ด๐ต๐ถ๐ท๐ธ๐น๐บ๐ป๐ผ๐ฝ๐ฟ๐ž€๐ž‚๐žƒ๐ž„๐ž…๐ž†๐ž‡๐žˆ๐ž‰๐žŠ๐ž‹๐žŒ๐ž๐žŽ๐ž'
549    '๐š' => '๐—ฎ','๐›' => '๐—ฏ','๐œ' => '๐—ฐ','๐' => '๐—ฑ','๐ž' => '๐—ฒ','๐Ÿ' => '๐—ณ','๐ ' => '๐—ด',
550    '๐ก' => '๐—ต','๐ข' => '๐—ถ','๐ฃ' => '๐—ท','๐ค' => '๐—ธ','๐ฅ' => '๐—น','๐ฆ' => '๐—บ','๐ง' => '๐—ป',
551    '๐จ' => '๐—ผ','๐ฉ' => '๐—ฝ','๐ช' => '๐—พ','๐ซ' => '๐—ฟ','๐ฌ' => '๐˜€','๐ญ' => '๐˜','๐ฎ' => '๐˜‚',
552    '๐ฏ' => '๐˜ƒ','๐ฐ' => '๐˜„','๐ฑ' => '๐˜…','๐ฒ' => '๐˜†','๐ณ' => '๐˜‡','๐€' => '๐—”','๐' => '๐—•',
553    '๐‚' => '๐—–','๐ƒ' => '๐——','๐„' => '๐—˜','๐…' => '๐—™','๐†' => '๐—š','๐‡' => '๐—›','๐ˆ' => '๐—œ',
554    '๐‰' => '๐—','๐Š' => '๐—ž','๐‹' => '๐—Ÿ','๐Œ' => '๐— ','๐' => '๐—ก','๐Ž' => '๐—ข','๐' => '๐—ฃ',
555    '๐' => '๐—ค','๐‘' => '๐—ฅ','๐’' => '๐—ฆ','๐“' => '๐—ง','๐”' => '๐—จ','๐•' => '๐—ฉ','๐–' => '๐—ช',
556    '๐—' => '๐—ซ','๐˜' => '๐—ฌ','๐™' => '๐—ญ','๐ŸŽ' => '๐Ÿฌ','๐Ÿ' => '๐Ÿญ','๐Ÿ' => '๐Ÿฎ','๐Ÿ‘' => '๐Ÿฏ',
557    '๐Ÿ’' => '๐Ÿฐ','๐Ÿ“' => '๐Ÿฑ','๐Ÿ”' => '๐Ÿฒ','๐Ÿ•' => '๐Ÿณ','๐Ÿ–' => '๐Ÿด','๐Ÿ—' => '๐Ÿต','๐šช' => '๐˜',
558    '๐šซ' => '๐™','๐šฏ' => '๐','๐šฒ' => '๐ ','๐šต' => '๐ฃ','๐šท' => '๐ฅ','๐šน' => '๐ง','๐šบ' => '๐จ',
559    '๐šผ' => '๐ช','๐šฝ' => '๐ซ','๐šฟ' => '๐ญ','๐›€' => '๐ฎ','๐›‚' => '๐ฐ','๐›ƒ' => '๐ฑ','๐›„' => '๐ฒ',
560    '๐›…' => '๐ณ','๐›†' => '๐ด','๐›‡' => '๐ต','๐›ˆ' => '๐ถ','๐›‰' => '๐ท','๐›Š' => '๐ธ','๐›‹' => '๐น',
561    '๐›Œ' => '๐บ','๐›' => '๐ป','๐›Ž' => '๐ผ','๐›' => '๐ฝ','๐›‘' => '๐ฟ','๐›’' => '๐ž€','๐›”' => '๐ž‚',
562    '๐›•' => '๐žƒ','๐›–' => '๐ž„','๐›—' => '๐ž…','๐›˜' => '๐ž†','๐›™' => '๐ž‡','๐›š' => '๐žˆ','๐››' => '๐ž‰',
563    '๐›œ' => '๐žŠ','๐›' => '๐ž‹','๐›ž' => '๐žŒ','๐›Ÿ' => '๐ž','๐› ' => '๐žŽ','๐›ก' => '๐ž',
564    // italic
565    // '๐‘Ž๐‘๐‘๐‘‘๐‘’๐‘“๐‘”โ„Ž๐‘–๐‘—๐‘˜๐‘™๐‘š๐‘›๐‘œ๐‘๐‘ž๐‘Ÿ๐‘ ๐‘ก๐‘ข๐‘ฃ๐‘ค๐‘ฅ๐‘ฆ๐‘ง๐ด๐ต๐ถ๐ท๐ธ๐น๐บ๐ป๐ผ๐ฝ๐พ๐ฟ๐‘€๐‘๐‘‚๐‘ƒ๐‘„๐‘…๐‘†๐‘‡๐‘ˆ๐‘‰๐‘Š๐‘‹๐‘Œ๐‘'
566    //     => '๐˜ข๐˜ฃ๐˜ค๐˜ฅ๐˜ฆ๐˜ง๐˜จ๐˜ฉ๐˜ช๐˜ซ๐˜ฌ๐˜ญ๐˜ฎ๐˜ฏ๐˜ฐ๐˜ฑ๐˜ฒ๐˜ณ๐˜ด๐˜ต๐˜ถ๐˜ท๐˜ธ๐˜น๐˜บ๐˜ป๐˜ˆ๐˜‰๐˜Š๐˜‹๐˜Œ๐˜๐˜Ž๐˜๐˜๐˜‘๐˜’๐˜“๐˜”๐˜•๐˜–๐˜—๐˜˜๐˜™๐˜š๐˜›๐˜œ๐˜๐˜ž๐˜Ÿ๐˜ ๐˜ก'
567    '๐‘Ž' => '๐˜ข','๐‘' => '๐˜ฃ','๐‘' => '๐˜ค','๐‘‘' => '๐˜ฅ','๐‘’' => '๐˜ฆ','๐‘“' => '๐˜ง','๐‘”' => '๐˜จ',
568    'โ„Ž' => '๐˜ฉ','๐‘–' => '๐˜ช','๐‘—' => '๐˜ซ','๐‘˜' => '๐˜ฌ','๐‘™' => '๐˜ญ','๐‘š' => '๐˜ฎ','๐‘›' => '๐˜ฏ',
569    '๐‘œ' => '๐˜ฐ','๐‘' => '๐˜ฑ','๐‘ž' => '๐˜ฒ','๐‘Ÿ' => '๐˜ณ','๐‘ ' => '๐˜ด','๐‘ก' => '๐˜ต','๐‘ข' => '๐˜ถ',
570    '๐‘ฃ' => '๐˜ท','๐‘ค' => '๐˜ธ','๐‘ฅ' => '๐˜น','๐‘ฆ' => '๐˜บ','๐‘ง' => '๐˜ป','๐ด' => '๐˜ˆ','๐ต' => '๐˜‰',
571    '๐ถ' => '๐˜Š','๐ท' => '๐˜‹','๐ธ' => '๐˜Œ','๐น' => '๐˜','๐บ' => '๐˜Ž','๐ป' => '๐˜','๐ผ' => '๐˜',
572    '๐ฝ' => '๐˜‘','๐พ' => '๐˜’','๐ฟ' => '๐˜“','๐‘€' => '๐˜”','๐‘' => '๐˜•','๐‘‚' => '๐˜–','๐‘ƒ' => '๐˜—',
573    '๐‘„' => '๐˜˜','๐‘…' => '๐˜™','๐‘†' => '๐˜š','๐‘‡' => '๐˜›','๐‘ˆ' => '๐˜œ','๐‘‰' => '๐˜','๐‘Š' => '๐˜ž',
574    '๐‘‹' => '๐˜Ÿ','๐‘Œ' => '๐˜ ','๐‘' => '๐˜ก',
575    // bold italic
576    //  '๐’‚๐’ƒ๐’„๐’…๐’†๐’‡๐’ˆ๐’‰๐’Š๐’‹๐’Œ๐’๐’Ž๐’๐’๐’‘๐’’๐’“๐’”๐’•๐’–๐’—๐’˜๐’™๐’š๐’›๐‘จ๐‘ฉ๐‘ช๐‘ซ๐‘ฌ๐‘ญ๐‘ฎ๐‘ฏ๐‘ฐ๐‘ฑ๐‘ฒ๐‘ณ๐‘ด๐‘ต๐‘ถ๐‘ท๐‘ธ๐‘น๐‘บ๐‘ป๐‘ผ๐‘ฝ๐‘พ๐‘ฟ๐’€๐’๐œž๐œŸ๐œฃ๐œฆ๐œฉ๐œซ๐œญ๐œฎ๐œฐ๐œฑ๐œณ๐œด๐œถ๐œท๐œธ๐œน๐œบ๐œป๐œผ๐œฝ๐œพ๐œฟ๐€๐๐‚๐ƒ๐…๐†๐ˆ๐‰๐Š๐‹๐Œ๐๐Ž๐๐๐‘๐’๐“๐”๐•'
577    //     => '๐™–๐™—๐™˜๐™™๐™š๐™›๐™œ๐™๐™ž๐™Ÿ๐™ ๐™ก๐™ข๐™ฃ๐™ค๐™ฅ๐™ฆ๐™ง๐™จ๐™ฉ๐™ช๐™ซ๐™ฌ๐™ญ๐™ฎ๐™ฏ๐˜ผ๐˜ฝ๐˜พ๐˜ฟ๐™€๐™๐™‚๐™ƒ๐™„๐™…๐™†๐™‡๐™ˆ๐™‰๐™Š๐™‹๐™Œ๐™๐™Ž๐™๐™๐™‘๐™’๐™“๐™”๐™•๐ž’๐ž“๐ž—๐žš๐ž๐žŸ๐žก๐žข๐žค๐žฅ๐žง๐žจ๐žช๐žซ๐žฌ๐žญ๐žฎ๐žฏ๐žฐ๐žฑ๐žฒ๐žณ๐žด๐žต๐žถ๐žท๐žน๐žบ๐žผ๐žฝ๐žพ๐žฟ๐Ÿ€๐Ÿ๐Ÿ‚๐Ÿƒ๐Ÿ„๐Ÿ…๐Ÿ†๐Ÿ‡๐Ÿˆ๐Ÿ‰'
578    '๐’‚' => '๐™–','๐’ƒ' => '๐™—','๐’„' => '๐™˜','๐’…' => '๐™™','๐’†' => '๐™š','๐’‡' => '๐™›','๐’ˆ' => '๐™œ',
579    '๐’‰' => '๐™','๐’Š' => '๐™ž','๐’‹' => '๐™Ÿ','๐’Œ' => '๐™ ','๐’' => '๐™ก','๐’Ž' => '๐™ข','๐’' => '๐™ฃ',
580    '๐’' => '๐™ค','๐’‘' => '๐™ฅ','๐’’' => '๐™ฆ','๐’“' => '๐™ง','๐’”' => '๐™จ','๐’•' => '๐™ฉ','๐’–' => '๐™ช',
581    '๐’—' => '๐™ซ','๐’˜' => '๐™ฌ','๐’™' => '๐™ญ','๐’š' => '๐™ฎ','๐’›' => '๐™ฏ','๐‘จ' => '๐˜ผ','๐‘ฉ' => '๐˜ฝ',
582    '๐‘ช' => '๐˜พ','๐‘ซ' => '๐˜ฟ','๐‘ฌ' => '๐™€','๐‘ญ' => '๐™','๐‘ฎ' => '๐™‚','๐‘ฏ' => '๐™ƒ','๐‘ฐ' => '๐™„',
583    '๐‘ฑ' => '๐™…','๐‘ฒ' => '๐™†','๐‘ณ' => '๐™‡','๐‘ด' => '๐™ˆ','๐‘ต' => '๐™‰','๐‘ถ' => '๐™Š','๐‘ท' => '๐™‹',
584    '๐‘ธ' => '๐™Œ','๐‘น' => '๐™','๐‘บ' => '๐™Ž','๐‘ป' => '๐™','๐‘ผ' => '๐™','๐‘ฝ' => '๐™‘','๐‘พ' => '๐™’',
585    '๐‘ฟ' => '๐™“','๐’€' => '๐™”','๐’' => '๐™•','๐œž' => '๐ž’','๐œŸ' => '๐ž“','๐œฃ' => '๐ž—','๐œฆ' => '๐žš',
586    '๐œฉ' => '๐ž','๐œซ' => '๐žŸ','๐œญ' => '๐žก','๐œฎ' => '๐žข','๐œฐ' => '๐žค','๐œฑ' => '๐žฅ','๐œณ' => '๐žง',
587    '๐œด' => '๐žจ','๐œถ' => '๐žช','๐œท' => '๐žซ','๐œธ' => '๐žฌ','๐œน' => '๐žญ','๐œบ' => '๐žฎ','๐œป' => '๐žฏ',
588    '๐œผ' => '๐žฐ','๐œฝ' => '๐žฑ','๐œพ' => '๐žฒ','๐œฟ' => '๐žณ','๐€' => '๐žด','๐' => '๐žต','๐‚' => '๐žถ',
589    '๐ƒ' => '๐žท','๐…' => '๐žน','๐†' => '๐žบ','๐ˆ' => '๐žผ','๐‰' => '๐žฝ','๐Š' => '๐žพ','๐‹' => '๐žฟ',
590    '๐Œ' => '๐Ÿ€','๐' => '๐Ÿ','๐Ž' => '๐Ÿ‚','๐' => '๐Ÿƒ','๐' => '๐Ÿ„','๐‘' => '๐Ÿ…','๐’' => '๐Ÿ†',
591    '๐“' => '๐Ÿ‡','๐”' => '๐Ÿˆ','๐•' => '๐Ÿ‰',
592};
593
594static BOLD: Map<char, char> = phf_map! {
595    // roman
596    // 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ฮ“โˆ†ฮ˜ฮ›ฮžฮ ฯดฮฃฮฅฮฆฮจฮฉฮฑฮฒฮณฮดฮตฮถฮทฮธฮนฮบฮปฮผฮฝฮพฯ€ฯฯƒฯ„ฯ…ฯ†ฯ‡ฯˆฯ‰โˆ‚ฯตฯ‘ฯฐฯ•ฯฑฯ–'
597    //     => '๐š๐›๐œ๐๐ž๐Ÿ๐ ๐ก๐ข๐ฃ๐ค๐ฅ๐ฆ๐ง๐จ๐ฉ๐ช๐ซ๐ฌ๐ญ๐ฎ๐ฏ๐ฐ๐ฑ๐ฒ๐ณ๐€๐๐‚๐ƒ๐„๐…๐†๐‡๐ˆ๐‰๐Š๐‹๐Œ๐๐Ž๐๐๐‘๐’๐“๐”๐•๐–๐—๐˜๐™๐ŸŽ๐Ÿ๐Ÿ๐Ÿ‘๐Ÿ’๐Ÿ“๐Ÿ”๐Ÿ•๐Ÿ–๐Ÿ—๐šช๐šซ๐šฏ๐šฒ๐šต๐šท๐šน๐šบ๐šผ๐šฝ๐šฟ๐›€๐›‚๐›ƒ๐›„๐›…๐›†๐›‡๐›ˆ๐›‰๐›Š๐›‹๐›Œ๐›๐›Ž๐›๐›‘๐›’๐›”๐›•๐›–๐›—๐›˜๐›™๐›š๐››๐›œ๐›๐›ž๐›Ÿ๐› ๐›ก'
598    'a' => '๐š','b' => '๐›','c' => '๐œ','d' => '๐','e' => '๐ž','f' => '๐Ÿ','g' => '๐ ',
599    'h' => '๐ก','i' => '๐ข','j' => '๐ฃ','k' => '๐ค','l' => '๐ฅ','m' => '๐ฆ','n' => '๐ง',
600    'o' => '๐จ','p' => '๐ฉ','q' => '๐ช','r' => '๐ซ','s' => '๐ฌ','t' => '๐ญ','u' => '๐ฎ',
601    'v' => '๐ฏ','w' => '๐ฐ','x' => '๐ฑ','y' => '๐ฒ','z' => '๐ณ','A' => '๐€','B' => '๐',
602    'C' => '๐‚','D' => '๐ƒ','E' => '๐„','F' => '๐…','G' => '๐†','H' => '๐‡','I' => '๐ˆ',
603    'J' => '๐‰','K' => '๐Š','L' => '๐‹','M' => '๐Œ','N' => '๐','O' => '๐Ž','P' => '๐',
604    'Q' => '๐','R' => '๐‘','S' => '๐’','T' => '๐“','U' => '๐”','V' => '๐•','W' => '๐–',
605    'X' => '๐—','Y' => '๐˜','Z' => '๐™','0' => '๐ŸŽ','1' => '๐Ÿ','2' => '๐Ÿ','3' => '๐Ÿ‘',
606    '4' => '๐Ÿ’','5' => '๐Ÿ“','6' => '๐Ÿ”','7' => '๐Ÿ•','8' => '๐Ÿ–','9' => '๐Ÿ—','ฮ“' => '๐šช',
607    'โˆ†' => '๐šซ','ฮ˜' => '๐šฏ','ฮ›' => '๐šฒ','ฮž' => '๐šต','ฮ ' => '๐šท','ฯด' => '๐šน','ฮฃ' => '๐šบ',
608    'ฮฅ' => '๐šผ','ฮฆ' => '๐šฝ','ฮจ' => '๐šฟ','ฮฉ' => '๐›€','ฮฑ' => '๐›‚','ฮฒ' => '๐›ƒ','ฮณ' => '๐›„',
609    'ฮด' => '๐›…','ฮต' => '๐›†','ฮถ' => '๐›‡','ฮท' => '๐›ˆ','ฮธ' => '๐›‰','ฮน' => '๐›Š','ฮบ' => '๐›‹',
610    'ฮป' => '๐›Œ','ฮผ' => '๐›','ฮฝ' => '๐›Ž','ฮพ' => '๐›','ฯ€' => '๐›‘','ฯ' => '๐›’','ฯƒ' => '๐›”',
611    'ฯ„' => '๐›•','ฯ…' => '๐›–','ฯ†' => '๐›—','ฯ‡' => '๐›˜','ฯˆ' => '๐›™','ฯ‰' => '๐›š','โˆ‚' => '๐››',
612    'ฯต' => '๐›œ','ฯ‘' => '๐›','ฯฐ' => '๐›ž','ฯ•' => '๐›Ÿ','ฯฑ' => '๐› ','ฯ–' => '๐›ก',
613    // script
614    // '๐’ถ๐’ท๐’ธ๐’นโ„ฏ๐’ปโ„Š๐’ฝ๐’พ๐’ฟ๐“€๐“๐“‚๐“ƒโ„ด๐“…๐“†๐“‡๐“ˆ๐“‰๐“Š๐“‹๐“Œ๐“๐“Ž๐“๐’œโ„ฌ๐’ž๐’Ÿโ„ฐโ„ฑ๐’ขโ„‹โ„๐’ฅ๐’ฆโ„’โ„ณ๐’ฉ๐’ช๐’ซ๐’ฌโ„›๐’ฎ๐’ฏ๐’ฐ๐’ฑ๐’ฒ๐’ณ๐’ด๐’ต'
615    //     => '๐“ช๐“ซ๐“ฌ๐“ญ๐“ฎ๐“ฏ๐“ฐ๐“ฑ๐“ฒ๐“ณ๐“ด๐“ต๐“ถ๐“ท๐“ธ๐“น๐“บ๐“ป๐“ผ๐“ฝ๐“พ๐“ฟ๐”€๐”๐”‚๐”ƒ๐“๐“‘๐“’๐““๐“”๐“•๐“–๐“—๐“˜๐“™๐“š๐“›๐“œ๐“๐“ž๐“Ÿ๐“ ๐“ก๐“ข๐“ฃ๐“ค๐“ฅ๐“ฆ๐“ง๐“จ๐“ฉ'
616    '๐’ถ' => '๐“ช','๐’ท' => '๐“ซ','๐’ธ' => '๐“ฌ','๐’น' => '๐“ญ','โ„ฏ' => '๐“ฎ','๐’ป' => '๐“ฏ','โ„Š' => '๐“ฐ',
617    '๐’ฝ' => '๐“ฑ','๐’พ' => '๐“ฒ','๐’ฟ' => '๐“ณ','๐“€' => '๐“ด','๐“' => '๐“ต','๐“‚' => '๐“ถ','๐“ƒ' => '๐“ท',
618    'โ„ด' => '๐“ธ','๐“…' => '๐“น','๐“†' => '๐“บ','๐“‡' => '๐“ป','๐“ˆ' => '๐“ผ','๐“‰' => '๐“ฝ','๐“Š' => '๐“พ',
619    '๐“‹' => '๐“ฟ','๐“Œ' => '๐”€','๐“' => '๐”','๐“Ž' => '๐”‚','๐“' => '๐”ƒ','๐’œ' => '๐“','โ„ฌ' => '๐“‘',
620    '๐’ž' => '๐“’','๐’Ÿ' => '๐““','โ„ฐ' => '๐“”','โ„ฑ' => '๐“•','๐’ข' => '๐“–','โ„‹' => '๐“—','โ„' => '๐“˜',
621    '๐’ฅ' => '๐“™','๐’ฆ' => '๐“š','โ„’' => '๐“›','โ„ณ' => '๐“œ','๐’ฉ' => '๐“','๐’ช' => '๐“ž','๐’ซ' => '๐“Ÿ',
622    '๐’ฌ' => '๐“ ','โ„›' => '๐“ก','๐’ฎ' => '๐“ข','๐’ฏ' => '๐“ฃ','๐’ฐ' => '๐“ค','๐’ฑ' => '๐“ฅ','๐’ฒ' => '๐“ฆ',
623    '๐’ณ' => '๐“ง','๐’ด' => '๐“จ','๐’ต' => '๐“ฉ',
624    // italic
625    // '๐‘Ž๐‘๐‘๐‘‘๐‘’๐‘“๐‘”โ„Ž๐‘–๐‘—๐‘˜๐‘™๐‘š๐‘›๐‘œ๐‘๐‘ž๐‘Ÿ๐‘ ๐‘ก๐‘ข๐‘ฃ๐‘ค๐‘ฅ๐‘ฆ๐‘ง๐ด๐ต๐ถ๐ท๐ธ๐น๐บ๐ป๐ผ๐ฝ๐พ๐ฟ๐‘€๐‘๐‘‚๐‘ƒ๐‘„๐‘…๐‘†๐‘‡๐‘ˆ๐‘‰๐‘Š๐‘‹๐‘Œ๐‘๐›ค๐›ฅ๐›ฉ๐›ฌ๐›ฏ๐›ฑ๐›ณ๐›ด๐›ถ๐›ท๐›น๐›บ๐›ผ๐›ฝ๐›พ๐›ฟ๐œ€๐œ๐œ‚๐œƒ๐œ„๐œ…๐œ†๐œ‡๐œˆ๐œ‰๐œ‹๐œŒ๐œŽ๐œ๐œ๐œ‘๐œ’๐œ“๐œ”๐œ•๐œ–๐œ—๐œ˜๐œ™๐œš๐œ›'
626    //     => '๐’‚๐’ƒ๐’„๐’…๐’†๐’‡๐’ˆ๐’‰๐’Š๐’‹๐’Œ๐’๐’Ž๐’๐’๐’‘๐’’๐’“๐’”๐’•๐’–๐’—๐’˜๐’™๐’š๐’›๐‘จ๐‘ฉ๐‘ช๐‘ซ๐‘ฌ๐‘ญ๐‘ฎ๐‘ฏ๐‘ฐ๐‘ฑ๐‘ฒ๐‘ณ๐‘ด๐‘ต๐‘ถ๐‘ท๐‘ธ๐‘น๐‘บ๐‘ป๐‘ผ๐‘ฝ๐‘พ๐‘ฟ๐’€๐’๐œž๐œŸ๐œฃ๐œฆ๐œฉ๐œซ๐œญ๐œฎ๐œฐ๐œฑ๐œณ๐œด๐œถ๐œท๐œธ๐œน๐œบ๐œป๐œผ๐œฝ๐œพ๐œฟ๐€๐๐‚๐ƒ๐…๐†๐ˆ๐‰๐Š๐‹๐Œ๐๐Ž๐๐๐‘๐’๐“๐”๐•'
627    '๐‘Ž' => '๐’‚','๐‘' => '๐’ƒ','๐‘' => '๐’„','๐‘‘' => '๐’…','๐‘’' => '๐’†','๐‘“' => '๐’‡','๐‘”' => '๐’ˆ',
628    'โ„Ž' => '๐’‰','๐‘–' => '๐’Š','๐‘—' => '๐’‹','๐‘˜' => '๐’Œ','๐‘™' => '๐’','๐‘š' => '๐’Ž','๐‘›' => '๐’',
629    '๐‘œ' => '๐’','๐‘' => '๐’‘','๐‘ž' => '๐’’','๐‘Ÿ' => '๐’“','๐‘ ' => '๐’”','๐‘ก' => '๐’•','๐‘ข' => '๐’–',
630    '๐‘ฃ' => '๐’—','๐‘ค' => '๐’˜','๐‘ฅ' => '๐’™','๐‘ฆ' => '๐’š','๐‘ง' => '๐’›','๐ด' => '๐‘จ','๐ต' => '๐‘ฉ',
631    '๐ถ' => '๐‘ช','๐ท' => '๐‘ซ','๐ธ' => '๐‘ฌ','๐น' => '๐‘ญ','๐บ' => '๐‘ฎ','๐ป' => '๐‘ฏ','๐ผ' => '๐‘ฐ',
632    '๐ฝ' => '๐‘ฑ','๐พ' => '๐‘ฒ','๐ฟ' => '๐‘ณ','๐‘€' => '๐‘ด','๐‘' => '๐‘ต','๐‘‚' => '๐‘ถ','๐‘ƒ' => '๐‘ท',
633    '๐‘„' => '๐‘ธ','๐‘…' => '๐‘น','๐‘†' => '๐‘บ','๐‘‡' => '๐‘ป','๐‘ˆ' => '๐‘ผ','๐‘‰' => '๐‘ฝ','๐‘Š' => '๐‘พ',
634    '๐‘‹' => '๐‘ฟ','๐‘Œ' => '๐’€','๐‘' => '๐’','๐›ค' => '๐œž','๐›ฅ' => '๐œŸ','๐›ฉ' => '๐œฃ','๐›ฌ' => '๐œฆ',
635    '๐›ฏ' => '๐œฉ','๐›ฑ' => '๐œซ','๐›ณ' => '๐œญ','๐›ด' => '๐œฎ','๐›ถ' => '๐œฐ','๐›ท' => '๐œฑ','๐›น' => '๐œณ',
636    '๐›บ' => '๐œด','๐›ผ' => '๐œถ','๐›ฝ' => '๐œท','๐›พ' => '๐œธ','๐›ฟ' => '๐œน','๐œ€' => '๐œบ','๐œ' => '๐œป',
637    '๐œ‚' => '๐œผ','๐œƒ' => '๐œฝ','๐œ„' => '๐œพ','๐œ…' => '๐œฟ','๐œ†' => '๐€','๐œ‡' => '๐','๐œˆ' => '๐‚',
638    '๐œ‰' => '๐ƒ','๐œ‹' => '๐…','๐œŒ' => '๐†','๐œŽ' => '๐ˆ','๐œ' => '๐‰','๐œ' => '๐Š','๐œ‘' => '๐‹',
639    '๐œ’' => '๐Œ','๐œ“' => '๐','๐œ”' => '๐Ž','๐œ•' => '๐','๐œ–' => '๐','๐œ—' => '๐‘','๐œ˜' => '๐’',
640    '๐œ™' => '๐“','๐œš' => '๐”','๐œ›' => '๐•',
641    // sans
642    // '๐–บ๐–ป๐–ผ๐–ฝ๐–พ๐–ฟ๐—€๐—๐—‚๐—ƒ๐—„๐—…๐—†๐—‡๐—ˆ๐—‰๐—Š๐—‹๐—Œ๐—๐—Ž๐—๐—๐—‘๐—’๐—“๐– ๐–ก๐–ข๐–ฃ๐–ค๐–ฅ๐–ฆ๐–ง๐–จ๐–ฉ๐–ช๐–ซ๐–ฌ๐–ญ๐–ฎ๐–ฏ๐–ฐ๐–ฑ๐–ฒ๐–ณ๐–ด๐–ต๐–ถ๐–ท๐–ธ๐–น๐Ÿข๐Ÿฃ๐Ÿค๐Ÿฅ๐Ÿฆ๐Ÿง๐Ÿจ๐Ÿฉ๐Ÿช๐Ÿซ'
643    //     => '๐—ฎ๐—ฏ๐—ฐ๐—ฑ๐—ฒ๐—ณ๐—ด๐—ต๐—ถ๐—ท๐—ธ๐—น๐—บ๐—ป๐—ผ๐—ฝ๐—พ๐—ฟ๐˜€๐˜๐˜‚๐˜ƒ๐˜„๐˜…๐˜†๐˜‡๐—”๐—•๐—–๐——๐—˜๐—™๐—š๐—›๐—œ๐—๐—ž๐—Ÿ๐— ๐—ก๐—ข๐—ฃ๐—ค๐—ฅ๐—ฆ๐—ง๐—จ๐—ฉ๐—ช๐—ซ๐—ฌ๐—ญ๐Ÿฌ๐Ÿญ๐Ÿฎ๐Ÿฏ๐Ÿฐ๐Ÿฑ๐Ÿฒ๐Ÿณ๐Ÿด๐Ÿต'
644    '๐–บ' => '๐—ฎ','๐–ป' => '๐—ฏ','๐–ผ' => '๐—ฐ','๐–ฝ' => '๐—ฑ','๐–พ' => '๐—ฒ','๐–ฟ' => '๐—ณ','๐—€' => '๐—ด',
645    '๐—' => '๐—ต','๐—‚' => '๐—ถ','๐—ƒ' => '๐—ท','๐—„' => '๐—ธ','๐—…' => '๐—น','๐—†' => '๐—บ','๐—‡' => '๐—ป',
646    '๐—ˆ' => '๐—ผ','๐—‰' => '๐—ฝ','๐—Š' => '๐—พ','๐—‹' => '๐—ฟ','๐—Œ' => '๐˜€','๐—' => '๐˜','๐—Ž' => '๐˜‚',
647    '๐—' => '๐˜ƒ','๐—' => '๐˜„','๐—‘' => '๐˜…','๐—’' => '๐˜†','๐—“' => '๐˜‡','๐– ' => '๐—”','๐–ก' => '๐—•',
648    '๐–ข' => '๐—–','๐–ฃ' => '๐——','๐–ค' => '๐—˜','๐–ฅ' => '๐—™','๐–ฆ' => '๐—š','๐–ง' => '๐—›','๐–จ' => '๐—œ',
649    '๐–ฉ' => '๐—','๐–ช' => '๐—ž','๐–ซ' => '๐—Ÿ','๐–ฌ' => '๐— ','๐–ญ' => '๐—ก','๐–ฎ' => '๐—ข','๐–ฏ' => '๐—ฃ',
650    '๐–ฐ' => '๐—ค','๐–ฑ' => '๐—ฅ','๐–ฒ' => '๐—ฆ','๐–ณ' => '๐—ง','๐–ด' => '๐—จ','๐–ต' => '๐—ฉ','๐–ถ' => '๐—ช',
651    '๐–ท' => '๐—ซ','๐–ธ' => '๐—ฌ','๐–น' => '๐—ญ','๐Ÿข' => '๐Ÿฌ','๐Ÿฃ' => '๐Ÿญ','๐Ÿค' => '๐Ÿฎ','๐Ÿฅ' => '๐Ÿฏ',
652    '๐Ÿฆ' => '๐Ÿฐ','๐Ÿง' => '๐Ÿฑ','๐Ÿจ' => '๐Ÿฒ','๐Ÿฉ' => '๐Ÿณ','๐Ÿช' => '๐Ÿด','๐Ÿซ' => '๐Ÿต',
653    // fraktur
654    // '๐”ž๐”Ÿ๐” ๐”ก๐”ข๐”ฃ๐”ค๐”ฅ๐”ฆ๐”ง๐”จ๐”ฉ๐”ช๐”ซ๐”ฌ๐”ญ๐”ฎ๐”ฏ๐”ฐ๐”ฑ๐”ฒ๐”ณ๐”ด๐”ต๐”ถ๐”ท๐”„๐”…โ„ญ๐”‡๐”ˆ๐”‰๐”Šโ„Œโ„‘๐”๐”Ž๐”๐”๐”‘๐”’๐”“๐””โ„œ๐”–๐”—๐”˜๐”™๐”š๐”›๐”œโ„จ'
655    //     => '๐–†๐–‡๐–ˆ๐–‰๐–Š๐–‹๐–Œ๐–๐–Ž๐–๐–๐–‘๐–’๐–“๐–”๐–•๐––๐–—๐–˜๐–™๐–š๐–›๐–œ๐–๐–ž๐–Ÿ๐•ฌ๐•ญ๐•ฎ๐•ฏ๐•ฐ๐•ฑ๐•ฒ๐•ณ๐•ด๐•ต๐•ถ๐•ท๐•ธ๐•น๐•บ๐•ป๐•ผ๐•ฝ๐•พ๐•ฟ๐–€๐–๐–‚๐–ƒ๐–„๐–…'
656    '๐”ž' => '๐–†','๐”Ÿ' => '๐–‡','๐” ' => '๐–ˆ','๐”ก' => '๐–‰','๐”ข' => '๐–Š','๐”ฃ' => '๐–‹','๐”ค' => '๐–Œ',
657    '๐”ฅ' => '๐–','๐”ฆ' => '๐–Ž','๐”ง' => '๐–','๐”จ' => '๐–','๐”ฉ' => '๐–‘','๐”ช' => '๐–’','๐”ซ' => '๐–“',
658    '๐”ฌ' => '๐–”','๐”ญ' => '๐–•','๐”ฎ' => '๐––','๐”ฏ' => '๐–—','๐”ฐ' => '๐–˜','๐”ฑ' => '๐–™','๐”ฒ' => '๐–š',
659    '๐”ณ' => '๐–›','๐”ด' => '๐–œ','๐”ต' => '๐–','๐”ถ' => '๐–ž','๐”ท' => '๐–Ÿ','๐”„' => '๐•ฌ','๐”…' => '๐•ญ',
660    'โ„ญ' => '๐•ฎ','๐”‡' => '๐•ฏ','๐”ˆ' => '๐•ฐ','๐”‰' => '๐•ฑ','๐”Š' => '๐•ฒ','โ„Œ' => '๐•ณ','โ„‘' => '๐•ด',
661    '๐”' => '๐•ต','๐”Ž' => '๐•ถ','๐”' => '๐•ท','๐”' => '๐•ธ','๐”‘' => '๐•น','๐”’' => '๐•บ','๐”“' => '๐•ป',
662    '๐””' => '๐•ผ','โ„œ' => '๐•ฝ','๐”–' => '๐•พ','๐”—' => '๐•ฟ','๐”˜' => '๐–€','๐”™' => '๐–','๐”š' => '๐–‚',
663    '๐”›' => '๐–ƒ','๐”œ' => '๐–„','โ„จ' => '๐–…',
664    // italic sans
665    // '๐˜ข๐˜ฃ๐˜ค๐˜ฅ๐˜ฆ๐˜ง๐˜จ๐˜ฉ๐˜ช๐˜ซ๐˜ฌ๐˜ญ๐˜ฎ๐˜ฏ๐˜ฐ๐˜ฑ๐˜ฒ๐˜ณ๐˜ด๐˜ต๐˜ถ๐˜ท๐˜ธ๐˜น๐˜บ๐˜ป๐˜ˆ๐˜‰๐˜Š๐˜‹๐˜Œ๐˜๐˜Ž๐˜๐˜๐˜‘๐˜’๐˜“๐˜”๐˜•๐˜–๐˜—๐˜˜๐˜™๐˜š๐˜›๐˜œ๐˜๐˜ž๐˜Ÿ๐˜ ๐˜ก'
666    //     => '๐™–๐™—๐™˜๐™™๐™š๐™›๐™œ๐™๐™ž๐™Ÿ๐™ ๐™ก๐™ข๐™ฃ๐™ค๐™ฅ๐™ฆ๐™ง๐™จ๐™ฉ๐™ช๐™ซ๐™ฌ๐™ญ๐™ฎ๐™ฏ๐˜ผ๐˜ฝ๐˜พ๐˜ฟ๐™€๐™๐™‚๐™ƒ๐™„๐™…๐™†๐™‡๐™ˆ๐™‰๐™Š๐™‹๐™Œ๐™๐™Ž๐™๐™๐™‘๐™’๐™“๐™”๐™•'
667    '๐˜ข' => '๐™–','๐˜ฃ' => '๐™—','๐˜ค' => '๐™˜','๐˜ฅ' => '๐™™','๐˜ฆ' => '๐™š','๐˜ง' => '๐™›','๐˜จ' => '๐™œ',
668    '๐˜ฉ' => '๐™','๐˜ช' => '๐™ž','๐˜ซ' => '๐™Ÿ','๐˜ฌ' => '๐™ ','๐˜ญ' => '๐™ก','๐˜ฎ' => '๐™ข','๐˜ฏ' => '๐™ฃ',
669    '๐˜ฐ' => '๐™ค','๐˜ฑ' => '๐™ฅ','๐˜ฒ' => '๐™ฆ','๐˜ณ' => '๐™ง','๐˜ด' => '๐™จ','๐˜ต' => '๐™ฉ','๐˜ถ' => '๐™ช',
670    '๐˜ท' => '๐™ซ','๐˜ธ' => '๐™ฌ','๐˜น' => '๐™ญ','๐˜บ' => '๐™ฎ','๐˜ป' => '๐™ฏ','๐˜ˆ' => '๐˜ผ','๐˜‰' => '๐˜ฝ',
671    '๐˜Š' => '๐˜พ','๐˜‹' => '๐˜ฟ','๐˜Œ' => '๐™€','๐˜' => '๐™','๐˜Ž' => '๐™‚','๐˜' => '๐™ƒ','๐˜' => '๐™„',
672    '๐˜‘' => '๐™…','๐˜’' => '๐™†','๐˜“' => '๐™‡','๐˜”' => '๐™ˆ','๐˜•' => '๐™‰','๐˜–' => '๐™Š','๐˜—' => '๐™‹',
673    '๐˜˜' => '๐™Œ','๐˜™' => '๐™','๐˜š' => '๐™Ž','๐˜›' => '๐™','๐˜œ' => '๐™','๐˜' => '๐™‘','๐˜ž' => '๐™’',
674    '๐˜Ÿ' => '๐™“','๐˜ ' => '๐™”','๐˜ก' => '๐™•',
675};
676
677static ITALIC: Map<char, char> = phf_map! {
678    // roman
679    // 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZฮ“โˆ†ฮ˜ฮ›ฮžฮ ฯดฮฃฮฅฮฆฮจฮฉฮฑฮฒฮณฮดฮตฮถฮทฮธฮนฮบฮปฮผฮฝฮพฯ€ฯฯƒฯ„ฯ…ฯ†ฯ‡ฯˆฯ‰โˆ‚ฯตฯ‘ฯฐฯ•ฯฑฯ–'
680    //     => '๐‘Ž๐‘๐‘๐‘‘๐‘’๐‘“๐‘”โ„Ž๐‘–๐‘—๐‘˜๐‘™๐‘š๐‘›๐‘œ๐‘๐‘ž๐‘Ÿ๐‘ ๐‘ก๐‘ข๐‘ฃ๐‘ค๐‘ฅ๐‘ฆ๐‘ง๐ด๐ต๐ถ๐ท๐ธ๐น๐บ๐ป๐ผ๐ฝ๐พ๐ฟ๐‘€๐‘๐‘‚๐‘ƒ๐‘„๐‘…๐‘†๐‘‡๐‘ˆ๐‘‰๐‘Š๐‘‹๐‘Œ๐‘๐›ค๐›ฅ๐›ฉ๐›ฌ๐›ฏ๐›ฑ๐›ณ๐›ด๐›ถ๐›ท๐›น๐›บ๐›ผ๐›ฝ๐›พ๐›ฟ๐œ€๐œ๐œ‚๐œƒ๐œ„๐œ…๐œ†๐œ‡๐œˆ๐œ‰๐œ‹๐œŒ๐œŽ๐œ๐œ๐œ‘๐œ’๐œ“๐œ”๐œ•๐œ–๐œ—๐œ˜๐œ™๐œš๐œ›'
681    'a' => '๐‘Ž','b' => '๐‘','c' => '๐‘','d' => '๐‘‘','e' => '๐‘’','f' => '๐‘“','g' => '๐‘”',
682    'h' => 'โ„Ž','i' => '๐‘–','j' => '๐‘—','k' => '๐‘˜','l' => '๐‘™','m' => '๐‘š','n' => '๐‘›',
683    'o' => '๐‘œ','p' => '๐‘','q' => '๐‘ž','r' => '๐‘Ÿ','s' => '๐‘ ','t' => '๐‘ก','u' => '๐‘ข',
684    'v' => '๐‘ฃ','w' => '๐‘ค','x' => '๐‘ฅ','y' => '๐‘ฆ','z' => '๐‘ง','A' => '๐ด','B' => '๐ต',
685    'C' => '๐ถ','D' => '๐ท','E' => '๐ธ','F' => '๐น','G' => '๐บ','H' => '๐ป','I' => '๐ผ',
686    'J' => '๐ฝ','K' => '๐พ','L' => '๐ฟ','M' => '๐‘€','N' => '๐‘','O' => '๐‘‚','P' => '๐‘ƒ',
687    'Q' => '๐‘„','R' => '๐‘…','S' => '๐‘†','T' => '๐‘‡','U' => '๐‘ˆ','V' => '๐‘‰','W' => '๐‘Š',
688    'X' => '๐‘‹','Y' => '๐‘Œ','Z' => '๐‘','ฮ“' => '๐›ค','โˆ†' => '๐›ฅ','ฮ˜' => '๐›ฉ','ฮ›' => '๐›ฌ',
689    'ฮž' => '๐›ฏ','ฮ ' => '๐›ฑ','ฯด' => '๐›ณ','ฮฃ' => '๐›ด','ฮฅ' => '๐›ถ','ฮฆ' => '๐›ท','ฮจ' => '๐›น',
690    'ฮฉ' => '๐›บ','ฮฑ' => '๐›ผ','ฮฒ' => '๐›ฝ','ฮณ' => '๐›พ','ฮด' => '๐›ฟ','ฮต' => '๐œ€','ฮถ' => '๐œ',
691    'ฮท' => '๐œ‚','ฮธ' => '๐œƒ','ฮน' => '๐œ„','ฮบ' => '๐œ…','ฮป' => '๐œ†','ฮผ' => '๐œ‡','ฮฝ' => '๐œˆ',
692    'ฮพ' => '๐œ‰','ฯ€' => '๐œ‹','ฯ' => '๐œŒ','ฯƒ' => '๐œŽ','ฯ„' => '๐œ','ฯ…' => '๐œ','ฯ†' => '๐œ‘',
693    'ฯ‡' => '๐œ’','ฯˆ' => '๐œ“','ฯ‰' => '๐œ”','โˆ‚' => '๐œ•','ฯต' => '๐œ–','ฯ‘' => '๐œ—','ฯฐ' => '๐œ˜',
694    'ฯ•' => '๐œ™','ฯฑ' => '๐œš','ฯ–' => '๐œ›',
695    // bold
696        // '๐š๐›๐œ๐๐ž๐Ÿ๐ ๐ก๐ข๐ฃ๐ค๐ฅ๐ฆ๐ง๐จ๐ฉ๐ช๐ซ๐ฌ๐ญ๐ฎ๐ฏ๐ฐ๐ฑ๐ฒ๐ณ๐€๐๐‚๐ƒ๐„๐…๐†๐‡๐ˆ๐‰๐Š๐‹๐Œ๐๐Ž๐๐๐‘๐’๐“๐”๐•๐–๐—๐˜๐™๐šช๐šซ๐šฏ๐šฒ๐šต๐šท๐šน๐šบ๐šผ๐šฝ๐šฟ๐›€๐›‚๐›ƒ๐›„๐›…๐›†๐›‡๐›ˆ๐›‰๐›Š๐›‹๐›Œ๐›๐›Ž๐›๐›‘๐›’๐›”๐›•๐›–๐›—๐›˜๐›™๐›š๐››๐›œ๐›๐›ž๐›Ÿ๐› ๐›ก'
697    //     => '๐’‚๐’ƒ๐’„๐’…๐’†๐’‡๐’ˆ๐’‰๐’Š๐’‹๐’Œ๐’๐’Ž๐’๐’๐’‘๐’’๐’“๐’”๐’•๐’–๐’—๐’˜๐’™๐’š๐’›๐‘จ๐‘ฉ๐‘ช๐‘ซ๐‘ฌ๐‘ญ๐‘ฎ๐‘ฏ๐‘ฐ๐‘ฑ๐‘ฒ๐‘ณ๐‘ด๐‘ต๐‘ถ๐‘ท๐‘ธ๐‘น๐‘บ๐‘ป๐‘ผ๐‘ฝ๐‘พ๐‘ฟ๐’€๐’๐œž๐œŸ๐œฃ๐œฆ๐œฉ๐œซ๐œญ๐œฎ๐œฐ๐œฑ๐œณ๐œด๐œถ๐œท๐œธ๐œน๐œบ๐œป๐œผ๐œฝ๐œพ๐œฟ๐€๐๐‚๐ƒ๐…๐†๐ˆ๐‰๐Š๐‹๐Œ๐๐Ž๐๐๐‘๐’๐“๐”๐•'
698    '๐š' => '๐’‚','๐›' => '๐’ƒ','๐œ' => '๐’„','๐' => '๐’…','๐ž' => '๐’†','๐Ÿ' => '๐’‡','๐ ' => '๐’ˆ',
699    '๐ก' => '๐’‰','๐ข' => '๐’Š','๐ฃ' => '๐’‹','๐ค' => '๐’Œ','๐ฅ' => '๐’','๐ฆ' => '๐’Ž','๐ง' => '๐’',
700    '๐จ' => '๐’','๐ฉ' => '๐’‘','๐ช' => '๐’’','๐ซ' => '๐’“','๐ฌ' => '๐’”','๐ญ' => '๐’•','๐ฎ' => '๐’–',
701    '๐ฏ' => '๐’—','๐ฐ' => '๐’˜','๐ฑ' => '๐’™','๐ฒ' => '๐’š','๐ณ' => '๐’›','๐€' => '๐‘จ','๐' => '๐‘ฉ',
702    '๐‚' => '๐‘ช','๐ƒ' => '๐‘ซ','๐„' => '๐‘ฌ','๐…' => '๐‘ญ','๐†' => '๐‘ฎ','๐‡' => '๐‘ฏ','๐ˆ' => '๐‘ฐ',
703    '๐‰' => '๐‘ฑ','๐Š' => '๐‘ฒ','๐‹' => '๐‘ณ','๐Œ' => '๐‘ด','๐' => '๐‘ต','๐Ž' => '๐‘ถ','๐' => '๐‘ท',
704    '๐' => '๐‘ธ','๐‘' => '๐‘น','๐’' => '๐‘บ','๐“' => '๐‘ป','๐”' => '๐‘ผ','๐•' => '๐‘ฝ','๐–' => '๐‘พ',
705    '๐—' => '๐‘ฟ','๐˜' => '๐’€','๐™' => '๐’','๐šช' => '๐œž','๐šซ' => '๐œŸ','๐šฏ' => '๐œฃ','๐šฒ' => '๐œฆ',
706    '๐šต' => '๐œฉ','๐šท' => '๐œซ','๐šน' => '๐œญ','๐šบ' => '๐œฎ','๐šผ' => '๐œฐ','๐šฝ' => '๐œฑ','๐šฟ' => '๐œณ',
707    '๐›€' => '๐œด','๐›‚' => '๐œถ','๐›ƒ' => '๐œท','๐›„' => '๐œธ','๐›…' => '๐œน','๐›†' => '๐œบ','๐›‡' => '๐œป',
708    '๐›ˆ' => '๐œผ','๐›‰' => '๐œฝ','๐›Š' => '๐œพ','๐›‹' => '๐œฟ','๐›Œ' => '๐€','๐›' => '๐','๐›Ž' => '๐‚',
709    '๐›' => '๐ƒ','๐›‘' => '๐…','๐›’' => '๐†','๐›”' => '๐ˆ','๐›•' => '๐‰','๐›–' => '๐Š','๐›—' => '๐‹',
710    '๐›˜' => '๐Œ','๐›™' => '๐','๐›š' => '๐Ž','๐››' => '๐','๐›œ' => '๐','๐›' => '๐‘','๐›ž' => '๐’',
711    '๐›Ÿ' => '๐“','๐› ' => '๐”','๐›ก' => '๐•',
712    // sans
713    // '๐–บ๐–ป๐–ผ๐–ฝ๐–พ๐–ฟ๐—€๐—๐—‚๐—ƒ๐—„๐—…๐—†๐—‡๐—ˆ๐—‰๐—Š๐—‹๐—Œ๐—๐—Ž๐—๐—๐—‘๐—’๐—“๐– ๐–ก๐–ข๐–ฃ๐–ค๐–ฅ๐–ฆ๐–ง๐–จ๐–ฉ๐–ช๐–ซ๐–ฌ๐–ญ๐–ฎ๐–ฏ๐–ฐ๐–ฑ๐–ฒ๐–ณ๐–ด๐–ต๐–ถ๐–ท๐–ธ๐–น'
714    //     => '๐˜ข๐˜ฃ๐˜ค๐˜ฅ๐˜ฆ๐˜ง๐˜จ๐˜ฉ๐˜ช๐˜ซ๐˜ฌ๐˜ญ๐˜ฎ๐˜ฏ๐˜ฐ๐˜ฑ๐˜ฒ๐˜ณ๐˜ด๐˜ต๐˜ถ๐˜ท๐˜ธ๐˜น๐˜บ๐˜ป๐˜ˆ๐˜‰๐˜Š๐˜‹๐˜Œ๐˜๐˜Ž๐˜๐˜๐˜‘๐˜’๐˜“๐˜”๐˜•๐˜–๐˜—๐˜˜๐˜™๐˜š๐˜›๐˜œ๐˜๐˜ž๐˜Ÿ๐˜ ๐˜ก'
715    '๐–บ' => '๐˜ข','๐–ป' => '๐˜ฃ','๐–ผ' => '๐˜ค','๐–ฝ' => '๐˜ฅ','๐–พ' => '๐˜ฆ','๐–ฟ' => '๐˜ง','๐—€' => '๐˜จ',
716    '๐—' => '๐˜ฉ','๐—‚' => '๐˜ช','๐—ƒ' => '๐˜ซ','๐—„' => '๐˜ฌ','๐—…' => '๐˜ญ','๐—†' => '๐˜ฎ','๐—‡' => '๐˜ฏ',
717    '๐—ˆ' => '๐˜ฐ','๐—‰' => '๐˜ฑ','๐—Š' => '๐˜ฒ','๐—‹' => '๐˜ณ','๐—Œ' => '๐˜ด','๐—' => '๐˜ต','๐—Ž' => '๐˜ถ',
718    '๐—' => '๐˜ท','๐—' => '๐˜ธ','๐—‘' => '๐˜น','๐—’' => '๐˜บ','๐—“' => '๐˜ป','๐– ' => '๐˜ˆ','๐–ก' => '๐˜‰',
719    '๐–ข' => '๐˜Š','๐–ฃ' => '๐˜‹','๐–ค' => '๐˜Œ','๐–ฅ' => '๐˜','๐–ฆ' => '๐˜Ž','๐–ง' => '๐˜','๐–จ' => '๐˜',
720    '๐–ฉ' => '๐˜‘','๐–ช' => '๐˜’','๐–ซ' => '๐˜“','๐–ฌ' => '๐˜”','๐–ญ' => '๐˜•','๐–ฎ' => '๐˜–','๐–ฏ' => '๐˜—',
721    '๐–ฐ' => '๐˜˜','๐–ฑ' => '๐˜™','๐–ฒ' => '๐˜š','๐–ณ' => '๐˜›','๐–ด' => '๐˜œ','๐–ต' => '๐˜','๐–ถ' => '๐˜ž',
722    '๐–ท' => '๐˜Ÿ','๐–ธ' => '๐˜ ','๐–น' => '๐˜ก',
723    // bold sans
724    // '๐—ฎ๐—ฏ๐—ฐ๐—ฑ๐—ฒ๐—ณ๐—ด๐—ต๐—ถ๐—ท๐—ธ๐—น๐—บ๐—ป๐—ผ๐—ฝ๐—พ๐—ฟ๐˜€๐˜๐˜‚๐˜ƒ๐˜„๐˜…๐˜†๐˜‡๐—”๐—•๐—–๐——๐—˜๐—™๐—š๐—›๐—œ๐—๐—ž๐—Ÿ๐— ๐—ก๐—ข๐—ฃ๐—ค๐—ฅ๐—ฆ๐—ง๐—จ๐—ฉ๐—ช๐—ซ๐—ฌ๐—ญ๐˜๐™๐๐ ๐ฃ๐ฅ๐ง๐จ๐ช๐ซ๐ญ๐ฎ๐ฐ๐ฑ๐ฒ๐ณ๐ด๐ต๐ถ๐ท๐ธ๐น๐บ๐ป๐ผ๐ฝ๐ฟ๐ž€๐ž‚๐žƒ๐ž„๐ž…๐ž†๐ž‡๐žˆ๐ž‰๐žŠ๐ž‹๐žŒ๐ž๐žŽ๐ž'
725    //     => '๐™–๐™—๐™˜๐™™๐™š๐™›๐™œ๐™๐™ž๐™Ÿ๐™ ๐™ก๐™ข๐™ฃ๐™ค๐™ฅ๐™ฆ๐™ง๐™จ๐™ฉ๐™ช๐™ซ๐™ฌ๐™ญ๐™ฎ๐™ฏ๐˜ผ๐˜ฝ๐˜พ๐˜ฟ๐™€๐™๐™‚๐™ƒ๐™„๐™…๐™†๐™‡๐™ˆ๐™‰๐™Š๐™‹๐™Œ๐™๐™Ž๐™๐™๐™‘๐™’๐™“๐™”๐™•๐ž’๐ž“๐ž—๐žš๐ž๐žŸ๐žก๐žข๐žค๐žฅ๐žง๐žจ๐žช๐žซ๐žฌ๐žญ๐žฎ๐žฏ๐žฐ๐žฑ๐žฒ๐žณ๐žด๐žต๐žถ๐žท๐žน๐žบ๐žผ๐žฝ๐žพ๐žฟ๐Ÿ€๐Ÿ๐Ÿ‚๐Ÿƒ๐Ÿ„๐Ÿ…๐Ÿ†๐Ÿ‡๐Ÿˆ๐Ÿ‰'
726    '๐—ฎ' => '๐™–','๐—ฏ' => '๐™—','๐—ฐ' => '๐™˜','๐—ฑ' => '๐™™','๐—ฒ' => '๐™š','๐—ณ' => '๐™›','๐—ด' => '๐™œ',
727    '๐—ต' => '๐™','๐—ถ' => '๐™ž','๐—ท' => '๐™Ÿ','๐—ธ' => '๐™ ','๐—น' => '๐™ก','๐—บ' => '๐™ข','๐—ป' => '๐™ฃ',
728    '๐—ผ' => '๐™ค','๐—ฝ' => '๐™ฅ','๐—พ' => '๐™ฆ','๐—ฟ' => '๐™ง','๐˜€' => '๐™จ','๐˜' => '๐™ฉ','๐˜‚' => '๐™ช',
729    '๐˜ƒ' => '๐™ซ','๐˜„' => '๐™ฌ','๐˜…' => '๐™ญ','๐˜†' => '๐™ฎ','๐˜‡' => '๐™ฏ','๐—”' => '๐˜ผ','๐—•' => '๐˜ฝ',
730    '๐—–' => '๐˜พ','๐——' => '๐˜ฟ','๐—˜' => '๐™€','๐—™' => '๐™','๐—š' => '๐™‚','๐—›' => '๐™ƒ','๐—œ' => '๐™„',
731    '๐—' => '๐™…','๐—ž' => '๐™†','๐—Ÿ' => '๐™‡','๐— ' => '๐™ˆ','๐—ก' => '๐™‰','๐—ข' => '๐™Š','๐—ฃ' => '๐™‹',
732    '๐—ค' => '๐™Œ','๐—ฅ' => '๐™','๐—ฆ' => '๐™Ž','๐—ง' => '๐™','๐—จ' => '๐™','๐—ฉ' => '๐™‘','๐—ช' => '๐™’',
733    '๐—ซ' => '๐™“','๐—ฌ' => '๐™”','๐—ญ' => '๐™•','๐˜' => '๐ž’','๐™' => '๐ž“','๐' => '๐ž—','๐ ' => '๐žš',
734    '๐ฃ' => '๐ž','๐ฅ' => '๐žŸ','๐ง' => '๐žก','๐จ' => '๐žข','๐ช' => '๐žค','๐ซ' => '๐žฅ','๐ญ' => '๐žง',
735    '๐ฎ' => '๐žจ','๐ฐ' => '๐žช','๐ฑ' => '๐žซ','๐ฒ' => '๐žฌ','๐ณ' => '๐žญ','๐ด' => '๐žฎ','๐ต' => '๐žฏ',
736    '๐ถ' => '๐žฐ','๐ท' => '๐žฑ','๐ธ' => '๐žฒ','๐น' => '๐žณ','๐บ' => '๐žด','๐ป' => '๐žต','๐ผ' => '๐žถ',
737    '๐ฝ' => '๐žท','๐ฟ' => '๐žน','๐ž€' => '๐žบ','๐ž‚' => '๐žผ','๐žƒ' => '๐žฝ','๐ž„' => '๐žพ','๐ž…' => '๐žฟ',
738    '๐ž†' => '๐Ÿ€','๐ž‡' => '๐Ÿ','๐žˆ' => '๐Ÿ‚','๐ž‰' => '๐Ÿƒ','๐žŠ' => '๐Ÿ„','๐ž‹' => '๐Ÿ…','๐žŒ' => '๐Ÿ†',
739    '๐ž' => '๐Ÿ‡','๐žŽ' => '๐Ÿˆ','๐ž' => '๐Ÿ‰',
740};
741
742/*
743static SCRIPT: Map<char,char> = phf_map! {
744 //'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
745 //     => '๐’ถ๐’ท๐’ธ๐’นโ„ฏ๐’ปโ„Š๐’ฝ๐’พ๐’ฟ๐“€๐“๐“‚๐“ƒโ„ด๐“…๐“†๐“‡๐“ˆ๐“‰๐“Š๐“‹๐“Œ๐“๐“Ž๐“๐’œโ„ฌ๐’ž๐’Ÿโ„ฐโ„ฑ๐’ขโ„‹โ„๐’ฅ๐’ฆโ„’โ„ณ๐’ฉ๐’ช๐’ซ๐’ฌโ„›๐’ฎ๐’ฏ๐’ฐ๐’ฑ๐’ฒ๐’ณ๐’ด๐’ต'
746    'a' => '๐’ถ','b' => '๐’ท','c' => '๐’ธ','d' => '๐’น','e' => 'โ„ฏ','f' => '๐’ป','g' => 'โ„Š',
747    'h' => '๐’ฝ','i' => '๐’พ','j' => '๐’ฟ','k' => '๐“€','l' => '๐“','m' => '๐“‚','n' => '๐“ƒ',
748    'o' => 'โ„ด','p' => '๐“…','q' => '๐“†','r' => '๐“‡','s' => '๐“ˆ','t' => '๐“‰','u' => '๐“Š',
749    'v' => '๐“‹','w' => '๐“Œ','x' => '๐“','y' => '๐“Ž','z' => '๐“','A' => '๐’œ','B' => 'โ„ฌ',
750    'C' => '๐’ž','D' => '๐’Ÿ','E' => 'โ„ฐ','F' => 'โ„ฑ','G' => '๐’ข','H' => 'โ„‹','I' => 'โ„',
751    'J' => '๐’ฅ','K' => '๐’ฆ','L' => 'โ„’','M' => 'โ„ณ','N' => '๐’ฉ','O' => '๐’ช','P' => '๐’ซ',
752    'Q' => '๐’ฌ','R' => 'โ„›','S' => '๐’ฎ','T' => '๐’ฏ','U' => '๐’ฐ','V' => '๐’ฑ','W' => '๐’ฒ',
753    'X' => '๐’ณ','Y' => '๐’ด','Z' => '๐’ต'
754};
755
756static BOLD: Map<char,char> = phf_map! {
757    // 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ฮ“โˆ†ฮ˜ฮ›ฮžฮ ฯดฮฃฮฅฮฆฮจฮฉฮฑฮฒฮณฮดฮตฮถฮทฮธฮนฮบฮปฮผฮฝฮพฯ€ฯฯƒฯ„ฯ…ฯ†ฯ‡ฯˆฯ‰โˆ‚ฯตฯ‘ฯฐฯ•ฯฑฯ–'
758    //     => '๐š๐›๐œ๐๐ž๐Ÿ๐ ๐ก๐ข๐ฃ๐ค๐ฅ๐ฆ๐ง๐จ๐ฉ๐ช๐ซ๐ฌ๐ญ๐ฎ๐ฏ๐ฐ๐ฑ๐ฒ๐ณ๐€๐๐‚๐ƒ๐„๐…๐†๐‡๐ˆ๐‰๐Š๐‹๐Œ๐๐Ž๐๐๐‘๐’๐“๐”๐•๐–๐—๐˜๐™๐ŸŽ๐Ÿ๐Ÿ๐Ÿ‘๐Ÿ’๐Ÿ“๐Ÿ”๐Ÿ•๐Ÿ–๐Ÿ—๐šช๐šซ๐šฏ๐šฒ๐šต๐šท๐šน๐šบ๐šผ๐šฝ๐šฟ๐›€๐›‚๐›ƒ๐›„๐›…๐›†๐›‡๐›ˆ๐›‰๐›Š๐›‹๐›Œ๐›๐›Ž๐›๐›‘๐›’๐›”๐›•๐›–๐›—๐›˜๐›™๐›š๐››๐›œ๐›๐›ž๐›Ÿ๐› ๐›ก'
759    'a' => '๐š','b' => '๐›','c' => '๐œ','d' => '๐','e' => '๐ž','f' => '๐Ÿ','g' => '๐ ',
760    'h' => '๐ก','i' => '๐ข','j' => '๐ฃ','k' => '๐ค','l' => '๐ฅ','m' => '๐ฆ','n' => '๐ง',
761    'o' => '๐จ','p' => '๐ฉ','q' => '๐ช','r' => '๐ซ','s' => '๐ฌ','t' => '๐ญ','u' => '๐ฎ',
762    'v' => '๐ฏ','w' => '๐ฐ','x' => '๐ฑ','y' => '๐ฒ','z' => '๐ณ','A' => '๐€','B' => '๐',
763    'C' => '๐‚','D' => '๐ƒ','E' => '๐„','F' => '๐…','G' => '๐†','H' => '๐‡','I' => '๐ˆ',
764    'J' => '๐‰','K' => '๐Š','L' => '๐‹','M' => '๐Œ','N' => '๐','O' => '๐Ž','P' => '๐',
765    'Q' => '๐','R' => '๐‘','S' => '๐’','T' => '๐“','U' => '๐”','V' => '๐•','W' => '๐–',
766    'X' => '๐—','Y' => '๐˜','Z' => '๐™','0' => '๐ŸŽ','1' => '๐Ÿ','2' => '๐Ÿ','3' => '๐Ÿ‘',
767    '4' => '๐Ÿ’','5' => '๐Ÿ“','6' => '๐Ÿ”','7' => '๐Ÿ•','8' => '๐Ÿ–','9' => '๐Ÿ—','ฮ“' => '๐šช',
768    'โˆ†' => '๐šซ','ฮ˜' => '๐šฏ','ฮ›' => '๐šฒ','ฮž' => '๐šต','ฮ ' => '๐šท','ฯด' => '๐šน','ฮฃ' => '๐šบ',
769    'ฮฅ' => '๐šผ','ฮฆ' => '๐šฝ','ฮจ' => '๐šฟ','ฮฉ' => '๐›€','ฮฑ' => '๐›‚','ฮฒ' => '๐›ƒ','ฮณ' => '๐›„',
770    'ฮด' => '๐›…','ฮต' => '๐›†','ฮถ' => '๐›‡','ฮท' => '๐›ˆ','ฮธ' => '๐›‰','ฮน' => '๐›Š','ฮบ' => '๐›‹',
771    'ฮป' => '๐›Œ','ฮผ' => '๐›','ฮฝ' => '๐›Ž','ฮพ' => '๐›','ฯ€' => '๐›‘','ฯ' => '๐›’','ฯƒ' => '๐›”',
772    'ฯ„' => '๐›•','ฯ…' => '๐›–','ฯ†' => '๐›—','ฯ‡' => '๐›˜','ฯˆ' => '๐›™','ฯ‰' => '๐›š','โˆ‚' => '๐››',
773    'ฯต' => '๐›œ','ฯ‘' => '๐›','ฯฐ' => '๐›ž','ฯ•' => '๐›Ÿ','ฯฑ' => '๐› ','ฯ–' => '๐›ก'
774};
775
776static ITALIC: Map<char,char> = phf_map! {
777    // 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZฮ“โˆ†ฮ˜ฮ›ฮžฮ ฯดฮฃฮฅฮฆฮจฮฉฮฑฮฒฮณฮดฮตฮถฮทฮธฮนฮบฮปฮผฮฝฮพฯ€ฯฯƒฯ„ฯ…ฯ†ฯ‡ฯˆฯ‰โˆ‚ฯตฯ‘ฯฐฯ•ฯฑฯ–'
778    //     => '๐‘Ž๐‘๐‘๐‘‘๐‘’๐‘“๐‘”โ„Ž๐‘–๐‘—๐‘˜๐‘™๐‘š๐‘›๐‘œ๐‘๐‘ž๐‘Ÿ๐‘ ๐‘ก๐‘ข๐‘ฃ๐‘ค๐‘ฅ๐‘ฆ๐‘ง๐ด๐ต๐ถ๐ท๐ธ๐น๐บ๐ป๐ผ๐ฝ๐พ๐ฟ๐‘€๐‘๐‘‚๐‘ƒ๐‘„๐‘…๐‘†๐‘‡๐‘ˆ๐‘‰๐‘Š๐‘‹๐‘Œ๐‘๐›ค๐›ฅ๐›ฉ๐›ฌ๐›ฏ๐›ฑ๐›ณ๐›ด๐›ถ๐›ท๐›น๐›บ๐›ผ๐›ฝ๐›พ๐›ฟ๐œ€๐œ๐œ‚๐œƒ๐œ„๐œ…๐œ†๐œ‡๐œˆ๐œ‰๐œ‹๐œŒ๐œŽ๐œ๐œ๐œ‘๐œ’๐œ“๐œ”๐œ•๐œ–๐œ—๐œ˜๐œ™๐œš๐œ›'
779    'a' => '๐‘Ž','b' => '๐‘','c' => '๐‘','d' => '๐‘‘','e' => '๐‘’','f' => '๐‘“','g' => '๐‘”',
780    'h' => 'โ„Ž','i' => '๐‘–','j' => '๐‘—','k' => '๐‘˜','l' => '๐‘™','m' => '๐‘š','n' => '๐‘›',
781    'o' => '๐‘œ','p' => '๐‘','q' => '๐‘ž','r' => '๐‘Ÿ','s' => '๐‘ ','t' => '๐‘ก','u' => '๐‘ข',
782    'v' => '๐‘ฃ','w' => '๐‘ค','x' => '๐‘ฅ','y' => '๐‘ฆ','z' => '๐‘ง','A' => '๐ด','B' => '๐ต',
783    'C' => '๐ถ','D' => '๐ท','E' => '๐ธ','F' => '๐น','G' => '๐บ','H' => '๐ป','I' => '๐ผ',
784    'J' => '๐ฝ','K' => '๐พ','L' => '๐ฟ','M' => '๐‘€','N' => '๐‘','O' => '๐‘‚','P' => '๐‘ƒ',
785    'Q' => '๐‘„','R' => '๐‘…','S' => '๐‘†','T' => '๐‘‡','U' => '๐‘ˆ','V' => '๐‘‰','W' => '๐‘Š',
786    'X' => '๐‘‹','Y' => '๐‘Œ','Z' => '๐‘','ฮ“' => '๐›ค','โˆ†' => '๐›ฅ','ฮ˜' => '๐›ฉ','ฮ›' => '๐›ฌ',
787    'ฮž' => '๐›ฏ','ฮ ' => '๐›ฑ','ฯด' => '๐›ณ','ฮฃ' => '๐›ด','ฮฅ' => '๐›ถ','ฮฆ' => '๐›ท','ฮจ' => '๐›น',
788    'ฮฉ' => '๐›บ','ฮฑ' => '๐›ผ','ฮฒ' => '๐›ฝ','ฮณ' => '๐›พ','ฮด' => '๐›ฟ','ฮต' => '๐œ€','ฮถ' => '๐œ',
789    'ฮท' => '๐œ‚','ฮธ' => '๐œƒ','ฮน' => '๐œ„','ฮบ' => '๐œ…','ฮป' => '๐œ†','ฮผ' => '๐œ‡','ฮฝ' => '๐œˆ',
790    'ฮพ' => '๐œ‰','ฯ€' => '๐œ‹','ฯ' => '๐œŒ','ฯƒ' => '๐œŽ','ฯ„' => '๐œ','ฯ…' => '๐œ','ฯ†' => '๐œ‘',
791    'ฯ‡' => '๐œ’','ฯˆ' => '๐œ“','ฯ‰' => '๐œ”','โˆ‚' => '๐œ•','ฯต' => '๐œ–','ฯ‘' => '๐œ—','ฯฐ' => '๐œ˜',
792    'ฯ•' => '๐œ™','ฯฑ' => '๐œš','ฯ–' => '๐œ›'
793};
794
795static SANS: Map<char,char> = phf_map! {
796    // 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
797    //     => '๐–บ๐–ป๐–ผ๐–ฝ๐–พ๐–ฟ๐—€๐—๐—‚๐—ƒ๐—„๐—…๐—†๐—‡๐—ˆ๐—‰๐—Š๐—‹๐—Œ๐—๐—Ž๐—๐—๐—‘๐—’๐—“๐– ๐–ก๐–ข๐–ฃ๐–ค๐–ฅ๐–ฆ๐–ง๐–จ๐–ฉ๐–ช๐–ซ๐–ฌ๐–ญ๐–ฎ๐–ฏ๐–ฐ๐–ฑ๐–ฒ๐–ณ๐–ด๐–ต๐–ถ๐–ท๐–ธ๐–น๐Ÿข๐Ÿฃ๐Ÿค๐Ÿฅ๐Ÿฆ๐Ÿง๐Ÿจ๐Ÿฉ๐Ÿช๐Ÿซ'
798    'a' => '๐–บ','b' => '๐–ป','c' => '๐–ผ','d' => '๐–ฝ','e' => '๐–พ','f' => '๐–ฟ','g' => '๐—€',
799    'h' => '๐—','i' => '๐—‚','j' => '๐—ƒ','k' => '๐—„','l' => '๐—…','m' => '๐—†','n' => '๐—‡',
800    'o' => '๐—ˆ','p' => '๐—‰','q' => '๐—Š','r' => '๐—‹','s' => '๐—Œ','t' => '๐—','u' => '๐—Ž',
801    'v' => '๐—','w' => '๐—','x' => '๐—‘','y' => '๐—’','z' => '๐—“','A' => '๐– ','B' => '๐–ก',
802    'C' => '๐–ข','D' => '๐–ฃ','E' => '๐–ค','F' => '๐–ฅ','G' => '๐–ฆ','H' => '๐–ง','I' => '๐–จ',
803    'J' => '๐–ฉ','K' => '๐–ช','L' => '๐–ซ','M' => '๐–ฌ','N' => '๐–ญ','O' => '๐–ฎ','P' => '๐–ฏ',
804    'Q' => '๐–ฐ','R' => '๐–ฑ','S' => '๐–ฒ','T' => '๐–ณ','U' => '๐–ด','V' => '๐–ต','W' => '๐–ถ',
805    'X' => '๐–ท','Y' => '๐–ธ','Z' => '๐–น','0' => '๐Ÿข','1' => '๐Ÿฃ','2' => '๐Ÿค','3' => '๐Ÿฅ',
806    '4' => '๐Ÿฆ','5' => '๐Ÿง','6' => '๐Ÿจ','7' => '๐Ÿฉ','8' => '๐Ÿช','9' => '๐Ÿซ'
807};
808
809static CAPITAL: Map<char,char> = phf_map! {
810    // 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
811    //     => 'แด€ส™แด„แด…แด‡า“ษขสœษชแดŠแด‹สŸแดษดแดแด˜วซส€sแด›แดœแด แดกxสแดข๐– ๐–ก๐–ข๐–ฃ๐–ค๐–ฅ๐–ฆ๐–ง๐–จ๐–ฉ๐–ช๐–ซ๐–ฌ๐–ญ๐–ฎ๐–ฏ๐–ฐ๐–ฑ๐–ฒ๐–ณ๐–ด๐–ต๐–ถ๐–ท๐–ธ๐–น'
812    'a' => 'แด€','b' => 'ส™','c' => 'แด„','d' => 'แด…','e' => 'แด‡','f' => 'า“','g' => 'ษข',
813    'h' => 'สœ','i' => 'ษช','j' => 'แดŠ','k' => 'แด‹','l' => 'สŸ','m' => 'แด','n' => 'ษด',
814    'o' => 'แด','p' => 'วซ','q' => 'วซ','r' => 'ส€','s' => 's','t' => 'แด›','u' => 'แดœ',
815    'v' => 'แด ','w' => 'แดก','x' => 'x','y' => 'ส','z' => 'แดข','A' => '๐– ','B' => '๐–ก',
816    'C' => '๐–ข','D' => '๐–ฃ','E' => '๐–ค','F' => '๐–ฅ','G' => '๐–ฆ','H' => '๐–ง','I' => '๐–จ',
817    'J' => '๐–ฉ','K' => '๐–ช','L' => '๐–ซ','M' => '๐–ฌ','N' => '๐–ญ','O' => '๐–ฎ','P' => '๐–ฏ',
818    'Q' => '๐–ฐ','R' => '๐–ฑ','S' => '๐–ฒ','T' => '๐–ณ','U' => '๐–ด','V' => '๐–ต','W' => '๐–ถ',
819    'X' => '๐–ท','Y' => '๐–ธ','Z' => '๐–น'
820};
821
822static FRAKTUR: Map<char,char> = phf_map! {
823    // 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
824    //     => '๐”ž๐”Ÿ๐” ๐”ก๐”ข๐”ฃ๐”ค๐”ฅ๐”ฆ๐”ง๐”จ๐”ฉ๐”ช๐”ซ๐”ฌ๐”ญ๐”ฎ๐”ฏ๐”ฐ๐”ฑ๐”ฒ๐”ณ๐”ด๐”ต๐”ถ๐”ท๐”„๐”…โ„ญ๐”‡๐”ˆ๐”‰๐”Šโ„Œโ„‘๐”๐”Ž๐”๐”๐”‘๐”’๐”“๐””โ„œ๐”–๐”—๐”˜๐”™๐”š๐”›๐”œโ„จ'
825    'a' => '๐”ž','b' => '๐”Ÿ','c' => '๐” ','d' => '๐”ก','e' => '๐”ข','f' => '๐”ฃ','g' => '๐”ค',
826    'h' => '๐”ฅ','i' => '๐”ฆ','j' => '๐”ง','k' => '๐”จ','l' => '๐”ฉ','m' => '๐”ช','n' => '๐”ซ',
827    'o' => '๐”ฌ','p' => '๐”ญ','q' => '๐”ฎ','r' => '๐”ฏ','s' => '๐”ฐ','t' => '๐”ฑ','u' => '๐”ฒ',
828    'v' => '๐”ณ','w' => '๐”ด','x' => '๐”ต','y' => '๐”ถ','z' => '๐”ท','A' => '๐”„','B' => '๐”…',
829    'C' => 'โ„ญ','D' => '๐”‡','E' => '๐”ˆ','F' => '๐”‰','G' => '๐”Š','H' => 'โ„Œ','I' => 'โ„‘',
830    'J' => '๐”','K' => '๐”Ž','L' => '๐”','M' => '๐”','N' => '๐”‘','O' => '๐”’','P' => '๐”“',
831    'Q' => '๐””','R' => 'โ„œ','S' => '๐”–','T' => '๐”—','U' => '๐”˜','V' => '๐”™','W' => '๐”š',
832    'X' => '๐”›','Y' => '๐”œ','Z' => 'โ„จ'
833};
834
835static MONOSPACED: Map<char,char> = phf_map! {
836    // 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
837    //     => '๐šŠ๐š‹๐šŒ๐š๐šŽ๐š๐š๐š‘๐š’๐š“๐š”๐š•๐š–๐š—๐š˜๐š™๐šš๐š›๐šœ๐š๐šž๐šŸ๐š ๐šก๐šข๐šฃ๐™ฐ๐™ฑ๐™ฒ๐™ณ๐™ด๐™ต๐™ถ๐™ท๐™ธ๐™น๐™บ๐™ป๐™ผ๐™ฝ๐™พ๐™ฟ๐š€๐š๐š‚๐šƒ๐š„๐š…๐š†๐š‡๐šˆ๐š‰0๐Ÿท๐Ÿธ๐Ÿน๐Ÿบ๐Ÿป๐Ÿผ๐Ÿฝ๐Ÿพ๐Ÿฟ'
838    'a' => '๐šŠ','b' => '๐š‹','c' => '๐šŒ','d' => '๐š','e' => '๐šŽ','f' => '๐š','g' => '๐š',
839    'h' => '๐š‘','i' => '๐š’','j' => '๐š“','k' => '๐š”','l' => '๐š•','m' => '๐š–','n' => '๐š—',
840    'o' => '๐š˜','p' => '๐š™','q' => '๐šš','r' => '๐š›','s' => '๐šœ','t' => '๐š','u' => '๐šž',
841    'v' => '๐šŸ','w' => '๐š ','x' => '๐šก','y' => '๐šข','z' => '๐šฃ','A' => '๐™ฐ','B' => '๐™ฑ',
842    'C' => '๐™ฒ','D' => '๐™ณ','E' => '๐™ด','F' => '๐™ต','G' => '๐™ถ','H' => '๐™ท','I' => '๐™ธ',
843    'J' => '๐™น','K' => '๐™บ','L' => '๐™ป','M' => '๐™ผ','N' => '๐™ฝ','O' => '๐™พ','P' => '๐™ฟ',
844    'Q' => '๐š€','R' => '๐š','S' => '๐š‚','T' => '๐šƒ','U' => '๐š„','V' => '๐š…','W' => '๐š†',
845    'X' => '๐š‡','Y' => '๐šˆ','Z' => '๐š‰','0' => '๐Ÿถ','1' => '๐Ÿท','2' => '๐Ÿธ','3' => '๐Ÿน',
846    '4' => '๐Ÿบ','5' => '๐Ÿป','6' => '๐Ÿผ','7' => '๐Ÿฝ','8' => '๐Ÿพ','9' => '๐Ÿฟ'
847};
848
849static BLACKBOARD: Map<char,char> = phf_map! {
850    // 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
851    //     => '๐•’๐•“๐•”๐••๐•–๐•—๐•˜๐•™๐•š๐•›๐•œ๐•๐•ž๐•Ÿ๐• ๐•ก๐•ข๐•ฃ๐•ค๐•ฅ๐•ฆ๐•ง๐•จ๐•ฉ๐•ช๐•ซ๐”ธ๐”นโ„‚๐”ป๐”ผ๐”ฝ๐”พโ„๐•€๐•๐•‚๐•ƒ๐•„โ„•๐•†โ„™โ„šโ„๐•Š๐•‹๐•Œ๐•๐•Ž๐•๐•โ„ค๐Ÿ˜๐Ÿ™๐Ÿš๐Ÿ›๐Ÿœ๐Ÿ๐Ÿž๐ŸŸ๐Ÿ ๐Ÿก'
852    'a' => '๐•’','b' => '๐•“','c' => '๐•”','d' => '๐••','e' => '๐•–','f' => '๐•—','g' => '๐•˜',
853    'h' => '๐•™','i' => '๐•š','j' => '๐•›','k' => '๐•œ','l' => '๐•','m' => '๐•ž','n' => '๐•Ÿ',
854    'o' => '๐• ','p' => '๐•ก','q' => '๐•ข','r' => '๐•ฃ','s' => '๐•ค','t' => '๐•ฅ','u' => '๐•ฆ',
855    'v' => '๐•ง','w' => '๐•จ','x' => '๐•ฉ','y' => '๐•ช','z' => '๐•ซ','A' => '๐”ธ','B' => '๐”น',
856    'C' => 'โ„‚','D' => '๐”ป','E' => '๐”ผ','F' => '๐”ฝ','G' => '๐”พ','H' => 'โ„','I' => '๐•€',
857    'J' => '๐•','K' => '๐•‚','L' => '๐•ƒ','M' => '๐•„','N' => 'โ„•','O' => '๐•†','P' => 'โ„™',
858    'Q' => 'โ„š','R' => 'โ„','S' => '๐•Š','T' => '๐•‹','U' => '๐•Œ','V' => '๐•','W' => '๐•Ž',
859    'X' => '๐•','Y' => '๐•','Z' => 'โ„ค','0' => '๐Ÿ˜','1' => '๐Ÿ™','2' => '๐Ÿš','3' => '๐Ÿ›',
860    '4' => '๐Ÿœ','5' => '๐Ÿ','6' => '๐Ÿž','7' => '๐ŸŸ','8' => '๐Ÿ ','9' => '๐Ÿก'
861};
862
863static BOLD_SCRIPT: Map<char,char> = phf_map! {
864    // 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
865    //     => '๐“ช๐“ซ๐“ฌ๐“ญ๐“ฎ๐“ฏ๐“ฐ๐“ฑ๐“ฒ๐“ณ๐“ด๐“ต๐“ถ๐“ท๐“ธ๐“น๐“บ๐“ป๐“ผ๐“ฝ๐“พ๐“ฟ๐”€๐”๐”‚๐”ƒ๐“๐“‘๐“’๐““๐“”๐“•๐“–๐“—๐“˜๐“™๐“š๐“›๐“œ๐“๐“ž๐“Ÿ๐“ ๐“ก๐“ข๐“ฃ๐“ค๐“ฅ๐“ฆ๐“ง๐“จ๐“ฉ'
866    'a' => '๐“ช','b' => '๐“ซ','c' => '๐“ฌ','d' => '๐“ญ','e' => '๐“ฎ','f' => '๐“ฏ','g' => '๐“ฐ',
867    'h' => '๐“ฑ','i' => '๐“ฒ','j' => '๐“ณ','k' => '๐“ด','l' => '๐“ต','m' => '๐“ถ','n' => '๐“ท',
868    'o' => '๐“ธ','p' => '๐“น','q' => '๐“บ','r' => '๐“ป','s' => '๐“ผ','t' => '๐“ฝ','u' => '๐“พ',
869    'v' => '๐“ฟ','w' => '๐”€','x' => '๐”','y' => '๐”‚','z' => '๐”ƒ','A' => '๐“','B' => '๐“‘',
870    'C' => '๐“’','D' => '๐““','E' => '๐“”','F' => '๐“•','G' => '๐“–','H' => '๐“—','I' => '๐“˜',
871    'J' => '๐“™','K' => '๐“š','L' => '๐“›','M' => '๐“œ','N' => '๐“','O' => '๐“ž','P' => '๐“Ÿ',
872    'Q' => '๐“ ','R' => '๐“ก','S' => '๐“ข','T' => '๐“ฃ','U' => '๐“ค','V' => '๐“ฅ','W' => '๐“ฆ',
873    'X' => '๐“ง','Y' => '๐“จ','Z' => '๐“ฉ'
874};
875
876static BOLD_ITALIC: Map<char,char> = phf_map! {
877    // 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZฮ“โˆ†ฮ˜ฮ›ฮžฮ ฯดฮฃฮฅฮฆฮจฮฉฮฑฮฒฮณฮดฮตฮถฮทฮธฮนฮบฮปฮผฮฝฮพฯ€ฯฯƒฯ„ฯ…ฯ†ฯ‡ฯˆฯ‰โˆ‚ฯตฯ‘ฯฐฯ•ฯฑฯ–'
878    //     => '๐’‚๐’ƒ๐’„๐’…๐’†๐’‡๐’ˆ๐’‰๐’Š๐’‹๐’Œ๐’๐’Ž๐’๐’๐’‘๐’’๐’“๐’”๐’•๐’–๐’—๐’˜๐’™๐’š๐’›๐‘จ๐‘ฉ๐‘ช๐‘ซ๐‘ฌ๐‘ญ๐‘ฎ๐‘ฏ๐‘ฐ๐‘ฑ๐‘ฒ๐‘ณ๐‘ด๐‘ต๐‘ถ๐‘ท๐‘ธ๐‘น๐‘บ๐‘ป๐‘ผ๐‘ฝ๐‘พ๐‘ฟ๐’€๐’๐œž๐œŸ๐œฃ๐œฆ๐œฉ๐œซ๐œญ๐œฎ๐œฐ๐œฑ๐œณ๐œด๐œถ๐œท๐œธ๐œน๐œบ๐œป๐œผ๐œฝ๐œพ๐œฟ๐€๐๐‚๐ƒ๐…๐†๐ˆ๐‰๐Š๐‹๐Œ๐๐Ž๐๐๐‘๐’๐“๐”๐•'
879    'a' => '๐’‚','b' => '๐’ƒ','c' => '๐’„','d' => '๐’…','e' => '๐’†','f' => '๐’‡','g' => '๐’ˆ',
880    'h' => '๐’‰','i' => '๐’Š','j' => '๐’‹','k' => '๐’Œ','l' => '๐’','m' => '๐’Ž','n' => '๐’',
881    'o' => '๐’','p' => '๐’‘','q' => '๐’’','r' => '๐’“','s' => '๐’”','t' => '๐’•','u' => '๐’–',
882    'v' => '๐’—','w' => '๐’˜','x' => '๐’™','y' => '๐’š','z' => '๐’›','A' => '๐‘จ','B' => '๐‘ฉ',
883    'C' => '๐‘ช','D' => '๐‘ซ','E' => '๐‘ฌ','F' => '๐‘ญ','G' => '๐‘ฎ','H' => '๐‘ฏ','I' => '๐‘ฐ',
884    'J' => '๐‘ฑ','K' => '๐‘ฒ','L' => '๐‘ณ','M' => '๐‘ด','N' => '๐‘ต','O' => '๐‘ถ','P' => '๐‘ท',
885    'Q' => '๐‘ธ','R' => '๐‘น','S' => '๐‘บ','T' => '๐‘ป','U' => '๐‘ผ','V' => '๐‘ฝ','W' => '๐‘พ',
886    'X' => '๐‘ฟ','Y' => '๐’€','Z' => '๐’','ฮ“' => '๐œž','โˆ†' => '๐œŸ','ฮ˜' => '๐œฃ','ฮ›' => '๐œฆ',
887    'ฮž' => '๐œฉ','ฮ ' => '๐œซ','ฯด' => '๐œญ','ฮฃ' => '๐œฎ','ฮฅ' => '๐œฐ','ฮฆ' => '๐œฑ','ฮจ' => '๐œณ',
888    'ฮฉ' => '๐œด','ฮฑ' => '๐œถ','ฮฒ' => '๐œท','ฮณ' => '๐œธ','ฮด' => '๐œน','ฮต' => '๐œบ','ฮถ' => '๐œป',
889    'ฮท' => '๐œผ','ฮธ' => '๐œฝ','ฮน' => '๐œพ','ฮบ' => '๐œฟ','ฮป' => '๐€','ฮผ' => '๐','ฮฝ' => '๐‚',
890    'ฮพ' => '๐ƒ','ฯ€' => '๐…','ฯ' => '๐†','ฯƒ' => '๐ˆ','ฯ„' => '๐‰','ฯ…' => '๐Š','ฯ†' => '๐‹',
891    'ฯ‡' => '๐Œ','ฯˆ' => '๐','ฯ‰' => '๐Ž','โˆ‚' => '๐','ฯต' => '๐','ฯ‘' => '๐‘','ฯฐ' => '๐’',
892    'ฯ•' => '๐“','ฯฑ' => '๐”','ฯ–' => '๐•'
893};
894
895static BOLD_SANS: Map<char,char> = phf_map! {
896    // 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ฮ“โˆ†ฮ˜ฮ›ฮžฮ ฯดฮฃฮฅฮฆฮจฮฉฮฑฮฒฮณฮดฮตฮถฮทฮธฮนฮบฮปฮผฮฝฮพฯ€ฯฯƒฯ„ฯ…ฯ†ฯ‡ฯˆฯ‰โˆ‚ฯตฯ‘ฯฐฯ•ฯฑฯ–'
897    //     => '๐—ฎ๐—ฏ๐—ฐ๐—ฑ๐—ฒ๐—ณ๐—ด๐—ต๐—ถ๐—ท๐—ธ๐—น๐—บ๐—ป๐—ผ๐—ฝ๐—พ๐—ฟ๐˜€๐˜๐˜‚๐˜ƒ๐˜„๐˜…๐˜†๐˜‡๐—”๐—•๐—–๐——๐—˜๐—™๐—š๐—›๐—œ๐—๐—ž๐—Ÿ๐— ๐—ก๐—ข๐—ฃ๐—ค๐—ฅ๐—ฆ๐—ง๐—จ๐—ฉ๐—ช๐—ซ๐—ฌ๐—ญ๐Ÿฌ๐Ÿญ๐Ÿฎ๐Ÿฏ๐Ÿฐ๐Ÿฑ๐Ÿฒ๐Ÿณ๐Ÿด๐Ÿต๐˜๐™๐๐ ๐ฃ๐ฅ๐ง๐จ๐ช๐ซ๐ญ๐ฎ๐ฐ๐ฑ๐ฒ๐ณ๐ด๐ต๐ถ๐ท๐ธ๐น๐บ๐ป๐ผ๐ฝ๐ฟ๐ž€๐ž‚๐žƒ๐ž„๐ž…๐ž†๐ž‡๐žˆ๐ž‰๐žŠ๐ž‹๐žŒ๐ž๐žŽ๐ž'
898    'a' => '๐—ฎ','b' => '๐—ฏ','c' => '๐—ฐ','d' => '๐—ฑ','e' => '๐—ฒ','f' => '๐—ณ','g' => '๐—ด',
899    'h' => '๐—ต','i' => '๐—ถ','j' => '๐—ท','k' => '๐—ธ','l' => '๐—น','m' => '๐—บ','n' => '๐—ป',
900    'o' => '๐—ผ','p' => '๐—ฝ','q' => '๐—พ','r' => '๐—ฟ','s' => '๐˜€','t' => '๐˜','u' => '๐˜‚',
901    'v' => '๐˜ƒ','w' => '๐˜„','x' => '๐˜…','y' => '๐˜†','z' => '๐˜‡','A' => '๐—”','B' => '๐—•',
902    'C' => '๐—–','D' => '๐——','E' => '๐—˜','F' => '๐—™','G' => '๐—š','H' => '๐—›','I' => '๐—œ',
903    'J' => '๐—','K' => '๐—ž','L' => '๐—Ÿ','M' => '๐— ','N' => '๐—ก','O' => '๐—ข','P' => '๐—ฃ',
904    'Q' => '๐—ค','R' => '๐—ฅ','S' => '๐—ฆ','T' => '๐—ง','U' => '๐—จ','V' => '๐—ฉ','W' => '๐—ช',
905    'X' => '๐—ซ','Y' => '๐—ฌ','Z' => '๐—ญ','0' => '๐Ÿฌ','1' => '๐Ÿญ','2' => '๐Ÿฎ','3' => '๐Ÿฏ',
906    '4' => '๐Ÿฐ','5' => '๐Ÿฑ','6' => '๐Ÿฒ','7' => '๐Ÿณ','8' => '๐Ÿด','9' => '๐Ÿต','ฮ“' => '๐˜',
907    'โˆ†' => '๐™','ฮ˜' => '๐','ฮ›' => '๐ ','ฮž' => '๐ฃ','ฮ ' => '๐ฅ','ฯด' => '๐ง','ฮฃ' => '๐จ',
908    'ฮฅ' => '๐ช','ฮฆ' => '๐ซ','ฮจ' => '๐ญ','ฮฉ' => '๐ฎ','ฮฑ' => '๐ฐ','ฮฒ' => '๐ฑ','ฮณ' => '๐ฒ',
909    'ฮด' => '๐ณ','ฮต' => '๐ด','ฮถ' => '๐ต','ฮท' => '๐ถ','ฮธ' => '๐ท','ฮน' => '๐ธ','ฮบ' => '๐น',
910    'ฮป' => '๐บ','ฮผ' => '๐ป','ฮฝ' => '๐ผ','ฮพ' => '๐ฝ','ฯ€' => '๐ฟ','ฯ' => '๐ž€','ฯƒ' => '๐ž‚',
911    'ฯ„' => '๐žƒ','ฯ…' => '๐ž„','ฯ†' => '๐ž…','ฯ‡' => '๐ž†','ฯˆ' => '๐ž‡','ฯ‰' => '๐žˆ','โˆ‚' => '๐ž‰',
912    'ฯต' => '๐žŠ','ฯ‘' => '๐ž‹','ฯฐ' => '๐žŒ','ฯ•' => '๐ž','ฯฑ' => '๐žŽ','ฯ–' => '๐ž'
913};
914
915static BOLD_FRAKTUR: Map<char,char> = phf_map! {
916    // 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
917    //     => '๐–†๐–‡๐–ˆ๐–‰๐–Š๐–‹๐–Œ๐–๐–Ž๐–๐–๐–‘๐–’๐–“๐–”๐–•๐––๐–—๐–˜๐–™๐–š๐–›๐–œ๐–๐–ž๐–Ÿ๐•ฌ๐•ญ๐•ฎ๐•ฏ๐•ฐ๐•ฑ๐•ฒ๐•ณ๐•ด๐•ต๐•ถ๐•ท๐•ธ๐•น๐•บ๐•ป๐•ผ๐•ฝ๐•พ๐•ฟ๐–€๐–๐–‚๐–ƒ๐–„๐–…'
918    'a' => '๐–†','b' => '๐–‡','c' => '๐–ˆ','d' => '๐–‰','e' => '๐–Š','f' => '๐–‹','g' => '๐–Œ',
919    'h' => '๐–','i' => '๐–Ž','j' => '๐–','k' => '๐–','l' => '๐–‘','m' => '๐–’','n' => '๐–“',
920    'o' => '๐–”','p' => '๐–•','q' => '๐––','r' => '๐–—','s' => '๐–˜','t' => '๐–™','u' => '๐–š',
921    'v' => '๐–›','w' => '๐–œ','x' => '๐–','y' => '๐–ž','z' => '๐–Ÿ','A' => '๐•ฌ','B' => '๐•ญ',
922    'C' => '๐•ฎ','D' => '๐•ฏ','E' => '๐•ฐ','F' => '๐•ฑ','G' => '๐•ฒ','H' => '๐•ณ','I' => '๐•ด',
923    'J' => '๐•ต','K' => '๐•ถ','L' => '๐•ท','M' => '๐•ธ','N' => '๐•น','O' => '๐•บ','P' => '๐•ป',
924    'Q' => '๐•ผ','R' => '๐•ฝ','S' => '๐•พ','T' => '๐•ฟ','U' => '๐–€','V' => '๐–','W' => '๐–‚',
925    'X' => '๐–ƒ','Y' => '๐–„','Z' => '๐–…'
926};
927
928static ITALIC_SANS: Map<char,char> = phf_map!{
929    // 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
930    //     => '๐˜ข๐˜ฃ๐˜ค๐˜ฅ๐˜ฆ๐˜ง๐˜จ๐˜ฉ๐˜ช๐˜ซ๐˜ฌ๐˜ญ๐˜ฎ๐˜ฏ๐˜ฐ๐˜ฑ๐˜ฒ๐˜ณ๐˜ด๐˜ต๐˜ถ๐˜ท๐˜ธ๐˜น๐˜บ๐˜ป๐˜ˆ๐˜‰๐˜Š๐˜‹๐˜Œ๐˜๐˜Ž๐˜๐˜๐˜‘๐˜’๐˜“๐˜”๐˜•๐˜–๐˜—๐˜˜๐˜™๐˜š๐˜›๐˜œ๐˜๐˜ž๐˜Ÿ๐˜ ๐˜ก'
931    'a' => '๐˜ข','b' => '๐˜ฃ','c' => '๐˜ค','d' => '๐˜ฅ','e' => '๐˜ฆ','f' => '๐˜ง','g' => '๐˜จ',
932    'h' => '๐˜ฉ','i' => '๐˜ช','j' => '๐˜ซ','k' => '๐˜ฌ','l' => '๐˜ญ','m' => '๐˜ฎ','n' => '๐˜ฏ',
933    'o' => '๐˜ฐ','p' => '๐˜ฑ','q' => '๐˜ฒ','r' => '๐˜ณ','s' => '๐˜ด','t' => '๐˜ต','u' => '๐˜ถ',
934    'v' => '๐˜ท','w' => '๐˜ธ','x' => '๐˜น','y' => '๐˜บ','z' => '๐˜ป','A' => '๐˜ˆ','B' => '๐˜‰',
935    'C' => '๐˜Š','D' => '๐˜‹','E' => '๐˜Œ','F' => '๐˜','G' => '๐˜Ž','H' => '๐˜','I' => '๐˜',
936    'J' => '๐˜‘','K' => '๐˜’','L' => '๐˜“','M' => '๐˜”','N' => '๐˜•','O' => '๐˜–','P' => '๐˜—',
937    'Q' => '๐˜˜','R' => '๐˜™','S' => '๐˜š','T' => '๐˜›','U' => '๐˜œ','V' => '๐˜','W' => '๐˜ž',
938    'X' => '๐˜Ÿ','Y' => '๐˜ ','Z' => '๐˜ก'
939};
940
941static BOLD_ITALIC_SANS: Map<char,char> = phf_map! {
942    // 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZฮ“โˆ†ฮ˜ฮ›ฮžฮ ฯดฮฃฮฅฮฆฮจฮฉฮฑฮฒฮณฮดฮตฮถฮทฮธฮนฮบฮปฮผฮฝฮพฯ€ฯฯƒฯ„ฯ…ฯ†ฯ‡ฯˆฯ‰โˆ‚ฯตฯ‘ฯฐฯ•ฯฑฯ–'
943    //     => '๐™–๐™—๐™˜๐™™๐™š๐™›๐™œ๐™๐™ž๐™Ÿ๐™ ๐™ก๐™ข๐™ฃ๐™ค๐™ฅ๐™ฆ๐™ง๐™จ๐™ฉ๐™ช๐™ซ๐™ฌ๐™ญ๐™ฎ๐™ฏ๐˜ผ๐˜ฝ๐˜พ๐˜ฟ๐™€๐™๐™‚๐™ƒ๐™„๐™…๐™†๐™‡๐™ˆ๐™‰๐™Š๐™‹๐™Œ๐™๐™Ž๐™๐™๐™‘๐™’๐™“๐™”๐™•๐ž’๐ž“๐ž—๐žš๐ž๐žŸ๐žก๐žข๐žค๐žฅ๐žง๐žจ๐žช๐žซ๐žฌ๐žญ๐žฎ๐žฏ๐žฐ๐žฑ๐žฒ๐žณ๐žด๐žต๐žถ๐žท๐žน๐žบ๐žผ๐žฝ๐žพ๐žฟ๐Ÿ€๐Ÿ๐Ÿ‚๐Ÿƒ๐Ÿ„๐Ÿ…๐Ÿ†๐Ÿ‡๐Ÿˆ๐Ÿ‰'
944    'a' => '๐™–','b' => '๐™—','c' => '๐™˜','d' => '๐™™','e' => '๐™š','f' => '๐™›','g' => '๐™œ',
945    'h' => '๐™','i' => '๐™ž','j' => '๐™Ÿ','k' => '๐™ ','l' => '๐™ก','m' => '๐™ข','n' => '๐™ฃ',
946    'o' => '๐™ค','p' => '๐™ฅ','q' => '๐™ฆ','r' => '๐™ง','s' => '๐™จ','t' => '๐™ฉ','u' => '๐™ช',
947    'v' => '๐™ซ','w' => '๐™ฌ','x' => '๐™ญ','y' => '๐™ฎ','z' => '๐™ฏ','A' => '๐˜ผ','B' => '๐˜ฝ',
948    'C' => '๐˜พ','D' => '๐˜ฟ','E' => '๐™€','F' => '๐™','G' => '๐™‚','H' => '๐™ƒ','I' => '๐™„',
949    'J' => '๐™…','K' => '๐™†','L' => '๐™‡','M' => '๐™ˆ','N' => '๐™‰','O' => '๐™Š','P' => '๐™‹',
950    'Q' => '๐™Œ','R' => '๐™','S' => '๐™Ž','T' => '๐™','U' => '๐™','V' => '๐™‘','W' => '๐™’',
951    'X' => '๐™“','Y' => '๐™”','Z' => '๐™•','ฮ“' => '๐ž’','โˆ†' => '๐ž“','ฮ˜' => '๐ž—','ฮ›' => '๐žš',
952    'ฮž' => '๐ž','ฮ ' => '๐žŸ','ฯด' => '๐žก','ฮฃ' => '๐žข','ฮฅ' => '๐žค','ฮฆ' => '๐žฅ','ฮจ' => '๐žง',
953    'ฮฉ' => '๐žจ','ฮฑ' => '๐žช','ฮฒ' => '๐žซ','ฮณ' => '๐žฌ','ฮด' => '๐žญ','ฮต' => '๐žฎ','ฮถ' => '๐žฏ',
954    'ฮท' => '๐žฐ','ฮธ' => '๐žฑ','ฮน' => '๐žฒ','ฮบ' => '๐žณ','ฮป' => '๐žด','ฮผ' => '๐žต','ฮฝ' => '๐žถ',
955    'ฮพ' => '๐žท','ฯ€' => '๐žน','ฯ' => '๐žบ','ฯƒ' => '๐žผ','ฯ„' => '๐žฝ','ฯ…' => '๐žพ','ฯ†' => '๐žฟ',
956    'ฯ‡' => '๐Ÿ€','ฯˆ' => '๐Ÿ','ฯ‰' => '๐Ÿ‚','โˆ‚' => '๐Ÿƒ','ฯต' => '๐Ÿ„','ฯ‘' => '๐Ÿ…','ฯฐ' => '๐Ÿ†',
957    'ฯ•' => '๐Ÿ‡','ฯฑ' => '๐Ÿˆ','ฯ–' => '๐Ÿ‰'
958};
959
960 */