Add support for silent E
authorKris Kowal <kris.kowal@cixar.com>
Mon, 10 Sep 2012 18:28:17 +0000 (11:28 -0700)
committerKris Kowal <kris.kowal@cixar.com>
Mon, 10 Sep 2012 18:28:17 +0000 (11:28 -0700)
alphabet.js
dan-smith.js
editor/index.html
general-use.js
tengwar-annatar.js
tengwar-parmaite.js
tengwar.min.js

index 6dc6d4f..4bf19a4 100644 (file)
@@ -20,7 +20,7 @@ exports.tehtarAbove = [
 ];
 
 exports.tehtarBelow = [
-    "y", "s", "o-under"
+    "y", "s", "o-below", "i-below"
 ];
 
 exports.tehtarFollowing = [
index d4a5043..e96ef16 100644 (file)
@@ -115,13 +115,19 @@ exports.tehtar = {
     ],
     "w": "èéêë", // TODO custom hooks for tengwar parmaite from the alternate font
     "y": "ÌÍÎÏ´",
-    "o-under": [
+    "o-below": [
         "ä",
         "&#229;", // a ring above
         "æ",
         "ç",
         "|"
     ],
+    "i-below": [
+        "&#200;",
+        "&#201;",
+        "&#202;",
+        "&#203;"
+    ],
     "s": {
         "special": true,
         "calma": "|",
index b867478..e6425e3 100644 (file)
@@ -20,7 +20,7 @@
 
         <div id="body-box">
             <div id="output-box">
-                <div id="output" class="tengwar annatar"></div>
+                <div id="output" class="tengwar annatar rendered"></div>
             </div>
             <div id="transliteration-box">
             </div>
index 3ca096f..93e275d 100644 (file)
@@ -441,16 +441,16 @@ function parseTengwa(callback, options, tehta) {
 
 exports.parseTengwaAnnotations = parseTengwaAnnotations;
 function parseTengwaAnnotations(callback, column) {
-    return parseFollowingW(function (column) {
-        return parseFollowingY(function (column) {
-            return parseFollowingS(callback, column);
+    return parseFollowingAbove(function (column) {
+        return parseFollowingBelow(function (column) {
+            return parseFollowing(callback, column);
         }, column);
     }, column);
 }
 
 // add a following-w above the current character if the next character is W and
 // there is room for it.
-function parseFollowingW(callback, column) {
+function parseFollowingAbove(callback, column) {
     if (column.canAddAbove("w")) {
         return function (character) {
             if (character === "w") {
@@ -464,17 +464,28 @@ function parseFollowingW(callback, column) {
     }
 }
 
-function parseFollowingY(callback, column) {
+function parseFollowingBelow(callback, column) {
     return function (character) {
         if (character === "y" && column.canAddBelow("y")) {
             return callback(column.addBelow("y"));
+        } else if (character === "e" && column.canAddBelow("i-below")) {
+            return Parser.countPrimes(function (primes) {
+                if (primes === 0) {
+                    return callback(column)(character);
+                } else {
+                    if (primes > 1) {
+                        column.addError("Following E has only one variation.");
+                    }
+                    return callback(column.addBelow("i-below"));
+                }
+            });
         } else {
             return callback(column)(character);
         }
     };
 }
 
-function parseFollowingS(callback, column) {
+function parseFollowing(callback, column) {
     return function (character) {
         if (character === "s") {
             if (column.canAddBelow("s")) {
index e03a8f8..41c77ea 100644 (file)
@@ -20,13 +20,13 @@ var positions = exports.positions = {
         "o": 3,
         "w": 3,
         "u": 3,
-        "o-under": 1,
+        "o-below": 1,
         "others": 2
     },
     "quesse": {
         "o": 3,
         "w": 3,
-        "o-under": 1,
+        "o-below": 1,
         "others": 2
     },
     "ando": {
@@ -167,7 +167,8 @@ var positions = exports.positions = {
         "ó": 2,
         "ú": 2,
         "y": null,
-        "o-under": null,
+        "o-below": null,
+        "i-below": null,
         "others": 1
     },
     "arda": {
@@ -180,7 +181,8 @@ var positions = exports.positions = {
         "ó": 2,
         "ú": 2,
         "y": null,
-        "o-under": null,
+        "o-below": null,
+        "i-below": null,
         "others": 0
     },
     "lambe": {
@@ -189,17 +191,19 @@ var positions = exports.positions = {
         "y": 4,
         "ó": 1,
         "ú": 1,
-        "o-under": null,
+        "o-below": null,
+        "i-below": null,
         "others": 0
     },
     "alda": {
         "wide": true,
-        "o-under": null,
+        "o-below": null,
         "others": 1
     },
     "silme": {
         "y": 3,
-        "o-under": 2,
+        "o-below": 2,
+        "i-below": 2,
         "others": null
     },
     "silme-nuquerna": {
@@ -209,7 +213,8 @@ var positions = exports.positions = {
         "ó": 3,
         "ú": 3,
         "y": null,
-        "o-under": null,
+        "o-below": null,
+        "i-below": null,
         "others": 1
     },
     "esse": {
@@ -250,12 +255,14 @@ var positions = exports.positions = {
     },
     // should not occur:
     "halla": {
+        "i-below": 3,
         "others": null
     },
     "short-carrier": 3,
     "long-carrier": {
         "y": null,
-        "o-under": null,
+        "o-below": null,
+        "i-below": null,
         "others": 3
     },
     "round-carrier": 3,
index ce60396..a097446 100644 (file)
@@ -11,12 +11,12 @@ var positions = exports.positions = {
     "parma": 2,
     "calma": {
         "y": 1,
-        "o-under": 1,
+        "o-below": 1,
         "others": 2
     },
     "quesse": {
         "y": 1,
-        "o-under": 1,
+        "o-below": 1,
         "others": 2
     },
 
@@ -118,6 +118,7 @@ var positions = exports.positions = {
         "w": 1,
         "y": 1,
         "í": 2,
+        "i-below": 1,
         "others": 3
     },
     "anna": {
@@ -138,7 +139,8 @@ var positions = exports.positions = {
         "o": 1,
         "u": 1,
         "y": 3,
-        "o-under": null,
+        "o-below": null,
+        "i-below": null,
         "others": 1
     },
     "arda": {
@@ -150,7 +152,8 @@ var positions = exports.positions = {
         "w": 1,
         "í": 2,
         "y": null,
-        "o-under": null,
+        "o-below": null,
+        "i-below": null,
         "others": 0
     },
     "lambe": {
@@ -158,26 +161,30 @@ var positions = exports.positions = {
         "e": 1,
         "y": 4,
         "w": 0,
-        "o-under": null,
+        "o-below": null,
+        "i-below": null,
         "others": 0
     },
     "alda": {
         "wide": true,
         "w": 0,
         "y": null,
-        "o-under": null,
+        "o-below": null,
+        "i-below": null,
         "others": 1
     },
 
     "silme": {
         "y": 2,
-        "o-under": 2,
+        "o-below": 2,
+        "i-below": 2,
         "others": null
     },
     "silme-nuquerna": {
         "e": 2,
         "y": null,
-        "o-under": null,
+        "o-below": null,
+        "i-below": null,
         "others": 1
     },
     "esse": {
@@ -186,17 +193,22 @@ var positions = exports.positions = {
     "esse-nuquerna": {
         "e": 2,
         "y": null,
-        "o-under": null,
+        "o-below": null,
+        "i-below": null,
         "others": 1
     },
 
     "hyarmen": {
         "y": 1,
+        "o-below": 1,
+        "i-below": 1,
         "others": 3
     },
     "hwesta-sindarinwa": {
         "w": 1,
         "y": 1,
+        "o-below": 1,
+        "i-below": 1,
         "others": 0
     },
     "yanta": {
@@ -209,6 +221,8 @@ var positions = exports.positions = {
     },
 
     "halla": {
+        "i-below": 3,
+        "o-below": 3,
         "others": null
     },
     "short-carrier": {
@@ -217,7 +231,8 @@ var positions = exports.positions = {
     },
     "long-carrier": {
         "y": null,
-        "o-under": null,
+        "o-below": null,
+        "i-below": null,
         "others": 3
     },
     "round-carrier": 2,
@@ -227,6 +242,7 @@ var positions = exports.positions = {
         "w": 3,
         "y": 3,
         "í": 3,
+        "o-below": 3,
         "others": 2
     },
     "parma-extended": {
@@ -234,6 +250,7 @@ var positions = exports.positions = {
         "w": 3,
         "y": 3,
         "í": 3,
+        "o-below": 3,
         "others": 2
     },
     "calma-extended": {
@@ -241,6 +258,8 @@ var positions = exports.positions = {
         "w": 1,
         "y": 0,
         "í": 0,
+        "i-below": 1,
+        "o-below": 1,
         "others": 0
     },
     "quesse-extended": {
@@ -248,6 +267,8 @@ var positions = exports.positions = {
         "w": 1,
         "y": 0,
         "í": 0,
+        "i-below": 1,
+        "o-below": 1,
         "others": 0
     }
 
index 5b8d42f..be91eb4 100644 (file)
@@ -1,63 +1,64 @@
 (function(){function v(a,c){var b=!z[c]?null:z[c].special?z[c][a]||null:-1!==Ha.barsAndTildes.indexOf(c)?"lambe"===a||"alda"===a&&2<=z[c].length?2:p[a].wide?0:1:null==p[a]||null===p[a][c]?null:null!=p[a][c]?p[a][c]:null!=p[a].others?p[a].others:p[a];return null==b?null:z[c][a]||z[c][b]||""}function w(a,c){var b=!A[c]||-1!==Ia.indexOf(c)?null:A[c].special?A[c][a]||null:-1!==Ja.barsAndTildes.indexOf(c)?"lambe"===a||"alda"===a&&2<=A[c].length?2:q[a].wide?0:1:null==q[a]||null===q[a][c]?null:null!=q[a][c]?
 q[a][c]:null!=q[a].others?q[a].others:q[a];return null==b?null:A[c][a]||A[c][b]||null}function ca(a,c){return a.split(";").map(function(a){var a=a.split(":"),d=a.shift(),a=a.length?a.shift().split(","):[],e=c(d);a.forEach(function(a){"tilde-above"===a?e.addTildeAbove():"tilde-below"===a?e.addBarBelow():"y"===a?e.addBelow("y"):"s"===a||"s-inverse"===a||"s-extended"===a||"s-flourish"===a?"s"===a&&("calma"===d||"quesse"===d)?e.addBelow(a):e.addFollowing(a):e.addAbove(a)});return e})}function da(a){return function b(d,
-e){e=e||[];return a(function(a){return null!=a?b(d,e.concat([a])):d(e)})}}function ea(a){return" "===a||"\n"===a||""===a}function fa(a,c){c=c||0;return function(b){return"'"===b?fa(a,c+1):a(c)(b)}}function ga(a){return N(function(){return ha(function(){return N(a)})})}function Ka(a){return N(function(){return La(function(){return N(a)})})}function ia(a){var c={value:void 0,children:{}},b={};Object.keys(a).forEach(function(d){if(0===d.length)c.value=a[d];else{var e=d[0];b[e]||(b[e]={});var i=d.slice(1);
-b[e][i]=a[d]}});Object.keys(b).forEach(function(a){c.children[a]=ia(b[a])});return c}function ja(a,c,b,d){var e={},i=Object.keys(a.children);i.forEach(function(g){e[g]=ja(a.children[g],c,b,d)});var f;a.value&&(f=c(a.value));return i.reduceRight(function(a,c){return function(d){return function(i){return i===c?b(e[i](d)):a(d)(i)}}},function(a){return f?b(f(a)):d(a)})}function O(a){a=a||Na;return{font:a.font||Oa,block:a.block,plain:a.plain,doubleNasalsWithTildeBelow:a.doubleNasalsWithTildeBelow,reverseCurls:a.reverseCurls,
-noAchLaut:a.noAchLaut,isHook:a.isHook}}function ka(a,c,b){b=b||"";return function(d){return P.isBreak(d)?a(b)(d):ka(a,c,b+d)}}function la(a,c,b){var d=function(e){return e.length?la(a,c,b.concat(e),e[e.length-1]):a(b)},e=function(a){return Q[a]?i("long-carrier").addAbove(Q[a]):i("short-carrier").addAbove(a)},i=c.font.makeColumn,f=function(a){var b=function(b){return b?a?"silme"===b.tengwa&&"i"===a&&c.isHook?d([i("short-carrier").addAbove("i").addBelow("s")]):-1!==V.indexOf(a)&&b.canAddAbove(a)?(c.reverseCurls&&
-(a=Pa[a]||a),b.addAbove(a),G(function(a){return d([a])},b)):G(function(b){return d([e(a),b])},b):G(function(a){return d([a])},b):a?G(function(a){return d([a])},e(a)):function(a){return P.isBreak(a)?d([]):/\d/.test(a)?Qa(d,c)(a):ma[a]?d([i(ma[a])]):d([i("anna").addError("Unexpected character: "+JSON.stringify(a))])}},f=a,h=c.font.makeColumn;return function(a){return"n"===a?function(a){return"n"===a?c.doubleNasalsWithTildeBelow?b(h("numen").addTildeBelow()):b(h("numen").addTildeAbove()):"t"===a?function(a){return"h"===
+e){e=e||[];return a(function(a){return null!=a?b(d,e.concat([a])):d(e)})}}function ea(a){return" "===a||"\n"===a||""===a}function fa(a,c){c=c||0;return function(b){return"'"===b?fa(a,c+1):a(c)(b)}}function ga(a){return O(function(){return ha(function(){return O(a)})})}function Ka(a){return O(function(){return La(function(){return O(a)})})}function ia(a){var c={value:void 0,children:{}},b={};Object.keys(a).forEach(function(d){if(0===d.length)c.value=a[d];else{var e=d[0];b[e]||(b[e]={});var i=d.slice(1);
+b[e][i]=a[d]}});Object.keys(b).forEach(function(a){c.children[a]=ia(b[a])});return c}function ja(a,c,b,d){var e={},i=Object.keys(a.children);i.forEach(function(g){e[g]=ja(a.children[g],c,b,d)});var f;a.value&&(f=c(a.value));return i.reduceRight(function(a,c){return function(d){return function(i){return i===c?b(e[i](d)):a(d)(i)}}},function(a){return f?b(f(a)):d(a)})}function P(a){a=a||Na;return{font:a.font||Oa,block:a.block,plain:a.plain,doubleNasalsWithTildeBelow:a.doubleNasalsWithTildeBelow,reverseCurls:a.reverseCurls,
+noAchLaut:a.noAchLaut,isHook:a.isHook}}function ka(a,c,b){b=b||"";return function(d){return G.isBreak(d)?a(b)(d):ka(a,c,b+d)}}function la(a,c,b){var d=function(e){return e.length?la(a,c,b.concat(e),e[e.length-1]):a(b)},e=function(a){return Q[a]?i("long-carrier").addAbove(Q[a]):i("short-carrier").addAbove(a)},i=c.font.makeColumn,f=function(a){var b=function(b){return b?a?"silme"===b.tengwa&&"i"===a&&c.isHook?d([i("short-carrier").addAbove("i").addBelow("s")]):-1!==V.indexOf(a)&&b.canAddAbove(a)?(c.reverseCurls&&
+(a=Pa[a]||a),b.addAbove(a),H(function(a){return d([a])},b)):H(function(b){return d([e(a),b])},b):H(function(a){return d([a])},b):a?H(function(a){return d([a])},e(a)):function(a){return G.isBreak(a)?d([]):/\d/.test(a)?Qa(d,c)(a):ma[a]?d([i(ma[a])]):d([i("anna").addError("Unexpected character: "+JSON.stringify(a))])}},f=a,h=c.font.makeColumn;return function(a){return"n"===a?function(a){return"n"===a?c.doubleNasalsWithTildeBelow?b(h("numen").addTildeBelow()):b(h("numen").addTildeAbove()):"t"===a?function(a){return"h"===
 a?b(h("thule").addTildeAbove()):b(h("tinco").addTildeAbove())(a)}:"d"===a?b(h("ando").addTildeAbove()):"c"===a?b(h("quesse").addTildeAbove()):"g"===a?b(h("ungwe").addTildeAbove()):"j"===a?b(h("anca").addTildeAbove()):"f"===a?b(h("numen"))("v"):"w"===a?function(a){return"a"===a?function(a){return"l"===a?b(h("nwalme").addAbove("w"))("a")(a):b(h("numen").addAbove("w"))("a")(a)}:"nw'"===a?b(h("nwalme").addAbove("w")):b(h("numen").addAbove("w"))(a)}:b(h("numen"))(a)}:"m"===a?function(a){return"m"===a?
 c.doubleNasalsWithTildeBelow?b(h("malta").addTildeBelow()):b(h("malta").addTildeAbove()):"p"===a?b(h("parma").addTildeAbove()):"b"===a?b(h("umbar").addTildeAbove()):"f"===a?b(h("formen").addTildeAbove()):"v"===a?b(h("ampa").addTildeAbove()):b(h("malta"))(a)}:"\u00f1"===a?function(a){return"c"===a?b(h("quesse").addTildeAbove()):"g"===a?b(h("ungwe").addTildeAbove()):b(h("nwalme"))(a)}:"t"===a?function(a){return"t"===a?b(h("tinco").addTildeBelow()):"h"===a?b(h("thule")):"c"===a?function(a){return"h"===
 a?b(h("tinco"))("c")("h")("'"):b(h("tinco"))("c")(a)}:b(h("tinco"))(a)}:"p"===a?function(a){return"p"===a?b(h("parma").addTildeBelow()):b(h("parma"))(a)}:"c"===a?function(a){return"c"===a?b(h("calma")):"h"===a?c.noAchLaut?b(h("calma")):b(h("hwesta")):b(h("quesse"))(a)}:"d"===a?function(a){return"d"===a?b(h("ando").addTildeBelow()):"j"===a?b(h("anga")):"h"===a?b(h("anto")):b(h("ando"))(a)}:"b"===a?function(a){return"b"===a?b(h("umbar").addTildeBelow()):b(h("umbar"))(a)}:"g"===a?function(a){return"g"===
 a?b(h("ungwe").addTildeBelow()):"h"===a?b(h("unque")):b(h("ungwe"))(a)}:"f"===a?function(a){return"f"===a?b(h("formen").addTildeBelow()):b(h("formen"))(a)}:"v"===a?b(h("ampa")):"j"===a?b(h("anca")):"s"===a?function(a){return"s"===a?b(h("silme").addTildeBelow()):"h"===a?b(h("harma")):b(h("silme"))(a)}:"z"===a?function(a){return"z"===a?b(h("esse").addTildeBelow()):b(h("esse"))(a)}:"h"===a?function(a){return"w"===a?b(h("hwesta-sindarinwa")):b(h("hyarmen"))(a)}:"r"===a?function(a){return"r"===a?b(h("romen").addTildeBelow()):
 "h"===a?b(h("arda")):""===a?b(h("ore"))(a):b(h("romen"))(a)}:"l"===a?function(a){return"l"===a?b(h("lambe").addTildeBelow()):"h"===a?b(h("alda")):b(h("lambe"))(a)}:"i"===a?b(h("anna")):"u"===a?b(h("vala")):"w"===a?function(a){return"h"===a?b(h("hwesta-sindarinwa")):b(h("vala"))(a)}:"e"===a&&(!f||"a"===f)?b(h("yanta")):"y"===a?b(h("wilya").addBelow("y")):"\u00e1"===a?b(h("wilya").addAbove("a")):Q[a]&&-1==V.indexOf(a)?b(h("long-carrier").addAbove(Q[a])):b()(a)}};return function(a){return-1!==V.indexOf(a)?
-f(a):f()(a)}}function G(a,c){var b=function(b){var c=function(b){return function(c){return"s"===c?b.canAddBelow("s")?a(b.addBelow("s")):P.countPrimes(function(c){return function(e){if(""===e){if(b.canAddFollowing("s-final")&&0===c--)b.addFollowing("s-final");else if(b.canAddFollowing("s-inverse")&&0===c--)b.addFollowing("s-inverse");else if(b.canAddFollowing("s-extended")&&0===c--)b.addFollowing("s-extended");else if(b.canAddFollowing("s-flourish"))b.addFollowing("s-flourish"),0<c&&b.addError("Following S only has 3 alternate flourishes.");
-else return a(b)("s")(e);return a(b)(e)}return a(b)("s")(e)}}):a(b)(c)}};return function(a){return"y"===a&&b.canAddBelow("y")?c(b.addBelow("y")):c(b)(a)}};return c.canAddAbove("w")?function(a){return"w"===a?b(c.addAbove("w")):b(c)(a)}:b(c)}function R(a){a=a||Ra;return{font:a.font||Sa,block:a.block,plain:a.plain,vilya:a.vilya,harma:a.harma,classical:a.classical,reverseCurls:a.reverseCurls,iuRising:a.isRising,longHalla:a.longHalla}}function na(a,c,b,d){var b=b||[],e=function(e){return e.length?na(a,
-c,b.concat(e),e[e.length-1]):a(b)},i=c.font.makeColumn,f=function(a){var b=a.pop();return oa(function(b){b=a.concat(b).filter(Boolean);return b.length?e(b):function(a){return S.isBreak(a)?e([])(a):/\d/.test(a)?Ta(e,c)(a):pa[a]?e([i(pa[a])]):e([i("anna").addError("Cannot transcribe "+JSON.stringify(a)+" in Classical Mode")])}},c,b)},g=c.font.makeColumn;return function(a){return"n"===a?function(a){return"n"===a?f([g("numen").addTildeBelow()]):"t"===a?f([g("anto")]):"d"===a?f([g("ando")]):"g"===a?function(a){return"w"===
-a?f([g("ungwe")]):f([g("anga")])(a)}:"c"===a?function(a){return"w"===a?f([g("unque")]):f([g("anca")])(a)}:f([g("numen")])(a)}:"m"===a?function(a){return"m"===a?f([g("malta").addTildeBelow()]):"p"===a?f([g("ampa")]):"b"===a?f([g("umbar")]):f([g("malta")])(a)}:"\u00f1"===a?function(a){return"g"===a?function(a){return"w"===a?f([g("ungwe")]):f([g("anga")])(a)}:"c"===a?function(a){return"w"===a?f([g("unque")]):f([g("anca")])}:f([g("noldo")])(a)}:"t"===a?function(a){return"t"===a?function(a){return"y"===
-a?f([g("tinco").addBelow("y").addTildeBelow()]):f([g("tinco").addTildeBelow()])(a)}:"y"===a?f([g("tinco").addBelow("y")]):"h"===a?f([g("thule")]):"s"===a?function(a){return S.isFinal(a)?f([g("tinco").addFollowing("s")])(a):f([g("tinco"),g("silme")])(a)}:f([g("tinco")])(a)}:"p"===a?function(a){return"p"===a?function(a){return"y"===a?f([g("parma").addBelow("y").addTildeBelow()]):f([g("parma").addTildeBelow()])(a)}:"y"===a?f([g("parma").addBelow("y")]):"s"===a?function(a){return S.isFinal(a)?f([g("parma").addFollowing("s")])(a):
-f([g("parma"),g("silme")])(a)}:f([g("parma")])(a)}:"c"===a?function(a){return"c"===a?f([g("calma").addTildeBelow()]):"s"===a?f([g("calma").addBelow("s")]):"h"===a?f([g("harma")]):"w"===a?f([g("quesse")]):f([g("calma")])(a)}:"f"===a?f([g("formen")]):"v"===a?c.vilya?f([g("wilya")]):f([g("vala")]):"w"===a?c.vilya?f([])("u"):f([g("wilya")]):"r"===a?function(a){return"d"===a?f([g("arda")]):"h"===a?f([g("halla").addError("R should preceed H in the HR diagraph in Classical mode."),g("romen").addError("R should preceed H in the HR diagraph in Classical mode.")]):
-c.classical?d&&d.above&&""!==a&&-1!==qa.indexOf(a)?f([g("ore")])(a):f([g("romen")])(a):S.isFinal(a)||-1===qa.indexOf(a)?f([g("ore")])(a):f([g("romen")])(a)}:"l"===a?function(a){return"l"===a?function(a){return"y"===a?f([g("lambe").addBelow("y").addTildeBelow()]):f([g("lambe").addTildeBelow()])(a)}:"y"===a?f([g("lambe").addBelow("y")]):"h"===a?f([g("halla").addError("L should preceed H in the HL diagraph in Classical mode."),g("lambe").addError("L should preceed H in the HL diagraph in Classical mode.")]):
-"d"===a?f([g("alda")]):"b"===a?f([g("lambe"),g("umbar")]):f([g("lambe")])(a)}:"s"===a?function(a){return"s"===a?f([g("esse")]):f([g("silme")])(a)}:"h"===a?function(a){return"l"===a?f([g("halla"),g("lambe")]):"r"===a?f([g("halla"),g("romen")]):"w"===a?f([g("hwesta")]):"t"===a?f([g("harma")]):"y"===a?c.classical&&c.harma?f([g("hyarmen")]):f([g("hyarmen").addBelow("y")]):c.classical?c.harma?f([g("harma")])(a):d?f([g("hyarmen")])(a):f([g("harma")])(a):f([g("hyarmen")])(a)}:"d"===a?f([g("ando").addError("D cannot appear except after N, L, or R")]):
-"b"===a?f([g("umbar").addError("B cannot appear except after M or L")]):"g"===a?f([g("anga").addError("G cannot appear except after N or \u00d1")]):"j"===a?f([g().addError("J cannot be transcribed in Classical Mode")]):f([])(a)}}function oa(a,c,b){var d=c.font.makeColumn;return function(e){if("a"===e)return function(c){return"i"===c?a([b,d("yanta","a")]):"u"===c?a([b,d("ure","a")]):b&&b.canAddAbove("a")?a([b.addAbove("a")])(c):a([b,d("short-carrier","a")])(c)};if("e"===e)return function(c){return"u"===
-c?a([b,d("ure","e")]):b&&b.canAddAbove("e")?a([b.addAbove("e")])(c):a([b,d("short-carrier","e")])(c)};if("i"===e)return function(e){return"u"===e?c.iuRising?a([b,d("anna").addAbove(k("u",c)).addBelow("y")]):a([b,d("ure","i")]):b&&b.canAddAbove("i")?a([b.addAbove("i")])(e):a([b,d("short-carrier","i")])(e)};if("o"===e)return function(e){return"i"===e?a([b,d("yanta").addAbove(k("o",c))]):b&&b.canAddAbove("o")?a([b.addAbove(k("o",c))])(e):a([b,d("short-carrier").addAbove(k("o",c))])(e)};if("u"===e)return function(e){return"i"===
-e?a([b,d("yanta","u")]):b&&b.canAddAbove("u")?a([b.addAbove(k("u",c))])(e):a([b,d("short-carrier").addAbove(k("u",c))])(e)};if("y"===e){if(b&&b.canAddBelow("y"))return a([b.addBelow("y")]);e=d("anna").addBelow("y");return oa(function(c){return a([b].concat(c))},c,e)}return"\u00e1"===e?a([b,d("long-carrier","a")]):"\u00e9"===e?a([b,d("long-carrier","e")]):"\u00ed"===e?a([b,d("long-carrier","i")]):"\u00f3"===e?b&&b.canAddAbove("\u00f3")?a([b.addAbove(k("\u00f3",c))]):a([b,d("long-carrier").addAbove(k("o",
-c))]):"\u00fa"===e?b&&b.canAddAbove("\u00fa")?a([b.addAbove(k("\u00fa",c))]):a([b,d("long-carrier").addAbove(k("u",c))]):a([b])(e)}}function k(a,c){c.reverseCurls&&(a=Ua[a]||a);return a}function T(a){a=a||Va;return{font:a.font||Wa,block:a.block,plain:a.plain}}function W(a,c,b){b=b||[];return ra(function(d){return d?W(a,c,b.concat([d])):function(e){return/\d/.test(e)?Xa(function(e){return W(a,c,b.concat(e))},c)(e):a(b)(e)}},c)}function ra(a,c){return H(function(b){return b?function(c){return"s"===
-c?b.canAddBelow("s")?a(b.addBelow("s")):B.countPrimes(function(c){return function(d){if(B.isFinal(d)){if(b.canAddFollowing("s-final")&&0===c--)b.addFollowing("s-final");else if(b.canAddFollowing("s-inverse")&&0===c--)b.addFollowing("s-inverse");else if(b.canAddFollowing("s-extended")&&0===c--)b.addFollowing("s-extended");else if(b.canAddFollowing("s-flourish"))b.addFollowing("s-flourish"),0<c&&b.addError("Following S only has 3 alternate flourishes.");else return a(b)("s")(d);return a(b)(d)}return a(b)("s")(d)}}):
-a(b)(c)}:a()},c)}function H(a,c){var b=c.font.makeColumn;return function(d){return"n"===d?function(e){return"t"===e||"d"===e?H(function(b){return a(b.addTildeAbove())},c)(e):"c"===e||"g"===e?H(a,c)("\u00f1")(e):"n"===e?a(b("numen")):a(b("ore"))(e)}:"t"===d?function(c){return"h"===c?a(b("thule")):a(b("tinco"))(c)}:"d"===d?function(c){return"h"===c?a(b("anto")):a(b("ando"))(c)}:"m"===d?function(e){return"p"===e||"b"===e||"f"===e||"v"===e?H(function(b){return a(b.addTildeAbove())},c)(e):"m"===e?a(b("malta")):
-a(b("vala"))(e)}:"p"===d?a(b("parma")):"b"===d?a(b("umbar")):"f"===d?function(c){return B.isFinal(c)?a(b("ampa"))(c):a(b("formen"))(c)}:"v"===d?a(b("ampa")):"\u00f1"===d?function(e){return"c"===e||"g"===e?H(function(b){"halla"===b.tengwa&&b.addError("Lenited G (halla) should not be nasalized with prefix N");return a(b.addTildeAbove())},c)(e):a(b("noldo"))(e)}:"c"===d?function(c){return"h"===c?function(c){return"w"===c?a(b("hwesta")):a(b("harma"))(c)}:"w"===c?a(b("quesse")):a(b("calma"))(c)}:"g"===
-d?function(c){return"h"===c?function(c){return"w"===c?a(b("unque")):a(b("anca"))(c)}:"w"===c?a(b("ungwe")):"'"===c?a(b("halla")):a(b("anga"))(c)}:"r"===d?function(c){return"h"===c?a(b("arda")):a(b("romen"))(c)}:"l"===d?function(c){return"h"===c?a(b("alda")):a(b("lambe"))(c)}:"s"===d?a(b("silme")):"a"===d?function(c){return"i"===c?a(b("round-carrier").addAbove("\u00ed")):"u"===c?a(b("round-carrier").addAbove("w")):"'"===c?a(b("round-carrier").addAbove("i")):"a"===c?a(b("round-carrier").addAbove("e")):
-a(b("round-carrier"))(c)}:"e"===d?function(c){return"i"===c?a(b("yanta").addAbove("\u00ed")):"e"===c?a(b("yanta").addAbove("e")):a(b("yanta"))(c)}:"i"===d?function(e){return"i"===e?ra(a,c)("\u00ed"):B.countPrimes(function(c){return 0===c?a(b("short-carrier")):1===c?a(b("short-carrier").addAbove("i")):3===c?a(b("long-carrier")):4===c?a(b("long-carrier").addAbove("i")):a(b("long-carrier").addAbove("i").addError("I only has four variants between short or long and dotted or not."))})(e)}:"o"===d?function(c){return"o"===
-c?a(b("anna").addAbove("e")):a(b("anna"))(c)}:"u"===d?function(c){return"i"===c?a(b("ure").addAbove("\u00ed")):"u"===c?a(b("ure").addAbove("e")):a(b("ure"))(c)}:"w"===d?function(c){return"w"===c?a(b("wilya").addAbove("e")):a(b("wilya"))(c)}:"y"===d?function(c){return"y"===c?a(b("silme-nuquerna").addAbove("e")):a(b("silme-nuquerna"))(c)}:"\u00e1"===d?a(b("round-carrier").addAbove("e")):"\u00e9"===d?a(b("yanta").addAbove("e")):"\u00ed"===d?B.countPrimes(function(c){return 0===c?a(b("short-carrier").addAbove("e")):
-1===c?a(b("long-carrier").addAbove("e")):a(b("long-carrier").addAbove("e").addError("\u00cd only has one variant."))}):"\u00f3"===d?a(b("anna").addAbove("e")):"\u00fa"===d?a(b("ure").addAbove("e")):"h"===d?function(c){return"w"===c?a(b("hwesta-sindarinwa")):a(b("hyarmen"))(c)}:"z"===d?a(b("silme").addError("Z does not appear in the mode of Beleriand")):sa[d]?a(b(sa[d])):B.isBreak(d)||/\d/.test(d)?a()(d):a(b("anna").addError("Unexpected character: "+JSON.stringify(d)))}}function ta(){ua=!0;va()}function Ya(a){a?
-(wa=!0,va()):xa()&&(a=document.querySelectorAll(".tengwar"),X.forEach.call(a,function(a){a.classList.add("error");a.innerHTML="Cannot render because WebFonts are not available in this browser."}))}function xa(){if(document.body.classList&&document.querySelectorAll&&X.forEach)return!0}function va(){if(!(void 0===ua||void 0===wa)&&xa()){var a=document.querySelectorAll(".tengwar");X.forEach.call(a,function(a){setTimeout(function(){var b=a.dataset,d,e,i;i="span"!==a.tagName.toLowerCase();b?(d=b.tengwar,
-e=b.mode,b=b.encoding):(d=a.getAttribute("data-tengwar"),e=a.getAttribute("data-mode"),b=a.getAttribute("data-encoding"));if(b)a.innerText=ya.transcribe(b,{block:i}),a.classList.add("rendered");else if(d){var b=a.classList.contains("parmaite")?Za:ya,f=e.split(/\s+/);e=f.shift();e=$a[e]||ab;var g=e.makeOptions();f.forEach(function(a){a=a.replace(/\-(\w)/g,function(a,b){return b.toUpperCase()});g[a]=true});g.block=i;g.font=b;a.innerHTML=e.transcribe(d,g);a.classList.add("rendered")}},0)})}}var za={tinco:"1",
-parma:"q",calma:"a",quesse:"z",ando:"2",umbar:"w",anga:"s",ungwe:"x",thule:"3",formen:"e",harma:"d",hwesta:"c",anto:"4",ampa:"r",anca:"f",unque:"v",numen:"5",malta:"t",noldo:"g",nwalme:"b",ore:"6",vala:"y",anna:"h",wilya:"n",romen:"7",arda:"u",lambe:"j",alda:"m",silme:"8","silme-nuquerna":"i",esse:"k","esse-nuquerna":",",hyarmen:"9","hwesta-sindarinwa":"o",yanta:"l",ure:".",halla:"\u00bd","short-carrier":"`","long-carrier":"~","round-carrier":"]","tinco-extended":"!","parma-extended":"Q","calma-extended":"A",
-"quesse-extended":"Z",comma:"=","full-stop":"-","exclamation-point":"\u00c1","question-mark":"\u00c0","open-paren":"&#140;","close-paren":"&#156;","flourish-left":"&#286;","flourish-right":"&#287;","0":"&#240",1:"&#241",2:"&#242",3:"&#243",4:"&#244",5:"&#245",6:"&#246",7:"&#247",8:"&#248",9:"&#249",10:"&#250",11:"&#251"},Aa={a:"#EDC",e:"$RFV",i:"%TGB",o:"^YHN",u:"& U J M &#256; &#257; &#258; &#259;".split(" "),"\u00f3":["&#260;","&#261;","&#262;","&#263;"],"\u00fa":["&#264;","&#265;","&#266;","&#267;"],
-"\u00ed":["&#212;","&#213;","&#214;","&#215;"],w:"\u00e8\u00e9\u00ea\u00eb",y:"\u00cc\u00cd\u00ce\u00cf\u00b4","o-under":["\u00e4","&#229;","\u00e6","\u00e7","|"],s:{special:!0,calma:"|",quesse:"|","short-carrier":"}"},"s-final":{special:!0,tinco:"+",ando:"+",numen:"+",lambe:"_"},"s-inverse":{special:!0,tinco:"\u00a1"},"s-extended":{special:!0,tinco:"&#199;"},"s-flourish":{special:!0,tinco:"&#163;",lambe:"&#165;"},"tilde-above":"Pp","tilde-below":[":",";","&#176;"],"tilde-high-above":")0","tilde-far-below":"?/",
-"bar-above":"{[","bar-below":['"',"'","&#184;"],"bar-high-above":"\u00ec\u00ee","bar-far-below":"\u00ed\u00ef"},r={tengwar:[["tinco","parma","calma","quesse"],["ando","umbar","anga","ungwe"],["thule","formen","harma","hwesta"],["anto","ampa","anca","unque"],["numen","malta","noldo","nwalme"],["ore","vala","anna","wilya"],["romen","arda","lambe","alda"],["silme","silme-nuquerna","esse","esse-nuquerna"],["hyarmen","hwesta-sindarinwa","yanta","ure"],["halla","short-carrier","long-carrier","round-carrier"],
-["tinco-extended","parma-extended","calma-extended","quesse-extended"]],tehtarAbove:"aeiou\u00e1\u00e9\u00ed\u00f3\u00faw".split(""),tehtarBelow:["y","s","o-under"],tehtarFollowing:["s-final","s-inverse","s-extended","s-flourish"],barsAndTildes:"tilde-above tilde-below tilde-high-above tilde-far-below bar-above bar-below bar-high-above bar-far-below".split(" ")};r.tehtar=[].concat(r.tehtarAbove,r.tehtarBelow,r.tehtarFollowing,r.barsAndTildes);r.aliases={vilya:"wilya",aha:"harma",gasdil:"halla"};var n=
-{},Ha=r,bb=n.tengwar=za,z=n.tehtar=Aa,p=n.positions={tinco:{o:3,w:3,others:2},parma:{o:3,w:3,others:2},calma:{o:3,w:3,u:3,"o-under":1,others:2},quesse:{o:3,w:3,"o-under":1,others:2},ando:{wide:!0,e:1,o:2,"\u00f3":1,"\u00fa":1,others:0},umbar:{wide:!0,e:1,o:2,"\u00f3":1,"\u00fa":1,others:0},anga:{wide:!0,e:1,"\u00f3":1,"\u00fa":1,others:0},ungwe:{wide:!0,e:1,o:1,"\u00f3":1,"\u00fa":1,others:0},thule:{others:3},formen:3,harma:{e:0,o:3,u:7,"\u00f3":2,"\u00fa":2,w:0,others:1},hwesta:{e:0,o:3,u:7,w:0,
-others:1},anto:{wide:!0,"\u00f3":1,"\u00fa":1,others:0},ampa:{wide:!0,"\u00f3":1,"\u00fa":1,others:0},anca:{wide:!0,u:7,"\u00f3":1,"\u00fa":1,others:0},unque:{wide:!0,u:7,others:0},numen:{wide:!0,"\u00f3":1,"\u00fa":1,others:0},malta:{wide:!0,"\u00f3":1,"\u00fa":1,others:0},noldo:{wide:!0,"\u00f3":1,"\u00fa":1,others:0},nwalme:{wide:!0,"\u00f3":1,"\u00fa":1,others:0},ore:{e:3,o:3,u:3,"\u00f3":3,"\u00fa":3,others:1},vala:{e:3,o:3,u:3,"\u00f3":3,"\u00fa":3,others:1},anna:{e:3,o:3,u:3,"\u00f3":2,"\u00fa":2,
-others:1},wilya:{e:3,o:3,u:3,"\u00f3":3,"\u00fa":3,others:1},romen:{e:3,o:3,u:3,"\u00f3":2,"\u00fa":2,y:null,"o-under":null,others:1},arda:{a:1,e:3,i:1,o:3,u:3,"\u00ed":1,"\u00f3":2,"\u00fa":2,y:null,"o-under":null,others:0},lambe:{wide:!0,e:1,y:4,"\u00f3":1,"\u00fa":1,"o-under":null,others:0},alda:{wide:!0,"o-under":null,others:1},silme:{y:3,"o-under":2,others:null},"silme-nuquerna":{e:3,o:3,u:3,"\u00f3":3,"\u00fa":3,y:null,"o-under":null,others:1},esse:{y:null,others:null},"esse-nuquerna":{e:3,
-o:3,u:3,"\u00f3":3,"\u00fa":3,others:1},hyarmen:3,"hwesta-sindarinwa":{o:2,u:2,"\u00f3":1,"\u00fa":2,others:0},yanta:{e:3,o:3,u:3,"\u00f3":2,"\u00fa":2,others:1},ure:{e:3,o:3,u:3,"\u00f3":3,"\u00fa":3,others:1},halla:{others:null},"short-carrier":3,"long-carrier":{y:null,"o-under":null,others:3},"round-carrier":3,"tinco-extended":3,"parma-extended":3,"calma-extended":{o:3,u:7,"\u00f3":2,"\u00fa":2,others:1},"quesse-extended":{o:0,u:7,others:1}};n.transcribe=function(a,c){var c=c||{},b=c.plain||!1,
-d=c.block||!1,e=d?"<p>":"",i=d?"<br>":"",f=d?"</p>":"";return a.map(function(a){return a.map(function(a){return e+a.map(function(a){return a.map(function(a){return a.map(function(a){var c=a.tengwa||"anna",d=[];a.above&&d.push(a.above);a.below&&d.push(a.below);a.tildeBelow&&d.push("tilde-below");a.tildeAbove&&d.push("tilde-above");a.following&&d.push(a.following);d=bb[c]+d.map(function(a){return v(c,a)}).join("");a.errors&&!b&&(d='<abbr class="error" title="'+a.errors.join("\n").replace(/"/g,"&quot;")+
-'">'+d+"</abbr>");return d}).join("")}).join(" ")}).join(i+"\n")+f}).join("\n\n")}).join("\n\n\n")};n.tehtaForTengwa=v;n.makeColumn=function(a,c,b){return new l(a,c,b)};var l=function(a,c,b){this.above=c;this.tildeAbove=void 0;this.tengwa=a;this.tildeBelow=void 0;this.below=b;this.error=this.following=void 0};l.prototype.canAddAbove=function(a){return!this.above&&!!v(this.tengwa,a)||!this.below&&("silme"===this.tengwa&&v("silme-nuquerna",a)||"esse"===this.tengwa&&v("esse-nuquerna",a))};l.prototype.addAbove=
-function(a){"silme"===this.tengwa&&(this.tengwa="silme-nuquerna");"esse"===this.tengwa&&(this.tengwa="esse-nuquerna");this.above=a;return this};l.prototype.canAddBelow=function(a){return!this.below&&!!v(this.tengwa,a)};l.prototype.addBelow=function(a){this.below=a;return this};l.prototype.addTildeAbove=function(){this.tildeAbove=!0;return this};l.prototype.addTildeBelow=function(){this.tildeBelow=!0;return this};l.prototype.canAddFollowing=function(a){return!this.following&&!!v(this.tengwa,a)};l.prototype.addFollowing=
-function(a){this.following=a;return this};l.prototype.addError=function(a){this.errors=this.errors||[];this.errors.push(a);return this};var s={},Ja=r,cb=s.tengwar=za,A=s.tehtar=Aa,q=s.positions={tinco:2,parma:2,calma:{y:1,"o-under":1,others:2},quesse:{y:1,"o-under":1,others:2},ando:{wide:!0,others:0},umbar:{wide:!0,others:0},anga:{wide:!0,others:0},ungwe:{wide:!0,others:0},thule:{a:3,w:3,others:2},formen:{a:3,w:3,"\u00ed":3,others:2},harma:{a:0,e:0,i:1,o:1,u:1,w:0,"\u00ed":0,others:1},hwesta:{a:0,
-e:0,i:1,o:1,u:1,w:0,others:1},anto:{wide:!0,others:0},ampa:{wide:!0,others:0},anca:{wide:!0,others:0},unque:{wide:!0,others:0},numen:{wide:!0,others:0},malta:{wide:!0,others:0},noldo:{wide:!0,others:0},nwalme:{wide:!0,others:0},ore:{a:1,e:2,i:1,o:2,u:3,others:1},vala:{a:1,e:2,i:2,o:2,w:1,y:1,"\u00ed":2,others:3},anna:{a:1,w:3,others:2},wilya:{i:2,"\u00ed":2,others:1},romen:{a:1,e:1,i:2,o:1,u:1,y:3,"o-under":null,others:1},arda:{a:1,e:1,i:2,o:1,u:1,w:1,"\u00ed":2,y:null,"o-under":null,others:0},lambe:{wide:!0,
-e:1,y:4,w:0,"o-under":null,others:0},alda:{wide:!0,w:0,y:null,"o-under":null,others:1},silme:{y:2,"o-under":2,others:null},"silme-nuquerna":{e:2,y:null,"o-under":null,others:1},esse:{others:null},"esse-nuquerna":{e:2,y:null,"o-under":null,others:1},hyarmen:{y:1,others:3},"hwesta-sindarinwa":{w:1,y:1,others:0},yanta:{a:1,others:2},ure:{a:1,others:2},halla:{others:null},"short-carrier":{y:null,others:3},"long-carrier":{y:null,"o-under":null,others:3},"round-carrier":2,"tinco-extended":{a:3,w:3,y:3,
-"\u00ed":3,others:2},"parma-extended":{a:3,w:3,y:3,"\u00ed":3,others:2},"calma-extended":{i:1,w:1,y:0,"\u00ed":0,others:0},"quesse-extended":{i:1,w:1,y:0,"\u00ed":0,others:0}};s.transcribe=function(a,c){var c=c||{},b=c.plain||!1,d=c.block||!1,e=d?"<p>":"",i=d?"<br>":"",f=d?"</p>":"";return a.map(function(a){return a.map(function(a){return e+a.map(function(a){return a.map(function(a){return a.map(function(a){var c=a.tengwa||"anna",d=[];a.above&&d.push(a.above);a.below&&d.push(a.below);a.tildeBelow&&
-d.push("tilde-below");a.tildeAbove&&d.push("tilde-above");a.following&&d.push(a.following);d=cb[c]+d.map(function(a){return w(c,a)}).join("");a.errors&&!b&&(d='<abbr class="error" title="'+a.errors.join("\n").replace(/"/g,"&quot;")+'">'+d+"</abbr>");return d}).join("")}).join(" ")}).join(i+"\n")+f}).join("\n\n")}).join("\n\n\n")};s.tehtaForTengwa=w;var Ia="\u00e1\u00e9\u00f3\u00fa";s.makeColumn=function(a,c,b){return new m(a,c,b)};var m=function(a,c,b){this.above=c;this.tildeAbove=void 0;this.tengwa=
-a;this.tildeBelow=void 0;this.below=b;this.error=this.following=void 0};m.prototype.canAddAbove=function(a){return!this.above&&!!w(this.tengwa,a)||!this.below&&("silme"===this.tengwa&&w("silme-nuquerna",a)||"esse"===this.tengwa&&w("esse-nuquerna",a))};m.prototype.addAbove=function(a){"silme"===this.tengwa&&(this.tengwa="silme-nuquerna");"esse"===this.tengwa&&(this.tengwa="esse-nuquerna");this.above=a;return this};m.prototype.canAddBelow=function(a){return!this.below&&!!w(this.tengwa,a)};m.prototype.addBelow=
-function(a){this.below=a;return this};m.prototype.addTildeAbove=function(){this.tildeAbove=!0;return this};m.prototype.addTildeBelow=function(){this.tildeBelow=!0;return this};m.prototype.canAddFollowing=function(a){return!this.following&&!!w(this.tengwa,a)};m.prototype.addFollowing=function(a){this.following=a;return this};m.prototype.addError=function(a){this.errors=this.errors||[];this.errors.push(a);return this};var x={module$exports:{"-":"comma",",":"comma",":":"comma",";":"full-stop",".":"full-stop",
-"!":"exclamation-point","?":"question-mark","(":"open-paren",")":"close-paren",">":"flourish-left","<":"flourish-right"}};x.module$exports&&(x=x.module$exports);var U={encode:function(a){return a.map(function(a){return a.map(function(a){return a.map(function(a){return a.map(function(a){return a.map(function(a){var b=[];a.above&&b.push(a.above);a.below&&b.push(a.below);a.following&&b.push(a.following);a.tildeAbove&&b.push("tilde-above");a.tildeBelow&&b.push("tilde-below");return b.length?a.tengwa+
-":"+b.join(","):a.tengwa}).join(";")}).join(" ")}).join("\n")}).join("\n\n")}).join("\n\n\n")},decode:function(a,c){return a.split("\n\n\n").map(function(a){return a.split("\n\n").map(function(a){return a.split("\n").map(function(a){return a.split(" ").map(function(a){return ca(a,c)})})})})}};U.decodeWord=ca;var j={},db=x;j.makeParser=function(a,c){c=c||function(a,c){throw Error(a+" while parsing "+JSON.stringify(c));};return function(b){var d,e=a.apply(null,[function(a){d=a;return function(a){""!==
+f(a):f()(a)}}function H(a,c){var b=function(b){var c=function(b){return function(c){return"s"===c?b.canAddBelow("s")?a(b.addBelow("s")):G.countPrimes(function(c){return function(e){if(""===e){if(b.canAddFollowing("s-final")&&0===c--)b.addFollowing("s-final");else if(b.canAddFollowing("s-inverse")&&0===c--)b.addFollowing("s-inverse");else if(b.canAddFollowing("s-extended")&&0===c--)b.addFollowing("s-extended");else if(b.canAddFollowing("s-flourish"))b.addFollowing("s-flourish"),0<c&&b.addError("Following S only has 3 alternate flourishes.");
+else return a(b)("s")(e);return a(b)(e)}return a(b)("s")(e)}}):a(b)(c)}};return function(a){return"y"===a&&b.canAddBelow("y")?c(b.addBelow("y")):"e"===a&&b.canAddBelow("i-below")?G.countPrimes(function(f){if(0===f)return c(b)(a);1<f&&b.addError("Following E has only one variation.");return c(b.addBelow("i-below"))}):c(b)(a)}};return c.canAddAbove("w")?function(a){return"w"===a?b(c.addAbove("w")):b(c)(a)}:b(c)}function R(a){a=a||Ra;return{font:a.font||Sa,block:a.block,plain:a.plain,vilya:a.vilya,harma:a.harma,
+classical:a.classical,reverseCurls:a.reverseCurls,iuRising:a.isRising,longHalla:a.longHalla}}function na(a,c,b,d){var b=b||[],e=function(e){return e.length?na(a,c,b.concat(e),e[e.length-1]):a(b)},i=c.font.makeColumn,f=function(a){var b=a.pop();return oa(function(b){b=a.concat(b).filter(Boolean);return b.length?e(b):function(a){return S.isBreak(a)?e([])(a):/\d/.test(a)?Ta(e,c)(a):pa[a]?e([i(pa[a])]):e([i("anna").addError("Cannot transcribe "+JSON.stringify(a)+" in Classical Mode")])}},c,b)},g=c.font.makeColumn;
+return function(a){return"n"===a?function(a){return"n"===a?f([g("numen").addTildeBelow()]):"t"===a?f([g("anto")]):"d"===a?f([g("ando")]):"g"===a?function(a){return"w"===a?f([g("ungwe")]):f([g("anga")])(a)}:"c"===a?function(a){return"w"===a?f([g("unque")]):f([g("anca")])(a)}:f([g("numen")])(a)}:"m"===a?function(a){return"m"===a?f([g("malta").addTildeBelow()]):"p"===a?f([g("ampa")]):"b"===a?f([g("umbar")]):f([g("malta")])(a)}:"\u00f1"===a?function(a){return"g"===a?function(a){return"w"===a?f([g("ungwe")]):
+f([g("anga")])(a)}:"c"===a?function(a){return"w"===a?f([g("unque")]):f([g("anca")])}:f([g("noldo")])(a)}:"t"===a?function(a){return"t"===a?function(a){return"y"===a?f([g("tinco").addBelow("y").addTildeBelow()]):f([g("tinco").addTildeBelow()])(a)}:"y"===a?f([g("tinco").addBelow("y")]):"h"===a?f([g("thule")]):"s"===a?function(a){return S.isFinal(a)?f([g("tinco").addFollowing("s")])(a):f([g("tinco"),g("silme")])(a)}:f([g("tinco")])(a)}:"p"===a?function(a){return"p"===a?function(a){return"y"===a?f([g("parma").addBelow("y").addTildeBelow()]):
+f([g("parma").addTildeBelow()])(a)}:"y"===a?f([g("parma").addBelow("y")]):"s"===a?function(a){return S.isFinal(a)?f([g("parma").addFollowing("s")])(a):f([g("parma"),g("silme")])(a)}:f([g("parma")])(a)}:"c"===a?function(a){return"c"===a?f([g("calma").addTildeBelow()]):"s"===a?f([g("calma").addBelow("s")]):"h"===a?f([g("harma")]):"w"===a?f([g("quesse")]):f([g("calma")])(a)}:"f"===a?f([g("formen")]):"v"===a?c.vilya?f([g("wilya")]):f([g("vala")]):"w"===a?c.vilya?f([])("u"):f([g("wilya")]):"r"===a?function(a){return"d"===
+a?f([g("arda")]):"h"===a?f([g("halla").addError("R should preceed H in the HR diagraph in Classical mode."),g("romen").addError("R should preceed H in the HR diagraph in Classical mode.")]):c.classical?d&&d.above&&""!==a&&-1!==qa.indexOf(a)?f([g("ore")])(a):f([g("romen")])(a):S.isFinal(a)||-1===qa.indexOf(a)?f([g("ore")])(a):f([g("romen")])(a)}:"l"===a?function(a){return"l"===a?function(a){return"y"===a?f([g("lambe").addBelow("y").addTildeBelow()]):f([g("lambe").addTildeBelow()])(a)}:"y"===a?f([g("lambe").addBelow("y")]):
+"h"===a?f([g("halla").addError("L should preceed H in the HL diagraph in Classical mode."),g("lambe").addError("L should preceed H in the HL diagraph in Classical mode.")]):"d"===a?f([g("alda")]):"b"===a?f([g("lambe"),g("umbar")]):f([g("lambe")])(a)}:"s"===a?function(a){return"s"===a?f([g("esse")]):f([g("silme")])(a)}:"h"===a?function(a){return"l"===a?f([g("halla"),g("lambe")]):"r"===a?f([g("halla"),g("romen")]):"w"===a?f([g("hwesta")]):"t"===a?f([g("harma")]):"y"===a?c.classical&&c.harma?f([g("hyarmen")]):
+f([g("hyarmen").addBelow("y")]):c.classical?c.harma?f([g("harma")])(a):d?f([g("hyarmen")])(a):f([g("harma")])(a):f([g("hyarmen")])(a)}:"d"===a?f([g("ando").addError("D cannot appear except after N, L, or R")]):"b"===a?f([g("umbar").addError("B cannot appear except after M or L")]):"g"===a?f([g("anga").addError("G cannot appear except after N or \u00d1")]):"j"===a?f([g().addError("J cannot be transcribed in Classical Mode")]):f([])(a)}}function oa(a,c,b){var d=c.font.makeColumn;return function(e){if("a"===
+e)return function(c){return"i"===c?a([b,d("yanta","a")]):"u"===c?a([b,d("ure","a")]):b&&b.canAddAbove("a")?a([b.addAbove("a")])(c):a([b,d("short-carrier","a")])(c)};if("e"===e)return function(c){return"u"===c?a([b,d("ure","e")]):b&&b.canAddAbove("e")?a([b.addAbove("e")])(c):a([b,d("short-carrier","e")])(c)};if("i"===e)return function(e){return"u"===e?c.iuRising?a([b,d("anna").addAbove(k("u",c)).addBelow("y")]):a([b,d("ure","i")]):b&&b.canAddAbove("i")?a([b.addAbove("i")])(e):a([b,d("short-carrier",
+"i")])(e)};if("o"===e)return function(e){return"i"===e?a([b,d("yanta").addAbove(k("o",c))]):b&&b.canAddAbove("o")?a([b.addAbove(k("o",c))])(e):a([b,d("short-carrier").addAbove(k("o",c))])(e)};if("u"===e)return function(e){return"i"===e?a([b,d("yanta","u")]):b&&b.canAddAbove("u")?a([b.addAbove(k("u",c))])(e):a([b,d("short-carrier").addAbove(k("u",c))])(e)};if("y"===e){if(b&&b.canAddBelow("y"))return a([b.addBelow("y")]);e=d("anna").addBelow("y");return oa(function(c){return a([b].concat(c))},c,e)}return"\u00e1"===
+e?a([b,d("long-carrier","a")]):"\u00e9"===e?a([b,d("long-carrier","e")]):"\u00ed"===e?a([b,d("long-carrier","i")]):"\u00f3"===e?b&&b.canAddAbove("\u00f3")?a([b.addAbove(k("\u00f3",c))]):a([b,d("long-carrier").addAbove(k("o",c))]):"\u00fa"===e?b&&b.canAddAbove("\u00fa")?a([b.addAbove(k("\u00fa",c))]):a([b,d("long-carrier").addAbove(k("u",c))]):a([b])(e)}}function k(a,c){c.reverseCurls&&(a=Ua[a]||a);return a}function T(a){a=a||Va;return{font:a.font||Wa,block:a.block,plain:a.plain}}function W(a,c,b){b=
+b||[];return ra(function(d){return d?W(a,c,b.concat([d])):function(e){return/\d/.test(e)?Xa(function(e){return W(a,c,b.concat(e))},c)(e):a(b)(e)}},c)}function ra(a,c){return I(function(b){return b?function(c){return"s"===c?b.canAddBelow("s")?a(b.addBelow("s")):B.countPrimes(function(c){return function(d){if(B.isFinal(d)){if(b.canAddFollowing("s-final")&&0===c--)b.addFollowing("s-final");else if(b.canAddFollowing("s-inverse")&&0===c--)b.addFollowing("s-inverse");else if(b.canAddFollowing("s-extended")&&
+0===c--)b.addFollowing("s-extended");else if(b.canAddFollowing("s-flourish"))b.addFollowing("s-flourish"),0<c&&b.addError("Following S only has 3 alternate flourishes.");else return a(b)("s")(d);return a(b)(d)}return a(b)("s")(d)}}):a(b)(c)}:a()},c)}function I(a,c){var b=c.font.makeColumn;return function(d){return"n"===d?function(e){return"t"===e||"d"===e?I(function(b){return a(b.addTildeAbove())},c)(e):"c"===e||"g"===e?I(a,c)("\u00f1")(e):"n"===e?a(b("numen")):a(b("ore"))(e)}:"t"===d?function(c){return"h"===
+c?a(b("thule")):a(b("tinco"))(c)}:"d"===d?function(c){return"h"===c?a(b("anto")):a(b("ando"))(c)}:"m"===d?function(e){return"p"===e||"b"===e||"f"===e||"v"===e?I(function(b){return a(b.addTildeAbove())},c)(e):"m"===e?a(b("malta")):a(b("vala"))(e)}:"p"===d?a(b("parma")):"b"===d?a(b("umbar")):"f"===d?function(c){return B.isFinal(c)?a(b("ampa"))(c):a(b("formen"))(c)}:"v"===d?a(b("ampa")):"\u00f1"===d?function(e){return"c"===e||"g"===e?I(function(b){"halla"===b.tengwa&&b.addError("Lenited G (halla) should not be nasalized with prefix N");
+return a(b.addTildeAbove())},c)(e):a(b("noldo"))(e)}:"c"===d?function(c){return"h"===c?function(c){return"w"===c?a(b("hwesta")):a(b("harma"))(c)}:"w"===c?a(b("quesse")):a(b("calma"))(c)}:"g"===d?function(c){return"h"===c?function(c){return"w"===c?a(b("unque")):a(b("anca"))(c)}:"w"===c?a(b("ungwe")):"'"===c?a(b("halla")):a(b("anga"))(c)}:"r"===d?function(c){return"h"===c?a(b("arda")):a(b("romen"))(c)}:"l"===d?function(c){return"h"===c?a(b("alda")):a(b("lambe"))(c)}:"s"===d?a(b("silme")):"a"===d?function(c){return"i"===
+c?a(b("round-carrier").addAbove("\u00ed")):"u"===c?a(b("round-carrier").addAbove("w")):"'"===c?a(b("round-carrier").addAbove("i")):"a"===c?a(b("round-carrier").addAbove("e")):a(b("round-carrier"))(c)}:"e"===d?function(c){return"i"===c?a(b("yanta").addAbove("\u00ed")):"e"===c?a(b("yanta").addAbove("e")):a(b("yanta"))(c)}:"i"===d?function(e){return"i"===e?ra(a,c)("\u00ed"):B.countPrimes(function(c){return 0===c?a(b("short-carrier")):1===c?a(b("short-carrier").addAbove("i")):3===c?a(b("long-carrier")):
+4===c?a(b("long-carrier").addAbove("i")):a(b("long-carrier").addAbove("i").addError("I only has four variants between short or long and dotted or not."))})(e)}:"o"===d?function(c){return"o"===c?a(b("anna").addAbove("e")):a(b("anna"))(c)}:"u"===d?function(c){return"i"===c?a(b("ure").addAbove("\u00ed")):"u"===c?a(b("ure").addAbove("e")):a(b("ure"))(c)}:"w"===d?function(c){return"w"===c?a(b("wilya").addAbove("e")):a(b("wilya"))(c)}:"y"===d?function(c){return"y"===c?a(b("silme-nuquerna").addAbove("e")):
+a(b("silme-nuquerna"))(c)}:"\u00e1"===d?a(b("round-carrier").addAbove("e")):"\u00e9"===d?a(b("yanta").addAbove("e")):"\u00ed"===d?B.countPrimes(function(c){return 0===c?a(b("short-carrier").addAbove("e")):1===c?a(b("long-carrier").addAbove("e")):a(b("long-carrier").addAbove("e").addError("\u00cd only has one variant."))}):"\u00f3"===d?a(b("anna").addAbove("e")):"\u00fa"===d?a(b("ure").addAbove("e")):"h"===d?function(c){return"w"===c?a(b("hwesta-sindarinwa")):a(b("hyarmen"))(c)}:"z"===d?a(b("silme").addError("Z does not appear in the mode of Beleriand")):
+sa[d]?a(b(sa[d])):B.isBreak(d)||/\d/.test(d)?a()(d):a(b("anna").addError("Unexpected character: "+JSON.stringify(d)))}}function ta(){ua=!0;va()}function Ya(a){a?(wa=!0,va()):xa()&&(a=document.querySelectorAll(".tengwar"),X.forEach.call(a,function(a){a.classList.add("error");a.innerHTML="Cannot render because WebFonts are not available in this browser."}))}function xa(){if(document.body.classList&&document.querySelectorAll&&X.forEach)return!0}function va(){if(!(void 0===ua||void 0===wa)&&xa()){var a=
+document.querySelectorAll(".tengwar");X.forEach.call(a,function(a){setTimeout(function(){var b=a.dataset,d,e,i;i="span"!==a.tagName.toLowerCase();b?(d=b.tengwar,e=b.mode,b=b.encoding):(d=a.getAttribute("data-tengwar"),e=a.getAttribute("data-mode"),b=a.getAttribute("data-encoding"));if(b)a.innerText=ya.transcribe(b,{block:i}),a.classList.add("rendered");else if(d){var b=a.classList.contains("parmaite")?Za:ya,f=e.split(/\s+/);e=f.shift();e=$a[e]||ab;var g=e.makeOptions();f.forEach(function(a){a=a.replace(/\-(\w)/g,
+function(a,b){return b.toUpperCase()});g[a]=true});g.block=i;g.font=b;a.innerHTML=e.transcribe(d,g);a.classList.add("rendered")}},0)})}}var za={tinco:"1",parma:"q",calma:"a",quesse:"z",ando:"2",umbar:"w",anga:"s",ungwe:"x",thule:"3",formen:"e",harma:"d",hwesta:"c",anto:"4",ampa:"r",anca:"f",unque:"v",numen:"5",malta:"t",noldo:"g",nwalme:"b",ore:"6",vala:"y",anna:"h",wilya:"n",romen:"7",arda:"u",lambe:"j",alda:"m",silme:"8","silme-nuquerna":"i",esse:"k","esse-nuquerna":",",hyarmen:"9","hwesta-sindarinwa":"o",
+yanta:"l",ure:".",halla:"\u00bd","short-carrier":"`","long-carrier":"~","round-carrier":"]","tinco-extended":"!","parma-extended":"Q","calma-extended":"A","quesse-extended":"Z",comma:"=","full-stop":"-","exclamation-point":"\u00c1","question-mark":"\u00c0","open-paren":"&#140;","close-paren":"&#156;","flourish-left":"&#286;","flourish-right":"&#287;","0":"&#240",1:"&#241",2:"&#242",3:"&#243",4:"&#244",5:"&#245",6:"&#246",7:"&#247",8:"&#248",9:"&#249",10:"&#250",11:"&#251"},Aa={a:"#EDC",e:"$RFV",i:"%TGB",
+o:"^YHN",u:"& U J M &#256; &#257; &#258; &#259;".split(" "),"\u00f3":["&#260;","&#261;","&#262;","&#263;"],"\u00fa":["&#264;","&#265;","&#266;","&#267;"],"\u00ed":["&#212;","&#213;","&#214;","&#215;"],w:"\u00e8\u00e9\u00ea\u00eb",y:"\u00cc\u00cd\u00ce\u00cf\u00b4","o-below":["\u00e4","&#229;","\u00e6","\u00e7","|"],"i-below":["&#200;","&#201;","&#202;","&#203;"],s:{special:!0,calma:"|",quesse:"|","short-carrier":"}"},"s-final":{special:!0,tinco:"+",ando:"+",numen:"+",lambe:"_"},"s-inverse":{special:!0,
+tinco:"\u00a1"},"s-extended":{special:!0,tinco:"&#199;"},"s-flourish":{special:!0,tinco:"&#163;",lambe:"&#165;"},"tilde-above":"Pp","tilde-below":[":",";","&#176;"],"tilde-high-above":")0","tilde-far-below":"?/","bar-above":"{[","bar-below":['"',"'","&#184;"],"bar-high-above":"\u00ec\u00ee","bar-far-below":"\u00ed\u00ef"},r={tengwar:[["tinco","parma","calma","quesse"],["ando","umbar","anga","ungwe"],["thule","formen","harma","hwesta"],["anto","ampa","anca","unque"],["numen","malta","noldo","nwalme"],
+["ore","vala","anna","wilya"],["romen","arda","lambe","alda"],["silme","silme-nuquerna","esse","esse-nuquerna"],["hyarmen","hwesta-sindarinwa","yanta","ure"],["halla","short-carrier","long-carrier","round-carrier"],["tinco-extended","parma-extended","calma-extended","quesse-extended"]],tehtarAbove:"aeiou\u00e1\u00e9\u00ed\u00f3\u00faw".split(""),tehtarBelow:["y","s","o-below","i-below"],tehtarFollowing:["s-final","s-inverse","s-extended","s-flourish"],barsAndTildes:"tilde-above tilde-below tilde-high-above tilde-far-below bar-above bar-below bar-high-above bar-far-below".split(" ")};
+r.tehtar=[].concat(r.tehtarAbove,r.tehtarBelow,r.tehtarFollowing,r.barsAndTildes);r.aliases={vilya:"wilya",aha:"harma",gasdil:"halla"};var n={},Ha=r,bb=n.tengwar=za,z=n.tehtar=Aa,p=n.positions={tinco:{o:3,w:3,others:2},parma:{o:3,w:3,others:2},calma:{o:3,w:3,u:3,"o-below":1,others:2},quesse:{o:3,w:3,"o-below":1,others:2},ando:{wide:!0,e:1,o:2,"\u00f3":1,"\u00fa":1,others:0},umbar:{wide:!0,e:1,o:2,"\u00f3":1,"\u00fa":1,others:0},anga:{wide:!0,e:1,"\u00f3":1,"\u00fa":1,others:0},ungwe:{wide:!0,e:1,
+o:1,"\u00f3":1,"\u00fa":1,others:0},thule:{others:3},formen:3,harma:{e:0,o:3,u:7,"\u00f3":2,"\u00fa":2,w:0,others:1},hwesta:{e:0,o:3,u:7,w:0,others:1},anto:{wide:!0,"\u00f3":1,"\u00fa":1,others:0},ampa:{wide:!0,"\u00f3":1,"\u00fa":1,others:0},anca:{wide:!0,u:7,"\u00f3":1,"\u00fa":1,others:0},unque:{wide:!0,u:7,others:0},numen:{wide:!0,"\u00f3":1,"\u00fa":1,others:0},malta:{wide:!0,"\u00f3":1,"\u00fa":1,others:0},noldo:{wide:!0,"\u00f3":1,"\u00fa":1,others:0},nwalme:{wide:!0,"\u00f3":1,"\u00fa":1,
+others:0},ore:{e:3,o:3,u:3,"\u00f3":3,"\u00fa":3,others:1},vala:{e:3,o:3,u:3,"\u00f3":3,"\u00fa":3,others:1},anna:{e:3,o:3,u:3,"\u00f3":2,"\u00fa":2,others:1},wilya:{e:3,o:3,u:3,"\u00f3":3,"\u00fa":3,others:1},romen:{e:3,o:3,u:3,"\u00f3":2,"\u00fa":2,y:null,"o-below":null,"i-below":null,others:1},arda:{a:1,e:3,i:1,o:3,u:3,"\u00ed":1,"\u00f3":2,"\u00fa":2,y:null,"o-below":null,"i-below":null,others:0},lambe:{wide:!0,e:1,y:4,"\u00f3":1,"\u00fa":1,"o-below":null,"i-below":null,others:0},alda:{wide:!0,
+"o-below":null,others:1},silme:{y:3,"o-below":2,"i-below":2,others:null},"silme-nuquerna":{e:3,o:3,u:3,"\u00f3":3,"\u00fa":3,y:null,"o-below":null,"i-below":null,others:1},esse:{y:null,others:null},"esse-nuquerna":{e:3,o:3,u:3,"\u00f3":3,"\u00fa":3,others:1},hyarmen:3,"hwesta-sindarinwa":{o:2,u:2,"\u00f3":1,"\u00fa":2,others:0},yanta:{e:3,o:3,u:3,"\u00f3":2,"\u00fa":2,others:1},ure:{e:3,o:3,u:3,"\u00f3":3,"\u00fa":3,others:1},halla:{"i-below":3,others:null},"short-carrier":3,"long-carrier":{y:null,
+"o-below":null,"i-below":null,others:3},"round-carrier":3,"tinco-extended":3,"parma-extended":3,"calma-extended":{o:3,u:7,"\u00f3":2,"\u00fa":2,others:1},"quesse-extended":{o:0,u:7,others:1}};n.transcribe=function(a,c){var c=c||{},b=c.plain||!1,d=c.block||!1,e=d?"<p>":"",i=d?"<br>":"",f=d?"</p>":"";return a.map(function(a){return a.map(function(a){return e+a.map(function(a){return a.map(function(a){return a.map(function(a){var c=a.tengwa||"anna",d=[];a.above&&d.push(a.above);a.below&&d.push(a.below);
+a.tildeBelow&&d.push("tilde-below");a.tildeAbove&&d.push("tilde-above");a.following&&d.push(a.following);d=bb[c]+d.map(function(a){return v(c,a)}).join("");a.errors&&!b&&(d='<abbr class="error" title="'+a.errors.join("\n").replace(/"/g,"&quot;")+'">'+d+"</abbr>");return d}).join("")}).join(" ")}).join(i+"\n")+f}).join("\n\n")}).join("\n\n\n")};n.tehtaForTengwa=v;n.makeColumn=function(a,c,b){return new l(a,c,b)};var l=function(a,c,b){this.above=c;this.tildeAbove=void 0;this.tengwa=a;this.tildeBelow=
+void 0;this.below=b;this.error=this.following=void 0};l.prototype.canAddAbove=function(a){return!this.above&&!!v(this.tengwa,a)||!this.below&&("silme"===this.tengwa&&v("silme-nuquerna",a)||"esse"===this.tengwa&&v("esse-nuquerna",a))};l.prototype.addAbove=function(a){"silme"===this.tengwa&&(this.tengwa="silme-nuquerna");"esse"===this.tengwa&&(this.tengwa="esse-nuquerna");this.above=a;return this};l.prototype.canAddBelow=function(a){return!this.below&&!!v(this.tengwa,a)};l.prototype.addBelow=function(a){this.below=
+a;return this};l.prototype.addTildeAbove=function(){this.tildeAbove=!0;return this};l.prototype.addTildeBelow=function(){this.tildeBelow=!0;return this};l.prototype.canAddFollowing=function(a){return!this.following&&!!v(this.tengwa,a)};l.prototype.addFollowing=function(a){this.following=a;return this};l.prototype.addError=function(a){this.errors=this.errors||[];this.errors.push(a);return this};var s={},Ja=r,cb=s.tengwar=za,A=s.tehtar=Aa,q=s.positions={tinco:2,parma:2,calma:{y:1,"o-below":1,others:2},
+quesse:{y:1,"o-below":1,others:2},ando:{wide:!0,others:0},umbar:{wide:!0,others:0},anga:{wide:!0,others:0},ungwe:{wide:!0,others:0},thule:{a:3,w:3,others:2},formen:{a:3,w:3,"\u00ed":3,others:2},harma:{a:0,e:0,i:1,o:1,u:1,w:0,"\u00ed":0,others:1},hwesta:{a:0,e:0,i:1,o:1,u:1,w:0,others:1},anto:{wide:!0,others:0},ampa:{wide:!0,others:0},anca:{wide:!0,others:0},unque:{wide:!0,others:0},numen:{wide:!0,others:0},malta:{wide:!0,others:0},noldo:{wide:!0,others:0},nwalme:{wide:!0,others:0},ore:{a:1,e:2,i:1,
+o:2,u:3,others:1},vala:{a:1,e:2,i:2,o:2,w:1,y:1,"\u00ed":2,"i-below":1,others:3},anna:{a:1,w:3,others:2},wilya:{i:2,"\u00ed":2,others:1},romen:{a:1,e:1,i:2,o:1,u:1,y:3,"o-below":null,"i-below":null,others:1},arda:{a:1,e:1,i:2,o:1,u:1,w:1,"\u00ed":2,y:null,"o-below":null,"i-below":null,others:0},lambe:{wide:!0,e:1,y:4,w:0,"o-below":null,"i-below":null,others:0},alda:{wide:!0,w:0,y:null,"o-below":null,"i-below":null,others:1},silme:{y:2,"o-below":2,"i-below":2,others:null},"silme-nuquerna":{e:2,y:null,
+"o-below":null,"i-below":null,others:1},esse:{others:null},"esse-nuquerna":{e:2,y:null,"o-below":null,"i-below":null,others:1},hyarmen:{y:1,"o-below":1,"i-below":1,others:3},"hwesta-sindarinwa":{w:1,y:1,"o-below":1,"i-below":1,others:0},yanta:{a:1,others:2},ure:{a:1,others:2},halla:{"i-below":3,"o-below":3,others:null},"short-carrier":{y:null,others:3},"long-carrier":{y:null,"o-below":null,"i-below":null,others:3},"round-carrier":2,"tinco-extended":{a:3,w:3,y:3,"\u00ed":3,"o-below":3,others:2},"parma-extended":{a:3,
+w:3,y:3,"\u00ed":3,"o-below":3,others:2},"calma-extended":{i:1,w:1,y:0,"\u00ed":0,"i-below":1,"o-below":1,others:0},"quesse-extended":{i:1,w:1,y:0,"\u00ed":0,"i-below":1,"o-below":1,others:0}};s.transcribe=function(a,c){var c=c||{},b=c.plain||!1,d=c.block||!1,e=d?"<p>":"",i=d?"<br>":"",f=d?"</p>":"";return a.map(function(a){return a.map(function(a){return e+a.map(function(a){return a.map(function(a){return a.map(function(a){var c=a.tengwa||"anna",d=[];a.above&&d.push(a.above);a.below&&d.push(a.below);
+a.tildeBelow&&d.push("tilde-below");a.tildeAbove&&d.push("tilde-above");a.following&&d.push(a.following);d=cb[c]+d.map(function(a){return w(c,a)}).join("");a.errors&&!b&&(d='<abbr class="error" title="'+a.errors.join("\n").replace(/"/g,"&quot;")+'">'+d+"</abbr>");return d}).join("")}).join(" ")}).join(i+"\n")+f}).join("\n\n")}).join("\n\n\n")};s.tehtaForTengwa=w;var Ia="\u00e1\u00e9\u00f3\u00fa";s.makeColumn=function(a,c,b){return new m(a,c,b)};var m=function(a,c,b){this.above=c;this.tildeAbove=void 0;
+this.tengwa=a;this.tildeBelow=void 0;this.below=b;this.error=this.following=void 0};m.prototype.canAddAbove=function(a){return!this.above&&!!w(this.tengwa,a)||!this.below&&("silme"===this.tengwa&&w("silme-nuquerna",a)||"esse"===this.tengwa&&w("esse-nuquerna",a))};m.prototype.addAbove=function(a){"silme"===this.tengwa&&(this.tengwa="silme-nuquerna");"esse"===this.tengwa&&(this.tengwa="esse-nuquerna");this.above=a;return this};m.prototype.canAddBelow=function(a){return!this.below&&!!w(this.tengwa,a)};
+m.prototype.addBelow=function(a){this.below=a;return this};m.prototype.addTildeAbove=function(){this.tildeAbove=!0;return this};m.prototype.addTildeBelow=function(){this.tildeBelow=!0;return this};m.prototype.canAddFollowing=function(a){return!this.following&&!!w(this.tengwa,a)};m.prototype.addFollowing=function(a){this.following=a;return this};m.prototype.addError=function(a){this.errors=this.errors||[];this.errors.push(a);return this};var x={module$exports:{"-":"comma",",":"comma",":":"comma",";":"full-stop",
+".":"full-stop","!":"exclamation-point","?":"question-mark","(":"open-paren",")":"close-paren",">":"flourish-left","<":"flourish-right"}};x.module$exports&&(x=x.module$exports);var U={encode:function(a){return a.map(function(a){return a.map(function(a){return a.map(function(a){return a.map(function(a){return a.map(function(a){var b=[];a.above&&b.push(a.above);a.below&&b.push(a.below);a.following&&b.push(a.following);a.tildeAbove&&b.push("tilde-above");a.tildeBelow&&b.push("tilde-below");return b.length?
+a.tengwa+":"+b.join(","):a.tengwa}).join(";")}).join(" ")}).join("\n")}).join("\n\n")}).join("\n\n\n")},decode:function(a,c){return a.split("\n\n\n").map(function(a){return a.split("\n\n").map(function(a){return a.split("\n").map(function(a){return a.split(" ").map(function(a){return ca(a,c)})})})})}};U.decodeWord=ca;var j={},db=x;j.makeParser=function(a,c){c=c||function(a,c){throw Error(a+" while parsing "+JSON.stringify(c));};return function(b){var d,e=a.apply(null,[function(a){d=a;return function(a){""!==
 a&&(a="Unexpected "+JSON.stringify(a),c(a,b));return function Ma(){return Ma}}}].concat(Array.prototype.slice.call(arguments,1)));for(Array.prototype.forEach.call(b,function(a){e=e(a)});!d;)e=e("");return d}};j.makeExpect=function(a){return function(c){return function(b){return b===a?c(b):c()(b)}}};j.makeParseSome=function(a){var c=da(a);return function(b){return a(function(a){return null!=a?c(b,[a]):b([])})}};j.makeParseAny=da;j.makeDelimitedParser=function(a,c){return function d(e,i,f){f=f||[];
 return a(function(a){return a.length?(f=f.concat([a]),c(function(a){return a?d(e,i,f):e(f)})):e(f)},i)}};j.isBreak=ea;j.isFinal=function(a){return ea(a)||db[a]};j.countPrimes=fa;var C={module$exports:function(a,c){var b=c.font.makeColumn;return eb(function(c){if(c)var e=c.join(""),c=j.countPrimes(function(c){var d=e,g,j;0==c?j=10:(j=12,g=1<c);d=parseInt(d,10).toString(j).split("");c=d.map(function(a){a=b(""+parseInt(a,12));g&&a.addError("Numbers can only be parsed in either decimal or dudecimal.");
-return a});return a(c)});else c=a();return c})}},eb=j.makeParseSome(function(a){return function(c){return""!==c&&-1!=="0123456789".indexOf(c)?a(c):a()(c)}});C.module$exports&&(C=C.module$exports);var D={module$exports:function(a,c){var b=j.makeDelimitedParser(a,fb),b=j.makeDelimitedParser(b,ga),b=j.makeDelimitedParser(b,ga),d=j.makeDelimitedParser(b,Ka);return j.makeParser(function(a,b){b=c(b);return d(a,b)})}},Ba=j.makeExpect(" "),N=j.makeParseAny(Ba),fb=j.makeParseSome(Ba),ha=j.makeExpect("\n"),
-La=j.makeParseSome(ha);D.module$exports&&(D=D.module$exports);var I={};I.module$exports=ia;I.module$exports&&(I=I.module$exports);var J={};J.module$exports=ja;J.module$exports&&(J=J.module$exports);var y={},gb=I,hb=J;y.module$exports=function(a){var c=Y(a);return function d(a){c=c(a.toLowerCase());return d}};var ib=gb({k:"c",x:"cs",q:"cw",qu:"cw",p:"p",ph:"f",b:"b",bh:"v","\u00eb":"e","\u00e2":"\u00e1","\u00ea":"\u00e9","\u00ee":"\u00ed","\u00f4":"\u00f3","\u00fb":"\u00fa"}),Y=hb(ib,function(a){return function(c){return Array.prototype.reduce.call(a,
-function(a,c){return a(c)},c)}},function(a){return Y(a)},function(a){return function(c){return Y(a(c))}});y.module$exports&&(y=y.module$exports);var t={},Oa=n,P=j,jb=D,kb=y,ma=x,Qa=C;t.name="General Use Mode";var Na={};t.makeOptions=O;t.transcribe=function(a,c){c=O(c);return c.font.transcribe(Ca(a,c),c)};t.encode=function(a,c){c=O(c);return U.encode(Ca(a,c),c)};var Ca=t.parse=jb(function(a,c){var b,d=c.font.makeColumn;b=ka(function(b){return Da[b]?a(U.decodeWord(Da[b],d)):a(lb(b,c))},c);return kb(b)},
-O),Da={iant:"yanta;tinco:a,tilde-above",iaur:"yanta;vala:a;ore",baranduiniant:"umbar;romen:a;ando:a,tilde-above;anna:u;yanta;anto:a,tilde-above",ioreth:"yanta;romen:o;thule:e",noldo:"nwalme;lambe:o;ando;short-carrier:o",noldor:"nwalme;lambe:o;ando;ore:o",is:"short-carrier:i,s"},lb=P.makeParser(function(a,c){return la(a,c,[])}),V="aeiou\u00f3\u00fa",Q={"\u00e1":"a","\u00e9":"e","\u00ed":"i","\u00f3":"o","\u00fa":"u"},Pa={o:"u",u:"o","\u00f3":"\u00fa","\u00fa":"\u00f3"};t.parseTengwaAnnotations=G;var E=
+return a});return a(c)});else c=a();return c})}},eb=j.makeParseSome(function(a){return function(c){return""!==c&&-1!=="0123456789".indexOf(c)?a(c):a()(c)}});C.module$exports&&(C=C.module$exports);var D={module$exports:function(a,c){var b=j.makeDelimitedParser(a,fb),b=j.makeDelimitedParser(b,ga),b=j.makeDelimitedParser(b,ga),d=j.makeDelimitedParser(b,Ka);return j.makeParser(function(a,b){b=c(b);return d(a,b)})}},Ba=j.makeExpect(" "),O=j.makeParseAny(Ba),fb=j.makeParseSome(Ba),ha=j.makeExpect("\n"),
+La=j.makeParseSome(ha);D.module$exports&&(D=D.module$exports);var J={};J.module$exports=ia;J.module$exports&&(J=J.module$exports);var K={};K.module$exports=ja;K.module$exports&&(K=K.module$exports);var y={},gb=J,hb=K;y.module$exports=function(a){var c=Y(a);return function d(a){c=c(a.toLowerCase());return d}};var ib=gb({k:"c",x:"cs",q:"cw",qu:"cw",p:"p",ph:"f",b:"b",bh:"v","\u00eb":"e","\u00e2":"\u00e1","\u00ea":"\u00e9","\u00ee":"\u00ed","\u00f4":"\u00f3","\u00fb":"\u00fa"}),Y=hb(ib,function(a){return function(c){return Array.prototype.reduce.call(a,
+function(a,c){return a(c)},c)}},function(a){return Y(a)},function(a){return function(c){return Y(a(c))}});y.module$exports&&(y=y.module$exports);var t={},Oa=n,G=j,jb=D,kb=y,ma=x,Qa=C;t.name="General Use Mode";var Na={};t.makeOptions=P;t.transcribe=function(a,c){c=P(c);return c.font.transcribe(Ca(a,c),c)};t.encode=function(a,c){c=P(c);return U.encode(Ca(a,c),c)};var Ca=t.parse=jb(function(a,c){var b,d=c.font.makeColumn;b=ka(function(b){return Da[b]?a(U.decodeWord(Da[b],d)):a(lb(b,c))},c);return kb(b)},
+P),Da={iant:"yanta;tinco:a,tilde-above",iaur:"yanta;vala:a;ore",baranduiniant:"umbar;romen:a;ando:a,tilde-above;anna:u;yanta;anto:a,tilde-above",ioreth:"yanta;romen:o;thule:e",noldo:"nwalme;lambe:o;ando;short-carrier:o",noldor:"nwalme;lambe:o;ando;ore:o",is:"short-carrier:i,s"},lb=G.makeParser(function(a,c){return la(a,c,[])}),V="aeiou\u00f3\u00fa",Q={"\u00e1":"a","\u00e9":"e","\u00ed":"i","\u00f3":"o","\u00fa":"u"},Pa={o:"u",u:"o","\u00f3":"\u00fa","\u00fa":"\u00f3"};t.parseTengwaAnnotations=H;var E=
 {},Sa=n,S=j,mb=D,nb=y,pa=x,Ta=C;E.name="Classical Mode";var Ra={};E.makeOptions=R;E.transcribe=function(a,c){c=R(c);return c.font.transcribe(Ea(a,c),c)};E.encode=function(a,c){c=R(c);return U.encode(Ea(a,c),c)};var Ea=E.parse=mb(function(a,c){return nb(na(a,c))},R),qa="aeiouy\u00e1\u00e9\u00ed\u00f3\u00fa",Ua={o:"u",u:"o","\u00f3":"\u00fa","\u00fa":"\u00f3"},F={},Wa=s,B=j,ob=D,pb=y,sa=x,Xa=C;F.name="Mode of Beleriand";var Va={};F.makeOptions=T;F.transcribe=function(a,c){c=T(c);return c.font.transcribe(Fa(a,
-c),c)};F.encode=function(a,c){c=T(c);return Notation.encode(Fa(a,c),c)};var Fa=F.parse=ob(function(a,c){return pb(W(a,c))},T),K={};K.module$exports={"general-use":t,classical:E,beleriand:F};K.module$exports&&(K=K.module$exports);var L={},qb=L,M,o=document,rb=o.documentElement,Ga=o.createElement("style"),u=o.createElement("span"),Z,$=o.body,aa,ba;Ga.textContent="@font-face{font-family:testfont;src:url(data:font/opentype;base64,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)}";
-o.getElementsByTagName("head")[0].appendChild(Ga);u.setAttribute("style","font:99px _,serif;position:absolute;visibility:hidden");$||($=rb.appendChild(o.createElement("fontface")));u.innerHTML="-------";u.id="fonttest";$.appendChild(u);Z=u.offsetWidth;u.style.font="99px testfont,_,serif";M=Z!==u.offsetWidth;o=function(){ba||(M=Z!==u.offsetWidth,aa&&(ba=!0)&&aa(M))};addEventListener("load",o,!1);setTimeout(o,100);qb.module$exports=function(a){ba||M?a(M):aa=a};L.module$exports&&(L=L.module$exports);
-var ab=t,ya=n,Za=s,$a=K,sb=L,X=Array.prototype;"undefined"!==typeof document&&("complete"===document.readyState?ta():document.addEventListener("DOMContentLoaded",ta,!0),sb(Ya));var ua,wa})();
+c),c)};F.encode=function(a,c){c=T(c);return Notation.encode(Fa(a,c),c)};var Fa=F.parse=ob(function(a,c){return pb(W(a,c))},T),L={};L.module$exports={"general-use":t,classical:E,beleriand:F};L.module$exports&&(L=L.module$exports);var M={},qb=M,N,o=document,rb=o.documentElement,Ga=o.createElement("style"),u=o.createElement("span"),Z,$=o.body,aa,ba;Ga.textContent="@font-face{font-family:testfont;src:url(data:font/opentype;base64,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)}";
+o.getElementsByTagName("head")[0].appendChild(Ga);u.setAttribute("style","font:99px _,serif;position:absolute;visibility:hidden");$||($=rb.appendChild(o.createElement("fontface")));u.innerHTML="-------";u.id="fonttest";$.appendChild(u);Z=u.offsetWidth;u.style.font="99px testfont,_,serif";N=Z!==u.offsetWidth;o=function(){ba||(N=Z!==u.offsetWidth,aa&&(ba=!0)&&aa(N))};addEventListener("load",o,!1);setTimeout(o,100);qb.module$exports=function(a){ba||N?a(N):aa=a};M.module$exports&&(M=M.module$exports);
+var ab=t,ya=n,Za=s,$a=L,sb=M,X=Array.prototype;"undefined"!==typeof document&&("complete"===document.readyState?ta():document.addEventListener("DOMContentLoaded",ta,!0),sb(Ya));var ua,wa})();