+ map {
+ my $c = $_;
+ my @row = map { $usint->[$_]->[$c] } 0 .. 2;
+ my $class = (
+ !defined $row[2] || $row[0] eq $row[2] ? 1 # identical
+ : NFKD($row[2]) =~ $row[0] ? 2 # decomposed equivalent
+ : $row[2] =~ /^\p{Latin}/ ? 3 # latin script
+ : $row[2] =~ /^\p{Mn}/ ? 5 # combining accent
+ : 4
+ );
+ $row[0] => "g$class"
+ } 0 .. $#{ $usint->[0] }