glaemscribe 1.0.19 → 1.1.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 (39) hide show
  1. checksums.yaml +4 -4
  2. data/glaemresources/charsets/tengwar_ds_annatar.cst +509 -0
  3. data/glaemresources/charsets/tengwar_ds_eldamar.cst +22 -16
  4. data/glaemresources/charsets/tengwar_ds_elfica.cst +461 -0
  5. data/glaemresources/charsets/tengwar_ds_parmaite.cst +500 -0
  6. data/glaemresources/charsets/{tengwar_ds.cst → tengwar_ds_sindarin.cst} +59 -62
  7. data/glaemresources/charsets/tengwar_freemono.cst +176 -0
  8. data/glaemresources/charsets/unicode_runes.cst +1 -0
  9. data/glaemresources/modes/adunaic.glaem +50 -28
  10. data/glaemresources/modes/blackspeech.glaem +156 -82
  11. data/glaemresources/modes/english-ipa.glaem +49 -0
  12. data/glaemresources/modes/french-ipa.glaem +49 -0
  13. data/glaemresources/modes/{oldnorse-medieval.glaem → futhark-runicus.glaem} +4 -4
  14. data/glaemresources/modes/futhark-younger.glaem +129 -0
  15. data/glaemresources/modes/{futhorc.glaem.disabled → futhorc.glaem} +76 -38
  16. data/glaemresources/modes/gothic.glaem +1 -1
  17. data/glaemresources/modes/khuzdul.glaem +1 -1
  18. data/glaemresources/modes/mercian.glaem +31 -16
  19. data/glaemresources/modes/quenya-sarati.glaem +5 -3
  20. data/glaemresources/modes/quenya.glaem +168 -77
  21. data/glaemresources/modes/rlyehian.glaem +41 -43
  22. data/glaemresources/modes/sindarin-beleriand.glaem +39 -17
  23. data/glaemresources/modes/sindarin-daeron.glaem +1 -1
  24. data/glaemresources/modes/{sindarin-classical.glaem → sindarin.glaem} +73 -37
  25. data/glaemresources/modes/telerin.glaem +161 -64
  26. data/glaemresources/modes/valarin-sarati.glaem +1 -1
  27. data/glaemresources/modes/westron.glaem +83 -44
  28. data/glaemresources/modes/westsaxon.glaem +30 -13
  29. data/lib/api/charset.rb +29 -11
  30. data/lib/api/charset_parser.rb +15 -3
  31. data/lib/api/mode.rb +15 -3
  32. data/lib/api/mode_parser.rb +7 -2
  33. data/lib/api/option.rb +15 -1
  34. data/lib/api/post_processor/resolve_virtuals.rb +35 -24
  35. data/lib/api/transcription_pre_post_processor.rb +2 -1
  36. metadata +15 -11
  37. data/glaemresources/modes/blackspeech-annatar.glaem +0 -320
  38. data/glaemresources/modes/futhark-long-branch.glaem.disabled +0 -101
  39. data/glaemresources/modes/futhark-short-twig.glaem.disabled +0 -101
@@ -131,18 +131,18 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
131
131
  \** © **\ \char a9 TH_SUB_CIRC_XS
132
132
  \** ª **\ \char aa A_TEHTA_INV_XL
133
133
  \** « **\ \char ab DQUOT_OPEN
134
- \** ¬ **\ \char ac WAVE_MED_DOUBLE
134
+ \** ¬ **\ \char ac PUNCT_DTILD RING_MARK_L RING_MARK_R
135
135
  \** ­ **\ \char ad A_TEHTA_INV_L
136
136
  \** ® **\ \char ae ?
137
137
  \** ¯ **\ \char af A_TEHTA_INV_S
138
- \** ° **\ \char b0 WAVE_MED_SIMPLE
138
+ \** ° **\ \char b0 LAMBE_MARK_TILD
139
139
  \** ± **\ \char b1 SQUOT_OPEN
140
140
  \** ² **\ \char b2 SQUOT_CLOSE
141
141
  \** ³ **\ \char b3 ?
142
142
  \** ´ **\ \char b4 LAMBE_MARK_DDOT
143
143
  \** µ **\ \char b5 A_TEHTA_INV_XS
144
144
  \** · **\ \char b7 ?
145
- \** ¸ **\ \char b8 LAMBE_MARK_TILD
145
+ \** ¸ **\ \char b8 LAMBE_MARK_DASH
146
146
  \** ¹ **\ \char b9 ?
147
147
  \** º **\ \char ba ?
148
148
  \** » **\ \char bb DQUOT_CLOSE
@@ -190,10 +190,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
190
190
  \** å **\ \char e5 THINF_CURL_L
191
191
  \** æ **\ \char e6 THINF_CURL_S
192
192
  \** ç **\ \char e7 THINF_CURL_XS
193
- \** è **\ \char e8 THSUP_SEV_XL
194
- \** é **\ \char e9 THSUP_SEV_L
195
- \** ê **\ \char ea THSUP_SEV_S
196
- \** ë **\ \char eb THSUP_SEV_XS
193
+ \** è **\ \char e8 SEV_TEHTA_XL
194
+ \** é **\ \char e9 SEV_TEHTA_L
195
+ \** ê **\ \char ea SEV_TEHTA_S
196
+ \** ë **\ \char eb SEV_TEHTA_XS
197
197
  \** ì **\ \char ec ?
198
198
  \** í **\ \char ed ?
199
199
  \** î **\ \char ee ?
@@ -285,9 +285,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
285
285
  \** べ **\ \char 3079 ?
286
286
  \** ぺ **\ \char 307a ?
287
287
  \** ア **\ \char 30a2 ?
288
- \** カ **\ \char 30ab RING_MARK_R
288
+ \** カ **\ \char 30ab ?
289
289
  \** ギ **\ \char 30ae ?
