glaemscribe 1.1.14 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +5 -5
  2. data/bin/glaemscribe +19 -15
  3. data/glaemresources/charsets/cirth_ds.cst +205 -0
  4. data/glaemresources/charsets/sarati_eldamar.cst +256 -0
  5. data/glaemresources/charsets/tengwar_ds_annatar.cst +546 -0
  6. data/glaemresources/charsets/tengwar_ds_eldamar.cst +535 -0
  7. data/glaemresources/charsets/tengwar_ds_elfica.cst +551 -0
  8. data/glaemresources/charsets/tengwar_ds_parmaite.cst +534 -0
  9. data/glaemresources/charsets/tengwar_ds_sindarin.cst +531 -0
  10. data/glaemresources/charsets/tengwar_freemono.cst +217 -0
  11. data/glaemresources/charsets/tengwar_guni_annatar.cst +628 -0
  12. data/glaemresources/charsets/tengwar_guni_eldamar.cst +618 -0
  13. data/glaemresources/charsets/tengwar_guni_elfica.cst +620 -0
  14. data/glaemresources/charsets/tengwar_guni_parmaite.cst +621 -0
  15. data/glaemresources/charsets/tengwar_guni_sindarin.cst +617 -0
  16. data/glaemresources/charsets/tengwar_telcontar.cst +218 -0
  17. data/glaemresources/charsets/unicode_gothic.cst +64 -0
  18. data/glaemresources/charsets/unicode_runes.cst +121 -0
  19. data/glaemresources/modes/{adunaic.glaem → adunaic-tengwar-glaemscrafu.glaem} +14 -2
  20. data/glaemresources/modes/{blackspeech.glaem → blackspeech-tengwar-general_use.glaem} +12 -2
  21. data/glaemresources/modes/japanese-tengwar.glaem +771 -0
  22. data/glaemresources/modes/{khuzdul.glaem → khuzdul-cirth-moria.glaem} +4 -1
  23. data/glaemresources/modes/{futhorc.glaem → old_english-futhorc.glaem} +0 -0
  24. data/glaemresources/modes/{mercian.glaem → old_english-tengwar-mercian.glaem} +22 -12
  25. data/glaemresources/modes/{westsaxon.glaem → old_english-tengwar-westsaxon.glaem} +20 -11
  26. data/glaemresources/modes/{futhark-runicus.glaem → old_norse-futhark-runicus.glaem} +0 -0
  27. data/glaemresources/modes/{futhark-younger.glaem → old_norse-futhark-younger.glaem} +0 -0
  28. data/glaemresources/modes/{quenya.glaem → quenya-tengwar-classical.glaem} +32 -50
  29. data/glaemresources/modes/raw-tengwar.glaem +46 -23
  30. data/glaemresources/modes/{rlyehian.glaem → rlyehian-tengwar.glaem} +14 -3
  31. data/glaemresources/modes/{sindarin-daeron.glaem → sindarin-cirth-daeron.glaem} +55 -14
  32. data/glaemresources/modes/{sindarin-beleriand.glaem → sindarin-tengwar-beleriand.glaem} +154 -28
  33. data/glaemresources/modes/{sindarin.glaem → sindarin-tengwar-general_use.glaem} +86 -25
  34. data/glaemresources/modes/{telerin.glaem → telerin-tengwar-glaemscrafu.glaem} +16 -6
  35. data/glaemresources/modes/{westron.glaem → westron-tengwar-glaemscrafu.glaem} +18 -8
  36. data/lib/api/charset.rb +67 -7
  37. data/lib/api/charset_parser.rb +7 -0
  38. data/lib/api/constants.rb +3 -4
  39. data/lib/api/fragment.rb +26 -5
  40. data/lib/api/if_tree.rb +70 -8
  41. data/lib/api/macro.rb +40 -0
  42. data/lib/api/mode.rb +35 -13
  43. data/lib/api/mode_parser.rb +106 -12
  44. data/lib/api/object_additions.rb +23 -1
  45. data/lib/api/option.rb +17 -2
  46. data/lib/api/post_processor/resolve_virtuals.rb +25 -9
  47. data/lib/api/resource_manager.rb +1 -0
  48. data/lib/api/rule_group.rb +170 -26
  49. data/lib/api/sheaf_chain_iterator.rb +1 -1
  50. data/lib/api/transcription_processor.rb +3 -3
  51. data/lib/api/tts.rb +51 -0
  52. data/lib/glaemscribe.rb +34 -31
  53. data/lib_espeak/espeakng.for.glaemscribe.nowasm.sync.js +21 -0
  54. data/lib_espeak/glaemscribe_tts.js +365 -0
  55. metadata +67 -21
