glaemscribe 1.1.14 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: ebb0041e342e79b9b97f7e6a5ce163e58c8fd966
4
- data.tar.gz: 8339eb414f9a409dd91fa9f61943dcf0c147f596
2
+ SHA256:
3
+ metadata.gz: 62a0ee6749f8e13af18b80011798c30b664421b0e393d7dc94c40fdf22a723a8
4
+ data.tar.gz: 36e11fd4c0a5b23d316c010caa81b1a4d5c26e863df5c84d0113f22f993edbd2
5
5
  SHA512:
6
- metadata.gz: 87f62555dbede9a38d3131b913f3626f1af92767e5a8edb657bc83d868448bd5f8eb66e42ec913fed3513a0466561cdb33bc420e428284ffbb88f7d4f9e309fe
7
- data.tar.gz: 9c61910fd13d721c8d02bf2b73567d86e7fd99a8f56605e99cd1c38858dcde4eeaed4e1b5a68565b9fdee0dc58289167ced72f8cc0993e84b1866f15e3f4e061
6
+ metadata.gz: 517e7299cc97e09356585edf7d2ceaef913d1ca121e6e15218f7324a773be5edec68663ad530fe32d4894d203cf944258b1e2d5e605728c57eb39bed595e15ae
7
+ data.tar.gz: 15bb715ccafce1aa2bda8af412f75698254cc9915653f5cd0320f2f7421cd408138c5280d724f05560f22c886c89e80eb10d74caf6055d740857ad8f78a3dd07
data/bin/glaemscribe CHANGED
@@ -32,6 +32,13 @@ rescue Exception => e
32
32
  exit(0)
33
33
  end
34
34
 
35
+ begin
36
+ require 'mini_racer'
37
+ rescue Exception => e
38
+ puts "The 'glaemscribe' binary requires the 'mini_racer' gem to work. Please 'gem install mini_racer' to make it work or add it to your Gemfile."
39
+ exit(0)
40
+ end
41
+
35
42
  env_version = ""
36
43
  begin
37
44
  # Try to load dev version before loading the gem one
@@ -59,8 +66,8 @@ end
59
66
  #############
60
67
 
61
68
  def puts_available_modes
62
- puts "\n #{$terminal.color 'Available modes are :', :bold }\n\n"
63
- puts Glaemscribe::API::ResourceManager.available_mode_names.map{|k| ". " + k.strip}.join("\n")
69
+ puts "\n #{HighLine.default_instance.color 'Available modes are :', :bold }\n\n"
70
+ puts Glaemscribe::API::ResourceManager.available_mode_names.sort.map{|k| ". " + k.strip}.join("\n")
64
71
  puts "\n"
65
72
  end
66
73
 
@@ -237,8 +244,7 @@ command :transcribe do |c|
237
244
  if success
238
245
  STDOUT.puts ret
239
246
  else
240
- perxit("The transcription failed.")
241
- perxit(ret, 42)
247
+ perxit("The transcription failed : #{ret}", 42)
242
248
  end
243
249
  end
244
250
  rescue Interrupt
@@ -283,9 +289,9 @@ end
283
289
 
284
290
  command :info do |c|
285
291
 
286
- c.syntax = 'glaemscribe info'
292
+ c.syntax = 'glaemscribe info modename'
287
293
  c.summary = "Displays information about an embedded mode"
288
- c.description = "Displays information about the embedded mode 'modename'."
294
+ c.description = "Displays information about the embedded mode #{HighLine.default_instance.color "modename", :bold}. \nUse #{HighLine.default_instance.color "glaemscribe list" , :bold} to get a list of available modes."
289
295
 
290
296
  c.action do |args, options|
291
297
 
@@ -301,22 +307,20 @@ command :info do |c|
301
307
  perxit(nil, 3)
302
308
  end
303
309
 
