keyboard/altgr: transcribe graph mode of legacy epson laptops
[sheet.git] / keyboard / altgr / epson.eng.inc.pl
1 use utf8;
2 use strict;
3 use warnings;
4 no warnings 'qw';
5 use Shiar_Sheet::KeyboardChars 'kbchars';
6
7 my %rows = (
8         's' => '┼',  # 80
9         'x' => '┴',  # 81
10         'w' => '┬',  # 82
11         'd' => '┤',  # 83
12         'a' => '├',  # 84
13         't' => '─',  # 85
14         'r' => '│',  # 86
15         'q' => '┌',  # 87
16         'e' => '┐',  # 88
17         'z' => '└',  # 89
18         'c' => '┘',  # 8A
19         'j' => '▒',  # 8B
20         'f' => '█',  # 8C
21         'g' => '▄',  # 8D
22         'h' => '▌',  # 8E
23         'y' => '●',  # 8F
24
25         'u' => '○',  # 90
26         'i' => '♠',  # 91
27         'o' => '♥',  # 92
28         'p' => '♦',  # 93
29         '[' => '♣',  # 94
30         'k' => '♪',  # 95 "little musical note"
31         'v' => '☎',  # 96 "tiny telephone"
32         ',' => '🛧',  # 97 airplane (✈ up)
33         'm' => '🚗', # 98 "subcompact car" (left)
34         'n' => '🍷', # 99 U̝ thing: tuning fork ⑂? glass 🍷? insert ⁁? alchemy ⨿?
35         'b' => '🯈',  # 9A "small person" 🕺 (running left)
36         ';' => '↑',  # 9B
37         '.' => '↓',  # 9C
38         "'" => '×',  # 9D
39         '/' => '÷',  # 9E
40         'l' => '±',  # 9F
41
42         # characters in european font
43         #à°ç§éùè¨ÄÖÜäöüßÆØÅæøåɤ
44
45         qw(
46                 ! 1 @ 2 # 3 $ 4 % 5 ^ 6
47                 & 7  * 8  ( 9  ) 0  _ - + ^
48                 U 4  I 5  O 6       { ?
49                 J 1  K 2  L 3  : +  " *
50                 M 0  < ,  > .  ? /
51         ),
52 );
53
54 my $groups = kbchars(\%rows);
55
56 while (my ($k, $c) = each %rows) {
57         $groups->{def}{''}{$k}[0] = (
58                 0 ? 'g9' :
59                 $c =~ /\p{In=1.1}/ ? 'g2' :
60                 $c =~ /\p{In=4.0}/ ? 'g3' :
61                 $c =~ /[\x{1FB00}-\x{1FBFF}]/ ? 'g5' : # Age=V13.0
62                 'g0'
63         );
64 }
65
66 +{
67         %{ $groups },
68         version => '1.0',
69         title => 'Epson PX-20 graphics',
70         category => 'legacy/graph',
71         moderows => '1-',
72         intro => join("\n",
73                 'Unicode glyphs similar to the <em>graph</em> mode of the 1981',
74                 'Epson HC-20 and later (PX-8 Geneva, PX-4) laptops.',
75                 'See also <a href="/keyboard/altgr/msx-graph">MSX</a>,',
76                 '<a href="/keyboard/altgr/atari">Atari</a>,',
77                 '<a href="/keyboard/altgr/c64">C-64</a>, and',
78                 '<a href="/keyboard/altgr/unigraph">modern Unicode</a>.',
79         ),
80         flag => {
81                 g2 => ['standard' => 'original Unicode 1993'],
82                 g3 => ['extended' => 'Unicode 4.0'],
83                 g5 => ['legacy'   => 'exceptional <em>symbols for legacy computing</em> in Unicode since <abbr title="Unicode 13.0">2020</abbr>'],
84         },
85 }