X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/5ea795d4f04b3fd605c4dfcf547e1969f1eb39be..9ab0df43bbb8c43a31403d7e6810588e9de08da3:/tools/mkdigraphs-xorg?ds=inline
diff --git a/tools/mkdigraphs-xorg b/tools/mkdigraphs-xorg
index 4d25445..ec88309 100755
--- a/tools/mkdigraphs-xorg
+++ b/tools/mkdigraphs-xorg
@@ -9,7 +9,7 @@ use JSON 'decode_json';
use Data::Dump 'pp';
use Shiar_Sheet::FormatChar;
-our $VERSION = '1.01';
+our $VERSION = '1.02';
my $matchvim; # enable to prefer best compatibility
@@ -42,10 +42,15 @@ while ($_ = readline) {
my ($class, $name, undef, undef, $string) = @{
Shiar_Sheet::FormatChar->glyph_info($cp)
};
+ my $reverse = substr($mnem, 1, 1) . substr($mnem, 0, 1);
+ my $cmp = $vidi->{key}->{$mnem};
+ my $cmpalt = defined $cmp && !$cmp && $vidi->{key}->{$reverse};
my $comparison = (
- !$vidi->{key}->{$mnem} ? 'l3' : # free
- $vidi->{key}->{$mnem}->[0] != $cp ? 'l1' : # conflict
- $vidi->{key}->{$mnem}->[2] eq 'l5' ? 'l5' : # rfc
+ !$cmp ?
+ $cmpalt && $cmpalt->[0] == $cp ? 'l4' : # matches alias
+ 'l3' : # free
+ $cmp->[0] != $cp ? 'l1' : # conflict
+ $cmp->[2] eq 'l5' ? 'l5' : # rfc
'l4' # any
);
@@ -78,7 +83,7 @@ print JSON->new->canonical->indent->encode({
title => 'X.Org',
key => \%table,
intro => join("\n",
- 'Character mnemonics following compose key â:',
+ 'Character mnemonics following compose key â',
'in the X Window System (Shift+AltGr by default).',
'Differences from RFC-1345 are indicated.',
'Also see monograph maps',
@@ -87,7 +92,7 @@ print JSON->new->canonical->indent->encode({
keywords => [qw( xorg x11 x )],
flag => {
'l5' => "matching RFC-1345",
- 'l4' => "matching Vim extension",
+ 'l4' => "matching Vim extension or alternate",
'l3' => "unique to Xorg",
'l1' => "conflict",
('l0' => "Xorg preference") x !!$matchvim,