From: Mischa POSLAWSKY Date: Sun, 22 Feb 2015 01:15:32 +0000 (+0100) Subject: digraphs: mkdigraphlist: inline conversion of character details X-Git-Tag: v1.7~104 X-Git-Url: http://git.shiar.nl/sheet.git/commitdiff_plain/e2336d39165c9ae0c84618f4efb2ae30d1bd5807 digraphs: mkdigraphlist: inline conversion of character details --- diff --git a/tools/mkdigraphlist b/tools/mkdigraphlist index 0714a2b..8a05fa4 100755 --- a/tools/mkdigraphlist +++ b/tools/mkdigraphlist @@ -23,13 +23,6 @@ $di = { %{$vim // {}}, %{$di}, %{$extra // {}} }; my $uninfo = do 'unicode-char.inc.pl' or warn "could not include unicode details: ", $@ // $!; -# convert info hashes into arrays of strings to output in display order -for my $row (values %{$uninfo}) { - my ($class, $name, $di, $html, $string) = @{$row}; - $row = [$name, $class]; - push @{$row}, '', $string if defined $string; -} - # output perl code of hash # (assume no backslashes or curlies, so we can just q{} w/o escaping) print "# automatically generated by $0\n"; @@ -41,7 +34,10 @@ printf '(map {$_=>0} qw{%s}),'."\n", join(' ', ); printf "q{%s}=>[%s],\n", $_, join(',', $di->{$_}, # original code point - (map {"'$_'"} @{ $uninfo->{ chr $di->{$_} } // [] }), # optional additional arguments + map {"'$_'"} + $uninfo->{ chr $di->{$_} }->[1], # name + $uninfo->{ chr $di->{$_} }->[0], # class + (map {('', $_)} $uninfo->{ chr $di->{$_} }->[4] // ()), # string ) for sort keys %{$di}; print "}\n";