riimut/futhorc/
mapping.rs

1use 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}