writing: 6 new indian digit sets introduced in unicode v5.1
[sheet.git] / rfc1345convert
index f93275348360e0970948d38a731513efc64dea17..4fd3940d011a212a2a53c0b7eb600ff22de74573 100755 (executable)
@@ -2,6 +2,7 @@
 
 use strict;
 use warnings;
+use utf8;
 
 use open OUT => ':utf8', ':std';
 use Data::Dumper;
@@ -109,7 +110,7 @@ my @extra;
 if (-r 'shiar.inc.txt') {
        open my $include, '<:utf8', 'shiar.inc.txt';
        for (readline $include) {
-               m{^([!"%'-Z_a-z]{2}) (.)} or next;
+               m{^(\$?[!"%'-Z_a-z]{2}) (.)} or next;
                warn("$1 already defined"), next if defined $di{$1};
                $di{$1} = ord $2;
                push @extra, $1;
@@ -149,6 +150,10 @@ for (keys %di) {
        # show descriptive symbols instead of control chars themselves
        $info{$_}->{string} = $di{$_} < 32 ? chr($di{$_} + 0x2400) : chr(0xFFFD);
 }
+# presentational string for some control(lish) entries
+$info{$_}->{string} = '-' for grep { $di{$_} == 0x00AD } keys %di;
+$info{$_}->{string} = '→' for grep { $di{$_} == 0x200E } keys %di;
+$info{$_}->{string} = '←' for grep { $di{$_} == 0x200F } keys %di;
 
 # convert info hashes into arrays of strings to output in display order
 for my $row (values %info) {