304
- puts "#{$terminal.color "Mode ID " , :bold} : #{mode.name}"
305
- puts "#{$terminal.color "Language " , :bold} : #{mode.language}"
306
- puts "#{$terminal.color "Writing " , :bold} : #{mode.writing}"
307
- puts "#{$terminal.color "Human Name" , :bold} : #{mode.human_name}"
308
- puts "#{$terminal.color "Authors " , :bold} : #{mode.authors}"
309
- puts "#{$terminal.color "Version " , :bold} : #{mode.version}"
310
+ puts "#{HighLine.default_instance.color "Mode ID " , :bold} : #{mode.name}"
311
+ puts "#{HighLine.default_instance.color "Language " , :bold} : #{mode.language}"
312
+ puts "#{HighLine.default_instance.color "Writing " , :bold} : #{mode.writing}"
313
+ puts "#{HighLine.default_instance.color "Human Name" , :bold} : #{mode.human_name}"
314
+ puts "#{HighLine.default_instance.color "Authors " , :bold} : #{mode.authors}"
315
+ puts "#{HighLine.default_instance.color "Version " , :bold} : #{mode.version}"
310
316
  puts ""
311
- puts "#{$terminal.color "Options " , :bold} :"
317
+ puts "#{HighLine.default_instance.color "Options " , :bold} :"
312
318
  mode.options.each { |name,option|
313
- puts " #{$terminal.color name, :bold} (#{option.type}) [#{option.default_value_name}]"
319
+ puts " #{HighLine.default_instance.color name, :bold} (#{option.type}) [#{option.default_value_name}]"
314
320
  option.values.each{ |oname,ovalue|
315
- puts " #{$terminal.color oname, :bold}"
321
+ puts " #{HighLine.default_instance.color oname, :bold}"
316
322
  }
317
323
  }
318
324
  end
319
325
 
320
326
  end
