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";
);
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";