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,217 @@
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 the FreeMonoTengwar font **\
26
+
27
+ \version 0.1.0
28
+
29
+ \beg changelog
30
+ \entry "0.0.5" "Added VALA_W_HOOK."
31
+ \entry "0.0.6" "Updating punctuation"
32
+ \entry "0.0.7" "Fixed missing tinco_ext / sule_ext"
33
+ \entry "0.0.8" "Added NBSP"
34
+ \entry "0.0.9" "Replaced fixed ligatures by their dynamic sequence"
35
+ \entry "0.1.0" "Added ELVISH_PAREN tokien, reworked sarince token names."
36
+ \end
37
+
38
+ \char 20 SPACE
39
+ \char a0 NBSP
40
+
41
+ \** PUSTAR, take them in unicode not in personnal use (deprecation) **\
42
+ \char 2e31 PUNCT_DOT
43
+ \char 3a PUNCT_DDOT
44
+ \char 205D PUNCT_TDOT PUSTA_3
45
+ \char 2058 PUSTA_4
46
+ \char 10FB PUSTA_4_HALFED
47
+ \char 2E2C PUSTA_4_SQUARED
48
+ \char 2E2D PUSTA_5
49
+
50
+ \char e000 TW_11 TINCO
51
+ \char e001 TW_12 PARMA
52
+ \char e002 TW_13 CALMA
53
+ \char e003 TW_14 QUESSE
54
+
55
+ \char e004 TW_21 ANDO
56
+ \char e005 TW_22 UMBAR
57
+ \char e006 TW_23 ANGA
58
+ \char e007 TW_24 UNGWE
59
+
60
+ \char e008 TW_31 SULE THULE
61
+ \char e009 TW_32 FORMEN
62
+ \char e00A TW_33 AHA
63
+ \char e00B TW_34 HWESTA
64
+
65
+ \char e00C TW_41 ANTO
66
+ \char e00D TW_42 AMPA
67
+ \char e00E TW_43 ANCA
68
+ \char e00F TW_44 UNQUE
69
+
70
+ \char e010 TW_51 NUMEN
71
+ \char e011 TW_52 MALTA
72
+ \char e012 TW_53 NOLDO
73
+ \char e013 TW_54 NWALME
74
+
75
+ \char e014 TW_61 ORE
76
+ \char e015 TW_62 VALA
77
+ \char e016 TW_63 ANNA
78
+ \char e017 TW_64 VILYA
79
+
80
+ \char e018 TW_EXT_11 TINCO_EXT SULE_EXT THULE_EXT
81
+ \char e019 TW_EXT_12 PARMA_EXT FORMEN_EXT
82
+ \char e01A TW_EXT_13 CALMA_EXT AHA_EXT
83
+ \char e01B TW_EXT_14 QUESSE_EXT HWESTA_EXT
84
+
85
+ \char e01C TW_EXT_21 ANDO_EXT ANTO_EXT
86
+ \char e01D TW_EXT_22 UMBAR_EXT AMPA_EXT
87
+ \char e01E TW_EXT_23 ANGA_EXT ANCA_EXT
88
+ \char e01F TW_EXT_24 UNGWE_EXT UNQUE_EXT
89
+
90
+ \char e020 TW_71 ROMEN
91
+ \char e021 TW_72 ARDA
92
+ \char e022 TW_73 LAMBE
93
+ \char e023 TW_74 ALDA
94
+
95
+ \char e024 TW_81 SILME
96
+ \** Unfortunately, monotengwar is missing silme nuquerna used for y in beleriand **\
97
+ \char e025 TW_82 SILME_NUQUERNA SILME_NUQUERNA_ALT
98
+ \char e026 TW_83 ESSE
99
+ \char e027 TW_84 ESSE_NUQUERNA
100
+
101
+ \char e028 TW_91 HYARMEN
102
+ \char e029 TW_92 HWESTA_SINDARINWA
103
+ \char e02A TW_93 YANTA
104
+ \char e02B TW_94 URE
105
+
106
+ \char e02C ARA
107
+ \char e02D HALLA
108
+ \char e02E TELCO
109
+ \char e02F ?
110
+
111
+ \char e030 REVERSED_OSSE
112
+ \char e031 BOMBADIL_W
113
+ \char e032 OSSE
114
+ \char e033 ?
115
+
116
+ \char e034 LIGATING_SHORT_CARRIER
117
+ \char e035 ?
118
+ \char e036 ANNA_OPEN
119
+ \char e037 CHRISTOPHER_QU
120
+
121
+ \char e038 ?
122
+ \char e039 BOMBADIL_HW
123
+ \char e03A TW_MH MALTA_W_HOOK
124
+ \char e03B TW_MH_BELERIANDIC VALA_W_HOOK
125
+
126
+ \char e03C TW_HW_LOWDHAM HARP_SHAPED
127
+ \char e03D VAIA WAIA VAIYA
128
+ \char e03E ?
129
+ \char e03F ?
130
+
131
+ \char e040 A_TEHTA
132
+ \char e041 A_TEHTA_INF
133
+ \char e042 I_TEHTA_DOUBLE Y_TEHTA
134
+ \char e043 I_TEHTA_DOUBLE_INF PALATAL_SIGN Y_TEHTA_INF
135
+
136
+ \char e044 I_TEHTA
137
+ \char e045 I_TEHTA_INF NO_VOWEL_DOT UNUTIXE
138
+ \char e046 E_TEHTA
139
+ \char e047 E_TEHTA_INF
140
+
141
+ \char e048 E_TEHTA_DOUBLE
142
+ \char e049 E_TEHTA_DOUBLE_INF GEMINATE_DOUBLE
143
+ \char e04A O_TEHTA
144
+ \char e04B O_TEHTA_INF
145
+
146
+ \char e04C U_TEHTA
147
+ \char e04D U_TEHTA_INF
148
+ \char e04E O_TEHTA_DOUBLE
149
+ \char e04F U_TEHTA_DOUBLE
150
+
151
+ \char e050 NASALIZE_SIGN NASALIZE_SIGN_TILD
152
+ \char e051 GEMINATE_SIGN GEMINATE_SIGN_TILD
153
+ \char e052 WA_TEHTA SEV_TEHTA
154
+ \char e053 TEHTA_BREVE A_TEHTA_CIRCUM_REVERSED
155
+
156
+ \char e054 E_TEHTA_GRAVE
157
+ \char e055 A_TEHTA_CIRCUM
158
+ \char e056 A_TEHTA_REVERSED A_TEHTA_DOUBLE
159
+ \char e057 THINNAS THINF_STROKE
160
+
161
+ \** THE TWO FOLLOWING ONES ARE HIGHLY DISCUSSABLE, MAYBE WE SHOULD ADD A VIRTUAL CHAR FOR THESE **\
162
+ \char e058 SARINCE_ENDING_LONG SARINCE_FLOURISHED
163
+ \char e059 SARINCE COMBINING_SARINCE SHOOK_RIGHT_L SHOOK_LEFT_L
164
+ \char e05A ?
165
+ \char e05B ?
166
+
167
+ \char e065 PUNCT_EXCLAM
168
+ \char e066 PUNCT_INTERR
169
+ \char e067 ELVISH_PAREN PUNCT_PAREN_L PUNCT_PAREN_R PUNCT_PAREN_L_ALT PUNCT_PAREN_R_ALT BOOKMARK_SIGN
170
+ \char e068 PUNCT_TILD
171
+
172
+ \char e069 PUNCT_DTILD RING_MARK_L RING_MARK_R
173
+
174
+ \char e06A DQUOT_OPEN
175
+ \char e06B DQUOT_CLOSE
176
+ \char e06C THORIN_EXCLAMATION
177
+
178
+ \char e070 NUM_0
179
+ \char e071 NUM_1
180
+ \char e072 NUM_2
181
+ \char e073 NUM_3
182
+ \char e074 NUM_4
183
+ \char e075 NUM_5
184
+ \char e076 NUM_6
185
+ \char e077 NUM_7
186
+ \char e078 NUM_8
187
+ \char e079 NUM_9
188
+ \char e07A NUM_10
189
+ \char e07B NUM_11
190
+ \char e07C NUM_12
191
+
192
+ \char e07D CIRC_TEHTA_INF
193
+
194
+ \** Ligatured results are mapped here **\
195
+ \**
196
+ \char 10037 AHA_TINCO
197
+ \char 10038 HWESTA_TINCO
198
+ \char 10039 ANCA_CLOSED SILME_AHA
199
+ **\
200
+
201
+ \char 204A OLD_ENGLISH_AND
202
+
203
+ \char 200d ZWJ
204
+
205
+ \** Ligatured sequences used as one entity in modes **\
206
+ \beg seq AHA_TINCO
207
+ AHA ZWJ TINCO
208
+ \end
209
+
210
+ \beg seq HWESTA_TINCO
211
+ HWESTA ZWJ TINCO
212
+ \end
213
+
214
+ \beg seq ANCA_CLOSED SILME_AHA
215
+ SILME ZWJ AHA
216
+ \end
217
+