321
-
322
-
@@ -0,0 +1,540 @@
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.2.0
26
+
27
+ \beg changelog
28
+ \entry "0.2.0" "Added tehtar characters."
29
+ \end
30
+
31
+ \char 20 SPACE
32
+ \char 21 CIRTH_11
33
+ \char 22 CIRTH_EREB_3
34
+ \char 23 CIRTH_13
35
+ \char 24 CIRTH_14
36
+ \char 25 CIRTH_15
37
+ \char 26 CIRTH_EREB_4
38
+ \char 27 ?
39
+ \char 28 CIRTH_EREB_6
40
+ \char 29 CIRTH_EREB_7
41
+ \char 2a CIRTH_EREB_5
42
+ \char 2b CIRTH_NUMERAL_4
43
+ \char 2c CIRTH_53
44
+ \char 2d ?
45
+ \char 2e CIRTH_54
46
+ \char 2f CIRTH_55
47
+ \char 30 CIRTH_10
48
+ \char 31 CIRTH_1
49
+ \char 32 CIRTH_2
50
+ \char 33 CIRTH_3
51
+ \char 34 CIRTH_4
52
+ \char 35 CIRTH_5
53
+ \char 36 CIRTH_6
54
+ \char 37 CIRTH_7
55
+ \char 38 CIRTH_8
56
+ \char 39 CIRTH_9
57
+ \char 3a CIRTH_EREB_2
58
+ \char 3b CIRTH_40
59
+ \char 3c CIRTH_52_ALT
60
+ \char 3d ?
61
+ \char 3e CIRTH_55_ALT
62
+ \char 3f CIRTH_56_ALT
63
+ \char 40 CIRTH_12
64
+ \char 41 CIRTH_41
65
+ \char 42 CIRTH_60
66
+ \char 43 CIRTH_58
67
+ \char 44 CIRTH_43
68
+ \char 45 CIRTH_28
69
+ \char 46 CIRTH_44
70
+ \char 47 CIRTH_45
71
+ \char 48 ?
72
+ \char 49 CIRTH_PUNCT_MID_DOT
73
+ \char 4a CIRTH_38_ALT
74
+ \char 4b CIRTH_EREB_1
75
+ \char 4c CIRTH_45_ALT
76
+ \char 4d CIRTH_51_ALT
77
+ \char 4e CIRTH_SPACE
78
+ \char 4f CIRTH_PUNCT_TWO_DOTS
79
+ \char 50 CIRTH_PUNCT_THREE_DOTS
80
+ \char 51 CIRTH_26
81
+ \char 52 CIRTH_29
82
+ \char 53 CIRTH_42
83
+ \char 54 CIRTH_30
84
+ \char 55 CIRTH_PUNCT_STAR
85
+ \char 56 CIRTH_59
86
+ \char 57 CIRTH_27
87
+ \char 58 CIRTH_57
88
+ \char 59 ?
89
+ \char 5a CIRTH_56
90
+ \char 5b ?
91
+ \char 5c CIRTH_PUNCT_DOT
92
+ \char 5d ?
93
+ \char 5e ?
94
+ \char 5f ?
95
+ \char 60 CIRTH_SPACE_BIG
96
+ \char 61 CIRTH_31
97
+ \char 62 CIRTH_50 CIRTH_NUMERAL_2
98
+ \char 63 CIRTH_48
99
+ \char 64 CIRTH_33
100
+ \char 65 CIRTH_18
101
+ \char 66 CIRTH_34
102
+ \char 67 CIRTH_35
103
+ \char 68 CIRTH_36
104
+ \char 69 CIRTH_23
105
+ \char 6a CIRTH_37
106
+ \char 6b CIRTH_38
107
+ \char 6c CIRTH_39 CIRTH_NUMERAL_1
108
+ \char 6d CIRTH_52 CIRTH_NUMERAL_3
109
+ \char 6e CIRTH_51
110
+ \char 6f CIRTH_24
111
+ \char 70 CIRTH_25
112
+ \char 71 CIRTH_16
113
+ \char 72 CIRTH_19
114
+ \char 73 CIRTH_32
115
+ \char 74 CIRTH_20
116
+ \char 75 CIRTH_22 CIRTH_NUMERAL_5
117
+ \char 76 CIRTH_49
118
+ \char 77 CIRTH_17
119
+ \char 78 CIRTH_47
120
+ \char 79 CIRTH_21
121
+ \char 7a CIRTH_46
122
+ \char 7b CIRTH_PUNCT_THREE_DOTS_L
123
+ \char 7c CIRTH_PUNCT_DOUBLE_VBAR
124
+ \char 7d CIRTH_PUNCT_FOUR_DOTS
125
+ \char 7e ?
126
+ \char 80 ?
127
+ \char a0 NBSP
128
+ \char a4 ?
129
+ \char a7 ?
130
+ \char a9 ?
131
+ \char ab ?
132
+ \char ae ?
133
+ \char b6 ?
134
+ \char bb ?
135
+ \char bc ?
136
+ \char bd ?
137
+ \char be ?
138
+ \char bf ?
139
+ \char c0 ?
140
+ \char c1 ?
141
+ \char c2 ?
142
+ \char c3 ?
143
+ \char c4 ?
144
+ \char c5 ?
145
+ \char c6 ?
146
+ \char c7 ?
147
+ \char c8 TEHTA_CIRCUM_XS
148
+ \char c9 TEHTA_CIRCUM_S
149
+ \char ca TEHTA_CIRCUM_L
150
+ \char cb TEHTA_CIRCUM_XL
151
+ \char cc TEHTA_UNDERLINE_XS
152
+ \char cd TEHTA_UNDERLINE_S
153
+ \char ce TEHTA_UNDERLINE_L
154
+ \char cf TEHTA_UNDERLINE_XL
155
+ \char d0 TEHTA_SUB_DOT_XS
156
+ \char d1 TEHTA_SUB_DOT_S
157
+ \char d2 TEHTA_SUB_DOT_L
158
+ \char d3 TEHTA_SUB_DOT_XL
159
+ \char d4 ?
160
+ \char d5 ?
161
+ \char d6 ?
162
+ \char d7 ?
163
+ \char d8 ?
164
+ \char d9 ?
165
+ \char da ?
166
+ \char db ?
167
+
168
+ \**
169
+ The EXT_ chars below are present in the Erebor fonts, but I cannot
170
+ identify their origin. So they should probably be used with care in modes
171
+ **\
172
+
173
+ \char dc EXT_CIRTH_1_REV
174
+ \char dd EXT_CIRTH_2_REV
175
+ \char de EXT_CIRTH_3_REV
176
+ \char df EXT_CIRTH_4_REV
177
+ \char e0 EXT_CIRTH_8_REV
178
+ \char e1 EXT_CIRTH_9_REV
179
+ \char e2 EXT_CIRTH_10_REV
180
+ \char e3 EXT_CIRTH_11_REV
181
+ \char e4 EXT_CIRTH_12_REV
182
+ \char e5 EXT_CIRTH_12_DOUBLE_REV
183
+ \char e6 EXT_CIRTH_12_DOUBLE
184
+ \char e7 EXT_CIRTH_23_REV
185
+ \char e8 ?
186
+ \char e9 EXT_CIRTH_28_MIRROR
187
+ \char ea EXT_CIRTH_38_ALT_REV
188
+ \char eb ?
189
+ \char ec ?
190
+ \char ed ?
191
+ \char ee ?
192
+ \char ef ?
193
+ \char f0 EXT_CIRTH_50_REV
194
+ \char f1 ?
195
+ \char f2 ?
196
+ \char f3 EXT_CIRTH_52_REV
197
+ \char f4 EXT_CIRTH_60_REV
198
+ \char f5 ?
199
+ \char f6 EXT_CIRTH_4_DOTTED
200
+ \char f7 EXT_CIRTH_38_DOTTED
201
+ \char f8 EXT_CIRTH_42_DOTTED
202
+ \char f9 ?
203
+ \char fa EXT_CIRTH_43_DOTTED
204
+ \char fb EXT_CIRTH_48_DOTTED
205
+ \char fc EXT_CIRTH_50_REV_DOTTED
206
+ \char fd ?
207
+ \char fe ?
208
+ \char ff ?
209
+ \char 2018 ?
210
+ \char 2022 ?
211
+ \char 2026 ?
212
+ \char 2039 ?
213
+ \char 203a ?
214
+ \char 2219 ?
215
+ \char 25fc ?
216
+
217
+
218
+ \beg virtual TEHTA_CIRCUM
219
+ \beg class TEHTA_CIRCUM_XS
220
+ CIRTH_39
221
+ CIRTH_55_ALT
222
+ CIRTH_56
223
+ CIRTH_56_ALT
224
+ CIRTH_59
225
+ CIRTH_EREB_3
226
+ \end
227
+ \beg class TEHTA_CIRCUM_S
228
+ CIRTH_31
229
+ CIRTH_32
230
+ CIRTH_55
231
+ \end
232
+ \beg class TEHTA_CIRCUM_L
233
+ CIRTH_1
234
+ CIRTH_2
235
+ CIRTH_3
236
+ CIRTH_4
237
+ CIRTH_5
238
+ CIRTH_6
239
+ CIRTH_7
240
+ CIRTH_8
241
+ CIRTH_9
242
+ CIRTH_10
243
+ CIRTH_11
244
+ CIRTH_12
245
+ CIRTH_13
246
+ CIRTH_14
247
+ CIRTH_15
248
+ CIRTH_16
249
+ CIRTH_17
250
+ CIRTH_18
251
+ CIRTH_19
252
+ CIRTH_20
253
+ CIRTH_21
254
+ CIRTH_22
255
+ CIRTH_23
256
+ CIRTH_24
257
+ CIRTH_25
258
+ CIRTH_26
259
+ CIRTH_28
260
+ CIRTH_29
261
+ CIRTH_30
262
+ CIRTH_33
263
+ CIRTH_34
264
+ CIRTH_35
265
+ CIRTH_36
266
+ CIRTH_37
267
+ CIRTH_38
268
+ CIRTH_38_ALT
269
+ CIRTH_40
270
+ CIRTH_41
271
+ CIRTH_42
272
+ CIRTH_43
273
+ CIRTH_44
274
+ CIRTH_45
275
+ CIRTH_45_ALT
276
+ CIRTH_46
277
+ CIRTH_47
278
+ CIRTH_48
279
+ CIRTH_49
280
+ CIRTH_50
281
+ CIRTH_52
282
+ CIRTH_52_ALT
283
+ CIRTH_53
284
+ CIRTH_54
285
+ CIRTH_57
286
+ CIRTH_58
287
+ CIRTH_60
288
+ CIRTH_EREB_1
289
+ CIRTH_EREB_4
290
+ CIRTH_EREB_5
291
+ CIRTH_EREB_6
292
+ CIRTH_EREB_7
293
+ EXT_CIRTH_10_REV
294
+ EXT_CIRTH_11_REV
295
+ EXT_CIRTH_12_DOUBLE
296
+ EXT_CIRTH_12_DOUBLE_REV
297
+ EXT_CIRTH_12_REV
298
+ EXT_CIRTH_1_REV
299
+ EXT_CIRTH_23_REV
300
+ EXT_CIRTH_28_MIRROR
301
+ EXT_CIRTH_2_REV
302
+ EXT_CIRTH_38_ALT_REV
303
+ EXT_CIRTH_38_DOTTED
304
+ EXT_CIRTH_3_REV
305
+ EXT_CIRTH_42_DOTTED
306
+ EXT_CIRTH_43_DOTTED
307
+ EXT_CIRTH_48_DOTTED
308
+ EXT_CIRTH_4_DOTTED
309
+ EXT_CIRTH_4_REV
310
+ EXT_CIRTH_50_REV
311
+ EXT_CIRTH_50_REV_DOTTED
312
+ EXT_CIRTH_52_REV
313
+ EXT_CIRTH_60_REV
314
+ EXT_CIRTH_8_REV
315
+ EXT_CIRTH_9_REV
316
+ \end
317
+ \beg class TEHTA_CIRCUM_XL
318
+ CIRTH_27
319
+ CIRTH_51
320
+ CIRTH_51_ALT
321
+ CIRTH_EREB_2
322
+ CIRTH_NUMERAL_4
323
+ \end
324
+ \end
325
+
326
+ \beg virtual TEHTA_UNDERLINE
327
+ \beg class TEHTA_UNDERLINE_XS
328
+ CIRTH_39
329
+ CIRTH_55_ALT
330
+ CIRTH_56
331
+ CIRTH_56_ALT
332
+ CIRTH_59
333
+ CIRTH_EREB_3
334
+ \end
335
+ \beg class TEHTA_UNDERLINE_S
336
+ CIRTH_31
337
+ CIRTH_32
338
+ CIRTH_55
339
+ \end
340
+ \beg class TEHTA_UNDERLINE_L
341
+ CIRTH_1
342
+ CIRTH_2
343
+ CIRTH_3
344
+ CIRTH_4
345
+ CIRTH_5
346
+ CIRTH_6
347
+ CIRTH_7
348
+ CIRTH_8
349
+ CIRTH_9
350
+ CIRTH_10
351
+ CIRTH_11
352
+ CIRTH_12
353
+ CIRTH_13
354
+ CIRTH_14
355
+ CIRTH_15
356
+ CIRTH_16
357
+ CIRTH_17
358
+ CIRTH_18
359
+ CIRTH_19
360
+ CIRTH_20
361
+ CIRTH_21
362
+ CIRTH_22
363
+ CIRTH_23
364
+ CIRTH_24
365
+ CIRTH_25
366
+ CIRTH_26
367
+ CIRTH_28
368
+ CIRTH_29
369
+ CIRTH_30
370
+ CIRTH_33
371
+ CIRTH_34
372
+ CIRTH_35
373
+ CIRTH_36
374
+ CIRTH_37
375
+ CIRTH_38
376
+ CIRTH_38_ALT
377
+ CIRTH_40
378
+ CIRTH_41
379
+ CIRTH_42
380
+ CIRTH_43
381
+ CIRTH_44
382
+ CIRTH_45
383
+ CIRTH_45_ALT
384
+ CIRTH_46
385
+ CIRTH_47
386
+ CIRTH_48
387
+ CIRTH_49
388
+ CIRTH_50
389
+ CIRTH_52
390
+ CIRTH_52_ALT
391
+ CIRTH_53
392
+ CIRTH_54
393
+ CIRTH_57
394
+ CIRTH_58
395
+ CIRTH_60
396
+ CIRTH_EREB_1
397
+ CIRTH_EREB_4
398
+ CIRTH_EREB_5
399
+ CIRTH_EREB_6
400
+ CIRTH_EREB_7
401
+ EXT_CIRTH_10_REV
402
+ EXT_CIRTH_11_REV
403
+ EXT_CIRTH_12_DOUBLE
404
+ EXT_CIRTH_12_DOUBLE_REV
405
+ EXT_CIRTH_12_REV
406
+ EXT_CIRTH_1_REV
407
+ EXT_CIRTH_23_REV
408
+ EXT_CIRTH_28_MIRROR
409
+ EXT_CIRTH_2_REV
410
+ EXT_CIRTH_38_ALT_REV
411
+ EXT_CIRTH_38_DOTTED
412
+ EXT_CIRTH_3_REV
413
+ EXT_CIRTH_42_DOTTED
414
+ EXT_CIRTH_43_DOTTED
415
+ EXT_CIRTH_48_DOTTED
416
+ EXT_CIRTH_4_DOTTED
417
+ EXT_CIRTH_4_REV
418
+ EXT_CIRTH_50_REV
419
+ EXT_CIRTH_50_REV_DOTTED
420
+ EXT_CIRTH_52_REV
421
+ EXT_CIRTH_60_REV
422
+ EXT_CIRTH_8_REV
423
+ EXT_CIRTH_9_REV
424
+ \end
425
+ \beg class TEHTA_UNDERLINE_XL
426
+ CIRTH_27
427
+ CIRTH_51
428
+ CIRTH_51_ALT
429
+ CIRTH_EREB_2
430
+ CIRTH_NUMERAL_4
431
+ \end
432
+ \end
433
+
434
+ \beg virtual TEHTA_SUB_DOT
435
+ \beg class TEHTA_SUB_DOT_XS
436
+ CIRTH_39
437
+ CIRTH_55_ALT
438
+ CIRTH_56
439
+ CIRTH_56_ALT
440
+ CIRTH_59
441
+ CIRTH_EREB_3
442
+ \end
443
+ \beg class TEHTA_SUB_DOT_S
444
+ CIRTH_31
445
+ CIRTH_32
446
+ CIRTH_55
447
+ EXT_CIRTH_3_REV
448
+ EXT_CIRTH_4_DOTTED
449
+ EXT_CIRTH_4_REV
450
+ \end
451
+ \beg class TEHTA_SUB_DOT_L
452
+ CIRTH_1
453
+ CIRTH_2
454
+ CIRTH_3
455
+ CIRTH_4
456
+ CIRTH_5
457
+ CIRTH_6
458
+ CIRTH_7
459
+ CIRTH_8
460
+ CIRTH_9
461
+ CIRTH_10
462
+ CIRTH_11
463
+ CIRTH_12
464
+ CIRTH_13
465
+ CIRTH_14
466
+ CIRTH_15
467
+ CIRTH_16
468
+ CIRTH_17
469
+ CIRTH_18
470
+ CIRTH_19
471
+ CIRTH_20
472
+ CIRTH_21
473
+ CIRTH_22
474
+ CIRTH_23
475
+ CIRTH_24
476
+ CIRTH_25
477
+ CIRTH_26
478
+ CIRTH_28
479
+ CIRTH_29
480
+ CIRTH_30
481
+ CIRTH_33
482
+ CIRTH_34
483
+ CIRTH_35
484
+ CIRTH_36
485
+ CIRTH_37
486
+ CIRTH_38
487
+ CIRTH_38_ALT
488
+ CIRTH_40
489
+ CIRTH_41
490
+ CIRTH_42
491
+ CIRTH_43
492
+ CIRTH_44
493
+ CIRTH_45
494
+ CIRTH_45_ALT
495
+ CIRTH_46
496
+ CIRTH_47
497
+ CIRTH_48
498
+ CIRTH_49
499
+ CIRTH_50
500
+ CIRTH_52
501
+ CIRTH_52_ALT
502
+ CIRTH_53
503
+ CIRTH_54
504
+ CIRTH_57
505
+ CIRTH_58
506
+ CIRTH_60
507
+ CIRTH_EREB_1
508
+ CIRTH_EREB_4
509
+ CIRTH_EREB_5
510
+ CIRTH_EREB_6
511
+ CIRTH_EREB_7
512
+ EXT_CIRTH_10_REV
513
+ EXT_CIRTH_11_REV
514
+ EXT_CIRTH_12_DOUBLE
515
+ EXT_CIRTH_12_DOUBLE_REV
516
+ EXT_CIRTH_12_REV
517
+ EXT_CIRTH_1_REV
518
+ EXT_CIRTH_23_REV
519
+ EXT_CIRTH_28_MIRROR
520
+ EXT_CIRTH_2_REV
521
+ EXT_CIRTH_38_ALT_REV
522
+ EXT_CIRTH_38_DOTTED
523
+ EXT_CIRTH_42_DOTTED
524
+ EXT_CIRTH_43_DOTTED
525
+ EXT_CIRTH_48_DOTTED
526
+ EXT_CIRTH_50_REV
527
+ EXT_CIRTH_50_REV_DOTTED
528
+ EXT_CIRTH_52_REV
529
+ EXT_CIRTH_60_REV
530
+ EXT_CIRTH_8_REV
531
+ EXT_CIRTH_9_REV
532
+ \end
533
+ \beg class TEHTA_SUB_DOT_XL
534
+ CIRTH_27
535
+ CIRTH_51
536
+ CIRTH_51_ALT
537
+ CIRTH_EREB_2
538
+ CIRTH_NUMERAL_4
539
+ \end
540
+ \end