state $ALIAS = {
default => [qw( u+0-639 utf-8+realsize iso-8859-1 iso-8859-15 cp1252 cp437 cp850 )],
- unicode => [qw( uu+cols=32 u+0-4095 u+4096-6319 u+6320-8191 )],
+ unicode => [qw( uu+cols=32+realsize u+0-4095 u+4096-6319 u+6320-8191 )],
us => [qw( cp437 cp863 gsm0338 AdobeStandardEncoding )],
ebcdic => [qw( cp37 cp500 cp1047 posix-bc cp1026 cp875 )],
iso => [map {"iso-8859-$_"} 1 .. 11, 13 .. 16],
next;
}
+ my $cp = $offset + $row->{offset};
my $glyph = ref $row->{table} eq 'ARRAY' ? $row->{table}->[$offset] :
substr $row->{table}, $offset, 1;
- if ($glyph eq $NOCHAR) {
- print '<td>';
- next;
- }
+ my ($cell, $name, $class) = $glyph eq $NOCHAR ? () :
+ $glyphs->glyph_html($glyph);
if (exists $get{compare}) {
state $visible = {};
- my $cp = $offset + $row->{offset};
- printf '<td class="%s" title="%3$s">%2$s',
+ $class = (
$cp == ord $glyph ? 'l4' :
$row->{parent} && $glyph eq
Encode::decode($row->{parent}, pack 'C', $cp) ? 'l3' :
+ !$class ? undef :
$visible->{$glyph} ? 'l2' :
- 'l1',
- $glyphs->glyph_html($glyph);
+ 'l1'
+ );
$visible->{$glyph}++;
- next;
}
- say $glyphs->glyph_cell($glyph);
+ say sprintf $class ? '<td title="%s" class="X %s">%s' : '<td title="%s">',
+ $name, $class, $cell;
}
continue {
$offset += $colsize;