use utf8;
use strict;
use warnings;
+no warnings 'qw';
use Shiar_Sheet::KeyboardChars 'kbchars';
-my %rows = qw{
- +! ๐ +@ ๐ +# ๐
+$ ๐ +% ๐ +^ ๐ +& ๐ +* ๐ +( ๐ +) ๐ +_ ๐ ++ ๐
- +1 โ +2 โ +3 โ +4 โ +5 โ +6 โ +7 โ +8 โ +9 โ +0 โ +- โ += โ
+my %guys = qw{
+ ! ๐ @ ๐ # ๐
$ ๐ % ๐ ^ ๐ & ๐ * ๐ ( ๐ ) ๐ _ ๐ + ๐
+ 1 โ 2 โ 3 โ 4 โ 5 โ 6 โ 7 โ 8 โ 9 โ 0 โ - โ = โ
+};
- $ โ 4 โ % โก 5 โ ^ โ 6 โ
\{ โ
- & โ * โฅ ( โฆ ) โฃ
- - โบ _ โน = โป
- = โผ + โ
+my %rows = qw`
+ +- โ += โฅ ++ โฆ +_ โฃ
+ ) โบ +) โน 0 โป +6 โ +0 โผ ^ โ 6 โ
+ +! โ +1 โ +@ โก +2 โ +# โ +3 โ
+ - โ = โ _ โ + โ +^ โ
q โ w โ e โ Q โ W โ E โ +q โค +w โฒ +e โฅ +Q โธ +W โณ +E โน
a โ s โ d โ A โ S โ D โ +a โ +s โ +d โถ +A โ +S โ +D โท
z โ x โ c โ Z โ X โ C โ +z โฃ +x โผ +c โข +Z โบ +X โฝ +C โฟ
1 โคก 2 โ 3 โคข ! โ @ โ # โบ
- r โ t โฌ y โ R โ T โฆ Y โ
- f โ g โผ h โค F โ G โฌ H โฃ
- v โ b โด n โ V โ B โฉ N โ
- ' โ \ โ " โ | โ +' โ +\ โ +" โ +| โ
+ r โ t โฌ y โ R โ T โฆ Y โ +u โญ +i โท +o โฎ
+ f โ g โผ h โค F โ G โฌ H โฃ +j โถ +k ๐ฎฏ +l โด
+ v โ b โด n โ V โ B โฉ N โ +m โฐ +, โต +. โฏ
+ 4 โ 5 โ $ โ % โ
+ { โฏ | โฎ \\ ยท P โฐ } โฑ +| โ +" โ
+ [ โณ p โฑ ] โฒ
+ +[ โ +4 โ +$ โ +\\ โ +5 โ +% โ
+r โ +R โ +t โค +T โฅ +y โ +Y โ
+f โ +F โ +g โช +G โซ +h โก +H โข
+v โ +V โ +b โง +B โจ +n โ +N โ
+ ' โฌ " โฎ
> โ . โ , โ M โ m โ
- l โ L โ k โ J โ j โ ; โ : โ +; ๐ฎ +: ๐ฎ
+ l โ ( โ k โ & โ j โ ; โ : โ +; ๐ฎ +: ๐ฎ
O โ o โ i โ U โ u โ / โ ? โ +/ ๐ฎ +? ๐ฎ
7 โ 8 โ 9 โ
- I ๐ฎ K ๐ฎ < ๐ฎ
+ +p ๐ฎ +] ๐ฎ +8 ๐ฎ +* ๐ฎ +{ ๐ฎ
+ I ๐ญฏ < ๐ญญ J ๐ญฎ L ๐ญฌ * ๐ฎ K ๐ฎ
- +i ๐ญฏ +, ๐ญญ +j ๐ญฎ +l ๐ญฌ +[ ๐ฎ +k ๐ฎ
- +u โญ +o โฎ +m โฐ +. โฏ
+ +U ๐ฎฃ +I ๐ฎฆ +O ๐ฎข +7 ๐ฎซ +9 ๐ฎช
+ +J ๐ฎฅ +K ๐ฎฎ +L ๐ฎค +P ๐ฎจ +} ๐ฎฉ
+ +M ๐ฎก +< ๐ฎง +> ๐ฎ +& ๐ฎฌ +( ๐ฎญ
+`;
- +U ๐ฎฃ +I ๐ฎฆ +O ๐ฎข
- +J ๐ฎฅ +K ๐ฎฎ +L ๐ฎค
- +M ๐ฎก +< ๐ฎง +> ๐ฎ
- p โฑ [ โณ ] โฒ
- P ๐ฎจ \} ๐ฎฉ +p ๐ฎซ +] ๐ฎช +P ๐ฎฌ +\} ๐ฎญ
-};
$rows{' '} = "\N{FIGURE SPACE}";
-# remaining candidates: โโ ๐ฎ ๐ฎ โคโงโกโข โโ โโ โโ โฌ
-
my $groups = kbchars(\%rows);
use Encode 'decode';
);
while (my ($k, $c) = each %rows) {
- $groups->{def}{''}{$k} = $cpcompat{$c} // (
+ $groups->{def}{''}{$k}[0] = $cpcompat{$c} // (
$c =~ /\p{In=1.1}/ ? 'g5' :
$c =~ /\p{In=6.0}/ ? 'g6' :
$c =~ /[\x{1FB00}-\x{1FBFF}]/ ? 'g7' : # Age=V13.0
'g0'
);
}
+$groups->{def}{''}{')'}[0] .= ' linkkeyboard/altgr/zoo';
+{
%{ $groups },
- version => '1.0',
+ version => '1.2',
title => 'Unicode semigraphics',
category => 'specialized',
intro => join("\n",
),
'Inspired by <a href="/keyboard/altgr/msx-graph">MSX graph</a> mode,',
'but reimagined for modern Unicode coverage.',
+ 'Freely available as <a href="/keyboard/symbols/unigraph">xorg symbols</a> export.',
),
- moderows => '5421-21',
+ moderows => '5421',
flag => {
g2 => ['cp850' => 'shared international repetoire in most DOS code pages'],
g3 => ['historic' => 'extended graphics presentations of control characters in cp437 ea'],