290
- \** セ **\ \char 30bb RING_MARK_L
290
+ \** セ **\ \char 30bb ?
291
291
  \** タ **\ \char 30bf ?
292
292
  \** ツ **\ \char 30c4 ?
293
293
  \** テ **\ \char 30c6 ?
@@ -322,35 +322,62 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
322
322
  \** The following virtual chars are used to handle tehtar (& the like) multiple version chosing **\
323
323
  \** It could be avoided with modern fonts with gsub/gpos tables for ligatures and diacritics **\
324
324
  \** placement **\
325
-
326
325
  \beg virtual A_TEHTA
327
- \class A_TEHTA_XS TELCO ARA HYARMEN HARP_SHAPED
328
- \class A_TEHTA_S SULE FORMEN TW_EXT_11 TW_EXT_12 AHA_TINCO HWESTA_TINCO
326
+ \class A_TEHTA_XS TELCO ARA HYARMEN
327
+ \class A_TEHTA_S SULE FORMEN TW_EXT_11 TW_EXT_12 HARP_SHAPED AHA_TINCO HWESTA_TINCO
329
328
  \class A_TEHTA_L TINCO PARMA CALMA QUESSE AHA HWESTA ORE VALA ANNA VILYA TW_EXT_13 TW_EXT_14 ROMEN ARDA LAMBE ALDA SILME_NUQUERNA SILME_NUQUERNA_ALT ESSE_NUQUERNA YANTA URE OSSE SHOOK_BEAUTIFUL
330
329
  \class A_TEHTA_XL ANDO UMBAR ANGA UNGWE ANTO AMPA ANCA UNQUE NUMEN MALTA NOLDO NWALME TW_EXT_21 TW_EXT_22 TW_EXT_23 TW_EXT_24 SILME ESSE HWESTA_SINDARINWA ANCA_CLOSED
331
330
  \end
332
331
 
333
- \beg virtual A_TEHTA_DOUBLE
334
- \class A_TEHTA_DOUBLE_XS TELCO ARA HYARMEN HARP_SHAPED
335
- \class A_TEHTA_DOUBLE_S SULE FORMEN TW_EXT_11 TW_EXT_12 AHA_TINCO HWESTA_TINCO
336
- \class A_TEHTA_DOUBLE_L TINCO PARMA CALMA QUESSE AHA HWESTA ORE VALA ANNA VILYA TW_EXT_13 TW_EXT_14 ROMEN ARDA LAMBE ALDA SILME_NUQUERNA SILME_NUQUERNA_ALT ESSE_NUQUERNA YANTA URE OSSE SHOOK_BEAUTIFUL
337
- \class A_TEHTA_DOUBLE_XL ANDO UMBAR ANGA UNGWE ANTO AMPA ANCA UNQUE NUMEN MALTA NOLDO NWALME TW_EXT_21 TW_EXT_22 TW_EXT_23 TW_EXT_24 SILME ESSE HWESTA_SINDARINWA ANCA_CLOSED
338
- \end
339
-
340
332
  \beg virtual A_TEHTA_CIRCUM
341
- \class A_TEHTA_CIRCUM_XS TELCO ARA HYARMEN HARP_SHAPED
342
- \class A_TEHTA_CIRCUM_S SULE FORMEN TW_EXT_11 TW_EXT_12 AHA_TINCO HWESTA_TINCO
333
+ \class A_TEHTA_CIRCUM_XS TELCO ARA HYARMEN
334
+ \class A_TEHTA_CIRCUM_S SULE FORMEN TW_EXT_11 TW_EXT_12 HARP_SHAPED AHA_TINCO HWESTA_TINCO
343
335
  \class A_TEHTA_CIRCUM_L TINCO PARMA CALMA QUESSE AHA HWESTA ORE VALA ANNA VILYA TW_EXT_13 TW_EXT_14 ROMEN ARDA LAMBE ALDA SILME_NUQUERNA SILME_NUQUERNA_ALT ESSE_NUQUERNA YANTA URE OSSE SHOOK_BEAUTIFUL
344
336
  \class A_TEHTA_CIRCUM_XL ANDO UMBAR ANGA UNGWE ANTO AMPA ANCA UNQUE NUMEN MALTA NOLDO NWALME TW_EXT_21 TW_EXT_22 TW_EXT_23 TW_EXT_24 SILME ESSE HWESTA_SINDARINWA ANCA_CLOSED
345
337
  \end
346
338
 
347
339
  \beg virtual E_TEHTA
348
- \class E_TEHTA_XS TELCO ARA HYARMEN HARP_SHAPED
349
- \class E_TEHTA_S SULE FORMEN TW_EXT_11 TW_EXT_12 AHA_TINCO HWESTA_TINCO
340
+ \class E_TEHTA_XS TELCO ARA HYARMEN
341
+ \class E_TEHTA_S SULE FORMEN TW_EXT_11 TW_EXT_12 HARP_SHAPED AHA_TINCO HWESTA_TINCO
350
342
  \class E_TEHTA_L TINCO PARMA CALMA QUESSE AHA HWESTA ORE VALA ANNA VILYA TW_EXT_13 TW_EXT_14 ROMEN ARDA LAMBE ALDA SILME_NUQUERNA SILME_NUQUERNA_ALT ESSE_NUQUERNA YANTA URE OSSE SHOOK_BEAUTIFUL
351
343
  \class E_TEHTA_XL ANDO UMBAR ANGA UNGWE ANTO AMPA ANCA UNQUE NUMEN MALTA NOLDO NWALME TW_EXT_21 TW_EXT_22 TW_EXT_23 TW_EXT_24 SILME ESSE HWESTA_SINDARINWA ANCA_CLOSED
352
344
  \end
353
345
 
