X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/cedae5e24d6b2e849262c4a921570fdc7cb8a44a..a3fad23d030ff035fc47cb4a2a929fad5b0d2831:/tools/mkcharinfo diff --git a/tools/mkcharinfo b/tools/mkcharinfo index 1cac30a..dfcd13d 100755 --- a/tools/mkcharinfo +++ b/tools/mkcharinfo @@ -48,12 +48,14 @@ eval { my %diinc = ( 'data/digraphs-rfc.inc.pl' => 'u-di', - 'data/digraphs-shiar.inc.pl' => 'u-prop Xz', + 'data/digraphs-shiar.inc.pl' => 'u-prop ex', + 'data/digraphs-vim.inc.pl' => 'u-prop', ); -for (keys %diinc) { +for (sort keys %diinc) { -e $_ or next; my $di = do $_ or die "Error reading digraphs file $_: ", $@ || $!; - while (my ($mnem, $cp) = each %$di) { + for my $mnem (sort keys %{$di}) { + my $cp = $di->{$mnem}; length $mnem == 2 or next; # limit to digraphs my $class = $diinc{$_}; $info{chr $cp}->{di} //= $mnem; @@ -82,6 +84,10 @@ for my $chr (keys %info) { $info->{$_} = $info{$chr}->{$_} for keys %{ $info{$chr} }; + # official digraphs either lose vim flag or gain experimental + delete $info->{class}->{'u-prop'} or $info->{class}->{ex}++ + if $info->{class}->{'u-di'}; + # categorise by unicode types and writing script $info->{class}->{$_}++ for $info->{category}; $info->{class}->{$_}++ for $info->{script} || ();