X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/326fbcf9ca9db5fe6c04fe555093ace1076d12ab..HEAD:/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 '', $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 "
', $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 '
\n"; } -:>
- +:> - +