346
+ \beg virtual I_TEHTA
347
+ \class I_TEHTA_XS TELCO ARA HYARMEN
348
+ \class I_TEHTA_S SULE FORMEN TW_EXT_11 TW_EXT_12 HARP_SHAPED AHA_TINCO HWESTA_TINCO
349
+ \class I_TEHTA_L TINCO PARMA CALMA QUESSE AHA HWESTA ORE VALA ANNA VILYA TW_EXT_13 TW_EXT_14 ROMEN ARDA LAMBE ALDA SILME_NUQUERNA SILME_NUQUERNA_ALT ESSE_NUQUERNA YANTA URE OSSE SHOOK_BEAUTIFUL
350
+ \class I_TEHTA_XL ANDO UMBAR ANGA UNGWE ANTO AMPA ANCA UNQUE NUMEN MALTA NOLDO NWALME TW_EXT_21 TW_EXT_22 TW_EXT_23 TW_EXT_24 SILME ESSE HWESTA_SINDARINWA ANCA_CLOSED
351
+ \end
352
+
353
+ \beg virtual O_TEHTA
354
+ \class O_TEHTA_XS TELCO ARA HYARMEN
355
+ \class O_TEHTA_S SULE FORMEN TW_EXT_11 TW_EXT_12 HARP_SHAPED AHA_TINCO HWESTA_TINCO
356
+ \class O_TEHTA_L TINCO PARMA CALMA QUESSE AHA HWESTA ORE VALA ANNA VILYA TW_EXT_13 TW_EXT_14 ROMEN ARDA LAMBE ALDA SILME_NUQUERNA SILME_NUQUERNA_ALT ESSE_NUQUERNA YANTA URE OSSE SHOOK_BEAUTIFUL
357
+ \class O_TEHTA_XL ANDO UMBAR ANGA UNGWE ANTO AMPA ANCA UNQUE NUMEN MALTA NOLDO NWALME TW_EXT_21 TW_EXT_22 TW_EXT_23 TW_EXT_24 SILME ESSE HWESTA_SINDARINWA ANCA_CLOSED
358
+ \end
359
+
360
+ \beg virtual U_TEHTA
361
+ \class U_TEHTA_XS TELCO ARA HYARMEN
362
+ \class U_TEHTA_S SULE FORMEN TW_EXT_11 TW_EXT_12 HARP_SHAPED AHA_TINCO HWESTA_TINCO
363
+ \class U_TEHTA_L TINCO PARMA CALMA QUESSE AHA HWESTA ORE VALA ANNA VILYA TW_EXT_13 TW_EXT_14 ROMEN ARDA LAMBE ALDA SILME_NUQUERNA SILME_NUQUERNA_ALT ESSE_NUQUERNA YANTA URE OSSE SHOOK_BEAUTIFUL
364
+ \class U_TEHTA_XL ANDO UMBAR ANGA UNGWE ANTO AMPA ANCA UNQUE NUMEN MALTA NOLDO NWALME TW_EXT_21 TW_EXT_22 TW_EXT_23 TW_EXT_24 SILME ESSE HWESTA_SINDARINWA ANCA_CLOSED
365
+ \end
366
+
367
+ \beg virtual SEV_TEHTA
368
+ \class SEV_TEHTA_XS TELCO ARA HYARMEN
369
+ \class SEV_TEHTA_S SULE FORMEN TW_EXT_11 TW_EXT_12 HARP_SHAPED AHA_TINCO HWESTA_TINCO
370
+ \class SEV_TEHTA_L TINCO PARMA CALMA QUESSE AHA HWESTA ORE VALA ANNA VILYA TW_EXT_13 TW_EXT_14 ROMEN ARDA LAMBE ALDA SILME_NUQUERNA SILME_NUQUERNA_ALT ESSE_NUQUERNA YANTA URE OSSE SHOOK_BEAUTIFUL
371
+ \class SEV_TEHTA_XL ANDO UMBAR ANGA UNGWE ANTO AMPA ANCA UNQUE NUMEN MALTA NOLDO NWALME TW_EXT_21 TW_EXT_22 TW_EXT_23 TW_EXT_24 SILME ESSE HWESTA_SINDARINWA ANCA_CLOSED
372
+ \end
373
+
374
+ \beg virtual A_TEHTA_DOUBLE
375
+ \class A_TEHTA_DOUBLE_XS TELCO ARA HYARMEN HARP_SHAPED
376
+ \class A_TEHTA_DOUBLE_S SULE FORMEN TW_EXT_11 TW_EXT_12 AHA_TINCO HWESTA_TINCO
377
+ \class A_TEHTA_DOUBLE_L TINCO PARMA CALMA QUESSE AHA HWESTA ORE VALA ANNA VILYA TW_EXT_13 TW_EXT_14 ROMEN ARDA LAMBE ALDA SILME_NUQUERNA SILME_NUQUERNA_ALT ESSE_NUQUERNA YANTA URE OSSE SHOOK_BEAUTIFUL
378
+ \class A_TEHTA_DOUBLE_XL ANDO UMBAR ANGA UNGWE ANTO AMPA ANCA UNQUE NUMEN MALTA NOLDO NWALME TW_EXT_21 TW_EXT_22 TW_EXT_23 TW_EXT_24 SILME ESSE HWESTA_SINDARINWA ANCA_CLOSED
379
+ \end
380
+
354
381
  \beg virtual E_TEHTA_DOUBLE
355
382
  \class E_TEHTA_DOUBLE_XS TELCO ARA HYARMEN HARP_SHAPED
356
383
  \class E_TEHTA_DOUBLE_S SULE FORMEN TW_EXT_11 TW_EXT_12 AHA_TINCO HWESTA_TINCO
@@ -358,27 +385,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
358
385
  \class E_TEHTA_DOUBLE_XL ANDO UMBAR ANGA UNGWE ANTO AMPA ANCA UNQUE NUMEN MALTA NOLDO NWALME TW_EXT_21 TW_EXT_22 TW_EXT_23 TW_EXT_24 SILME ESSE HWESTA_SINDARINWA ANCA_CLOSED
