riimut/futhorc/
mapping.rs1use std::collections::HashMap;
2use crate::dictionary::DictionaryMapping;
3
4pub fn get_letters_to_runes_map() -> DictionaryMapping {
5 let mut letter_mapping = HashMap::new();
6
7 letter_mapping.insert('a', 'ᚪ');
8 letter_mapping.insert('á', 'ᚪ');
9 letter_mapping.insert('b', 'ᛒ');
10 letter_mapping.insert('c', 'ᚳ');
11 letter_mapping.insert('d', 'ᛞ');
12 letter_mapping.insert('ð', 'ᛞ');
13 letter_mapping.insert('e', 'ᛖ');
14 letter_mapping.insert('é', 'ᛖ');
15 letter_mapping.insert('f', 'ᚠ');
16 letter_mapping.insert('g', 'ᚷ');
17 letter_mapping.insert('h', 'ᚻ');
18 letter_mapping.insert('i', 'ᛁ');
19 letter_mapping.insert('í', 'ᛇ');
20 letter_mapping.insert('ï', 'ᛇ');
21 letter_mapping.insert('ʒ', 'ᛇ');
22 letter_mapping.insert('j', 'ᛡ');
23 letter_mapping.insert('k', 'ᚳ');
24 letter_mapping.insert('l', 'ᛚ');
25 letter_mapping.insert('m', 'ᛗ');
26 letter_mapping.insert('n', 'ᚾ');
27 letter_mapping.insert('ŋ', 'ᛝ');
28 letter_mapping.insert('o', 'ᚩ');
29 letter_mapping.insert('ó', 'ᚩ');
30 letter_mapping.insert('ǫ', 'ᚩ');
31 letter_mapping.insert('p', 'ᛈ');
32 letter_mapping.insert('q', 'ᚳ');
33 letter_mapping.insert('r', 'ᚱ');
34 letter_mapping.insert('s', 'ᛋ');
35 letter_mapping.insert('t', 'ᛏ');
36 letter_mapping.insert('u', 'ᚢ');
37 letter_mapping.insert('ú', 'ᚢ');
38 letter_mapping.insert('v', 'ᚹ');
39 letter_mapping.insert('w', 'ᚹ');
40 letter_mapping.insert('x', 'ᛉ');
41 letter_mapping.insert('y', 'ᚣ');
42 letter_mapping.insert('ý', 'ᚣ');
43 letter_mapping.insert('z', 'ᛉ');
44 letter_mapping.insert('å', 'ᚩ');
45 letter_mapping.insert('ä', 'ᚫ');
46 letter_mapping.insert('æ', 'ᚫ');
47 letter_mapping.insert('œ', 'ᛟ');
48 letter_mapping.insert('ö', 'ᛟ');
49 letter_mapping.insert('ø', 'ᛟ');
50 letter_mapping.insert('þ', 'ᚦ');
51 letter_mapping.insert(' ', ':');
52
53
54 DictionaryMapping::LetterDefinitions(letter_mapping)
55}
56
57pub fn get_runes_to_letters_map() -> DictionaryMapping {
58 let mut rune_mapping = HashMap::new();
59
60 rune_mapping.insert('ᚠ', "f");
61 rune_mapping.insert('ᚢ', "u");
62 rune_mapping.insert('ᚦ', "þ");
63 rune_mapping.insert('ᚩ', "o");
64 rune_mapping.insert('ᚱ', "r");
65 rune_mapping.insert('ᚳ', "c");
66 rune_mapping.insert('ᚷ', "g");
67 rune_mapping.insert('ᚹ', "w");
68 rune_mapping.insert('ᚻ', "h");
69 rune_mapping.insert('ᚾ', "n");
70 rune_mapping.insert('ᛁ', "i");
71 rune_mapping.insert('ᛡ', "j");
72 rune_mapping.insert('ᛄ', "j");
73 rune_mapping.insert('ᛇ', "ï");
74 rune_mapping.insert('ᛈ', "p");
75 rune_mapping.insert('ᛉ', "x");
76 rune_mapping.insert('ᛋ', "s");
77 rune_mapping.insert('ᚴ', "s");
78 rune_mapping.insert('ᛏ', "t");
79 rune_mapping.insert('ᛒ', "b");
80 rune_mapping.insert('ᛖ', "e");
81 rune_mapping.insert('ᛗ', "m");
82 rune_mapping.insert('ᛚ', "l");
83 rune_mapping.insert('ᛝ', "ŋ");
84 rune_mapping.insert('ᛟ', "œ");
85 rune_mapping.insert('ᛞ', "d");
86 rune_mapping.insert('ᚪ', "a");
87 rune_mapping.insert('ᚫ', "æ");
88 rune_mapping.insert('ᚣ', "y");
89 rune_mapping.insert(':', " ");
90 rune_mapping.insert('ᛠ', "ea");
91
92 DictionaryMapping::MultipleLetterDefinitions(rune_mapping)
93}