digraphs: separate rfc parser from include generator
[sheet.git] / tools / mkfontinfo
index f5b503c53071d9ffcc3586cef4dc85bb4baa2adb..deada09937691bd4e94aa7676e86ddb5b7a1153e 100755 (executable)
@@ -35,6 +35,7 @@ if ($chartables) {
                                $includerows ||= m/^[.]/ or next;
                                next if /^[.-]/;
                                next if $_ eq '>' or $_ eq '=';
+                               s/^\\//;  # escape
                                push @{ $charlist{table}->{"$tablegroup/$tablename"} }, $_;
                                push @{ $charlist{table}->{$tablegroup} }, $_;
                        }
@@ -45,6 +46,17 @@ if ($chartables) {
        }
 }
 
+eval {
+       require HTML::Entities;
+       our %char2entity;
+       HTML::Entities->import('%char2entity');
+       while (my ($char, $entity) = each %char2entity) {
+               $entity =~ /[a-zA-Z]/ or next;  # only actual aliases
+               push @{ $charlist{table}->{html} }, $char;
+       }
+       1;
+} or warn "Could not include count for html entities: $@";
+
 use Unicode::UCD 'charinfo';
 for my $code (0 .. 256**2) {
        my $charinfo = charinfo($code) or next;
@@ -84,6 +96,7 @@ for my $chars (values %{$_}) {
 }
 }
 
+say "# automatically generated by $0";
 say 'use utf8;';
 say '+'.pp(\%charlist);