359
386
  \end
360
387
 
361
- \beg virtual I_TEHTA
362
- \class I_TEHTA_XS TELCO ARA HYARMEN HARP_SHAPED
363
- \class I_TEHTA_S SULE FORMEN TW_EXT_11 TW_EXT_12 AHA_TINCO HWESTA_TINCO
364
- \class I_TEHTA_L TINCO PARMA CALMA QUESSE AHA HWESTA ORE VALA ANNA VILYA TW_EXT_13 TW_EXT_14 ROMEN ARDA LAMBE ALDA SILME_NUQUERNA SILME_NUQUERNA_ALT ESSE_NUQUERNA YANTA URE OSSE SHOOK_BEAUTIFUL
365
- \class I_TEHTA_XL ANDO UMBAR ANGA UNGWE ANTO AMPA ANCA UNQUE NUMEN MALTA NOLDO NWALME TW_EXT_21 TW_EXT_22 TW_EXT_23 TW_EXT_24 SILME ESSE HWESTA_SINDARINWA ANCA_CLOSED
366
- \end
367
-
368
- \beg virtual I_TEHTA_DOUBLE
388
+ \beg virtual I_TEHTA_DOUBLE Y_TEHTA
369
389
  \class I_TEHTA_DOUBLE_XS TELCO ARA HYARMEN HARP_SHAPED
370
390
  \class I_TEHTA_DOUBLE_S SULE FORMEN TW_EXT_11 TW_EXT_12 AHA_TINCO HWESTA_TINCO
371
391
  \class I_TEHTA_DOUBLE_L TINCO PARMA CALMA QUESSE AHA HWESTA ORE VALA ANNA VILYA TW_EXT_13 TW_EXT_14 ROMEN ARDA LAMBE ALDA SILME_NUQUERNA SILME_NUQUERNA_ALT ESSE_NUQUERNA YANTA URE OSSE SHOOK_BEAUTIFUL
372
392
  \class I_TEHTA_DOUBLE_XL ANDO UMBAR ANGA UNGWE ANTO AMPA ANCA UNQUE NUMEN MALTA NOLDO NWALME TW_EXT_21 TW_EXT_22 TW_EXT_23 TW_EXT_24 SILME ESSE HWESTA_SINDARINWA ANCA_CLOSED
373
393
  \end
374
394
 
375
- \beg virtual O_TEHTA
376
- \class O_TEHTA_XS TELCO ARA HYARMEN HARP_SHAPED
377
- \class O_TEHTA_S SULE FORMEN TW_EXT_11 TW_EXT_12 AHA_TINCO HWESTA_TINCO
378
- \class O_TEHTA_L TINCO PARMA CALMA QUESSE AHA HWESTA ORE VALA ANNA VILYA TW_EXT_13 TW_EXT_14 ROMEN ARDA LAMBE ALDA SILME_NUQUERNA SILME_NUQUERNA_ALT ESSE_NUQUERNA YANTA URE OSSE SHOOK_BEAUTIFUL
379
- \class O_TEHTA_XL ANDO UMBAR ANGA UNGWE ANTO AMPA ANCA UNQUE NUMEN MALTA NOLDO NWALME TW_EXT_21 TW_EXT_22 TW_EXT_23 TW_EXT_24 SILME ESSE HWESTA_SINDARINWA ANCA_CLOSED
380
- \end
381
-
382
395
  \beg virtual O_TEHTA_DOUBLE
383
396
  \class O_TEHTA_DOUBLE_XS TELCO ARA HYARMEN HARP_SHAPED
384
397
  \class O_TEHTA_DOUBLE_S SULE FORMEN TW_EXT_11 TW_EXT_12 AHA_TINCO HWESTA_TINCO
@@ -386,13 +399,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
386
399
  \class O_TEHTA_DOUBLE_XL ANDO UMBAR ANGA UNGWE ANTO AMPA ANCA UNQUE NUMEN MALTA NOLDO NWALME TW_EXT_21 TW_EXT_22 TW_EXT_23 TW_EXT_24 SILME ESSE HWESTA_SINDARINWA ANCA_CLOSED
387
400
  \end
388
401
 
389
- \beg virtual U_TEHTA
390
- \class U_TEHTA_XS TELCO ARA HYARMEN HARP_SHAPED
391
- \class U_TEHTA_S SULE FORMEN TW_EXT_11 TW_EXT_12 AHA_TINCO HWESTA_TINCO
392
- \class U_TEHTA_L TINCO PARMA CALMA QUESSE AHA HWESTA ORE VALA ANNA VILYA TW_EXT_13 TW_EXT_14 ROMEN ARDA LAMBE ALDA SILME_NUQUERNA SILME_NUQUERNA_ALT ESSE_NUQUERNA YANTA URE OSSE SHOOK_BEAUTIFUL
393
- \class U_TEHTA_XL ANDO UMBAR ANGA UNGWE ANTO AMPA ANCA UNQUE NUMEN MALTA NOLDO NWALME TW_EXT_21 TW_EXT_22 TW_EXT_23 TW_EXT_24 SILME ESSE HWESTA_SINDARINWA ANCA_CLOSED
394
- \end
395
-
396
402
  \beg virtual U_TEHTA_DOUBLE
397
403
  \class U_TEHTA_DOUBLE_XS TELCO ARA HYARMEN HARP_SHAPED
398
404
  \class U_TEHTA_DOUBLE_S SULE FORMEN TW_EXT_11 TW_EXT_12 AHA_TINCO HWESTA_TINCO
@@ -400,20 +406,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
400
406
  \class U_TEHTA_DOUBLE_XL ANDO UMBAR ANGA UNGWE ANTO AMPA ANCA UNQUE NUMEN MALTA NOLDO NWALME TW_EXT_21 TW_EXT_22 TW_EXT_23 TW_EXT_24 SILME ESSE HWESTA_SINDARINWA ANCA_CLOSED