@@ -24,12 +24,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
24
24
 
25
25
  \beg changelog
26
26
  \entry "0.0.2", "Moved outspace character to general element"
27
+ \entry "0.0.3", "Adding missing long ô"
27
28
  \end
28
29
 
29
30
  \language "Khuzdul"
30
31
  \writing "Cirth"
31
32
  \mode "Khuzdul Cirth - Angerthas Moria"
32
- \version "0.0.2"
33
+ \version "0.0.3"
33
34
  \authors "J.R.R. Tolkien, impl. Talagan (Benjamin Babut)"
34
35
 
35
36
  \world arda
@@ -66,6 +67,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
66
67
  \beg rules litteral
67
68
  a --> CIRTH_48
68
69
  â --> CIRTH_49
70
+
69
71
  e --> CIRTH_46
70
72
  ê --> CIRTH_47
71
73
 
@@ -73,6 +75,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
73
75
  î --> CIRTH_39 CIRTH_39
74
76
 
75
77
  o --> CIRTH_50
78
+ ô --> CIRTH_51
76
79
 
77
80
  u --> CIRTH_42
78
81
  û --> CIRTH_43
@@ -27,12 +27,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
27
27
  \entry "0.1.1" "Added support for inlined raw tengwar"
28
28
  \entry "0.1.2" "Doing some cleaning"
29
29
  \entry "0.1.3" "Added support for non-breaking spaces"
30
+ \entry "0.1.4" "Added support for new unicode charsets"
30
31
  \end
31
32
 
32
33
  \language "Old English"
33
34
  \writing "Tengwar"
34
35
  \mode "Old English Tengwar - 'Mercian' Usage"
35
- \version "0.1.3"
36
+ \version "0.1.4"
36
37
  \authors "J.R.R. Tolkien, impl. Talagan (Benjamin Babut)"
37
38
 
38
39
  \world primary_related_to_arda
@@ -46,9 +47,18 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
46
47
  \charset tengwar_ds_annatar false
47
48
  \charset tengwar_ds_elfica false
48
49
 
50
+ \charset tengwar_guni_sindarin false
51
+ \charset tengwar_guni_parmaite false
52
+ \charset tengwar_guni_eldamar false
53
+ \charset tengwar_guni_annatar false
54
+ \charset tengwar_guni_elfica false
55
+
56
+
49
57
  \** List of features that would prevent use of other charsets
50
- \charset tengwar_freemono false
51
- Free Mono Tengwar : missing [OLD_ENGLISH_AND,SHOOK_BEAUTIFUL] / sa-rince management not accurate
58
+ \charset tengwar_freemono false
59
+ \charset tengwar_telcontar false
60
+
61
+ Free Mono Tengwar : missing [OLD_ENGLISH_AND,SARINCE_FLOURISHED] / sa-rince management not accurate
52
62
  **\
53
63
 
54
64
 
@@ -123,13 +133,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
123
133
  {S_VOWELS_WP_KERNEL} === {S_VOWELS_NP_KERNEL} * @
124
134
 
125
135
  \** UP TEHTAS **\
126
- {TEHTAR_UP_NP} === A_TEHTA * Y_TEHTA * E_TEHTA_DOUBLE * E_TEHTA * I_TEHTA * O_TEHTA * U_TEHTA * SEV_TEHTA
136
+ {TEHTAR_UP_NP} === A_TEHTA * Y_TEHTA * E_TEHTA_DOUBLE * E_TEHTA * I_TEHTA * O_TEHTA * U_TEHTA * WA_TEHTA
127
137
 
128
138
  {TEHTAR_UP} === {TEHTAR_UP_NP} * {NULL}
129
139
 
130
140
  \** FOR LONG VOWELS **\
131
141
  {LVOWELS} === {AA} * {AEAE} * {OEOE} * {EE} * {II} * {OO} * {UU} * {YY}
