unicode: colourise different character classes
[sheet.git] / unicode.plp
index acca2b9d9fee2f9e8adae01e6ae1a25fad82ead3..2d5b54c8a58812f010a9e30dca9fe820a47b9b11 100644 (file)
@@ -32,20 +32,33 @@ tbody {
 h2, h3 {
        clear: both;
 }
+h2 {
+       margin: 0 1ex;
+       font-size: 100%;
+}
 
 th {
        text-align: left;
        font-size: 50%;
        background: #888;
+       background: #778;
+       background: #889;
        color: #FFF;
        padding: 0 0.2em;
 }
+th, td {
+       border-color: #778;
+       border: 1px solid #888;
+}
 thead td {
        border: 0;
+       background: transparent;
+}
+thead th {
+       text-align: center;
 }
 
 td {
-       background: transparent;
        vertical-align: top;
        margin: 0;
        padding: 0;
@@ -58,17 +71,18 @@ small {
 small.digraph {
        background: #888;
        color: #FFF;
+
+       background: #000;
+       color: #FFF;
+       opacity: 0.3;
 }
 small.value {
        background: #CCC;
        color: #666;
-}
 
-td.empty {
-       background: #DDD;
-}
-td.reserved {
-       background: #BBB;
+       background: #800;
+       color: #FFF;
+       opacity: 0.3;
 }
 </style>
 </head>
@@ -109,16 +123,29 @@ sub table {
                        $colspan++;
                        next;
                }
-               elsif ($cell =~ s/^-//) {
-                       $class = 'empty';
+
+               my $code = join '', map { $di{ord $_} || '' } split //, $cell;
+               my $name = $diinfo->{$code}->[1];
+
+               if ($cell =~ s/^-//) {
+#                      $class = 'Empty';
                }
                elsif ($cell eq '=') {
-                       $class = 'reserved';
+                       $class = 'Reserved';
                        $cell = '';
                }
-
-               my $code = join '', map { $di{ord $_} || '' } split //, $cell;
-               my $name = $diinfo->{$code}->[1];
+               elsif ($cell =~ /[ -~]/) {
+                       $class = 'Ascii';
+               }
+               elsif (not $code) {
+                       $class = 'DiNone';
+               }
+               elsif ($diinfo->{$code}->[2] =~ /\bXz\b/) {
+                       $class = 'DiProp';
+               }
+               else {
+                       $class = 'Di';
+               }
 
                $rows[-1] .= sprintf('<td%s%s%s>%s%s',
                        defined $name  ? qq{ title="$name"}  : '',