\** Glǽmscribe (also written Glaemscribe) is a software dedicated to the transcription of texts between writing systems, and more specifically dedicated to the transcription of J.R.R. Tolkien's invented languages to some of his devised writing systems. Copyright (C) 2015 Benjamin Babut (Talagan). This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . **\ \beg changelog \entry "0.0.1" "Initial version." \entry "0.0.2" "Added missing extended tengwar." \entry "0.0.3" "Added support for non-breaking spaces" \entry "0.0.4" "Added support for new unicode charsets" \entry "0.0.5" "Added support for the Tengwar Telcontar font" \entry "0.0.6" "Added support for Bombadil W/HW" \end \language "Raw Tengwar" \writing "Tengwar" \mode "Raw Tengwar" \version "0.0.6" \authors "Talagan (Benjamin Babut)" \world arda \invention experimental \metamode true \charset tengwar_ds_sindarin true \charset tengwar_ds_parmaite false \charset tengwar_ds_eldamar false \charset tengwar_ds_annatar false \charset tengwar_ds_elfica false \charset tengwar_guni_sindarin false \charset tengwar_guni_parmaite false \charset tengwar_guni_eldamar false \charset tengwar_guni_annatar false \charset tengwar_guni_elfica false \charset tengwar_freemono false \charset tengwar_telcontar false \beg options \beg option consonant_modification_style CONSONANT_MODIFICATION_STYLE_WAVE \value CONSONANT_MODIFICATION_STYLE_WAVE 0 \value CONSONANT_MODIFICATION_STYLE_BAR 1 \end \end \beg preprocessor \** Work exclusively downcase **\ \downcase \end \beg processor \beg rules litteral \if "consonant_modification_style == CONSONANT_MODIFICATION_STYLE_WAVE" {GEMINATE} === GEMINATE_SIGN_TILD {NASAL} === NASALIZE_SIGN_TILD \else {GEMINATE} === GEMINATE_SIGN {NASAL} === NASALIZE_SIGN \endif _a_ --> A_TEHTA _acirc_ --> A_TEHTA_CIRCUM _arev_ --> A_TEHTA_REVERSED _e_ --> E_TEHTA _egrave_ --> E_TEHTA_GRAVE _breve_ --> TEHTA_BREVE _i_ --> I_TEHTA _o_ --> O_TEHTA _u_ --> U_TEHTA _a<_ --> A_TEHTA_INF _e<_ --> E_TEHTA_INF _i<_ --> I_TEHTA_INF _o<_ --> O_TEHTA_INF _u<_ --> U_TEHTA_INF _unutixe_ --> I_TEHTA_INF _thinnas_ --> THINNAS _ee_ --> E_TEHTA_DOUBLE _ii_ --> I_TEHTA_DOUBLE _oo_ --> O_TEHTA_DOUBLE _uu_ --> U_TEHTA_DOUBLE _ee<_ --> E_TEHTA_DOUBLE_INF _ii<_ --> I_TEHTA_DOUBLE_INF _(tinco,tw11)_ --> TINCO _(parma,tw12)_ --> PARMA _(calma,tw13)_ --> CALMA _(quesse,tw14)_ --> QUESSE _(ando,tw21)_ --> ANDO _(umbar,tw22)_ --> UMBAR _(anga,tw23)_ --> ANGA _(ungwe,tw24)_ --> UNGWE _(sule,súle,thule,thúle,tw31)_ --> SULE _(formen,tw32)_ --> FORMEN _(aha,harma,tw33)_ --> AHA _(hwesta,tw34)_ --> HWESTA _(anto,tw41)_ --> ANTO _(ampa,tw42)_ --> AMPA _(anca,tw43)_ --> ANCA _(unque,tw44)_ --> UNQUE _(numen,númen,tw51)_ --> NUMEN _(malta,tw52)_ --> MALTA _(noldo,ñoldo,tw53)_ --> NOLDO _(nwalme,ñwalme,tw54)_ --> NWALME _(ore,óre,tw61)_ --> ORE _(vala,tw62)_ --> VALA _(anna,tw63)_ --> ANNA _(vilya,wilya,tw64)_ --> VILYA _(romen,rómen,tw71)_ --> ROMEN _(arda,tw72)_ --> ARDA _(lambe,tw73)_ --> LAMBE _(alda,tw74)_ --> ALDA _(silme,tw81)_ --> SILME _(silmenuquerna,silmen,tw82)_ --> SILME_NUQUERNA _(esse,tw83)_ --> ESSE _(essenuquerna,essen,tw84)_ --> ESSE_NUQUERNA _(hyarmen,tw91)_ --> HYARMEN _(hwestasindarinwa,hwestas,tw92)_ --> HWESTA_SINDARINWA _(yanta,tw93)_ --> YANTA _(ure,úre,tw94)_ --> URE \** Extended tengwar **\ _(xtinco,xsule,xsúle,xthule,xthúle,xtw11)_ --> TW_EXT_11 _(xparma,xformen,xtw12)_ --> TW_EXT_12 _(xcalma,xaha,xharma,xtw13)_ --> TW_EXT_13 _(xquesse,xhwesta,xtw14)_ --> TW_EXT_14 _(xando,xanto,xtw21)_ --> TW_EXT_21 _(xumbar,xampa,xtw22)_ --> TW_EXT_22 _(xanga,xanca,xtw23)_ --> TW_EXT_23 _(xungwe,xunque,xtw24)_ --> TW_EXT_24 \** Others more exotic tengwar **\ _(osse)_ --> OSSE _(vaia,vaiya)_ --> VAIA _(mh)_ --> TW_MH _(mhbeleriandic,mhb)_ --> TW_MH_BELERIANDIC _(hwlowdham,hwl)_ --> TW_HW_LOWDHAM _(hwbombadil,hwbom)_ --> BOMBADIL_HW _(wbombadil,wbom)_ --> BOMBADIL_W \** ligatures **\ _(harmasilme,ahasilme,silmeharma,silmeaha)_ --> ANCA_CLOSED _(hwestatinco,tincohwesta)_ --> HWESTA_TINCO _(harmatinco,ahatinco,tincoharma,tincoaha)_ --> AHA_TINCO \** bearers **\ _(telco)_ --> TELCO _(ara,ára)_ --> ARA _(halla,gasdil)_ --> HALLA \** consonant modifiers **\ _(geminate)_ --> {GEMINATE} _(nasal)_ --> {NASAL} _(palatal)_ --> PALATAL_SIGN _(labial)_ --> WA_TEHTA \** SA-Rincer to be enhanced ... **\ _(sarince)_ --> SARINCE _(arrince,sarincef)_ --> SARINCE_FLOURISHED _0_ --> NUM_0 _1_ --> NUM_1 _2_ --> NUM_2 _3_ --> NUM_3 _4_ --> NUM_4 _5_ --> NUM_5 _6_ --> NUM_6 _7_ --> NUM_7 _8_ --> NUM_8 _9_ --> NUM_9 _10_ --> NUM_10 _11_ --> NUM_11 _12_ --> NUM_12 _(lsd)_ --> CIRC_TEHTA_INF \end \beg rules punctuation \** Allow / as word breaker **\ / --> {NULL} - --> {NULL} · --> PUNCT_DOT , --> PUNCT_DOT : --> PUNCT_DOT ; --> PUNCT_DOT . --> PUNCT_DDOT .. --> PUNCT_DDOT ... --> PUSTA_3 .... --> PUSTA_4 :: --> PUSTA_4_SQUARED \** PUSTA_4_HALFED ? **\ ..... --> PUSTA_5 … --> PUNCT_TILD ~ --> PUNCT_TILD – --> PUNCT_TILD — --> PUNCT_TILD ! --> PUNCT_EXCLAM ? --> PUNCT_INTERR \** Apostrophe **\ ' --> {NULL} ’ --> {NULL} \** NBSP **\ {NBSP} --> NBSP \** Quotes **\ “ --> DQUOT_OPEN ” --> DQUOT_CLOSE « --> DQUOT_OPEN » --> DQUOT_CLOSE [ --> PUNCT_PAREN_L ] --> PUNCT_PAREN_R ( --> PUNCT_PAREN_L ) --> PUNCT_PAREN_R { --> PUNCT_PAREN_L } --> PUNCT_PAREN_R \** < --> PUNCT_PAREN_L : cannot be used since it is already used as a letter in group litteral **\ \** > --> PUNCT_PAREN_R : cannot be used since it is already used as a letter in group litteral **\ \** Not universal between fonts ... **\ $ --> ELVISH_PAREN ≤ --> RING_MARK_L \** Ring inscription left beautiful stuff **\ ≥ --> RING_MARK_R \** Ring inscription right beautiful stuff **\ \end \end \beg postprocessor \resolve_virtuals \end