132
- {LTEHTAR} === ARA A_TEHTA * ARA Y_TEHTA * ARA E_TEHTA_DOUBLE * ARA E_TEHTA * ARA I_TEHTA * ARA O_TEHTA * ARA U_TEHTA * ARA SEV_TEHTA
142
+ {LTEHTAR} === ARA A_TEHTA * ARA Y_TEHTA * ARA E_TEHTA_DOUBLE * ARA E_TEHTA * ARA I_TEHTA * ARA O_TEHTA * ARA U_TEHTA * ARA WA_TEHTA
133
143
 
134
144
  {LVOWEL_MARKER} === THINNAS
135
145
 
@@ -324,7 +334,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
324
334
  [l * ll * ld] {S_VOWELS_WN} --> [LAMBE * LAMBE {_GEMINATE_} * ALDA] {_S_VOWELS_UP_WN_}
325
335
 
326
336
  \** ========== **\
327
- \** Alveolar (sifflantes) **\
337
+ \** sibilant (sifflantes) **\
328
338
 
329
339
  {L8_KER} === s * z
330
340
  {L8_IMG} === SILME_NUQUERNA * ESSE_NUQUERNA
@@ -339,9 +349,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
339
349
  [{L8_KER_GEMS}]{S_VOWELS_WN} --> [{L8_IMG_GEMS}]{_S_VOWELS_UP_WN_}
340
350
 
341
351
  \** Final s (Challenging!) **\
342
- s_ --> SHOOK_BEAUTIFUL \** Final rule for s **\
352
+ s_ --> SARINCE_FLOURISHED \** Final rule for s **\
343
353
  {S_VOWELS}s_ --> TELCO {_S_VOWELS_UP_} SILME_NUQUERNA \** Rule es_ **\
344
- [{LVOWELS}]s_ --> [{LTEHTAR}] SILME_NUQUERNA \** Rule és_ **\
354
+ [{LVOWELS}]s_ --> [{LTEHTAR}] SILME_NUQUERNA \** Rule és_ **\
345
355
 
346
356
  s --> SILME \** Overload lonely s **\
347
357
  z --> ESSE \** Overload lonely z **\
@@ -377,9 +387,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
377
387
  \** X **\
378
388
  \** For x, due to the cedilla, we cannot put tehtas under the tengwa (so no need to treat diphthongs or long vowels) **\
379
389
 
380
- x{S_VOWELS_WN} --> QUESSE ALVEOLAR_SIGN {_S_VOWELS_UP_WN_}
381
- xx{S_VOWELS_WN} --> QUESSE ALVEOLAR_SIGN {_GEMINATE_} {_S_VOWELS_UP_WN_}
382
- nx{S_VOWELS_WN} --> QUESSE ALVEOLAR_SIGN {_NASAL_} {_S_VOWELS_UP_WN_}
390
+ x{S_VOWELS_WN} --> QUESSE SARINCE {_S_VOWELS_UP_WN_}
391
+ xx{S_VOWELS_WN} --> QUESSE SARINCE {_GEMINATE_} {_S_VOWELS_UP_WN_}
392
+ nx{S_VOWELS_WN} --> QUESSE SARINCE {_NASAL_} {_S_VOWELS_UP_WN_}
383
393
 
384
394
 
385
395
  \end
@@ -432,7 +442,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
432
442
  > --> PUNCT_PAREN_R
433
443
 
434
444
  \** Not universal between fonts ... **\
435
- $ --> BOOKMARK_SIGN
445
+ $ --> ELVISH_PAREN
436
446
  ≤ --> RING_MARK_L \** Ring inscription left beautiful stuff **\
437
447
  ≥ --> RING_MARK_R \** Ring inscription right beautiful stuff **\
438
448
  \end
@@ -27,12 +27,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
27
27
  \entry "0.1.1" "Added support for inlined raw tengwar"
28
28
  \entry "0.1.2" "Doing some cleaning"
29
29
  \entry "0.1.3" "Added support for non-breaking spaces"
30
+ \entry "0.1.4" "Added support for new unicode charsets"
30
31
  \end
31
32
 
32
33
  \language "Old English"
33
34
  \writing "Tengwar"
34
35
  \mode "Old English Tengwar - 'West Saxon' Usage"
35
- \version "0.1.3"
36
+ \version "0.1.4"
36
37
  \authors "J.R.R. Tolkien, impl. Talagan (Benjamin Babut)"
