glaemscribe 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +19 -0
  3. data/bin/glaemscribe +307 -0
  4. data/glaemresources/charsets/cirth_ds.cst +205 -0
  5. data/glaemresources/charsets/sarati_eldamar.cst +256 -0
  6. data/glaemresources/charsets/tengwar_ds.cst +318 -0
  7. data/glaemresources/charsets/unicode_gothic.cst +64 -0
  8. data/glaemresources/charsets/unicode_runes.cst +120 -0
  9. data/glaemresources/modes/adunaic.glaem +251 -0
  10. data/glaemresources/modes/blackspeech-annatar.glaem +318 -0
  11. data/glaemresources/modes/blackspeech.glaem +260 -0
  12. data/glaemresources/modes/gothic.glaem +78 -0
  13. data/glaemresources/modes/khuzdul.glaem +141 -0
  14. data/glaemresources/modes/mercian.glaem +419 -0
  15. data/glaemresources/modes/oldnorse-medieval.glaem +127 -0
  16. data/glaemresources/modes/quenya-sarati.glaem +320 -0
  17. data/glaemresources/modes/quenya.glaem +307 -0
  18. data/glaemresources/modes/sindarin-beleriand.glaem +285 -0
  19. data/glaemresources/modes/sindarin-classical.glaem +276 -0
  20. data/glaemresources/modes/sindarin-daeron.glaem +182 -0
  21. data/glaemresources/modes/telerin.glaem +302 -0
  22. data/glaemresources/modes/valarin-sarati.glaem +210 -0
  23. data/glaemresources/modes/westron.glaem +340 -0
  24. data/glaemresources/modes/westsaxon.glaem +342 -0
  25. data/lib/api/charset.rb +84 -0
  26. data/lib/api/charset_parser.rb +55 -0
  27. data/lib/api/constants.rb +29 -0
  28. data/lib/api/debug.rb +36 -0
  29. data/lib/api/eval.rb +268 -0
  30. data/lib/api/fragment.rb +113 -0
  31. data/lib/api/glaeml.rb +200 -0
  32. data/lib/api/if_tree.rb +96 -0
  33. data/lib/api/mode.rb +112 -0
  34. data/lib/api/mode_parser.rb +314 -0
  35. data/lib/api/option.rb +64 -0
  36. data/lib/api/post_processor/reverse.rb +36 -0
  37. data/lib/api/pre_processor/downcase.rb +35 -0
  38. data/lib/api/pre_processor/elvish_numbers.rb +47 -0
  39. data/lib/api/pre_processor/rxsubstitute.rb +40 -0
  40. data/lib/api/pre_processor/substitute.rb +38 -0
  41. data/lib/api/pre_processor/up_down_tehta_split.rb +138 -0
  42. data/lib/api/resource_manager.rb +130 -0
  43. data/lib/api/rule.rb +99 -0
  44. data/lib/api/rule_group.rb +159 -0
  45. data/lib/api/sheaf.rb +70 -0
  46. data/lib/api/sheaf_chain.rb +86 -0
  47. data/lib/api/sheaf_chain_iterator.rb +108 -0
  48. data/lib/api/sub_rule.rb +40 -0
  49. data/lib/api/transcription_pre_post_processor.rb +118 -0
  50. data/lib/api/transcription_processor.rb +137 -0
  51. data/lib/api/transcription_tree_node.rb +91 -0
  52. data/lib/glaemscribe.rb +70 -0
  53. metadata +112 -0
