glaemscribe 1.1.14 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. checksums.yaml +5 -5
  2. data/bin/glaemscribe +21 -17
  3. data/glaemresources/charsets/cirth_ds.cst +540 -0
  4. data/glaemresources/charsets/eldamar.cst +210 -0
  5. data/glaemresources/charsets/sarati_eldamar.cst +256 -0
  6. data/glaemresources/charsets/tengwar_ds_annatar.cst +2868 -0
  7. data/glaemresources/charsets/tengwar_ds_eldamar.cst +2729 -0
  8. data/glaemresources/charsets/tengwar_ds_elfica.cst +2742 -0
  9. data/glaemresources/charsets/tengwar_ds_parmaite.cst +2726 -0
  10. data/glaemresources/charsets/tengwar_ds_sindarin.cst +2722 -0
  11. data/glaemresources/charsets/tengwar_freemono.cst +217 -0
  12. data/glaemresources/charsets/tengwar_guni_annatar.cst +2948 -0
  13. data/glaemresources/charsets/tengwar_guni_eldamar.cst +2809 -0
  14. data/glaemresources/charsets/tengwar_guni_elfica.cst +2809 -0
  15. data/glaemresources/charsets/tengwar_guni_parmaite.cst +2813 -0
  16. data/glaemresources/charsets/tengwar_guni_sindarin.cst +2808 -0
  17. data/glaemresources/charsets/tengwar_telcontar.cst +225 -0
  18. data/glaemresources/charsets/unicode_gothic.cst +64 -0
  19. data/glaemresources/charsets/unicode_runes.cst +121 -0
  20. data/glaemresources/modes/{adunaic.glaem → adunaic-tengwar-glaemscrafu.glaem} +14 -2
  21. data/glaemresources/modes/{blackspeech.glaem → blackspeech-tengwar-general_use.glaem} +13 -3
  22. data/glaemresources/modes/english-cirth-espeak.glaem +687 -0
  23. data/glaemresources/modes/english-tengwar-espeak.glaem +814 -0
  24. data/glaemresources/modes/japanese-tengwar.glaem +776 -0
  25. data/glaemresources/modes/{khuzdul.glaem → khuzdul-cirth-moria.glaem} +4 -1
  26. data/glaemresources/modes/lang_belta-tengwar-dadef.glaem +248 -0
  27. data/glaemresources/modes/{futhorc.glaem → old_english-futhorc.glaem} +0 -0
  28. data/glaemresources/modes/{mercian.glaem → old_english-tengwar-mercian.glaem} +22 -12
  29. data/glaemresources/modes/{westsaxon.glaem → old_english-tengwar-westsaxon.glaem} +20 -11
  30. data/glaemresources/modes/{futhark-runicus.glaem → old_norse-futhark-runicus.glaem} +0 -0
  31. data/glaemresources/modes/{futhark-younger.glaem → old_norse-futhark-younger.glaem} +0 -0
  32. data/glaemresources/modes/{quenya.glaem → quenya-tengwar-classical.glaem} +32 -50
  33. data/glaemresources/modes/raw-cirth.glaem +154 -0
  34. data/glaemresources/modes/raw-tengwar.glaem +46 -23
  35. data/glaemresources/modes/{rlyehian.glaem → rlyehian-tengwar.glaem} +14 -3
  36. data/glaemresources/modes/{sindarin-daeron.glaem → sindarin-cirth-daeron.glaem} +55 -14
  37. data/glaemresources/modes/{sindarin-beleriand.glaem → sindarin-tengwar-beleriand.glaem} +154 -28
  38. data/glaemresources/modes/{sindarin.glaem → sindarin-tengwar-general_use.glaem} +86 -25
  39. data/glaemresources/modes/{telerin.glaem → telerin-tengwar-glaemscrafu.glaem} +16 -6
  40. data/glaemresources/modes/{westron.glaem → westron-tengwar-glaemscrafu.glaem} +18 -8
  41. data/lib/api/charset.rb +67 -7
  42. data/lib/api/charset_parser.rb +14 -1
  43. data/lib/api/constants.rb +3 -4
  44. data/lib/api/fragment.rb +26 -5
  45. data/lib/api/if_tree.rb +70 -8
  46. data/lib/api/macro.rb +40 -0
  47. data/lib/api/mode.rb +66 -19
  48. data/lib/api/mode_parser.rb +117 -14
  49. data/lib/api/object_additions.rb +23 -1
  50. data/lib/api/option.rb +17 -2
  51. data/lib/api/post_processor/outspace.rb +44 -0
  52. data/lib/api/post_processor/resolve_virtuals.rb +25 -9
  53. data/lib/api/resource_manager.rb +1 -0
  54. data/lib/api/rule_group.rb +170 -26
  55. data/lib/api/sheaf_chain_iterator.rb +1 -1
  56. data/lib/api/transcription_pre_post_processor.rb +8 -5
  57. data/lib/api/transcription_processor.rb +15 -12
  58. data/lib/api/tts.rb +51 -0
  59. data/lib/glaemscribe.rb +36 -31
  60. data/lib_espeak/espeakng.for.glaemscribe.nowasm.sync.js +35 -0
  61. data/lib_espeak/glaemscribe_tts.js +505 -0
  62. metadata +76 -24