37
38
 
38
39
  \world primary_related_to_arda
@@ -46,9 +47,17 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
46
47
  \charset tengwar_ds_annatar false
47
48
  \charset tengwar_ds_elfica false
48
49
 
50
+ \charset tengwar_guni_sindarin false
51
+ \charset tengwar_guni_parmaite false
52
+ \charset tengwar_guni_eldamar false
53
+ \charset tengwar_guni_annatar false
54
+ \charset tengwar_guni_elfica false
55
+
49
56
  \** List of features that would prevent use of other charsets
50
- \charset tengwar_freemono false
51
- Free Mono Tengwar : missing [OLD_ENGLISH_AND,SHOOK_BEAUTIFUL] / sa-rince management not accurate
57
+ \charset tengwar_freemono false
58
+ \charset tengwar_telcontar false
59
+
60
+ Free Mono Tengwar : missing [OLD_ENGLISH_AND,SARINCE_FLOURISHED] / sa-rince management not accurate
52
61
  **\
53
62
 
54
63
  \beg options
@@ -124,12 +133,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
124
133
  {S_VOWELS_WP_KERNEL} === {S_VOWELS_NP_KERNEL} * @
125
134
 
126
135
  \** UP TEHTAS **\
127
- {TEHTAR_UP_NP} === E_TEHTA * A_TEHTA * E_TEHTA_DOUBLE * Y_TEHTA * I_TEHTA * O_TEHTA * U_TEHTA * SEV_TEHTA * VILYA
136
+ {TEHTAR_UP_NP} === E_TEHTA * A_TEHTA * E_TEHTA_DOUBLE * Y_TEHTA * I_TEHTA * O_TEHTA * U_TEHTA * WA_TEHTA * VILYA
128
137
  {TEHTAR_UP} === {TEHTAR_UP_NP} * {NULL}
129
138
 
130
139
  \** FOR LONG VOWELS **\
131
140
  {L_VOWELS} === {AA} * {AEAE} * {OEOE} * {EE} * {II} * {OO} * {UU} * {YY}
132
- {L_TEHTAR} === ARA E_TEHTA * ARA A_TEHTA * ARA E_TEHTA_DOUBLE * ARA Y_TEHTA * ARA I_TEHTA * ARA O_TEHTA * ARA U_TEHTA * ARA SEV_TEHTA
141
+ {L_TEHTAR} === ARA E_TEHTA * ARA A_TEHTA * ARA E_TEHTA_DOUBLE * ARA Y_TEHTA * ARA I_TEHTA * ARA O_TEHTA * ARA U_TEHTA * ARA WA_TEHTA
133
142
 
134
143
  \** DOWN TEHTAS **\
135
144
  {TEHTAR_DN} === E_TEHTA_INF * A_TEHTA_INF * CIRC_TEHTA_INF * Y_TEHTA_INF * I_TEHTA_INF * TELCO O_TEHTA * TELCO U_TEHTA * THINNAS * VILYA * {NULL}
@@ -260,7 +269,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
260
269
  {S_VOWELS_WN}ld --> ALDA {_S_VOWELS_UP_WN_}
261
270
 
262
271
 
263
- \** ## Alveolar (sifflantes) **\
272
+ \** ## Sibilant (sifflantes) **\
264
273
  \** ## **\
265
274
  {L8_KER} === s * z
266
275
  {L8_IMG} === SILME_NUQUERNA * ESSE_NUQUERNA
@@ -272,7 +281,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
272
281
 
273
282
 
274
283
  \** ## FINAL S (Challenging!) **\
275
- {S_VOWELS_WN}s_ --> SHOOK_BEAUTIFUL {_S_VOWELS_UP_WN_} \** # Final rule for s **\
284
+ {S_VOWELS_WN}s_ --> SARINCE_FLOURISHED {_S_VOWELS_UP_WN_} \** # Final rule for s **\
276
285
  _{S_VOWELS_WN}s_ --> SILME_NUQUERNA {_S_VOWELS_UP_WN_} \** # Rule _es_ **\
277
286
  [{L_VOWELS} * _ ]{S_VOWELS_WN}s_ --> [{L_TEHTAR} * {NULL} ] SILME_NUQUERNA {_S_VOWELS_UP_WN_} \** # Rule for éis_, és_ **\
