X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/afa53ab113bf964118ca288ad4dc28784b00cc4b..HEAD:/latin.plp diff --git a/latin.plp b/latin.plp index 6be7f9f..578d858 100644 --- a/latin.plp +++ b/latin.plp @@ -2,66 +2,121 @@ Html({ title => 'latin alphabet cheat sheet', - version => 'v1.1', + version => '1.7', description => [ ], keywords => [qw' latin roman alphabet script letter unicode font glyph abc - writing comparison character sample test language spelling - cursive fraktur blind deaf + code encoding spelling symbol writing comparison character + secret cursive fraktur blind braille morse deaf asl hand + barcode bar color semaphore flag '], - stylesheet => [qw'light dark red'], + stylesheet => [qw( light dark red mono )], data => ['writing-latn.inc.pl'], }); :>

Latin alphabet

-

Also see other alphabets -and common chars.

- -
+

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

<: -use Shiar_Sheet::FormatChar; -my $glyphs = Shiar_Sheet::FormatChar->new; -unless (exists $get{v}) { - $glyphs->{unicode}--; - $glyphs->{anno} = []; - $glyphs->{style} = 0; +my $table = Data('writing-latn'); +{ + say '
'; + say '\n"; } -my %scriptname = ( - latn => 'Latin', - latnuc => 'Uppercase', - latnlc => 'Lowercase', - latfsuet => 'Sütterlin', - asl => 'ASL', # American manual alphabet - brai => 'Braille', - morse => 'Morse', - tap => 'Tap code', - taps => 'Tap simplified', - ics => 'Maritime flags', # International Code of Signals -); +my %VOWELCOLS = (map { ($_ => 1) } 0, 4, 8, 14, 20, 24); +say ''; +say ''; +printtr('order'); +say ''; +printtr('default'); +say "
"; -my @table = do 'writing-latn.inc.pl'; -if ($! or $@) { - printf "

Table data not found: %s.

\n", $@ || $!; -} -else { - print $glyphs->table([map { - ref $_ ne 'ARRAY' ? ".>$scriptname{$_}" - : exists $get{uc} ? map {uc} @$_ : @$_ - } @table]); +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 (@{ $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; + } + printf ' class="%s"', "@class" if @class; + print '>'; + say; + } + } } -print "
\n"; +:> + +