@@ -0,0 +1,210 @@
1
+ \**
2
+
3
+ Glǽmscribe (also written Glaemscribe) is a software dedicated to
4
+ the transcription of texts between writing systems, and more
5
+ specifically dedicated to the transcription of J.R.R. Tolkien's
6
+ invented languages to some of his devised writing systems.
7
+
8
+ Copyright (C) 2015 Benjamin Babut (Talagan).
9
+
10
+ This program is free software: you can redistribute it and/or modify
11
+ it under the terms of the GNU Affero General Public License as published by
12
+ the Free Software Foundation, either version 3 of the License, or
13
+ any later version.
14
+
15
+ This program is distributed in the hope that it will be useful,
16
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
17
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
+ GNU Affero General Public License for more details.
19
+
20
+ You should have received a copy of the GNU Affero General Public License
21
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
22
+
23
+ **\
24
+
25
+ \version 0.0.1
26
+
27
+ \beg changelog
28
+ \entry "0.0.1" "Copy pasted from FreeMono charset."
29
+ \end
30
+
31
+ \char 20 SPACE
32
+ \char a0 NBSP
33
+
34
+ \** PUSTAR, take them in unicode not in personnal use (deprecation) **\
35
+ \char 2e31 PUNCT_DOT
36
+ \char 3a PUNCT_DDOT
37
+ \char 205D PUNCT_TDOT PUSTA_3
38
+ \char 2058 PUSTA_4
39
+ \char 10FB PUSTA_4_HALFED
40
+ \char 2E2C PUSTA_4_SQUARED
41
+ \char 2E2D PUSTA_5
42
+
43
+ \char e000 TW_11 TINCO
44
+ \char e001 TW_12 PARMA
45
+ \char e002 TW_13 CALMA
46
+ \char e003 TW_14 QUESSE
47
+
48
+ \char e004 TW_21 ANDO
49
+ \char e005 TW_22 UMBAR
50
+ \char e006 TW_23 ANGA
51
+ \char e007 TW_24 UNGWE
52
+
53
+ \char e008 TW_31 SULE THULE
54
+ \char e009 TW_32 FORMEN
55
+ \char e00A TW_33 AHA
56
+ \char e00B TW_34 HWESTA
57
+
58
+ \char e00C TW_41 ANTO
59
+ \char e00D TW_42 AMPA
60
+ \char e00E TW_43 ANCA
61
+ \char e00F TW_44 UNQUE
62
+
63
+ \char e010 TW_51 NUMEN
64
+ \char e011 TW_52 MALTA
65
+ \char e012 TW_53 NOLDO
66
+ \char e013 TW_54 NWALME
67
+
68
+ \char e014 TW_61 ORE
69
+ \char e015 TW_62 VALA
70
+ \char e016 TW_63 ANNA
71
+ \char e017 TW_64 VILYA
72
+
73
+ \char e018 TW_EXT_11 TINCO_EXT SULE_EXT THULE_EXT
74
+ \char e019 TW_EXT_12 PARMA_EXT FORMEN_EXT
75
+ \char e01A TW_EXT_13 CALMA_EXT AHA_EXT
76
+ \char e01B TW_EXT_14 QUESSE_EXT HWESTA_EXT
77
+
78
+ \char e01C TW_EXT_21 ANDO_EXT ANTO_EXT
79
+ \char e01D TW_EXT_22 UMBAR_EXT AMPA_EXT
80
+ \char e01E TW_EXT_23 ANGA_EXT ANCA_EXT
81
+ \char e01F TW_EXT_24 UNGWE_EXT UNQUE_EXT
82
+
83
+ \char e020 TW_71 ROMEN
84
+ \char e021 TW_72 ARDA
85
+ \char e022 TW_73 LAMBE
86
+ \char e023 TW_74 ALDA
87
+
88
+ \char e024 TW_81 SILME
89
+ \** Unfortunately, monotengwar is missing silme nuquerna used for y in beleriand **\
90
+ \char e025 TW_82 SILME_NUQUERNA SILME_NUQUERNA_ALT
91
+ \char e026 TW_83 ESSE
92
+ \char e027 TW_84 ESSE_NUQUERNA
93
+
94
+ \char e028 TW_91 HYARMEN
95
+ \char e029 TW_92 HWESTA_SINDARINWA
96
+ \char e02A TW_93 YANTA
97
+ \char e02B TW_94 URE
98
+
99
+ \char e02C ARA
100
+ \char e02D HALLA
101
+ \char e02E TELCO
102
+ \char e02F ?
103
+
104
+ \char e030 REVERSED_OSSE
105
+ \char e031 BOMBADIL_W
106
+ \char e032 OSSE
107
+ \char e033 ?
108
+
109
+ \char e034 LIGATING_SHORT_CARRIER
110
+ \char e035 ?
111
+ \char e036 ANNA_OPEN
112
+ \char e037 CHRISTOPHER_QU
113
+
114
+ \char e038 ?
115
+ \char e039 BOMBADIL_HW
116
+ \char e03A TW_MH MALTA_W_HOOK
117
+ \char e03B TW_MH_BELERIANDIC VALA_W_HOOK
118
+
119
+ \char e03C TW_HW_LOWDHAM HARP_SHAPED
120
+ \char e03D VAIA WAIA VAIYA
121
+ \char e03E ?
122
+ \char e03F ?
123
+
124
+ \char e040 A_TEHTA
125
+ \char e041 A_TEHTA_INF
126
+ \char e042 I_TEHTA_DOUBLE Y_TEHTA
127
+ \char e043 I_TEHTA_DOUBLE_INF PALATAL_SIGN Y_TEHTA_INF
128
+
129
+ \char e044 I_TEHTA
130
+ \char e045 I_TEHTA_INF NO_VOWEL_DOT UNUTIXE
131
+ \char e046 E_TEHTA
132
+ \char e047 E_TEHTA_INF
133
+
134
+ \char e048 E_TEHTA_DOUBLE
135
+ \char e049 E_TEHTA_DOUBLE_INF GEMINATE_DOUBLE
136
+ \char e04A O_TEHTA
137
+ \char e04B O_TEHTA_INF
138
+
139
+ \char e04C U_TEHTA
140
+ \char e04D U_TEHTA_INF
141
+ \char e04E O_TEHTA_DOUBLE
142
+ \char e04F U_TEHTA_DOUBLE
143
+
144
+ \char e050 NASALIZE_SIGN NASALIZE_SIGN_TILD
145
+ \char e051 GEMINATE_SIGN GEMINATE_SIGN_TILD
146
+ \char e052 WA_TEHTA SEV_TEHTA
147
+ \char e053 TEHTA_BREVE A_TEHTA_CIRCUM_REVERSED
148
+
149
+ \char e054 E_TEHTA_GRAVE
150
+ \char e055 A_TEHTA_CIRCUM
151
+ \char e056 A_TEHTA_REVERSED A_TEHTA_DOUBLE
152
+ \char e057 THINNAS THINF_STROKE
153
+
154
+ \** THE TWO FOLLOWING ONES ARE HIGHLY DISCUSSABLE, MAYBE WE SHOULD ADD A VIRTUAL CHAR FOR THESE **\
155
+ \char e058 SARINCE_ENDING_LONG SARINCE_FLOURISHED
156
+ \char e059 SARINCE COMBINING_SARINCE SHOOK_RIGHT_L SHOOK_LEFT_L
157
+ \char e05A ?
158
+ \char e05B ?
159
+
160
+ \char e065 PUNCT_EXCLAM
161
+ \char e066 PUNCT_INTERR
162
+ \char e067 ELVISH_PAREN PUNCT_PAREN_L PUNCT_PAREN_R PUNCT_PAREN_L_ALT PUNCT_PAREN_R_ALT BOOKMARK_SIGN
163
+ \char e068 PUNCT_TILD
164
+
165
+ \char e069 PUNCT_DTILD RING_MARK_L RING_MARK_R
166
+
167
+ \char e06A DQUOT_OPEN
168
+ \char e06B DQUOT_CLOSE
169
+ \char e06C THORIN_EXCLAMATION
170
+
171
+ \char e070 NUM_0
172
+ \char e071 NUM_1
173
+ \char e072 NUM_2
174
+ \char e073 NUM_3
175
+ \char e074 NUM_4
176
+ \char e075 NUM_5
177
+ \char e076 NUM_6
178
+ \char e077 NUM_7
179
+ \char e078 NUM_8
180
+ \char e079 NUM_9
181
+ \char e07A NUM_10
182
+ \char e07B NUM_11
183
+ \char e07C NUM_12
184
+
185
+ \char e07D CIRC_TEHTA_INF
186
+
187
+ \** Ligatured results are mapped here **\
188
+ \**
189
+ \char 10037 AHA_TINCO
190
+ \char 10038 HWESTA_TINCO
191
+ \char 10039 ANCA_CLOSED SILME_AHA
192
+ **\
193
+
194
+ \char 204A OLD_ENGLISH_AND
195
+
196
+ \char 200d ZWJ
197
+
198
+ \** Ligatured sequences used as one entity in modes **\
199
+ \beg seq AHA_TINCO
200
+ AHA ZWJ TINCO
201
+ \end
202
+
203
+ \beg seq HWESTA_TINCO
204
+ HWESTA ZWJ TINCO
205
+ \end
206
+
207
+ \beg seq ANCA_CLOSED SILME_AHA
208
+ SILME ZWJ AHA
209
+ \end
210
+
@@ -0,0 +1,256 @@
1
+ \**
2
+
3
+ Glǽmscribe (also written Glaemscribe) is a software dedicated to
4
+ the transcription of texts between writing systems, and more
5
+ specifically dedicated to the transcription of J.R.R. Tolkien's
6
+ invented languages to some of his devised writing systems.
7
+
8
+ Copyright (C) 2015 Benjamin Babut (Talagan).
9
+
10
+ This program is free software: you can redistribute it and/or modify
11
+ it under the terms of the GNU Affero General Public License as published by
12
+ the Free Software Foundation, either version 3 of the License, or
13
+ any later version.
14
+
15
+ This program is distributed in the hope that it will be useful,
16
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
17
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
+ GNU Affero General Public License for more details.
19
+
20
+ You should have received a copy of the GNU Affero General Public License
21
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
22
+
23
+ **\
24
+
25
+ \** **\ \char 20 ?
26
+ \** ! **\ \char 21 SARATI_SPACE
27
+ \** " **\ \char 22 SARATI_T
28
+ \** # **\ \char 23 SARATI_QUENYA_C
29
+ \** $ **\ \char 24 ?
30
+ \** % **\ \char 25 SARATI_D
31
+ \** & **\ \char 26 SARATI_NG
32
+ \** ' **\ \char 27 SARATI_PHONETIC_GW
33
+ \** ( **\ \char 28 ?
34
+ \** ) **\ \char 29 ?
35
+ \** * **\ \char 2a ?
36
+ \** + **\ \char 2b SARATI_QUENYA_VELAR_NASAL
37
+ \** , **\ \char 2c SARATI_QUENYA_NW
38
+ \** - **\ \char 2d ?
39
+ \** . **\ \char 2e ?
40
+ \** / **\ \char 2f ?
41
+ \** 0 **\ \char 30 ?
42
+ \** 1 **\ \char 31 ?
43
+ \** 2 **\ \char 32 ?
44
+ \** 3 **\ \char 33 ?
45
+ \** 4 **\ \char 34 ?
46
+ \** 5 **\ \char 35 ?
47
+ \** 6 **\ \char 36 ?
48
+ \** 7 **\ \char 37 ?
49
+ \** 8 **\ \char 38 ?
50
+ \** 9 **\ \char 39 ?
51
+ \** : **\ \char 3a ?
52
+ \** ; **\ \char 3b ?
53
+ \** < **\ \char 3c ?
54
+ \** = **\ \char 3d ?
55
+ \** > **\ \char 3e ?
56
+ \** ? **\ \char 3f SARATI_L
57
+ \** @ **\ \char 40 ?
58
+ \** A **\ \char 41 SARATI_QUENYA_HL
59
+ \** B **\ \char 42 ?
60
+ \** C **\ \char 43 ?
61
+ \** D **\ \char 44 ?
62
+ \** E **\ \char 45 ?
63
+ \** F **\ \char 46 SARATI_R
64
+ \** G **\ \char 47 ?
65
+ \** H **\ \char 48 ?
66
+ \** I **\ \char 49 ?
67
+ \** J **\ \char 4a SARATI_QUENYA_HR
68
+ \** K **\ \char 4b ?
69
+ \** L **\ \char 4c ?
70
+ \** M **\ \char 4d ?
71
+ \** N **\ \char 4e ?
72
+ \** O **\ \char 4f ?
73
+ \** P **\ \char 50 SARATI_M
74
+ \** Q **\ \char 51 ?
75
+ \** R **\ \char 52 ?
76
+ \** S **\ \char 53 ?
77
+ \** T **\ \char 54 ?
78
+ \** U **\ \char 55 ?
79
+ \** V **\ \char 56 ?
80
+ \** W **\ \char 57 ?
81
+ \** X **\ \char 58 ?
82
+ \** Y **\ \char 59 ?
83
+ \** Z **\ \char 5a SARATI_P
84
+ \** [ **\ \char 5b SARATI_F
85
+ \** \ **\ \char 5c SARATI_QUENYA_F_ALT
86
+ \** ] **\ \char 5d ?
87
+ \** ^ **\ \char 5e ?
88
+ \** _ **\ \char 5f SARATI_B SARATI_QUENYA_MB
89
+ \** ` **\ \char 60 SARATI_V
90
+ \** a **\ \char 61 SARATI_QUENYA_V_ALT
91
+ \** b **\ \char 62 ?
92
+ \** c **\ \char 63 ?
93
+ \** d **\ \char 64 SARATI_QUENYA_MP SARATI_QUENYA_QU_ALT
94
+ \** e **\ \char 65 ?
95
+ \** f **\ \char 66 ?
96
+ \** g **\ \char 67 SARATI_QUENYA_TS
97
+ \** h **\ \char 68 ?
98
+ \** i **\ \char 69 ?
99
+ \** j **\ \char 6a ?
100
+ \** k **\ \char 6b ?
101
+ \** l **\ \char 6c ?
102
+ \** m **\ \char 6d ?
103
+ \** n **\ \char 6e SARATI_VOICELESS_VELAR_FRICATIVE
104
+ \** o **\ \char 6f ?
105
+ \** p **\ \char 70 SARATI_QUENYA_QU
106
+ \** q **\ \char 71 SARATI_VOICED_VELAR_FRICATIVE
107
+ \** r **\ \char 72 ?
108
+ \** s **\ \char 73 SARATI_QUENYA_NGW
109
+ \** t **\ \char 74 ?
110
+ \** u **\ \char 75 ?
111
+ \** v **\ \char 76 SARATI_QUENYA_ST
112
+ \** w **\ \char 77 ?
113
+ \** x **\ \char 78 ?
114
+ \** y **\ \char 79 SARATI_QUENYA_X SARATI_VELAR_LATERAL_APPROXIMANT
115
+ \** z **\ \char 7a SARATI_UVULAR_TRILL
116
+ \** { **\ \char 7b ?
117
+ \** | **\ \char 7c ?
118
+ \** } **\ \char 7d ?
119
+ \** ~ **\ \char 7e ?
120
+ \**   **\ \char a0 ?
121
+ \** ¡ **\ \char a1 ?
122
+ \** ¢ **\ \char a2 SARATI_VOICELESS_PALATO_ALVEOLAR_SIBILANT_FRICATIVE
123
+ \** £ **\ \char a3 ?
124
+ \** ¤ **\ \char a4 ?
125
+ \** ¥ **\ \char a5 ?
126
+ \** ¦ **\ \char a6 SARATI_QUENYA_SS_ALT_1
127
+ \** § **\ \char a7 ?
128
+ \** ¨ **\ \char a8 ?
129
+ \** © **\ \char a9 ?
130
+ \** ª **\ \char aa SARATI_QUENYA_NT
131
+ \** « **\ \char ab SARATI_VOICED_DENTAL_FRICATIVE
132
+ \** ¬ **\ \char ac ?
133
+ \** ­ **\ \char ad ?
134
+ \** ® **\ \char ae ?
135
+ \** ¯ **\ \char af ?
136
+ \** ° **\ \char b0 ?
137
+ \** ± **\ \char b1 SARATI_QUENYA_TY
138
+ \** ² **\ \char b2 SARATI_QUENYA_HT_ALT_1
139
+ \** ³ **\ \char b3 SARATI_QUENYA_NDY
140
+ \** ´ **\ \char b4 ?
141
+ \** µ **\ \char b5 ?
142
+ \** ¶ **\ \char b6 ?
143
+ \** · **\ \char b7 ?
144
+ \** ¸ **\ \char b8 ?
145
+ \** ¹ **\ \char b9 SARATI_W
146
+ \** º **\ \char ba SARATI_QUENYA_HW SARATI_VOICELESS_LABIOVELAR_APPROXIMANT
147
+ \** » **\ \char bb SARATI_QUENYA_Y SARATI_J
148
+ \** ¼ **\ \char bc ?
149
+ \** ½ **\ \char bd SARATI_QUENYA_HY SARATI_VOICELESS_PALATAL_APPROXIMANT
150
+ \** ¾ **\ \char be ?
151
+ \** ¿ **\ \char bf ?
152
+ \** À **\ \char c0 SARATI_N
153
+ \** Á **\ \char c1 ?
154
+ \** Â **\ \char c2 ?
155
+ \** Ã **\ \char c3 ?
156
+ \** Ä **\ \char c4 ?
157
+ \** Å **\ \char c5 ?
158
+ \** Æ **\ \char c6 ?
159
+ \** Ç **\ \char c7 ?
160
+ \** È **\ \char c8 SARATI_QUENYA_LONG_VOWEL_CARRIER
161
+ \** É **\ \char c9 ?
162
+ \** Ê **\ \char ca ?
163
+ \** Ë **\ \char cb SARATI_H
164
+ \** Ì **\ \char cc ?
165
+ \** Í **\ \char cd PUNCT_DOT
166
+ \** Î **\ \char ce PUNCT_2_DOT
167
+ \** Ï **\ \char cf PUNCT_TRI
168
+ \** Ð **\ \char d0 PUNCT_2_TRI
169
+ \** Ñ **\ \char d1 ?
170
+ \** Ò **\ \char d2 SARATI_DOT_U SARATI_QUENYA_I
171
+ \** Ó **\ \char d3 SARATI_DOT_D
172
+ \** Ô **\ \char d4 ?
173
+ \** Õ **\ \char d5 ?
174
+ \** Ö **\ \char d6 SARATI_QUENYA_A
175
+ \** × **\ \char d7 ?
176
+ \** Ø **\ \char d8 SARATI_QUENYA_A_REVERSED
177
+ \** Ù **\ \char d9 ?
178
+ \** Ú **\ \char da ?
179
+ \** Û **\ \char db ?
180
+ \** Ü **\ \char dc SARATI_QUENYA_O
181
+ \** Ý **\ \char dd ?
182
+ \** Þ **\ \char de SARATI_QUENYA_U
183
+ \** ß **\ \char df ?
184
+ \** à **\ \char e0 ?
185
+ \** á **\ \char e1 ?
186
+ \** â **\ \char e2 ?
187
+ \** ã **\ \char e3 ?
188
+ \** ä **\ \char e4 ?
189
+ \** å **\ \char e5 ?
190
+ \** æ **\ \char e6 ?
191
+ \** ç **\ \char e7 ?
192
+ \** è **\ \char e8 SARATI_QUENYA_E
193
+ \** é **\ \char e9 ?
194
+ \** ê **\ \char ea ?
195
+ \** ë **\ \char eb ?
196
+ \** ì **\ \char ec ?
197
+ \** í **\ \char ed ?
198
+ \** î **\ \char ee ?
199
+ \** ï **\ \char ef ?
200
+ \** ð **\ \char f0 SARATI_DIACRITIC_CIRCLE
201
+ \** ñ **\ \char f1 ?
202
+ \** ò **\ \char f2 SARATI_DASH_U
203
+ \** ó **\ \char f3 SARATI_DASH_D
204
+ \** ô **\ \char f4 ?
205
+ \** õ **\ \char f5 ?
206
+ \** ö **\ \char f6 ?
207
+ \** ÷ **\ \char f7 ?
208
+ \** ø **\ \char f8 ?
209
+ \** ù **\ \char f9 ?
210
+ \** ú **\ \char fa ?
211
+ \** û **\ \char fb ?
212
+ \** ü **\ \char fc ?
213
+ \** ý **\ \char fd ?
214
+ \** þ **\ \char fe ?
215
+ \** ÿ **\ \char ff ?
216
+ \** Ā **\ \char 100 ?
217
+ \** ā **\ \char 101 ?
218
+ \** Ă **\ \char 102 ?
219
+ \** Đ **\ \char 110 ?
220
+ \** đ **\ \char 111 ?
221
+ \** Ġ **\ \char 120 ?
222
+ \** ġ **\ \char 121 ?
223
+ \** Ģ **\ \char 122 ?
224
+ \** ģ **\ \char 123 ?
225
+ \** Ĥ **\ \char 124 ?
226
+ \** İ **\ \char 130 ?
227
+ \** ı **\ \char 131 ?
228
+ \** ŀ **\ \char 140 ?
229
+ \** Œ **\ \char 152 SARATI_QUENYA_HTY
230
+ \** œ **\ \char 153 ?
231
+ \** Š **\ \char 160 ?
232
+ \** š **\ \char 161 ?
233
+ \** Ÿ **\ \char 178 SARATI_QUENYA_S
234
+ \** Ž **\ \char 17d ?
235
+ \** ž **\ \char 17e ?
236
+ \** ƒ **\ \char 192 ?
237
+ \** ˆ **\ \char 2c6 ?
238
+ \** ˜ **\ \char 2dc SARATI_QUENYA_NQU
239
+ \** – **\ \char 2013 ?
240
+ \** — **\ \char 2014 SARATI_QUENYA_NC
241
+ \** ‘ **\ \char 2018 ?
242
+ \** ’ **\ \char 2019 ?
243
+ \** ‚ **\ \char 201a ?
244
+ \** “ **\ \char 201c ?
245
+ \** ” **\ \char 201d ?
246
+ \** „ **\ \char 201e SARATI_QUENYA_NTY
247
+ \** † **\ \char 2020 ?
248
+ \** ‡ **\ \char 2021 ?
249
+ \** • **\ \char 2022 ?
250
+ \** … **\ \char 2026 SARATI_QUENYA_STY
251
+ \** ‰ **\ \char 2030 SARATI_QUENYA_NY
252
+ \** ‹ **\ \char 2039 ?
253
+ \** › **\ \char 203a ?
254
+ \** € **\ \char 20ac SARATI_QUENYA_ND
255
+ \** ™ **\ \char 2122 ?
256
+