<h1>Latin alphabet</h1>
-<p>Variant encodings of the common ASCII (latin, roman,
+<p id=intro>Variant encodings of the common ASCII (latin, roman,
or <span title="fuck yeah!">'mercan</span>) letters A–Z.
Also see <a href="/writing">related alphabets</a>
and <a href="/chars/abc">font comparison</a>.</p>
printf '<tr id="%s">', (lc $title) =~ s/<[^>]+>//gr =~ s/\s+/-/gr;
say '<th>', $title;
my $colspan = 1;
+ my $col = 0;
for (@{$cells}) {
+ $col++;
if ($_ eq '>') {
$colspan++;
next;
print " colspan=$colspan";
$colspan = 1;
}
+ print ' hidden' if $col > 26; # sample only
print ' class=', $_ ? 'ex' : 'u-invalid' if s/^-//;
print '>';
say;
:></div>
-<script>
-var inputel = document.createElement('INPUT');
-inputel.oninput = function () {
- 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 = inputel.value.toUpperCase();
- for (var i = 0; i < input.length; i++) {
- var col = input.charCodeAt(i) - 64;
- if (col < 1 || col > 26) {
- output += ' ';
- }
- else {
- output += '<span>' + cols[col].innerHTML.trimRight() + '</span>';
- }
- }
- samplecol.innerHTML = output;
- }
-};
-
-var container = document.createElement('P');
-container.appendChild(inputel);
-document.body.appendChild(container);
+<script type="text/javascript" src="/latinsample.js"></script>
+<script type="text/javascript"> prependinput(document.getElementById('intro')) </script>
-</script>