tools: validate utf8 encoding in stdin/out
[sheet.git] / tools / mkdigraphs-plan9
index 54b8b3c059aa57a8587a4ad33b4d25a6a9b27008..41615efc16f49dbd11f17091f00a55b7012bac8f 100755 (executable)
@@ -2,10 +2,10 @@
 use 5.014;
 use warnings;
 use utf8;
-use open IO => ':utf8', ':std';
+use open IO => ':encoding(utf-8)', ':std';
 use Data::Dump 'pp';
 
-our $VERSION = '1.00';
+our $VERSION = '1.01';
 
 # translation table for deprecated code points
 my %replace = (
@@ -23,8 +23,9 @@ say "# automatically generated by $0";
 say 'use utf8;';
 say '+{';
 while ($_ = readline) {
-       my ($chrhex, $mnems, $sample, $name) = m{\A([0-9A-F]{4})  (.{11}) (.)\t(.*)}i
+       my ($chrhex, $mnems, $sample, $name) = m{\A([0-9A-F ]{5}) (.{11}) (.)\h(.*)}i
                or warn("syntax error on line $.: $_"), next;
+       $chrhex =~ s/ $//;
        my $chrnum = hex $chrhex;
        my $chr = chr $chrnum;
        $chr eq $sample