278
287
  {NULL}[ {S_VOWELS_NP_KERNEL} ]{S_VOWELS}s_ --> TELCO [ {TEHTAR_UP_NP} ] SILME_NUQUERNA {_S_VOWELS_UP_} \** # Rule for ies_ **\
@@ -295,9 +304,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
295
304
 
296
305
  \** ## X **\
297
306
  \** ## For x, due to the cedilla, we cannot put tehtas under the tengwa. **\
298
- {S_VOWELS_WN}x --> QUESSE SHOOK_LEFT_L {_S_VOWELS_UP_WN_}
299
- {S_VOWELS_WN}xx --> QUESSE SHOOK_LEFT_L {_GEMINATE_} {_S_VOWELS_UP_WN_}
300
- {S_VOWELS_WN}nx --> QUESSE SHOOK_LEFT_L {_NASAL_} {_S_VOWELS_UP_WN_}
307
+ {S_VOWELS_WN}x --> QUESSE SARINCE {_S_VOWELS_UP_WN_}
308
+ {S_VOWELS_WN}xx --> QUESSE SARINCE {_GEMINATE_} {_S_VOWELS_UP_WN_}
309
+ {S_VOWELS_WN}nx --> QUESSE SARINCE {_NASAL_} {_S_VOWELS_UP_WN_}
301
310
  \end
302
311
 
303
312
  \beg rules punctuation
@@ -348,7 +357,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
348
357
  > --> PUNCT_PAREN_R
349
358
 
350
359
  \** Not universal between fonts ... **\
351
- $ --> BOOKMARK_SIGN
360
+ $ --> ELVISH_PAREN
352
361
  ≤ --> RING_MARK_L \** Ring inscription left beautiful stuff **\
353
362
  ≥ --> RING_MARK_R \** Ring inscription right beautiful stuff **\
354
363
 
@@ -52,8 +52,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
52
52
  \entry "0.9.7" "Correcting visibility options to conform to new glaeml args strict syntax"
53
53
  \entry "0.9.8" "Adding palatalized geminates (requested)"
54
54
  \entry "0.9.9" "Hotfix on 0.9.8"
55
+ \entry "0.9.10" "Removing option on palatalized geminates (always accumulate)"
56
+ \entry "0.9.11" "Added support for new unicode charsets"
57
+ \entry "0.9.12" "Added support for the Tengwar Telcontar font"
55
58
  \end
56
- \version "0.9.9"
59
+ \version "0.9.12"
57
60
 
58
61
  \language "Quenya"
59
62
  \writing "Tengwar"
@@ -68,7 +71,15 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
68
71
  \charset tengwar_ds_eldamar false
69
72
  \charset tengwar_ds_annatar false
70
73
  \charset tengwar_ds_elfica false
74
+
75
+ \charset tengwar_guni_sindarin false
76
+ \charset tengwar_guni_parmaite false
77
+ \charset tengwar_guni_eldamar false
78
+ \charset tengwar_guni_annatar false
79
+ \charset tengwar_guni_elfica false
80
+
71
81
  \charset tengwar_freemono false
82
+ \charset tengwar_telcontar false
72
83
 
73
84
  \raw_mode "raw-tengwar"
74
85
 
@@ -118,12 +129,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
118
129
  \value ST_PT_HT_SEPARATED 1
119
130
  \value ST_PT_HT_WITH_XTD 2
120
131
  \end
121
-
122
- \beg option palatalized_geminates PALATALIZED_GEMINATES_SPLIT
123
- \value PALATALIZED_GEMINATES_SPLIT 0
124
- \value PALATALIZED_GEMINATES_CUMULATE 1
125
- \end
126
-
132
+
127
133
  \beg option consonant_modification_style CONSONANT_MODIFICATION_STYLE_BAR
128
134
  \value CONSONANT_MODIFICATION_STYLE_WAVE 0
129
135
  \value CONSONANT_MODIFICATION_STYLE_BAR 1
@@ -158,25 +164,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
158
164
 
159
165
  \** Dis-ambiguate qu **\
160
166
  \substitute "qu" "q"
161
-
162
- \if "palatalized_geminates == PALATALIZED_GEMINATES_SPLIT"
163
- \substitute "ppy" "p|py"
164
- \substitute "tty" "t|ty"
165
- \rxsubstitute "[ck][ck]y" "k|ky"
166
-
167
- \substitute "nny" "n|ny"
168
- \substitute "mmy" "m|my"
169
-
170
- \substitute "nnty" "n|nty"
171
- \substitute "nndy" "n|ndy"
172
167
 
