use 5.020;
use warnings;
+use utf8;
use experimental 'signatures';
use parent 'Exporter';
use Unicode::Normalize qw( NFKD );
-use Text::Unidecode qw( unidecode );
+use Text::Unidecode ();
use Shiar_Sheet::FormatChar;
-our $VERSION = '1.01';
+our $VERSION = '1.03';
our @EXPORT = qw( kbchars kbmodes );
my $uc = Shiar_Sheet::FormatChar->new;
+our %unaccent = qw(
+ ⍺ a ⍵ w ∊ E ⍷ E ⍴ r ⍳ i ⍸ i ○ O ⍥ O ⌿ / ⍟ (*) ⊕ (+)
+ Ʊ U ǝ e Ǝ E ʌ v ɥ h ʘ O ɰ mw ɯ mw Ɯ MW ə @ae Ə @AE
+ ɸ PF ʎ yl ɔ co Ɔ CO ɛ 3E ƣ q Ƣ Q ∀ A ∃ E ∪ u ∩ n ≠ !=
+ ≈ =~ ∅ /0 ∘ o ⋅ . ∫ s ≝ =d ″ " ≤ < ≥ > √ rV ∛ 3V ∜ 4V
+ Α A Β B Γ G Δ D Ε E Ζ Z Η H Θ CQ Ι I Κ K Λ L Μ M
+ Ν N Ξ X Ο O Π P Ρ R Σ S Τ T Υ YU Φ F Χ CX Ψ Y Ω W
+ α a β b γ g δ d ε e ζ z η h θ cq ι i κ k λ l μ m
+ ν n ξ x ο o π p ρ r σ s τ t υ yu φ f χ cx ψ y ω w
+ ς sc ϑ cq µ mu
+);
+
+sub unidecode {
+ return $unaccent{$_[0]} // Text::Unidecode::unidecode($_[0]);
+}
+
sub kbchars ($rows) {
return kbmodes({'' => $rows});
}
sub kbmodes ($modes) {
my %g; # present group classes
my %info = (
+ tableclass => 'keys big',
rows => [1, 0],
);
for my $lead (keys %{$modes}) {