2 var Alphabet
= require("./alphabet");
3 var Bindings
= require("./conscript.js");
4 var makeFontColumn
= require("./column");
6 var tengwar
= exports
.tengwar
= Bindings
.tengwar
;
7 var tehtar
= exports
.tehtar
= Bindings
.tehtar
;
8 window
.console
.log('hello');
9 var positions
= exports
.positions
= {
65 "hwesta-sindarinwa": 0,
85 exports
.transcribe
= transcribe
;
86 function transcribe(sections
, options
) {
87 options
= options
|| {};
88 var block
= options
.block
|| false;
89 var beginParagraph
= block
? "<p>" : "";
90 var delimitParagraph
= "<br>";
91 var endParagraph
= block
? "</p>" : "";
92 return sections
.map(function (section
) {
93 return section
.map(function (paragraph
) {
94 return beginParagraph
+ paragraph
.map(function (line
) {
95 return line
.map(function (word
) {
96 return word
.map(function (column
) {
97 return transcribeColumn(column
, options
);
100 }).join(delimitParagraph
+ "\n") + endParagraph
;
105 exports
.transcribeColumn
= transcribeColumn
;
106 function transcribeColumn(column
, options
) {
107 options
= options
|| {};
108 var plain
= options
.plain
|| false;
109 var tengwa
= column
.tengwa
|| "anna";
111 if (column
.above
) tehtar
.push(column
.above
);
112 if (column
.below
) tehtar
.push(column
.below
);
113 if (column
.tildeBelow
) tehtar
.push("tilde-below");
114 if (column
.tildeAbove
) tehtar
.push("tilde-above");
115 if (column
.following
) tehtar
.push(column
.following
);
116 var html
= tengwar
[tengwa
] + tehtar
.map(function (tehta
) {
117 return tehtaForTengwa(tengwa
, tehta
);
119 if (column
.errors
&& !plain
) {
120 html
= "<abbr class=\"error\" title=\"" + column
.errors
.join("\n").replace(/"/g, """) + "\">" + html
+ "</abbr>";
125 exports
.tehtaForTengwa
= tehtaForTengwa
;
126 function tehtaForTengwa(tengwa
, tehta
) {
127 var tehtaKey
= tehtaKeyForTengwa(tengwa
, tehta
);
128 if (tehtaKey
== null)
131 tehtar
[tehta
][tengwa
] ||
132 tehtar
[tehta
][tehtaKey
] ||
137 function tehtaKeyForTengwa(tengwa
, tehta
) {
141 exports
.makeColumn
= makeColumn
;
142 function makeColumn(tengwa
, tengwarFrom
) {
143 return makeFontColumn(exports
, tengwa
, tengwarFrom
);