173
- \substitute "rry" "r|ry"
174
- \substitute "rrdy" "r|rdy"
175
-
176
- \substitute "lly" "l|ly"
177
- \substitute "lldy" "l|ldy"
178
- \endif
179
-
180
168
  \elvish_numbers "\\eval numbers_base" "\\eval reverse_numbers"
181
169
  \end
182
170
 
@@ -330,18 +318,17 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
330
318
 
331
319
  \** PALATAL **\
332
320
  [t * p * {K}] y {V_D_WN} --> [TINCO * PARMA * CALMA] {PALATAL} {_V_D_WN_}
321
+
322
+ \** PALATAL GEMINATES **\
323
+ [tt * pp * {K}{K}] y {V_D_WN} --> [TINCO * PARMA * CALMA] {GEMINATE} {PALATAL} {_V_D_WN_}
333
324
 
334
- \if "palatalized_geminates == PALATALIZED_GEMINATES_CUMULATE"
335
- [tt * pp * {K}{K}] y {V_D_WN} --> [TINCO * PARMA * CALMA] {GEMINATE} {PALATAL} {_V_D_WN_}
336
- \endif
337
-
338
- \** For alveolarized consonants, we must put the alveolar_sign just after the tengwa
325
+ \** For alveolarized consonants, we must put the SARINCE just after the tengwa
339
326
  because else, FreeMonoTengwar will not handle well the ligature. Anyway, this is
340
327
  more logical, but the tehta placement will not be perfect for older fonts **\
341
- ts{V_D_WN} --> TINCO ALVEOLAR_SIGN {_V_D_WN_}
342
- ps{V_D_WN} --> PARMA ALVEOLAR_SIGN {_V_D_WN_}
343
- {K}s{V_D_WN} --> CALMA ALVEOLAR_SIGN {_V_D_WN_}
344
- x{V_D_WN} --> CALMA ALVEOLAR_SIGN {_V_D_WN_} \** render ks for x **\
328
+ ts{V_D_WN} --> TINCO SARINCE {_V_D_WN_}
329
+ ps{V_D_WN} --> PARMA SARINCE {_V_D_WN_}
330
+ {K}s{V_D_WN} --> CALMA SARINCE {_V_D_WN_}
331
+ x{V_D_WN} --> CALMA SARINCE {_V_D_WN_} \** render ks for x **\
345
332
 
346
333
  \** ===================== **\
347
334
  \** 2ND LINE RULES **\
@@ -355,9 +342,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
355
342
  \** Palatalized **\
356
343
  ndy{V_D_WN} --> ANDO {PALATAL} {_V_D_WN_}
357
344
 
358
- \if "palatalized_geminates == PALATALIZED_GEMINATES_CUMULATE"
359
- [nnd] y {V_D_WN} --> [ANDO] {GEMINATE} {PALATAL} {_V_D_WN_}
360
- \endif
345
+ \** PALATAL GEMINATES **\
346
+ [nnd] y {V_D_WN} --> [ANDO] {GEMINATE} {PALATAL} {_V_D_WN_}
361
347
 
362
348
  \** Have some rules for d,b,g,gw although there are not theoritically possible, aldudénie e.g needs it **\
363
349
  {L2_UN} === d * b * g * gw
@@ -413,9 +399,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
413
399
  \** PALATAL **\
414
400
  nty {V_D_WN} --> ANTO {PALATAL} {_V_D_WN_}
415
401
 
416
- \if "palatalized_geminates == PALATALIZED_GEMINATES_CUMULATE"
417
- [nnt] y {V_D_WN} --> [ANTO] {GEMINATE} {PALATAL} {_V_D_WN_}
418
- \endif
402
+ \** PALATAL GEMINATES **\
403
+ [nnt] y {V_D_WN} --> [ANTO] {GEMINATE} {PALATAL} {_V_D_WN_}
419
404
 
420
405
  \** ===================== **\
421
406
  \** 5TH LINE RULES **\
@@ -431,9 +416,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
431
416
  ny{V_D_WN} --> NUMEN {PALATAL} {_V_D_WN_}
