X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/326fbcf9ca9db5fe6c04fe555093ace1076d12ab..v1.14-7-ge90c9ada43:/latin.plp
diff --git a/latin.plp b/latin.plp
index 7f94ebf..578d858 100644
--- a/latin.plp
+++ b/latin.plp
@@ -2,7 +2,7 @@
Html({
title => 'latin alphabet cheat sheet',
- version => '1.3',
+ version => '1.7',
description => [
],
keywords => [qw'
@@ -17,76 +17,9 @@ Html({
:>
@@ -110,45 +47,76 @@ or 'mercan) letters AâZ.
Also see related alphabets
and font comparison.
-
-
<:
-use List::Util qw( pairs );
-
-my @table = do 'writing-latn.inc.pl';
-if ($! or $@) {
- Alert("Table data not found", $@ || $!);
+my $table = Data('writing-latn');
+{
+ say '
';
+ say '\n";
}
-else {
- say '
';
- for my $row (pairs @table) {
- my ($title, $cells) = @{$row};
- printf '', (lc $title) =~ s/<[^>]+>//gr =~ s/\s+/-/gr;
- say '', $title;
+
+my %VOWELCOLS = (map { ($_ => 1) } 0, 4, 8, 14, 20, 24);
+say '';
+say '';
+printtr('order');
+say '';
+printtr('default');
+say " ";
+
+sub printtr {
+ for my $id (@_) {
+ my $info = $table->{$id};
+
+ if (ref $info eq 'ARRAY') {
+ printtr(@{$info});
+ next;
+ }
+
+ printf ' |
', $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++;
next;
}
+ my @class;
+ push @class ,'l0' if $VOWELCOLS{$col - $colspan};
+ push @class, $_ ? 'ex' : 'u-invalid' if s/^-//;
+
print "\t 26) {
+ # special character for sample generation
+ print ' hidden'; # sample only
+ }
+ else {
+ print ' title=', chr($col + ord('A') - $colspan);
+ }
if ($colspan > 1) {
print " colspan=$colspan";
$colspan = 1;
}
- print ' hidden' if $col > 26; # sample only
- print ' class=', $_ ? 'ex' : 'u-invalid' if s/^-//;
+ printf ' class="%s"', "@class" if @class;
print '>';
say;
}
}
- say " |
\n";
}
-:>
-
+:>
-
+