401
407
  \end
402
408
 
403
- \beg virtual Y_TEHTA
404
- \class Y_TEHTA_XS TELCO ARA HYARMEN HARP_SHAPED
405
- \class Y_TEHTA_S SULE FORMEN TW_EXT_11 TW_EXT_12 AHA_TINCO HWESTA_TINCO
406
- \class Y_TEHTA_L TINCO PARMA CALMA QUESSE AHA HWESTA ORE VALA ANNA VILYA TW_EXT_13 TW_EXT_14 ROMEN ARDA LAMBE ALDA SILME_NUQUERNA SILME_NUQUERNA_ALT ESSE_NUQUERNA YANTA URE OSSE SHOOK_BEAUTIFUL
407
- \class Y_TEHTA_XL ANDO UMBAR ANGA UNGWE ANTO AMPA ANCA UNQUE NUMEN MALTA NOLDO NWALME TW_EXT_21 TW_EXT_22 TW_EXT_23 TW_EXT_24 SILME ESSE HWESTA_SINDARINWA ANCA_CLOSED
408
- \end
409
-
410
- \beg virtual SEV_TEHTA
411
- \class THSUP_SEV_XS TELCO ARA HYARMEN HARP_SHAPED
412
- \class THSUP_SEV_S SULE FORMEN TW_EXT_11 TW_EXT_12 AHA_TINCO HWESTA_TINCO
413
- \class THSUP_SEV_L TINCO PARMA CALMA QUESSE AHA HWESTA ORE VALA ANNA VILYA TW_EXT_13 TW_EXT_14 ROMEN ARDA LAMBE ALDA SILME_NUQUERNA SILME_NUQUERNA_ALT ESSE_NUQUERNA YANTA URE OSSE SHOOK_BEAUTIFUL
414
- \class THSUP_SEV_XL ANDO UMBAR ANGA UNGWE ANTO AMPA ANCA UNQUE NUMEN MALTA NOLDO NWALME TW_EXT_21 TW_EXT_22 TW_EXT_23 TW_EXT_24 SILME ESSE HWESTA_SINDARINWA ANCA_CLOSED
415
- \end
416
-
417
409
  \beg virtual A_TEHTA_INF
418
410
  \class THINF_TDOT_XS TELCO ARA ROMEN ARDA SILME_NUQUERNA HARP_SHAPED
419
411
  \class THINF_TDOT_S TINCO PARMA TW_EXT_11 TW_EXT_12 SHOOK_BEAUTIFUL AHA_TINCO HWESTA_TINCO
@@ -435,7 +427,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
435
427
  \class TH_SUB_CIRC_XL CALMA QUESSE ANDO UMBAR ANGA UNGWE ANTO AMPA ANCA UNQUE NUMEN MALTA NOLDO NWALME TW_EXT_13 TW_EXT_14 TW_EXT_21 TW_EXT_22 TW_EXT_23 TW_EXT_24 ANCA_CLOSED
436
428
  \end
437
429
 
438
- \beg virtual SEV_TEHTA_INF
430
+ \beg virtual SEV_TEHTA_INF THINF_STROKE
439
431
  \class THINF_STROKE_XS TELCO ARA ROMEN ARDA SILME_NUQUERNA HARP_SHAPED
440
432
  \class THINF_STROKE_S TINCO PARMA TW_EXT_11 TW_EXT_12 SHOOK_BEAUTIFUL AHA_TINCO HWESTA_TINCO
441
433
  \class THINF_STROKE_L SULE FORMEN AHA HWESTA ORE VALA ANNA VILYA LAMBE ALDA SILME SILME_NUQUERNA_ALT ESSE ESSE_NUQUERNA HYARMEN HWESTA_SINDARINWA YANTA URE OSSE
@@ -481,8 +473,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
481
473
  \end
482
474
 
483
475
  \beg virtual GEMINATE_SIGN
484
- \class DASH_INF_S TELCO ARA TINCO PARMA CALMA QUESSE SULE FORMEN AHA HWESTA ORE VALA ANNA VILYA TW_EXT_11 TW_EXT_12 TW_EXT_13 TW_EXT_14 ROMEN ARDA SILME SILME_NUQUERNA ESSE ESSE_NUQUERNA HYARMEN HWESTA_SINDARINWA YANTA URE OSSE SHOOK_BEAUTIFUL HARP_SHAPED AHA_TINCO HWESTA_TINCO
476
+ \class DASH_INF_S TELCO ARA TINCO PARMA CALMA QUESSE SULE FORMEN AHA HWESTA ORE VALA ANNA VILYA TW_EXT_11 TW_EXT_12 TW_EXT_13 TW_EXT_14 ROMEN ARDA SILME SILME_NUQUERNA SILME_NUQUERNA_ALT ESSE ESSE_NUQUERNA HYARMEN HWESTA_SINDARINWA YANTA URE OSSE SHOOK_BEAUTIFUL HARP_SHAPED AHA_TINCO HWESTA_TINCO
485
477
  \class DASH_INF_L ANDO UMBAR ANGA UNGWE ANTO AMPA ANCA UNQUE NUMEN MALTA NOLDO NWALME TW_EXT_21 TW_EXT_22 TW_EXT_23 TW_EXT_24 ANCA_CLOSED
