X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/18325ec6055ddf18ea291a4aaca8e486c7a93f47..1b2d8f7fa043a5fe5887153533c49acdc218c5e3:/charset.plp diff --git a/charset.plp b/charset.plp index 119d410..9ab15f1 100644 --- a/charset.plp +++ b/charset.plp @@ -98,6 +98,7 @@ sub tabinput { state $visible = {'' => 1}; # all present tables my %row = (offset => 0, cols => 16); + $row{$_} = $charset->{$_} for qw( note ); # copy metadata if (not defined $params) { my @parents = @{ $charset->{inherit} || [] }; @@ -132,7 +133,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 { @@ -291,8 +292,8 @@ for my $row (@request) { printf '
', !$row->{cell} && ' charmap'; my $title = $row->{set}; - $title .= " " - for $row->{parent} || (); + $title .= " " for $row->{parent} || (); + $title .= " " for $row->{note} || (); printf '', $title; print '' x ($cols + 1); for my $section (qw{thead}) { @@ -303,13 +304,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 '
%s
'; - if (defined $row->{skip}->{$offset}) { + if (defined $row->{skip}->{$offset + $row->{offset}}) { print '⋮'; } else { @@ -342,7 +343,7 @@ for my $row (@request) { $cp == ord $glyph ? 'l4' : $row->{parent} && $glyph eq Encode::decode($row->{parent}, pack 'C', $cp) ? 'l3' : - !$class ? undef : + !defined $cell ? undef : $visible->{$glyph} ? 'l2' : 'l1' );