if (my ($parent, $part) = pairfirst { defined $visible->{$a} } @parents) {
$row{parent} = $parent;
- $params = $visible->{$parent} ? $part : 128;
+ $params = $part;
+ $params = 128 unless $visible->{$parent}
+ or ($input eq 'MacCroatian' and defined $visible->{MacRomanian});
}
elsif (defined $visible->{ascii}) {
- $row{parent} = $parents[0] || 'ascii';
+ $row{parent} = $parents[0];
$params = $parents[1] || 128;
$params = 128 if $params >= 128; # ascii offset at most
}
next;
}
+ if (exists $get{compare}) {
+ state $visible = {};
+ my $cp = $offset + $row->{offset};
+ printf '<td class="%s" title="%3$s">%2$s',
+ $cp == ord $glyph ? 'l4' :
+ $row->{parent} && $glyph eq
+ Encode::decode($row->{parent}, pack 'C', $cp) ? 'l3' :
+ $visible->{$glyph} ? 'l2' :
+ 'l1',
+ $glyphs->glyph_html($glyph);
+ $visible->{$glyph}++;
+ next;
+ }
+
print "\n".$glyphs->glyph_cell($glyph);
}
continue {