478
+ \class LAMBE_MARK_DASH LAMBE ALDA
479
+ \end
480
+
481
+ \beg virtual GEMINATE_SIGN_TILD
482
+ \class TILD_INF_S TELCO ARA TINCO PARMA CALMA QUESSE SULE FORMEN AHA HWESTA ORE VALA ANNA VILYA TW_EXT_11 TW_EXT_12 TW_EXT_13 TW_EXT_14 ROMEN ARDA SILME SILME_NUQUERNA SILME_NUQUERNA_ALT ESSE ESSE_NUQUERNA HYARMEN HWESTA_SINDARINWA YANTA URE OSSE SHOOK_BEAUTIFUL HARP_SHAPED AHA_TINCO HWESTA_TINCO
483
+ \class TILD_INF_L ANDO UMBAR ANGA UNGWE ANTO AMPA ANCA UNQUE NUMEN MALTA NOLDO NWALME TW_EXT_21 TW_EXT_22 TW_EXT_23 TW_EXT_24 ANCA_CLOSED
486
484
  \class LAMBE_MARK_TILD LAMBE ALDA
487
485
  \end
488
486
 
@@ -505,5 +503,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
505
503
 
506
504
 
507
505
 
508
-
509
506
 
@@ -0,0 +1,176 @@
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.0.2
28
+
29
+ \char 20 SPACE
30
+
31
+ \char e000 TW_11 TINCO
32
+ \char e001 TW_12 PARMA
33
+ \char e002 TW_13 CALMA
34
+ \char e003 TW_14 QUESSE
35
+
36
+ \char e004 TW_21 ANDO
37
+ \char e005 TW_22 UMBAR
38
+ \char e006 TW_23 ANGA
39
+ \char e007 TW_24 UNGWE
40
+
41
+ \char e008 TW_31 SULE THULE
42
+ \char e009 TW_32 FORMEN
43
+ \char e00A TW_33 AHA
44
+ \char e00B TW_34 HWESTA
45
+
46
+ \char e00C TW_41 ANTO
47
+ \char e00D TW_42 AMPA
48
+ \char e00E TW_43 ANCA
49
+ \char e00F TW_44 UNQUE
50
+
51
+ \char e010 TW_51 NUMEN
52
+ \char e011 TW_52 MALTA
53
+ \char e012 TW_53 NOLDO
54
+ \char e013 TW_54 NWALME
55
+
56
+ \char e014 TW_61 ORE
57
+ \char e015 TW_62 VALA
58
+ \char e016 TW_63 ANNA
59
+ \char e017 TW_64 VILYA
60
+
61
+ \char e018 TW_EXT_11 TINCO_EXT SULE_EXT
62
+ \char e019 TW_EXT_12 PARMA_EXT FORMEN_EXT
63
+ \char e01A TW_EXT_13 CALMA_EXT AHA_EXT
64
+ \char e01B TW_EXT_14 QUESSE_EXT HWESTA_EXT
65
+
66
+ \char e01C TW_EXT_21 ANDO_EXT ANTO_EXT
67
+ \char e01D TW_EXT_22 UMBAR_EXT AMPA_EXT
68
+ \char e01E TW_EXT_23 ANGA_EXT ANCA_EXT
69
+ \char e01F TW_EXT_24 UNGWE_EXT UNQUE_EXT
70
+
71
+ \char e020 TW_71 ROMEN
72
+ \char e021 TW_72 ARDA
73
+ \char e022 TW_73 LAMBE
74
+ \char e023 TW_74 ALDA
75
+
76
+ \char e024 TW_81 SILME
77
+ \** Unfortunately, monotengwar is missing silme nuquerna used for y in beleriand **\
78
+ \char e025 TW_82 SILME_NUQUERNA SILME_NUQUERNA_ALT
79
+ \char e026 TW_83 ESSE
80
+ \char e027 TW_84 ESSE_NUQUERNA
81
+
82
+ \char e028 TW_91 HYARMEN
83
+ \char e029 TW_92 HWESTA_SINDARINWA
84
+ \char e02A TW_93 YANTA
85
+ \char e02B TW_94 URE
86
+
87
+ \char e02C ARA
88
+ \char e02D HALLA
89
+ \char e02E TELCO
90
+ \char e02F ?
91
+
92
+ \char e030 REVERSED_OSSE
93
+ \char e031 BOMBADIL_W
94
+ \char e032 OSSE
95
+ \char e033 ?
96
+
97
+ \char e034 LIGATING_SHORT_CARRIER
98
+ \char e035 ANNA_SINDARINWA
99
+ \char e036 ANNA_OPEN
100
+ \char e037 CHRISTOPHER_QU
101
+
102
+ \char e038 REVERSED_FORMEN
103
+ \char e039 BOMBADIL_HW
104
+ \char e03A MALTA_W_HOOK TW_MH
105
+ \char e03B VALA_W_HOOK TW_MH_BELERIANDIC
106
+
107
+ \char e03C TW_HW_LOWDHAM HARP_SHAPED
108
+ \char e03D VAIYA
109
+ \char e03E ?
110
+ \char e03F ?
111
+
112
+ \char e040 A_TEHTA
113
+ \char e041 A_TEHTA_INF
114
+ \char e042 I_TEHTA_DOUBLE Y_TEHTA
115
+ \char e043 PALATAL_SIGN Y_TEHTA_INF
116
+
117
+ \char e044 I_TEHTA
118
+ \char e045 I_TEHTA_INF NO_VOWEL_DOT UNUTIXE
119
+ \char e046 E_TEHTA
120
+ \char e047 E_TEHTA_INF
121
+
122
+ \char e048 E_TEHTA_DOUBLE
123
+ \char e049 E_TEHTA_DOUBLE_INF GEMINATE_DOUBLE
124
+ \char e04A O_TEHTA
125
+ \char e04B O_TEHTA_INF
126
+
127
+ \char e04C U_TEHTA
128
+ \char e04D U_TEHTA_INF
129
+ \char e04E O_TEHTA_DOUBLE
130
+ \char e04F U_TEHTA_DOUBLE
131
+
132
+ \char e050 NASALIZE_SIGN NASALIZE_SIGN_TILD
133
+ \char e051 GEMINATE_SIGN GEMINATE_SIGN_TILD
134
+ \char e052 SEV_TEHTA
135
+ \char e053 TEHTA_BREVE
136
+
137
+ \char e054 ?
138
+ \char e055 A_TEHTA_CIRCUM
139
+ \char e056 A_TEHTA_REVERSED A_TEHTA_DOUBLE
140
+ \char e057 SEV_TEHTA_INF THINF_STROKE
141
+
142
+ \** THE TWO FOLLOWING ONES ARE HIGHLY DISCUSSABLE, MAYBE WE SHOULD ADD A VIRTUAL CHAR FOR THESE **\
143
+ \char e058 SHOOK_LEFT_L
144
+ \char e059 SHOOK_RIGHT_L ALVEOLAR_SIGN
145
+ \char e05A ?
146
+ \char e05B ?
147
+
148
+ \char e060 PUNCT_DOT
149
+ \char e061 PUNCT_DDOT
150
+ \char e062 PUNCT_TDOT
151
+ \char e063 PUNCT_QDOT
152
+ \char e064 PUNCT_FDOT
153
+
154
+ \char e065 PUNCT_EXCLAM
155
+ \char e066 PUNCT_INTERR
156
+ \char e067 PUNCT_PAREN_L PUNCT_PAREN_R PUNCT_PAREN_L_ALT PUNCT_PAREN_R_ALT BOOKMARK_SIGN
157
+ \char e068 PUNCT_TILD
158
+
159
+ \char e069 PUNCT_DTILD RING_MARK_L RING_MARK_R
160
+
161
+ \char e06A DQUOT_OPEN
162
+ \char e06B DQUOT_CLOSE
163
+
164
+ \char e070 NUM_0
165
+ \char e071 NUM_1
166
+ \char e072 NUM_2
167
+ \char e073 NUM_3
168
+ \char e074 NUM_4
169
+ \char e075 NUM_5
170
+ \char e076 NUM_6
171
+ \char e077 NUM_7
172
+ \char e078 NUM_8
173
+ \char e079 NUM_9
174
+ \char e07A NUM_10
175
+ \char e07B NUM_11
176
+
@@ -81,6 +81,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
81
81
  \** ᛐ **\ \char 16D0 SHORT_TWIG_TYR
