X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/c74ecf690c0c9047a11049d629a791de47857b53..be46753aff7814c37fd21b8117fd77de1d3edc39:/unicode.plp diff --git a/unicode.plp b/unicode.plp index 8dfe132..5e0327e 100644 --- a/unicode.plp +++ b/unicode.plp @@ -59,7 +59,6 @@ sub glyph_table { my $colspan = 1; for my $cell (@$digraphs) { - my $class; if ($cell =~ s/^\.//) { # dot indicates start of a new row push @rows, ''; @@ -80,30 +79,37 @@ sub glyph_table { my $name = $diinfo->{$code}->[1]; # determine display class - if ($cell =~ s/^-//) { -# $class = 'Empty'; + my @class; + if ($cell eq '-') { + $cell = ''; } elsif ($cell eq '=') { - $class = 'Reserved'; + push @class, 'di-invalid'; $cell = ''; } - elsif ($cell =~ /[ -~]/) { - $class = 'Ascii'; - } - elsif (not $code) { - $class = 'DiNone'; - } - elsif ($diinfo->{$code}->[2] =~ /\bXz\b/) { - $class = 'DiProp'; - } else { - $class = 'Di'; + if ($cell =~ s/^-//) { + push @class, 'di-rare'; # discouraged + } + + if ($code) { + push @class, 'di-d'; # digraph + push @class, 'di-prop' # unofficial + if $diinfo->{$code}->[2] =~ /\bXz\b/; + } + + if ($cell =~ /[ -~]/) { + push @class, 'di-a'; # ascii + } + else { + push @class, 'di-b'; # basic unicode + } } # add cell html $rows[-1] .= sprintf('%s%s', defined $name ? qq{ title="$name"} : '', - defined $class ? qq{ class="$class"} : '', + @class ? sprintf(' class="%s"', join ' ', @class) : '', $colspan > 1 && qq{ colspan="$colspan"}, $cell eq '' ? ' ' : quote($cell), $code ne '' ? sprintf(' %s', quote($code))