Html({
title => 'latin alphabet cheat sheet',
- version => '1.3',
+ version => '1.5',
description => [
],
keywords => [qw'
:>
<style>
- @font-face {
- font-family: Suetterlin; /* R. G. Arens */
- src: url("/suetterlin.ttf");
- }
- #sütterlin td { font-family: Suetterlin }
- #ita2 td,
- #tap-code td,
- #short-tap td {
- white-space: normal;
- word-spacing: 5em; /* force line break between words */
- }
- #tap-code td,
- #short-tap td {
- line-height: 1ex;
- }
- #ita2 td {
- font-size: 50%;
- }
- #cards td {
- font-family: Symbola, "DejaVu Sans", serif, sans;
- }
- #pigpen {
- stroke-linecap: square;
- }
- #nyctographs,
- #old-roman-cursive {
- stroke-linecap: round;
- stroke-linejoin: round;
- }
- td {
- white-space: nowrap;
- }
- th {
- width: auto !important;
- }
-
- .sample {
+ td svg {
vertical-align: middle;
- text-align: left;
- padding: 1px 0.3em;
- }
- #old-roman-cursive .sample span {
- margin-right: -10px;
- }
- #tap-code .sample,
- #short-tap .sample {
- font-size: 80%;
- }
- #ita2 .sample,
- #tap-code .sample,
- #short-tap .sample {
- word-spacing: 0;
}
- #ita2 .sample span,
- #tap-code .sample span,
- #short-tap .sample span {
- margin-right: 1ex;
- white-space: nowrap;
- }
- #sutton-asl .sample span,
- #maritime-flags .sample span,
- #morse .sample span {
- margin-right: 0.5ex;
- }
- #pigpen .sample svg {
- margin-right: 0.1em;
- }
- #nyctographs .sample svg {
- background: rgba(0,0,0, .1);
- padding: 0.1em;
- margin-right: 0.2em;
- }
-
svg path:not([fill]) {
stroke: currentColor;
fill: none;
fill: currentColor;
}
- td {
- vertical-align: top;
+ .sample {
+ text-align: left;
+ padding: 1px 0.3em;
}
- td svg {
- vertical-align: middle;
+ td.sample {
+ width: auto;
+ }
+ th {
+ white-space: nowrap; /* prevent resize by sample */
}
</style>
Alert("Table data not found", $@ || $!);
}
else {
+ say '<style>';
+ for my $row (pairs @table) {
+ my ($id, $info) = @{$row};
+ my $style = $info->{style} or next;
+ ref $style or $style = [$style];
+ say "\t", !/^@/ && "#$id ", $_ for @{$style};
+ }
+ say "</style>\n";
+
my %VOWELCOLS = (map { ($_ => 1) } 0, 4, 8, 14, 20, 24);
say '<table class="glyphs">';
say '<thead><tr><th># <small>ASCII − 64</small>';
say '</thead>';
for my $row (pairs @table) {
- my ($title, $cells) = @{$row};
- printf '<tr id="%s">', (lc $title) =~ s/<[^>]+>//gr =~ s/\s+/-/gr;
- say '<th>', $title;
+ my ($id, $info) = @{$row};
+
+ printf '<tr id="%s">', $id;
+ my $th = 'th';
+ $th .= sprintf ' title="%s"', $_ for $info->{title} || ();
+ say "<$th>", $info->{name} // ucfirst $id;
+
my $colspan = 1;
my $col = 0;
- for (@{$cells}) {
+ for (@{ $info->{list} }) {
$col++;
if ($_ eq '>') {
$colspan++;
:></div>
<script type="text/javascript" src="/latinsample.js"></script>
-<script type="text/javascript"> prependinput(document.getElementById('intro')) </script>
+<script type="text/javascript"><!--
+ prependinput(document.getElementById('intro'));
+//--></script>