X-Git-Url: http://git.shiar.net/sheet.git/blobdiff_plain/da6412649ab7efbaf241335385c169d14726b54d..038fe5ca52455d64865054bc1ccae57c0e9e4c79:/charset.plp?ds=sidebyside
diff --git a/charset.plp b/charset.plp
index ca38182..3be6a96 100644
--- a/charset.plp
+++ b/charset.plp
@@ -78,7 +78,7 @@ sub tabinput {
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],
@@ -388,7 +388,7 @@ sub range_cell {
$attr .= $1 if $class and $class =~ s/( \w+="[^"]*")//;
$attr .= sprintf ' class="%s"', $class if $class;
$attr .= sprintf ' title="%s"', EscapeHTML($title) if $title;
- return "
$name";
+ return " | $name\n";
}
for my $row (@request) {
@@ -431,39 +431,39 @@ for my $row (@request) {
printf '%X', ($offset + $row->{offset}) / $rowdiv;
}
}
+ say '';
+
for (1 .. $cols) {
if ($row->{cell}) {
print range_cell($row, $offset);
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 ' | ';
- next;
- }
+ my ($cell, $name, $class) = $glyph eq $NOCHAR ? () :
+ $glyphs->glyph_html($glyph);
if (exists $get{compare}) {
state $visible = {};
- my $cp = $offset + $row->{offset};
- printf ' | %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;
}
- print "\n".$glyphs->glyph_cell($glyph);
+ say sprintf $class ? ' | %s' : ' | ',
+ $name, $class, $cell;
}
continue {
$offset += $colsize;
}
- print "\n";
}
say '';
}
|