abort messages with http error code
[sheet.git] / digraphs.plp
index 24eb8f5cee88a05c7cff1c8bb7e695eab1b8c63c..7106c7f6da3ad411472fdb0798b98b2f9f7a8ab1 100644 (file)
@@ -5,7 +5,7 @@ my $modename = $mode ? 'X.Org' : 'RFC-1345';
 
 Html({
        title => 'digraph cheat sheet',
-       version => '1.2',
+       version => '1.3',
        description => [
                "Complete table of digraph characters from $modename.",
        ],
@@ -39,7 +39,7 @@ say '<p class="aside">Unofficial <span class="u-l2">proposals</span>',
 
 <:
 my $di = do 'data/digraphs.inc.pl'
-       or die "Error loading digraphs data: ", $@ // $!;
+       or Abort("Error loading digraphs data", 501, $@ // $!);
 
 if (exists $get{v}) {
        # show characters for inverted mnemonics (vim alternatives)
@@ -60,11 +60,11 @@ my @columns = !exists $get{split} ? \@chars2 :
 
 if ($mode) {
        my $xorg = do 'data/digraphs-xorg.inc.pl'
-               or die "Error loading Xorg data: ", $@ // $!;
+               or Abort("Error loading Xorg data", 501, $@ // $!);
        $_ = [ord $_] for values %{$xorg};
        $xorg->{$_}->[2] = # class = compatibility
                $di->{$_} ? $di->{$_}->[0] != $xorg->{$_}->[0] ? 'l1' :  # conflict
-               $di->{$_}->[2] =~ /\bu-di\b/ ? 'l5' : 'l3' : 'l2'  # rfc|any|none
+               $di->{$_}->[2] eq 'l4' ? 'l5' : 'l3' : 'l2'  # rfc|any|none
                for keys %{$xorg};
 
        for my $cp (map {$_->[0]} values %{$xorg}) {
@@ -118,7 +118,8 @@ for my $c1group (@chars) {
                        my $glyph = $string || chr $codepoint;
                        utf8::upgrade($glyph);  # prevent latin1 output
                        my $desc = $mnem . ($name && " ($name)");
-                       my @class = ('X', grep {$_} $support && "u-$support", $script);
+                       my @class = ('X', grep {$_} $script);
+                       push @class, $mode ? $support : "u-$support" if $support;
 
                        $glyph = EscapeHTML($glyph);
                        $glyph = "<span>$glyph</span>" if $script =~ /\bZs\b/;