digraphs: reclassify vim support levels
[sheet.git] / tools / mkdigraphlist
index 2e6c9191f46414ee7533efa6d97796b846db2783..ab0c2f95ad201344672794a94449b6268cfa3c80 100755 (executable)
@@ -6,7 +6,7 @@ use utf8;
 
 use open OUT => ':utf8', ':std';
 
-our $VERSION = '1.05';
+our $VERSION = '1.06';
 
 # import and combine various digraph data
 my $rfc = do 'data/digraphs-rfc.inc.pl'
@@ -30,14 +30,14 @@ printf '(map {$_=>0} qw{%s}),'."\n", join(' ',
        grep { !defined $di->{$_} }
        map { substr($_, 1, 1).substr($_, 0, 1) } sort keys %{$di}
 );
-printf "q{%s}=>[%s],\n", $_, join(',',
+printf "q{%s}=>[%s],\n", s/(?=[\\}])/\\/gr, join(',',
        ord $di->{$_},   # original code point
        map {"'$_'"}
-       $uninfo->{ $di->{$_} }->[1],  # name
-       $vim->{$_}
-               ? $rfc->{$_} ? 'u-di' : 'u-prop'  # vim+rfc or vim-only
-               :              'u-prop ex',  # neither
-       $uninfo->{ $di->{$_} }->[0] =~ s/ u-di| u-prop| ex//gr,  # class
+       $uninfo->{ $di->{$_} }->[1] // '',  # name
+       $rfc->{$_}
+               ? $vim->{$_} ? 'l4' : 'l1'  # vim+rfc or rfc only
+               : $vim->{$_} ? 'l3' : 'l2',  # vim only or neither
+       ($uninfo->{ $di->{$_} }->[0] // '') =~ s/ u-di| u-prop| ex//gr,  # class
        $uninfo->{ $di->{$_} }->[4] // (),  # string
 ) for sort keys %{$di};
 print "}\n";