+my $di = do 'digraphs.inc.pl'
+ or die "Error loading digraphs data: ", $@ // $!;
+
+my @chars = (
+ [qw{! " % ' ( ) * + , - . /}],
+ ['0'..'9'], [qw{: ; < = > ?}],
+ ['A'..'M'], ['N'..'Z'],
+ ['a'..'m'], ['n'..'z'],
+);
+my @chars2 = (['_'], @chars); # trailing character (extended set)
+my @columns = !exists $get{split} ? \@chars2 :
+ ([@chars2[0, 1, 3, 4, 6]], [@chars2[2, 5, 7]]);
+
+if (exists $get{xorg}) {
+ my $xorg = do 'data/digraphs-xorg.inc.pl'
+ or die "Error loading Xorg data: ", $@ // $!;
+ $_ = [ord $_] for values %{$xorg};
+ $xorg->{$_}->[2] = # class = same as rfc | any other spec | xorg only
+ $di->{$_} ? $di->{$_}->[2] =~ /\bu-di\b/ ? 'l5' : 'l3' : 'l1'
+ for keys %{$xorg};
+ $chars2[0] = [qw( # ^ _ ` ~ )];
+ @chars = @chars2;
+ $di = $xorg;