1#![allow(dead_code)]
2#[path = "encode.rs"]
3mod en;
4#[path = "decode.rs"]
5mod de;
6
7pub use en::*;
8pub use de::*;
9
10use phf::phf_map;
11
12pub(crate) static CRMAP: phf::Map<char, usize> = phf_map! {
13 'r' => 0,
14 'R' => 1,
15 'Ŕ' => 2,
16 'ŕ' => 3,
17 'Ŗ' => 4,
18 'ŗ' => 5,
19 'Ř' => 6,
20 'ř' => 7,
21 'Ʀ' => 8,
22 'Ȑ' => 9,
23 'ȑ' => 10,
24 'Ȓ' => 11,
25 'ȓ' => 12,
26 'Ɍ' => 13,
27 'ɍ' => 14
28};
29pub(crate) static CCMAP: phf::Map<char, usize> = phf_map! {
30 'c' => 0,
31 'C' => 1,
32 'Ć' => 2,
33 'ć' => 3,
34 'Ĉ' => 4,
35 'ĉ' => 5,
36 'Ċ' => 6,
37 'ċ' => 7,
38 'Č' => 8,
39 'č' => 9,
40 'Ƈ' => 10,
41 'ƈ' => 11,
42 'Ç' => 12,
43 'Ȼ' => 13,
44 'ȼ' => 14
45};
46pub(crate) static CNMAP: phf::Map<char, usize> = phf_map! {
47 'n' => 0,
48 'N' => 1,
49 'Ń' => 2,
50 'ń' => 3,
51 'Ņ' => 4,
52 'ņ' => 5,
53 'Ň' => 6,
54 'ň' => 7,
55 'Ɲ' => 8,
56 'ƞ' => 9,
57 'Ñ' => 10,
58 'Ǹ' => 11,
59 'ǹ' => 12,
60 'Ƞ' => 13,
61 'ȵ' => 14
62};
63pub(crate) static CBMAP: phf::Map<char, usize> = phf_map! {
64 'b' => 0,
65 'B' => 1,
66 'ƀ' => 2,
67 'Ɓ' => 3,
68 'ƃ' => 4,
69 'Ƅ' => 5,
70 'ƅ' => 6,
71 'ß' => 7,
72 'Þ' => 8,
73 'þ' => 9
74};
75
76pub(crate) const CR: &[char; 15] = &[
77 'r', 'R', 'Ŕ', 'ŕ', 'Ŗ', 'ŗ', 'Ř', 'ř', 'Ʀ', 'Ȑ', 'ȑ', 'Ȓ', 'ȓ', 'Ɍ', 'ɍ',
78];
79pub(crate) const CC: &[char; 15] = &[
80 'c', 'C', 'Ć', 'ć', 'Ĉ', 'ĉ', 'Ċ', 'ċ', 'Č', 'č', 'Ƈ', 'ƈ', 'Ç', 'Ȼ', 'ȼ',
81];
82pub(crate) const CN: &[char; 15] = &[
83 'n', 'N', 'Ń', 'ń', 'Ņ', 'ņ', 'Ň', 'ň', 'Ɲ', 'ƞ', 'Ñ', 'Ǹ', 'ǹ', 'Ƞ', 'ȵ',
84];
85pub(crate) const CB: &[char; 10] = &['b', 'B', 'ƀ', 'Ɓ', 'ƃ', 'Ƅ', 'ƅ', 'ß', 'Þ', 'þ'];
86
87pub(crate) const SR: u16 = CR.len() as u16;
88pub(crate) const SC: u16 = CC.len() as u16;
89pub(crate) const SN: u16 = CN.len() as u16;
90pub(crate) const SB: u16 = CB.len() as u16;
91
92pub(crate) const SRC: u16 = SR * SC;
93pub(crate) const SNB: u16 = SN * SB;
94pub(crate) const SCNB: u16 = SC * SNB;