From: Mischa POSLAWSKY Date: Tue, 3 Apr 2012 00:43:03 +0000 (+0200) Subject: unicode: distinguish proposed digraphs again X-Git-Tag: v1.5~22 X-Git-Url: http://git.shiar.nl/sheet.git/commitdiff_plain/1272e1a4a2422b0880f585fe1143f749c7472db6 unicode: distinguish proposed digraphs again Parse digraphs.inc.pl classes for Xz for now. --- diff --git a/font.plp b/font.plp index 4cc99c9..819bae7 100644 --- a/font.plp +++ b/font.plp @@ -129,7 +129,7 @@ for my $chr (@chars) { my ($class, $name, $mnem, $html, $string) = @$info; print "$_" for sprintf('%X', $codepoint), EscapeHTML($name || '?'); printf '%s', @$_ for ( - [$ascii ? 'l0' : defined $mnem ? 'l4' : 'l1', $mnem // ''], + [$ascii ? 'l0' : defined $mnem ? $class =~ /\bu-di\b/ ? 'l4' : 'l3' : 'l1', $mnem // ''], [$ascii ? 'l0' : defined $html ? 'l4' : 'l1', $html // ''], (map { !$font{$_}->{-id} ? [l0 => '?'] : diff --git a/tools/convert-unicode.pl b/tools/convert-unicode.pl index 98c8ca7..51e27cd 100755 --- a/tools/convert-unicode.pl +++ b/tools/convert-unicode.pl @@ -47,9 +47,14 @@ for (keys %diinc) { my $di = do $_ or die "Error reading digraphs file $_: ", $@ || $!; while (my ($mnem, $cp) = each %$di) { length $mnem == 2 or next; # limit to digraphs - $cp = chr $cp->[0] if ref $cp; # old style array + my $class = $diinc{$_}; + if (ref $cp) { + # old style array + $class = 'u-prop' if $cp->[2] and $cp->[2] =~ m/\bXz\b/; + $cp = chr $cp->[0]; + } $info{$cp}->{di} //= $mnem; - $info{$cp}->{class}->{$_}++ for $diinc{$_}; + $info{$cp}->{class}->{$class}++; } }