82
82
  \** ᛑ **\ \char 16D1 RUNIC_D
83
83
  \** ᛒ **\ \char 16D2 BERKANAN BEORC BJARKAN
84
+ \** ᛓ **\ \char 16D3 SHORT_TWIG_BERKANAN SHORT_TWIG_BEORC SHORT_TWIG_BJARKAN
84
85
  \** ᛔ **\ \char 16D4 DOTTED_P
85
86
  \** ᛕ **\ \char 16D5 OPEN_P
86
87
  \** ᛖ **\ \char 16D6 EHWAZ EH
@@ -23,30 +23,45 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
23
23
  **\
24
24
 
25
25
  \beg changelog
26
- \entry "0.0.2", "Added option for o/u tehtar loop orientation"
27
- \entry "0.0.3", "Normalizing to virtual chars"
26
+ \entry "0.0.2" "Added option for o/u tehtar loop orientation"
27
+ \entry "0.0.3" "Normalizing to virtual chars"
28
+ \entry "0.0.4" "Added charset support for Annatar"
29
+ \entry "0.0.5" "Added support for the FreeMonoTengwar font"
30
+ \entry "0.0.6" "Added wave/bar option for consonant modifications sign"
31
+ \entry "0.1.0" "Added support for the Tengwar Elfica font"
28
32
  \end
29
33
 
30
34
  \** Adunaic mode for glaemscribe (MAY BE INCOMPLETE) **\
31
35
  \language Adûnaic
32
36
  \writing Tengwar
33
37
  \mode Glaemscrafu
34
- \version 0.0.3
35
- \authors "Talagan (Benjamin Babut)"
38
+ \version "0.1.0"
39
+ \authors "Talagan (Benjamin Babut), based on J.R.R Tolkien"
36
40
 
37
- \charset tengwar_ds true
38
- \charset tengwar_ds_eldamar false
41
+ \charset tengwar_ds_sindarin true
42
+ \charset tengwar_ds_parmaite false
43
+ \charset tengwar_ds_eldamar false
44
+ \charset tengwar_ds_annatar false
45
+ \charset tengwar_ds_elfica false
46
+ \charset tengwar_freemono false
39
47
 
40
48
  \beg options
49
+ \beg option reverse_o_u_tehtar O_UP_U_DOWN
50
+ \value O_UP_U_DOWN 1
51
+ \value U_UP_O_DOWN 2
52
+ \end
53
+
54
+ \beg option consonant_modification_style CONSONANT_MODIFICATION_STYLE_BAR
55
+ \value CONSONANT_MODIFICATION_STYLE_WAVE 0
56
+ \value CONSONANT_MODIFICATION_STYLE_BAR 1
57
+ \end
58
+
41
59
  \option reverse_numbers true
42
60
  \beg option numbers_base BASE_12
43
61
  \value BASE_10 10
44
62
  \value BASE_12 12
45
63
  \end
46
- \beg option reverse_o_u_tehtar O_UP_U_DOWN
47
- \value O_UP_U_DOWN 1
48
- \value U_UP_O_DOWN 2
49
- \end
64
+
50
65
  \end
51
66
 
52
67
  \beg preprocessor
@@ -76,6 +91,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
76
91
  \beg processor
77
92
 
78
93
  \beg rules litteral
94
+
95
+ \if "consonant_modification_style == CONSONANT_MODIFICATION_STYLE_WAVE"
96
+ {GEMINATE} === GEMINATE_SIGN_TILD
97
+ \else
98
+ {GEMINATE} === GEMINATE_SIGN
99
+ \endif
100
+
79
101
  {A} === a
80
102
  {AA} === á
81
103
  {E} === e
