X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/7d1044e5e4df51459cafb742090ce62b52d9e087..0521f436ed93fcfee1073656b425522cef34b204:/rfc1345convert diff --git a/rfc1345convert b/rfc1345convert index 412bac1..c5a3e80 100644 --- a/rfc1345convert +++ b/rfc1345convert @@ -77,9 +77,23 @@ for (values %info) { # mark unofficial extras as such $info{$_}->{category} .= ' Xz' for @extra; +for (keys %di) { + # find control characters (first 32 chars from 0 and 128) + next if $di{$_} & ~0b1001_1111; + # rename to something more descriptive + $info{$_}->{name} = $info{$_}->{unicode10} + ? '<'.$info{$_}->{unicode10}.'>' # the old name was much more useful + : sprintf('', $di{$_}); # at least identify by value + # show descriptive symbols instead of control chars themselves + $di{$_} += 0x2400 if $di{$_} < 32; +} + # output perl code of hash # (assume no backslashes or curlies, so we can just q{} w/o escaping) -print "{\n"; +print "+{\n"; +printf '(map {$_=>0} qw{%s}),'."\n", join(' ', + map { substr($_, 1, 1).substr($_, 0, 1) } sort keys %di +); printf "q{%s}=>[%s],\n", $_, join(',', $di{$_}, # glyph code point $info{$_} # optional additional arguments