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;