From: Mischa POSLAWSKY Date: Mon, 10 Apr 2017 15:04:20 +0000 (+0200) Subject: latin: move sample javascript to separate include X-Git-Tag: v1.10~184 X-Git-Url: http://git.shiar.nl/sheet.git/commitdiff_plain/921547406c8cdd5b4cffee21bca0ee56f23251dc?hp=e243ba6955889ecb639cd547e1420520527b9d3e latin: move sample javascript to separate include --- diff --git a/latin.plp b/latin.plp index cab913e..ed6f65b 100644 --- a/latin.plp +++ b/latin.plp @@ -98,7 +98,7 @@ Html({

Latin alphabet

-

Variant encodings of the common ASCII (latin, roman, +

Variant encodings of the common ASCII (latin, roman, or 'mercan) letters A–Z. Also see related alphabets and font comparison.

@@ -139,45 +139,6 @@ else { :> - + - diff --git a/latinsample.js b/latinsample.js new file mode 100644 index 0000000..f4a6a6d --- /dev/null +++ b/latinsample.js @@ -0,0 +1,50 @@ +function appendsample() { + var rows = document.getElementsByClassName('glyphs')[0].rows; + for (var row of rows) { + cols = [ row.cells[0] ]; + for (var col = 1; col <= 26; col++) { + cols[col] = cols[ col - 1 ].nextSibling; + for (var span = 1; span < cols[col].colSpan; span++) { + var same = cols[col]; + cols[++col] = same; + } + } + var samplecol = row.getElementsByClassName('sample'); + if (samplecol.length) { + samplecol = samplecol[0]; + } + else { + samplecol = row.appendChild(document.createElement('TD')); + samplecol.className = 'sample'; + } + + var output = ''; + var input = this.value.toUpperCase(); + for (var i = 0; i < input.length; i++) { + var col = input.charCodeAt(i) - 64; + if (col < 1 || col > 26) { + output += '   '; + } + else { + output += '' + cols[col].innerHTML.trimRight() + ''; + } + } + samplecol.innerHTML = output; + } +}; + +function prependinput(target) { + var form = document.createElement('FORM'); + form.id = 'search'; + form.className = 'aside'; + + var input = document.createElement('INPUT'); + input.oninput = appendsample; + input.placeholder = 'Sample'; + input.type = 'search'; + input.name = 'q'; + + form.appendChild(input); + target.parentNode.insertBefore(form, target); +} +