X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/451bf471d1e1b84e74eae3683a433f2d4a979d13..HEAD:/latin.plp diff --git a/latin.plp b/latin.plp index f8472d7..578d858 100644 --- a/latin.plp +++ b/latin.plp @@ -2,65 +2,121 @@ Html({ title => 'latin alphabet cheat sheet', - version => 'v1.0', + 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', - latfsuet => 'Sütterlin', - ase => 'ASL shapes', - brai => 'Braille', - morse => 'Morse', -); +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"; +:> + +