@@ -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 ?
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 ?
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 ?
166
+ \** Î **\ \char ce ?
167
+ \** Ï **\ \char cf ?
168
+ \** Ð **\ \char d0 ?
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
+
@@ -0,0 +1,318 @@
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
+ \** Charset for Dan Smith layout based fonts **\
26
+
27
+ \** **\ \char 20 SPACE
28
+ \** ! **\ \char 21 TW_EXT_11
29
+ \** " **\ \char 22 DASH_INF_L
30
+ \** # **\ \char 23 A_TEHTA_XL
31
+ \** $ **\ \char 24 E_TEHTA_XL
32
+ \** % **\ \char 25 I_TEHTA_XL
33
+ \** & **\ \char 26 U_TEHTA_XL
34
+ \** ' **\ \char 27 DASH_INF_S
35
+ \** ( **\ \char 28 ?
36
+ \** ) **\ \char 29 TILD_XSUP_L
37
+ \** * **\ \char 2a ?
38
+ \** + **\ \char 2b SHOOK_RIGHT_L
39
+ \** , **\ \char 2c TW_84 ESSE_NUQUERNA
40
+ \** - **\ \char 2d PUNCT_DDOT
41
+ \** . **\ \char 2e TW_94 URE
42
+ \** / **\ \char 2f TILD_XINF_S
43
+ \** 0 **\ \char 30 TILD_XSUP_S
44
+ \** 1 **\ \char 31 TW_11 TINCO
45
+ \** 2 **\ \char 32 TW_21 ANDO
46
+ \** 3 **\ \char 33 TW_31 SULE THULE
47
+ \** 4 **\ \char 34 TW_41 ANTO
48
+ \** 5 **\ \char 35 TW_51 NUMEN
49
+ \** 6 **\ \char 36 TW_61 ORE
50
+ \** 7 **\ \char 37 TW_71 ROMEN
51
+ \** 8 **\ \char 38 TW_81 SILME
52
+ \** 9 **\ \char 39 TW_91 HYARMEN
53
+ \** : **\ \char 3a TILD_INF_L
54
+ \** ; **\ \char 3b TILD_INF_S
55
+ \** < **\ \char 3c ? \** Does not look compliant between DS and Annatar **\
56
+ \** = **\ \char 3d PUNCT_DOT
57
+ \** > **\ \char 3e ?
58
+ \** ? **\ \char 3f TILD_XINF_L
59
+ \** @ **\ \char 40 TW_EXT_21 ANDO_EXT ANTO_EXT
60
+ \** A **\ \char 41 TW_EXT_13 CALMA_EXT AHA_EXT
61
+ \** B **\ \char 42 I_TEHTA_XS
62
+ \** C **\ \char 43 A_TEHTA_XS
63
+ \** D **\ \char 44 A_TEHTA_S
64
+ \** E **\ \char 45 A_TEHTA_L
65
+ \** F **\ \char 46 E_TEHTA_S
66
+ \** G **\ \char 47 I_TEHTA_S
67
+ \** H **\ \char 48 O_TEHTA_S
68
+ \** I **\ \char 49 SILME_NUQUERNA_ALT \** Used for y in s. beleriand **\
69
+ \** J **\ \char 4a U_TEHTA_S
70
+ \** K **\ \char 4b ?
71
+ \** L **\ \char 4c ?
72
+ \** M **\ \char 4d U_TEHTA_XS
73
+ \** N **\ \char 4e O_TEHTA_XS
74
+ \** O **\ \char 4f ?
75
+ \** P **\ \char 50 TILD_SUP_L
76
+ \** Q **\ \char 51 TW_EXT_12 PARMA_EXT FORMEN_EXT
77
+ \** R **\ \char 52 E_TEHTA_L
78
+ \** S **\ \char 53 TW_EXT_23 ANGA_EXT ANCA_EXT
79
+ \** T **\ \char 54 I_TEHTA_L
80
+ \** U **\ \char 55 U_TEHTA_L
81
+ \** V **\ \char 56 E_TEHTA_XS
82
+ \** W **\ \char 57 TW_EXT_22 UMBAR_EXT AMPA_EXT
83
+ \** X **\ \char 58 TW_EXT_24 UNQUE_EXT UNGWE_EXT
84
+ \** Y **\ \char 59 O_TEHTA_L
85
+ \** Z **\ \char 5a TW_EXT_14 QUESSE_EXT HWESTA_EXT
86
+ \** [ **\ \char 5b DASH_SUP_S
87
+ \** \ **\ \char 5c TILD_L
88
+ \** ] **\ \char 5d OSSE
89
+ \** ^ **\ \char 5e O_TEHTA_XL
90
+ \** _ **\ \char 5f SHOOOK_RIGHT_S
91
+ \** ` **\ \char 60 TELCO
92
+ \** a **\ \char 61 TW_13 CALMA
93
+ \** b **\ \char 62 TW_54 NWALME
94
+ \** c **\ \char 63 TW_34 HWESTA
95
+ \** d **\ \char 64 TW_33 AHA
96
+ \** e **\ \char 65 TW_32 FORMEN
97
+ \** f **\ \char 66 TW_43 ANCA
98
+ \** g **\ \char 67 TW_53 NOLDO
99
+ \** h **\ \char 68 TW_63 ANNA
100
+ \** i **\ \char 69 TW_82 SILME_NUQUERNA
101
+ \** j **\ \char 6a TW_73 LAMBE
102
+ \** k **\ \char 6b TW_83 ESSE
103
+ \** l **\ \char 6c TW_93 YANTA
104
+ \** m **\ \char 6d TW_74 ALDA
105
+ \** n **\ \char 6e TW_64 VILYA
106
+ \** o **\ \char 6f TW_92 HWESTA_SINDARINWA
107
+ \** p **\ \char 70 TILD_SUP_S
108
+ \** q **\ \char 71 TW_12 PARMA
109
+ \** r **\ \char 72 TW_42 AMPA
110
+ \** s **\ \char 73 TW_23 ANGA
111
+ \** t **\ \char 74 TW_52 MALTA
112
+ \** u **\ \char 75 TW_72 ARDA
113
+ \** v **\ \char 76 TW_44 UNQUE
114
+ \** w **\ \char 77 TW_22 UMBAR
115
+ \** x **\ \char 78 TW_24 UNGWE
116
+ \** y **\ \char 79 TW_62 VALA
117
+ \** z **\ \char 7a TW_14 QUESSE
118
+ \** { **\ \char 7b DASH_SUP_L
119
+ \** | **\ \char 7c SHOOK_LEFT_L
120
+ \** } **\ \char 7d SHOOK_LEFT_S
121
+ \** ~ **\ \char 7e ARA
122
+ \** ¡ **\ \char a1 ?
123
+ \** ¢ **\ \char a2 ?
124
+ \** £ **\ \char a3 SHOOK_BEAUTIFUL
125
+ \** ¥ **\ \char a5 ?
126
+ \** ¦ **\ \char a6 HWESTA_TINCO
127
+ \** § **\ \char a7 AHA_TINCO
128
+ \** ¨ **\ \char a8 TH_SUB_CIRC_S
129
+ \** © **\ \char a9 TH_SUB_CIRC_XS
130
+ \** ª **\ \char aa A_TEHTA_INV_XL
131
+ \** « **\ \char ab DQUOT_OPEN
132
+ \** ¬ **\ \char ac WAVE_MED_DOUBLE
133
+ \** ­ **\ \char ad A_TEHTA_INV_L
134
+ \** ® **\ \char ae ?
135
+ \** ¯ **\ \char af A_TEHTA_INV_S
136
+ \** ° **\ \char b0 WAVE_MED_SIMPLE
137
+ \** ± **\ \char b1 SQUOT_OPEN
138
+ \** ² **\ \char b2 SQUOT_CLOSE
139
+ \** ³ **\ \char b3 ?
140
+ \** ´ **\ \char b4 LAMBE_MARK_DDOT
141
+ \** µ **\ \char b5 A_TEHTA_INV_XS
142
+ \** · **\ \char b7 ?
143
+ \** ¸ **\ \char b8 LAMBE_MARK_TILD
144
+ \** ¹ **\ \char b9 ?
145
+ \** º **\ \char ba ?
146
+ \** » **\ \char bb DQUOT_CLOSE
147
+ \** ¼ **\ \char bc ?
148
+ \** ½ **\ \char bd HALLA
149
+ \** ¾ **\ \char be ?
150
+ \** ¿ **\ \char bf ?
151
+ \** À **\ \char c0 PUNCT_INTERR
152
+ \** Á **\ \char c1 PUNCT_EXCLAM
153
+ \** Â **\ \char c2 PUNCT_TILD
154
+ \** Ã **\ \char c3 ?
155
+ \** Ä **\ \char c4 ?
156
+ \** Å **\ \char c5 ?
157
+ \** Æ **\ \char c6 ?
158
+ \** Ç **\ \char c7 ?
159
+ \** È **\ \char c8 THINF_DOT_XL
160
+ \** É **\ \char c9 THINF_DOT_L
161
+ \** Ê **\ \char ca THINF_DOT_S
162
+ \** Ë **\ \char cb THINF_DOT_XS
163
+ \** Ì **\ \char cc THINF_DDOT_XL
164
+ \** Í **\ \char cd THINF_DDOT_L
165
+ \** Î **\ \char ce THINF_DDOT_S
166
+ \** Ï **\ \char cf THINF_DDOT_XS
167
+ \** Ð **\ \char d0 THINF_TDOT_XL
168
+ \** Ñ **\ \char d1 THINF_TDOT_L
169
+ \** Ò **\ \char d2 THINF_TDOT_S
170
+ \** Ó **\ \char d3 THINF_TDOT_XS
171
+ \** Ô **\ \char d4 THSUP_DDOT_XL Y_TEHTA_XL
172
+ \** Õ **\ \char d5 THSUP_DDOT_L Y_TEHTA_L
173
+ \** Ö **\ \char d6 THSUP_DDOT_S Y_TEHTA_S
174
+ \** × **\ \char d7 THSUP_DDOT_XS Y_TEHTA_XS
175
+ \** Ø **\ \char d8 THSUP_TICK_XL
176
+ \** Ù **\ \char d9 THSUP_TICK_L
177
+ \** Ú **\ \char da THSUP_TICK_S
178
+ \** Û **\ \char db THSUP_TICK_XS
179
+ \** Ü **\ \char dc THSUP_TICK_INV_XL
180
+ \** Ý **\ \char dd THSUP_TICK_INV_L
181
+ \** Þ **\ \char de THSUP_TICK_INV_S
182
+ \** ß **\ \char df THSUP_TICK_INV_XS
183
+ \** à **\ \char e0 THSUP_LAMBDA_XL
184
+ \** á **\ \char e1 THSUP_LAMBDA_L
185
+ \** â **\ \char e2 THSUP_LAMBDA_S
186
+ \** ã **\ \char e3 THSUP_LAMBDA_XS
187
+ \** ä **\ \char e4 THINF_CURL_XL
188
+ \** å **\ \char e5 THINF_CURL_L
189
+ \** æ **\ \char e6 THINF_CURL_S
190
+ \** ç **\ \char e7 THINF_CURL_XS
191
+ \** è **\ \char e8 THSUP_SEV_XL
192
+ \** é **\ \char e9 THSUP_SEV_L
193
+ \** ê **\ \char ea THSUP_SEV_S
194
+ \** ë **\ \char eb THSUP_SEV_XS
195
+ \** ì **\ \char ec ?
196
+ \** í **\ \char ed ?
197
+ \** î **\ \char ee ?
198
+ \** ï **\ \char ef ?
199
+ \** ð **\ \char f0 NUM_0
200
+ \** ñ **\ \char f1 NUM_1
201
+ \** ò **\ \char f2 NUM_2
202
+ \** ó **\ \char f3 NUM_3
203
+ \** ô **\ \char f4 NUM_4
204
+ \** õ **\ \char f5 NUM_5
205
+ \** ö **\ \char f6 NUM_6
206
+ \** ÷ **\ \char f7 NUM_7
207
+ \** ø **\ \char f8 NUM_8
208
+ \** ù **\ \char f9 NUM_9
209
+ \** ú **\ \char fa NUM_10
210
+ \** û **\ \char fb NUM_11
211
+ \** ü **\ \char fc THINF_STROKE_XL
212
+ \** ý **\ \char fd THINF_STROKE_L
213
+ \** þ **\ \char fe THINF_STROKE_S
214
+ \** ÿ **\ \char ff THINF_STROKE_XS
215
+ \** Π**\ \char 152 PUNCT_PAREN_L
216
+ \** œ **\ \char 153 PUNCT_PAREN_R
217
+ \** Š **\ \char 160 THINF_ACCENT_L
218
+ \** š **\ \char 161 MALTA_W_HOOK
219
+ \** Ÿ **\ \char 178 THINF_ACCENT_XS
220
+ \** ƒ **\ \char 192 THINF_DSTROKE_XL
221
+ \** ˆ **\ \char 2c6 ?
222
+ \** ˜ **\ \char 2dc TH_SUB_CIRC_XL
223
+ \** – **\ \char 2013 ANCA_CLOSED
224
+ \** — **\ \char 2014 OLD_ENGLISH_AND
225
+ \** ‘ **\ \char 2018 THINF_CURL_INV_XL
226
+ \** ’ **\ \char 2019 THINF_CURL_INV_L
227
+ \** ‚ **\ \char 201a THINF_DSTROKE_FOR_LAMBE
228
+ \** “ **\ \char 201c THINF_CURL_INV_S
229
+ \** ” **\ \char 201d THINF_CURL_INV_XS
230
+ \** „ **\ \char 201e THINF_DSTROKE_L
231
+ \** † **\ \char 2020 THINF_DSTROKE_XS
232
+ \** ‡ **\ \char 2021 ?
233
+ \** • **\ \char 2022 HARP_SHAPED
234
+ \** … **\ \char 2026 THINF_DSTROKE_S
235
+ \** ‰ **\ \char 2030 THINF_ACCENT_XL
236
+ \** ‹ **\ \char 2039 THINF_ACCENT_S
237
+ \** › **\ \char 203a BOOKMARK_SIGN
238
+ \** ™ **\ \char 2122 TH_SUB_CIRC_L
239
+ \** 〠 **\ \char 3020 ?
240
+ \** 〡 **\ \char 3021 ?
241
+ \** 〣 **\ \char 3023 A_TEHTA_DOUBLE_XL
242
+ \** 〤 **\ \char 3024 E_TEHTA_DOUBLE_XL
243
+ \** 〦 **\ \char 3026 U_TEHTA_DOUBLE_XL
244
+ \** **\ \char 302e ?
245
+ \** 〰 **\ \char 3030 ?
246
+ \** 〱 **\ \char 3031 ?
247
+ \** 〲 **\ \char 3032 ?
248
+ \** 〳 **\ \char 3033 ?
249
+ \** 〴 **\ \char 3034 ?
250
+ \** 〵 **\ \char 3035 ?
251
+ \** 〶 **\ \char 3036 ?
252
+ \** 〷 **\ \char 3037 ?
253
+ \** 〸 **\ \char 3038 ?
254
+ \** 〹 **\ \char 3039 ?
255
+ \** 〼 **\ \char 303c ?
256
+ \** ぀ **\ \char 3040 ?
257
+ \** ぃ **\ \char 3043 A_TEHTA_DOUBLE_XS
258
+ \** い **\ \char 3044 A_TEHTA_DOUBLE_S
259
+ \** ぅ **\ \char 3045 A_TEHTA_DOUBLE_L
260
+ \** う **\ \char 3046 E_TEHTA_DOUBLE_XS
261
+ \** え **\ \char 3048 O_TEHTA_DOUBLE_S
262
+ \** お **\ \char 304a U_TEHTA_DOUBLE_S
263
+ \** き **\ \char 304d U_TEHTA_DOUBLE_XS
264
+ \** ぎ **\ \char 304e O_TEHTA_DOUBLE_XS
265
+ \** け **\ \char 3051 ?
266
+ \** げ **\ \char 3052 E_TEHTA_DOUBLE_L
267
+ \** さ **\ \char 3055 U_TEHTA_DOUBLE_L
268
+ \** ざ **\ \char 3056 E_TEHTA_DOUBLE_S
269
+ \** し **\ \char 3057 ?
270
+ \** す **\ \char 3059 O_TEHTA_DOUBLE_L
271
+ \** ぞ **\ \char 305e O_TEHTA_DOUBLE_XL
272
+ \** ぢ **\ \char 3062 ?
273
+ \** づ **\ \char 3065 ?
274
+ \** と **\ \char 3068 ?
275
+ \** な **\ \char 306a LAMBE_LIG
276
+ \** の **\ \char 306e ?
277
+ \** ぱ **\ \char 3071 ?
278
+ \** ひ **\ \char 3072 ?
279
+ \** ぴ **\ \char 3074 ?
280
+ \** ふ **\ \char 3075 ?
281
+ \** ぷ **\ \char 3077 ?
282
+ \** へ **\ \char 3078 ?
283
+ \** べ **\ \char 3079 ?
284
+ \** ぺ **\ \char 307a ?
285
+ \** ア **\ \char 30a2 ?
286
+ \** カ **\ \char 30ab RING_MARK_R
287
+ \** ギ **\ \char 30ae ?
288
+ \** セ **\ \char 30bb RING_MARK_L
289
+ \** タ **\ \char 30bf ?
290
+ \** ツ **\ \char 30c4 ?
291
+ \** テ **\ \char 30c6 ?
292
+ \** デ **\ \char 30c7 ?
293
+ \** ヘ **\ \char 30d8 ?
294
+ \** ベ **\ \char 30d9 ?
295
+ \** ペ **\ \char 30da ?
296
+ \** ホ **\ \char 30db ?
297
+ \** ム **\ \char 30e0 ?
298
+ \** メ **\ \char 30e1 ?
299
+ \** モ **\ \char 30e2 ?
300
+ \** ャ **\ \char 30e3 ?
301
+ \** ヨ **\ \char 30e8 ?
302
+ \** ラ **\ \char 30e9 ?
303
+ \** リ **\ \char 30ea ?
304
+ \** ル **\ \char 30eb ?
305
+ \** **\ \char 3152 PUNCT_PAREN_L_ALT
306
+ \** **\ \char 3153 PUNCT_PAREN_R_ALT
307
+ \** ㅠ **\ \char 3160 ?
308
+ \** ㅡ **\ \char 3161 ?
309
+ \** ㅸ **\ \char 3178 ?
310
+ \** ㆒ **\ \char 3192 ?
311
+ \** 倚 **\ \char 501a ?
312
+ \** 倞 **\ \char 501e ?
313
+ \** 倠 **\ \char 5020 ?
314
+ \** 倢 **\ \char 5022 ?
315
+ \** 倦 **\ \char 5026 ?
316
+ \** 倰 **\ \char 5030 ?
317
+ \** 倹 **\ \char 5039 ?
318
+