X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/a6a157c7e2fcc9eab6d334d5118f4e0120a6fdcc..ad8011786d4ed955d65ddd2b65b24635e5a5d1aa:/keyboard/altgr/groups.inc.pl diff --git a/keyboard/altgr/groups.inc.pl b/keyboard/altgr/groups.inc.pl index 0017f50..363ea03 100644 --- a/keyboard/altgr/groups.inc.pl +++ b/keyboard/altgr/groups.inc.pl @@ -2,8 +2,11 @@ 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 => [1, 0], @@ -11,7 +14,7 @@ my %g; # present group classes '' => { 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}}, }