$c1";
+ for my $c2 (map {@$_} @chars2) {
+ my $mnem = $c1 . $c2;
+ if (not defined $di->{$mnem}) {
+ print ' | ';
+ next;
+ }
+ if (ref $di->{$mnem} ne 'ARRAY') {
+ printf ' | ', quote($mnem);
+ next;
+ }
+ my ($codepoint, $name, $prop, $script) = @{ $di->{$mnem} };
+
+ my $glyph = chr $codepoint;
+ utf8::upgrade($glyph); # prevent latin1 output
+ my $desc = $mnem . ($name && " ($name)");
+ my @class = ('X', grep {$_} $prop, $script);
+
+ $glyph = quote($glyph);
+ $glyph = "$glyph" if $prop eq 'Zs';
+
+ printf "\n".' | %s',
+ join(' ', @class), quote($desc), $glyph;
}
- my $chr = $di->{$mnem};
- my $glyph = chr $chr;
- utf8::upgrade($glyph); # prevent latin1 output
- my $info = charinfo($chr);
-
- my $desc = $mnem;
- $desc .= " ($_)" for $info->{name} || ();
-
- my @class = 'X';
- push @class, $_ for $info->{category} || ();
- push @class, $_ for $info->{script} || ();
-
- $glyph = quote($glyph);
- $glyph = "$glyph" if $info->{category} eq 'Zs';
-
- printf "\n".' | %s',
- join(' ', @class), quote($desc), $glyph;
+ print "\n | $c1\n";
}
- print "\n | $c1\n";
}
print " |
---|