return $_;
}
-my @chars = ((map {chr} ord '!' .. ord 'Z'), 'a'..'z');
-splice @chars, $_, 1, () for 2, 3-1, 5-2, 31-3; # remove character exceptions # $ & @
-my @chars2 = (@chars, '_'); # trailing character (extended set)
+my @chars = (
+ [qw{! " % ' ( ) * + , - . /}],
+ ['0'..'9'], [qw{: ; < = > ?}],
+ ['A'..'M'], ['N'..'Z'],
+ ['a'..'m'], ['n'..'z'],
+);
+my @chars2 = (@chars, ['_']); # trailing character (extended set)
-print '<table>';
+print '<table><col>';
+print qq'<colgroup span="$_">' for map {scalar @$_} @chars2;
+print "\n";
for my $section (qw{thead tfoot}) {
print "<$section><tr><th> ";
- print "<th>$_" for @chars2;
+ print "<th>$_" for map {@$_} @chars2;
}
-print '<tbody>';
-for my $c1 (@chars) {
- print "<tr><th>$c1";
- for my $c2 (@chars2) {
- my $mnem = $c1 . $c2;
- if (not defined $di->{$mnem}) {
- print '<td>';
- next;
- }
- my ($codepoint, $name, $prop, $script) = @{ $di->{$mnem} };
+for my $c1group (@chars) {
+ print '<tbody>';
+ for my $c1 (@$c1group) {
+ print "<tr><th>$c1";
+ for my $c2 (map {@$_} @chars2) {
+ my $mnem = $c1 . $c2;
+ if (not defined $di->{$mnem}) {
+ print '<td>';
+ 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);
+ 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 = "<span>$glyph</span>" if $prop eq 'Zs';
+ $glyph = quote($glyph);
+ $glyph = "<span>$glyph</span>" if $prop eq 'Zs';
- printf "\n".'<td class="%s" title="%s">%s',
- join(' ', @class), quote($desc), $glyph;
+ printf "\n".'<td class="%s" title="%s">%s',
+ join(' ', @class), quote($desc), $glyph;
+ }
+ print "\n<th>$c1\n";
}
- print "\n<th>$c1\n";
}
print "</table>\n";
:>
</table>
</div>
-<p class="footer">
+<p id="footer">
<a href="http://vi.shiar.net/digraphs">vi.<strong>shiar.net</strong>/digraphs</a>
<a href="git://dev.shiar.net/vi-cheat"><:= "v$VERSION" :></a>
created by Shiar •