432
417
  my{V_D_WN} --> MALTA {PALATAL} {_V_D_WN_}
433
418
 
434
- \if "palatalized_geminates == PALATALIZED_GEMINATES_CUMULATE"
435
- [nn * mm] y {V_D_WN} --> [NUMEN * MALTA] {GEMINATE} {PALATAL} {_V_D_WN_}
436
- \endif
419
+ \** PALATAL GEMINATES **\
420
+ [nn * mm] y {V_D_WN} --> [NUMEN * MALTA] {GEMINATE} {PALATAL} {_V_D_WN_}
437
421
 
438
422
  \** ===================== **\
439
423
  \** 6TH LINE RULES **\
@@ -465,9 +449,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
465
449
  ry{V_D_WN} --> ROMEN {PALATAL} {_V_D_WN_}
466
450
  rdy{V_D_WN} --> ARDA {PALATAL} {_V_D_WN_}
467
451
 
468
- \if "palatalized_geminates == PALATALIZED_GEMINATES_CUMULATE"
469
- [rr * rrd] y {V_D_WN} --> [ROMEN * ARDA] {GEMINATE} {PALATAL} {_V_D_WN_}
470
- \endif
452
+ \** PALATAL GEMINATES **\
453
+ [rr * rrd] y {V_D_WN} --> [ROMEN * ARDA] {GEMINATE} {PALATAL} {_V_D_WN_}
471
454
 
472
455
  \** ===================== **\
473
456
  \** L LINE RULES **\
@@ -480,9 +463,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
480
463
  ly{V_D_WN} --> LAMBE {PALATAL} {_V_D_WN_}
481
464
  ldy{V_D_WN} --> ALDA {PALATAL} {_V_D_WN_}
482
465
 
483
- \if "palatalized_geminates == PALATALIZED_GEMINATES_CUMULATE"
484
- [ll * lld] y {V_D_WN} --> [LAMBE * ALDA] {GEMINATE} {PALATAL} {_V_D_WN_}
485
- \endif
466
+ \** PALATAL GEMINATES **\
467
+ [ll * lld] y {V_D_WN} --> [LAMBE * ALDA] {GEMINATE} {PALATAL} {_V_D_WN_}
486
468
 
487
469
  hl{V_D_WN} --> HALLA LAMBE {_V_D_WN_}
488
470
  hr{V_D_WN} --> HALLA ROMEN {_V_D_WN_}
@@ -550,7 +532,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
550
532
  > --> PUNCT_PAREN_R
551
533
 
552
534
  \** Not universal between fonts ... **\
553
- $ --> BOOKMARK_SIGN
535
+ $ --> ELVISH_PAREN
554
536
  ≤ --> RING_MARK_L \** Ring inscription left beautiful stuff **\
555
537
  ≥ --> RING_MARK_R \** Ring inscription right beautiful stuff **\
556
538
 
@@ -25,13 +25,16 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
25
25
  \beg changelog
26
26
  \entry "0.0.1" "Initial version."
27
27
  \entry "0.0.2" "Added missing extended tengwar."
28
- \entry "0.0.3" "Added support for non-breaking spaces"
28
+ \entry "0.0.3" "Added support for non-breaking spaces"
29
+ \entry "0.0.4" "Added support for new unicode charsets"
30
+ \entry "0.0.5" "Added support for the Tengwar Telcontar font"
31
+ \entry "0.0.6" "Added support for Bombadil W/HW"
29
32
  \end
30
33
 
31
34
  \language "Raw Tengwar"
32
35
  \writing "Tengwar"
33
36
  \mode "Raw Tengwar"
34
- \version "0.0.3"
37
+ \version "0.0.6"
35
38
  \authors "Talagan (Benjamin Babut)"
36
39
 
37
40
  \world arda
@@ -44,7 +47,15 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
44
47
  \charset tengwar_ds_eldamar false
45
48
  \charset tengwar_ds_annatar false
46
49
  \charset tengwar_ds_elfica false
50
+
51
+ \charset tengwar_guni_sindarin false
52
+ \charset tengwar_guni_parmaite false
53
+ \charset tengwar_guni_eldamar false
54
+ \charset tengwar_guni_annatar false
55
+ \charset tengwar_guni_elfica false
56
+
47
57
  \charset tengwar_freemono false
