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
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