glaemscribe 1.0.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 (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
+