@@ -135,24 +157,24 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
135
157
  {K} === (c,k)
136
158
  {V} === (v,w)
137
159
 
138
- {L1_S} === {K} * p * t * {K}{K} * pp * tt
139
- {L1_T} === QUESSE * PARMA * TINCO * CALMA GEMINATE_SIGN * PARMA GEMINATE_SIGN * TINCO GEMINATE_SIGN
160
+ {L1_S} === {K} * p * t * {K}{K} * pp * tt
161
+ {L1_T} === QUESSE * PARMA * TINCO * CALMA {GEMINATE} * PARMA {GEMINATE} * TINCO {GEMINATE}
140
162
 
141
163
  [{L1_S}] --> [ {L1_T} ]
142
164
  [{L1_S}]{V_D} --> [ {L1_T} ]{_V_D_}
143
165
 
144
- {L2_S} === d * b * g * dd * bb * gg
145
- {L2_T} === ANDO * UMBAR * UNGWE * ANDO GEMINATE_SIGN * UMBAR GEMINATE_SIGN * UNGWE GEMINATE_SIGN
166
+ {L2_S} === d * b * g * dd * bb * gg
167
+ {L2_T} === ANDO * UMBAR * UNGWE * ANDO {GEMINATE} * UMBAR {GEMINATE} * UNGWE {GEMINATE}
146
168
  [{L2_S}] --> [{L2_T}]
147
169
  [{L2_S}]{V_D} --> [{L2_T}]{_V_D_}
148
170
 
149
171
  \** Alignment of tehta is not the same in the font **\
150
172
  \** So we need to split the third line unfortunately **\
151
- {L3_1_S} === th * ph * (t,th)th * (p,ph)ph * (t,th)ph * (k,kh)ph * (p,ph)th * (k,kh)th
152
- {L3_1_T} === SULE * FORMEN * SULE GEMINATE_SIGN * FORMEN GEMINATE_SIGN * SULE FORMEN * HWESTA FORMEN * FORMEN SULE * HWESTA SULE
173
+ {L3_1_S} === th * ph * (t,th)th * (p,ph)ph * (t,th)ph * (k,kh)ph * (p,ph)th * (k,kh)th
174
+ {L3_1_T} === SULE * FORMEN * SULE {GEMINATE} * FORMEN {GEMINATE} * SULE FORMEN * HWESTA FORMEN * FORMEN SULE * HWESTA SULE
153
175
 
154
- {L3_2_S} === sh * kh * (k,kh)kh * (p,ph)kh * (t,th)kh
155
- {L3_2_T} === AHA * HWESTA * HWESTA GEMINATE_SIGN * FORMEN HWESTA * SULE HWESTA
176
+ {L3_2_S} === sh * kh * (k,kh)kh * (p,ph)kh * (t,th)kh
177
+ {L3_2_T} === AHA * HWESTA * HWESTA {GEMINATE} * FORMEN HWESTA * SULE HWESTA
156
178
 
157
179
  [{L3_1_S}] --> [{L3_1_T}]
158
180
  [{L3_1_S}]{V_D} --> [{L3_1_T}]{_V_D_}
@@ -164,13 +186,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
164
186
  [{L4_S}] --> [{L4_T}]
165
187
  [{L4_S}]{V_D} --> [{L4_T}]{_V_D_}
166
188
 
167
- {L5_S} === n * m * nn * mm
168
- {L5_T} === NUMEN * MALTA * NUMEN GEMINATE_SIGN * MALTA GEMINATE_SIGN
189
+ {L5_S} === n * m * nn * mm
190
+ {L5_T} === NUMEN * MALTA * NUMEN {GEMINATE} * MALTA {GEMINATE}
169
191
  [{L5_S}] --> [{L5_T}]
170
192
  [{L5_S}]{V_D} --> [{L5_T}]{_V_D_}
171
193
 
172
- {L6_S} === {V} * y * rr * {V}{V} * yy
173
- {L6_T} === VALA * ANNA * ROMEN GEMINATE_SIGN * VALA GEMINATE_SIGN * ANNA GEMINATE_SIGN
194
+ {L6_S} === {V} * y * rr * {V}{V} * yy
195
+ {L6_T} === VALA * ANNA * ROMEN {GEMINATE} * VALA {GEMINATE} * ANNA {GEMINATE}
174
196
  [r * {L6_S}] --> [ ORE * {L6_T}]
175
197
  [r * {L6_S}]{V_D} --> [ ROMEN * {L6_T}]{_V_D_}
176
198
 
@@ -185,14 +207,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
185
207
 
186
208
  h{V_D} --> HYARMEN {_V_D_}
187
209
  h --> HYARMEN
188
- hh{V_D} --> HYARMEN GEMINATE_SIGN {_V_D_}
189
- hh --> HYARMEN GEMINATE_SIGN
210
+ hh{V_D} --> HYARMEN {GEMINATE} {_V_D_}
211
+ hh --> HYARMEN {GEMINATE}
190
212
 
191
213
  l{V_D} --> LAMBE {_V_D_}
192
214
  l --> LAMBE
193
215
 
194
- ll{V_D} --> LAMBE GEMINATE_SIGN {_V_D_}
195
- ll --> LAMBE GEMINATE_SIGN
216
+ ll{V_D} --> LAMBE {GEMINATE} {_V_D_}
217
+ ll --> LAMBE {GEMINATE}
196
218
 
197
219
  \end
198
220
 
@@ -226,8 +248,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
226
248
  » --> DQUOT_CLOSE
227
249
 
228
250
  - --> PUNCT_DOT
229
- – --> WAVE_MED_SIMPLE
230
- — --> WAVE_MED_DOUBLE
251
+ – --> PUNCT_TILD
252
+ — --> PUNCT_DTILD
231
253
 
232
254
  [ --> PUNCT_PAREN_L
233
255
  ] --> PUNCT_PAREN_R