X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/b5770997564659fc6a205c774152f6f41d8d1832..14f601eca298322aba783e465d345e13f31705ed:/unicode.plp?ds=sidebyside
diff --git a/unicode.plp b/unicode.plp
index cc133d5..bcfebd1 100644
--- a/unicode.plp
+++ b/unicode.plp
@@ -5,7 +5,7 @@ use warnings;
no warnings 'qw'; # that's not a comment, it's a NUMBER SIGN
use open IO => ':utf8';
-our $VERSION = '1.0';
+our $VERSION = 'v1.0';
$header{content_type} = 'text/html; charset=utf-8';
@@ -16,7 +16,13 @@ $header{content_type} = 'text/html; charset=utf-8';
digraph cheat sheet
-
+<:
+ my %styles = map {$_ => $_} qw(dark circus mono red terse);
+ our $style = exists $get{style} && $styles{$get{style}} || 'light';
+ printf(qq{\n},
+ $_ eq $style ? 'stylesheet' : 'alternate stylesheet', "$_.css", $_
+ ) for keys %styles;
+:>
@@ -75,8 +81,7 @@ sub glyph_table {
next;
}
- my $code = join '', map { $di{ord $_} || '' } split //, $cell;
- my $name = $diinfo->{$code}->[1];
+ my ($code, $name);
# determine display class
my @class;
@@ -92,11 +97,18 @@ sub glyph_table {
push @class, 'di-rare'; # discouraged
}
- if ($code) {
+ $code = join '', map { $di{ord $_} || '' } split //, $cell;
+ $name = $diinfo->{$code}->[1];
+ length $code == 2 or undef $code;
+
+ if (defined $code) {
push @class, 'di-d'; # digraph
push @class, 'di-prop' # unofficial
if $diinfo->{$code}->[2] =~ /\bXz\b/;
}
+ elsif (defined $name) {
+ push @class, 'X';
+ }
if ($cell =~ /[ -~]/) {
push @class, 'di-a'; # ascii
@@ -112,7 +124,7 @@ sub glyph_table {
@class ? sprintf(' class="%s"', join ' ', @class) : '',
$colspan > 1 && qq{ colspan="$colspan"},
$cell eq '' ? ' ' : quote($cell),
- $code ne '' ? sprintf(' %s', quote($code))
+ defined $code ? sprintf(' %s', quote($code))
: length($cell) == 1 && $cell !~ /[a-z]/
? sprintf(' %04X', 'value', ord $cell)
: '',
@@ -280,15 +292,11 @@ print_glyph_tables(