X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/a0f942a8498d6f1574c57c5943a7d21eb9634898..v1.10-46-g4c43bcbed6:/latinsample.js?ds=inline
diff --git a/latinsample.js b/latinsample.js
index cff51e3..406cac1 100644
--- a/latinsample.js
+++ b/latinsample.js
@@ -3,6 +3,10 @@ function appendsample() {
for (var row of rows) {
// append sample column
var samplecol = row.getElementsByClassName('sample');
+ if (!this.value.length) {
+ row.removeChild(samplecol[0]);
+ continue;
+ }
if (samplecol.length) {
samplecol = samplecol[0];
}
@@ -22,6 +26,9 @@ function appendsample() {
cols[++col] = same;
}
}
+ for (var col = 0; col < cols.length; col++) {
+ cols[col] = cols[col].innerHTML.trimRight();
+ }
// copy letters into sample
var output = '';
@@ -29,13 +36,27 @@ function appendsample() {
for (var i = 0; i < input.length; i++) {
var col = input.charCodeAt(i) - 64;
if (col < 1) col = 27; // space
- if (col < cols.length) {
- output += '' + cols[col].innerHTML.trimRight() + '';
+ else if (cols[28] && i && col == input.charCodeAt(i - 1) - 64) {
+ col = 28; // repetition char
+ }
+ if (row.id == 'suetterlin' && col == 19) {
+ var final = input.length == i + 1 || input[i + 1] == ' ';
+ output += cols[col].split(' ')[final ? 1 : 0];
+ }
+ else if (col < cols.length) {
+ output += '' + (cols[col] || ' ') + '';
}
else {
- output += ' ';
+ output += ' ';
+ }
+ if (row.parentNode.tagName == 'THEAD') {
+ output += col < 26 ? ' ' : '· '; // number separator
}
}
+ if (cols[29] && !cols[28]) {
+ // circumfix sign if no repetition
+ output = cols[29] + output + (cols[30] || cols[29]);
+ }
samplecol.innerHTML = output;
}
};