X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/d1bf245dac9f5a1401ac536b5a19fff9aa39b72f..ad8011786d4ed955d65ddd2b65b24635e5a5d1aa:/keyboard/altgr/groups.inc.pl diff --git a/keyboard/altgr/groups.inc.pl b/keyboard/altgr/groups.inc.pl index 4b72d08..363ea03 100644 --- a/keyboard/altgr/groups.inc.pl +++ b/keyboard/altgr/groups.inc.pl @@ -2,16 +2,19 @@ use strict; use warnings; use Unicode::Normalize qw( NFKD ); use Text::Unidecode qw( unidecode ); +use Shiar_Sheet::FormatChar; our %rows; + +my $uc = Shiar_Sheet::FormatChar->new; my %g; # present group classes { - rows => [0, 1], + rows => [1, 0], def => { '' => { map { my $v = $rows{$_}; - my $class = ( + my $class = 'g'.( !defined $v || $_ eq $v ? 1 # identical : $v =~ /\A\p{Mn}+\z/ ? 9 # combining accent : $v =~ /\A[\p{Sk}\p{Lm}]+\z/ ? 8 # modifier symbol @@ -22,21 +25,23 @@ my %g; # present group classes : 6 ); $g{$class} = 1; - $_ => "g$class" + $_ => $class } keys %rows }, }, - key => \%rows, - flag => { - g1 => ['unaltered', "same results as without modifier"], + key => { + map { + my ($glyph, $title) = $uc->glyph_html($rows{$_}); + $_ => join "\n", $glyph, $title + } keys %rows + }, + flag => {%{{ g2 => ['accented', "decomposes to the original letter with a combining accent"], g4 => ['similar', "transliterates (mostly) into the unmodified letter"], g5 => ['latin', "a different (accented) latin letter"], g6 => ['symbol', "other character not directly deducible from key"], g7 => ['punctuation', "(punctuation) mark"], - !$g{9} ? () : ( g8 => ['mark', "modifier letter or mark (spacing diacritic)"], g9 => ['combining', "diacritical mark to be combined with a following character"], - ), - }, + }}{keys %g}}, }