58
+ \charset tengwar_telcontar false
48
59
 
49
60
 
50
61
  \beg options
@@ -164,6 +175,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
164
175
  _(mh)_ --> TW_MH
165
176
  _(mhbeleriandic,mhb)_ --> TW_MH_BELERIANDIC
166
177
  _(hwlowdham,hwl)_ --> TW_HW_LOWDHAM
178
+ _(hwbombadil,hwbom)_ --> BOMBADIL_HW
179
+ _(wbombadil,wbom)_ --> BOMBADIL_W
167
180
 
168
181
  \** ligatures **\
169
182
  _(harmasilme,ahasilme,silmeharma,silmeaha)_ --> ANCA_CLOSED
@@ -179,7 +192,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
179
192
  _(geminate)_ --> {GEMINATE}
180
193
  _(nasal)_ --> {NASAL}
181
194
  _(palatal)_ --> PALATAL_SIGN
182
- _(labial)_ --> SEV_TEHTA
195
+ _(labial)_ --> WA_TEHTA
196
+
197
+ \** SA-Rincer to be enhanced ... **\
198
+ _(sarince)_ --> SARINCE
199
+ _(arrince,sarincef)_ --> SARINCE_FLOURISHED
183
200
 
184
201
  _0_ --> NUM_0
185
202
  _1_ --> NUM_1
@@ -193,32 +210,42 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
193
210
  _9_ --> NUM_9
194
211
  _10_ --> NUM_10
195
212
  _11_ --> NUM_11
213
+ _12_ --> NUM_12
196
214
 
197
215
  _(lsd)_ --> CIRC_TEHTA_INF
198
216
 
199
217
  \end
200
218
 
201
219
  \beg rules punctuation
220
+
221
+ \** Allow / as word breaker **\
202
222
  / --> {NULL}
223
+ - --> {NULL}
224
+
225
+ · --> PUNCT_DOT
226
+ , --> PUNCT_DOT
227
+ : --> PUNCT_DOT
228
+ ; --> PUNCT_DOT
203
229
 
204
- . --> PUNCT_DDOT
205
- .. --> PUNCT_DOT PUNCT_DDOT PUNCT_DOT
230
+ . --> PUNCT_DDOT
231
+ .. --> PUNCT_DDOT
232
+
233
+ ... --> PUSTA_3
234
+ .... --> PUSTA_4
235
+
236
+ :: --> PUSTA_4_SQUARED
237
+ \** PUSTA_4_HALFED ? **\
238
+
239
+ ..... --> PUSTA_5
240
+
206
241
  … --> PUNCT_TILD
207
- ... --> PUNCT_TILD
208
- .... --> PUNCT_TILD
209
- ..... --> PUNCT_TILD
210
- ...... --> PUNCT_TILD
211
- ....... --> PUNCT_TILD
212
-
213
- , --> PUNCT_DOT
214
- : --> PUNCT_DOT
215
- ; --> PUNCT_DOT
242
+ ~ --> PUNCT_TILD
243
+ --> PUNCT_TILD
244
+ --> PUNCT_TILD
245
+
216
246
  ! --> PUNCT_EXCLAM
217
247
  ? --> PUNCT_INTERR
218
- · --> PUNCT_DOT
219
-
220
- :: --> PUSTA_3
221
-
248
+
222
249
  \** Apostrophe **\
223
250
 
224
251
  ' --> {NULL}
@@ -234,10 +261,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
234
261
  « --> DQUOT_OPEN
235
262
  » --> DQUOT_CLOSE
236
263
 
237
- - --> {NULL}
238
- – --> PUNCT_TILD
239
- — --> PUNCT_TILD
240
-
241
264
  [ --> PUNCT_PAREN_L
242
265
  ] --> PUNCT_PAREN_R
243
266
  ( --> PUNCT_PAREN_L
@@ -248,7 +271,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
248
271
  \** > --> PUNCT_PAREN_R : cannot be used since it is already used as a letter in group litteral **\
249
272
 
250
273
  \** Not universal between fonts ... **\
251
- $ --> BOOKMARK_SIGN
274
+ $ --> ELVISH_PAREN
252
275
  ≤ --> RING_MARK_L \** Ring inscription left beautiful stuff **\
253
276
  ≥ --> RING_MARK_R \** Ring inscription right beautiful stuff **\
254
277