X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/2fbd3bccf439400b463a21788ea5999e11186c09..e98b059d1f6bbd6ac8ca06de152959536e4b98b0:/charset.plp diff --git a/charset.plp b/charset.plp index faeedc2..501e26c 100644 --- a/charset.plp +++ b/charset.plp @@ -4,7 +4,7 @@ use strict; use warnings; use open IO => ':utf8'; -our $VERSION = '1.0'; +our $VERSION = 'v1.0'; $header{content_type} = 'text/html; charset=utf-8'; @@ -13,8 +13,8 @@ $header{content_type} = 'text/html; charset=utf-8'; + charset cheat sheet - @@ -61,6 +61,11 @@ my @request = map { utf8::upgrade($row{table}); # prevent latin1 output $row{set} = sprintf 'Unicode block U+%02Xxx', $start >> 8; } + elsif ($input eq 'U') { + $row{table} = ' ' x 512; + $row{set} = 'Unicode planes'; + $row{cell} = do 'charset-ucplanes.inc.pl'; + } elsif ($row{set} = resolve_alias($input)) { if ($row{set} eq 'Internal') { $row{table} = ' ' x ($endpoint < 255 ? 640 : 4096); @@ -110,7 +115,7 @@ my @nibble = (0..9, 'A'..'F'); for my $row (@request) { printf '
  • ', !$row->{cell} && ' charmap'; printf '', $row->{set}; - print ''; + print '' x 17; for my $section (qw{thead}) { print "<$section>
    %s
    ↱"; print '', $_ for @nibble; @@ -135,6 +140,11 @@ for my $row (@request) { if (defined (my $mnem = $di{ord $glyph})) { $info = $diinfo->{$mnem}; } + else { + require Unicode::UCD; + my $fullinfo = Unicode::UCD::charinfo(ord $glyph); + $info = [@$fullinfo{qw/code name category script string/}] if $fullinfo; + } my ($codepoint, $name, $prop, $script, $string) = @$info; $glyph = quote($string || $glyph); @@ -198,15 +208,11 @@ print "\n";