X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/57d7837d68c29e4e70f8eeff74c4414652026c3d..68f17e8677688380e144e379ce5ae7a08d0a7c44:/charset.plp diff --git a/charset.plp b/charset.plp index c924d5e..49f2d50 100644 --- a/charset.plp +++ b/charset.plp @@ -14,7 +14,7 @@ Html({ charset codepage unicode ascii utf8 latin glyph character encoding reference common overview table '], - stylesheet => [qw'light'], + (stylesheet => [qw'light']) x !$mode, data => [qw( charset-encoding.inc.pl charset-unicode.inc.pl charset-ucplanes.inc.pl charset-utf8.inc.pl @@ -55,6 +55,7 @@ print join " •\n", ( dos => 'DOS', mac => 'Apple', ebcdic => 'EBCDIC', + legacy => 'legacy', $tablist[0] eq 'default' ? () : ('' => 'common'), ], [ @@ -131,7 +132,7 @@ sub tabinput { # extend earlier range my $skip = int(($row{endpoint} || $row{startpoint}) / $row{cols}); for ($skip + 1 .. (hex($+{start}) / $row{cols}) - 1) { - $row{skip}->{ $_ * $row{cols} - $row{startpoint} }++; + $row{skip}->{ $_ * $row{cols} }++; } } else { @@ -153,7 +154,7 @@ sub tabinput { if (defined $row{table} or defined $row{cell}) { $row{set} //= $input; } - elsif ($row{set} = Encode::resolve_alias($input)) { + elsif ($row{set} = Encode::resolve_alias($charset->{set} // $input)) { $row{offset} = delete $row{startpoint}; if ($charset->{varchar}) { # array of possibly multiple characters per code point @@ -169,6 +170,7 @@ sub tabinput { $row{endpoint} -= $row{offset}; $visible->{ascii}++; # assume common base + $row{set} = $input if $charset->{set}; # base override } else { Alert("Encoding $input unknown"); @@ -301,13 +303,13 @@ for my $row (@request) { print ''; while ($offset <= $row->{endpoint} * $colsize) { - if ($row->{skip}->{$offset}) { + if ($row->{skip}->{$offset + $row->{offset}}) { $offset += $cols * $colsize; next; } print ''; - if (defined $row->{skip}->{$offset}) { + if (defined $row->{skip}->{$offset + $row->{offset}}) { print '⋮'; } else { @@ -347,7 +349,7 @@ for my $row (@request) { $visible->{$glyph}++; } - print '%s', $class, $cell) : '>'; } continue {