keyboard/altgr/macos: specific image with option labels
[sheet.git] / keyboard / altgr / macos-abc.eng.inc.pl
1 use utf8;
2 use strict;
3 use warnings;
4 our %rows = (
5         'A' => "\N{MACRON}",
6         'a' => "\N{COMBINING MACRON}",
7         'B' => "\N{BREVE}",
8         'b' => "\N{COMBINING BREVE}",
9         'C' => "\N{CEDILLA}",
10         'c' => "\N{COMBINING CEDILLA}",
11         'D' => 'Ð',
12         'd' => 'ð',
13         'E' => "\N{ACUTE ACCENT}",
14         'e' => "\N{COMBINING ACUTE ACCENT}",
15         'f' => 'ƒ',
16         'F' => "\N{COMBINING TILDE BELOW}",
17         'G' => "\N{COMBINING CIRCUMFLEX ACCENT BELOW}",
18         'g' => '©',
19         'H' => "\N{MODIFIER LETTER LOW MACRON}",
20         'h' => "\N{COMBINING MACRON BELOW}",
21         'I' => "\N{MODIFIER LETTER APOSTROPHE}",
22         'i' => "\N{COMBINING COMMA ABOVE}",
23         'J' => "\N{DOUBLE ACUTE ACCENT}",
24         'j' => "\N{COMBINING DOUBLE ACUTE ACCENT}",
25         'K' => '°',
26         'k' => "\N{COMBINING RING ABOVE}",
27         'L' => '-',
28         'l' => "\N{COMBINING SHORT STROKE OVERLAY}", #XXX
29         'M' => "\N{OGONEK}",
30         'm' => "\N{COMBINING OGONEK}",
31         'N' => "\N{SMALL TILDE}",
32         'n' => "\N{COMBINING TILDE}",
33         'O' => 'Ø',
34         'o' => 'ø',
35         'P' => "\N{SINGLE LOW-9 QUOTATION MARK}", #XXX
36         'p' => "\N{COMBINING COMMA BELOW}",
37         'Q' => 'Œ',
38         'q' => 'œ',
39         'R' => '‰',
40         'r' => '®',
41         'S' => "\N{COMBINING INVERTED BREVE}",
42         's' => 'ß',
43         'T' => 'Þ',
44         't' => 'þ',
45         'U' => "\N{DIAERESIS}",
46         'u' => "\N{COMBINING DIAERESIS}",
47         'V' => "\N{CARON}",
48         'v' => "\N{COMBINING CARON}",
49         'W' => "\N{DOT ABOVE}",
50         'w' => "\N{COMBINING DOT ABOVE}",
51         'X' => "\N{MODIFIER LETTER LOW RING}", #XXX
52         'x' => "\N{COMBINING DOT BELOW}",
53         'Y' => "\N{COMBINING DOUBLE GRAVE ACCENT}",
54         'y' => '¥',
55         'Z' => "\N{MODIFIER LETTER GLOTTAL STOP}",
56         'z' => "\N{COMBINING HOOK ABOVE}",
57         '[' => "\N{LEFT DOUBLE QUOTATION MARK}",
58         '{' => "\N{RIGHT DOUBLE QUOTATION MARK}",
59         ']' => "\N{LEFT SINGLE QUOTATION MARK}",
60         '}' => "\N{RIGHT SINGLE QUOTATION MARK}",
61         ';' => '…',
62         ':' => '№',
63         '"' => 'Æ',
64         "'" => 'æ',
65         '|' => '»',
66         '\\'=> '«',
67         '<' => "\N{DOUBLE LOW-9 QUOTATION MARK}",
68         ',' => '≤',
69         '>' => 'ʔ',
70         '.' => '≥',
71         '/' => '÷',
72         '?' => '¿',
73         '~' => "\N{GRAVE ACCENT}",
74         '`' => "\N{COMBINING GRAVE ACCENT}",
75         '1' => '¡',
76         '!' => '⁄',
77         '2' => '™',
78         '@' => '€',
79         '3' => '£',
80         '#' => '‹',
81         '4' => '¢',
82         '$' => '›',
83         '5' => '§',
84         '%' => '†',
85         '6' => "\N{COMBINING CIRCUMFLEX ACCENT}",
86         '^' => "\N{MODIFIER LETTER CIRCUMFLEX ACCENT}", #XXX
87         '7' => '¶',
88         '&' => '‡',
89         '8' => '•',
90         '*' => '°',
91         '9' => 'ª',
92         '(' => '·',
93         '0' => 'º',
94         ')' => '‚',
95         '-' => '–',
96         '_' => '—',
97         '+' => '±',
98         '=' => '≠',
99
100         '::' => ' ',
101         ':@' => 'Ƨ',
102         ':2' => 'ƨ',
103         ':#' => 'Ɛ',
104         ':3' => 'ɛ',
105         ':%' => 'Ƽ',
106         ':5' => 'ƽ',
107         ':^' => 'Ƅ',
108         ':6' => 'ƅ', #XXX
109         ':7' => '⁊',
110         ':*' => 'Ȣ',
111         ':8' => 'ȣ',
112         ':Q' => 'Ƣ',
113         ':q' => 'ƣ',
114         ':W' => 'Ƿ',
115         ':w' => 'ƿ',
116         ':E' => 'Ǝ',
117         ':e' => 'ǝ', #XXX ə
118         ':R' => 'Ʀ',
119         ':r' => 'ʀ', #XXX
120         ':k' => 'ĸ',
121         ':Y' => 'Ɜ',
122         ':y' => 'ɜ',
123         ':U' => 'Ʊ',
124         ':u' => 'ʊ',
125         ':A' => 'Ə',
126         ':a' => 'ə',
127         ':s' => 'ſ',
128         ':G' => 'Ɣ',
129         ':g' => 'ɣ',
130         ':H' => 'Ƕ',
131         ':h' => 'ƕ',
132         ':J' => 'Ƞ',
133         ':j' => 'ƞ', #XXX ɳ
134         ':K' => 'Ǩ',
135         ':Z' => 'Ʒ',
136         ':z' => 'ʒ',
137         ':C' => 'Ɔ',
138         ':c' => 'ɔ',
139         ':v' => 'ʌ',
140         ':N' => 'Ŋ', #XXX
141         ':n' => 'ŋ',
142         ':M' => 'Ɯ',
143         ':m' => 'ɯ',
144         ':"' => '″', #XXX ʺ
145         ":'" => '′', #XXX ʹ
146
147         '>>' => ' ',
148         '>q' => 'ʠ',
149         '>R' => 'Ʈ', #XXX mirrored?
150         '>r' => 'ʈ',
151         '>T' => 'Ƭ',
152         '>t' => 'ƭ',
153         '>Y' => 'Ƴ',
154         '>y' => 'ƴ',
155         '>U' => 'Ʋ',
156         '>u' => 'ʋ',
157         '>I' => 'Ɩ',
158         '>i' => 'ɩ',
159         '>P' => 'Ƥ',
160         '>p' => 'ƥ',
161         '>S' => 'Ʃ',
162         '>s' => 'ʃ',
163         '>D' => 'Ɗ',
164         '>d' => 'ɗ',
165         '>F' => 'Ƒ',
166         '>f' => 'ƒ',
167         '>G' => 'Ɠ',
168         '>g' => 'ɠ',
169         '>h' => 'ɦ',
170         '>K' => 'Ƙ',
171         '>k' => 'ƙ',
172         '>Z' => 'Ȥ',
173         '>z' => 'ȥ',
174         '>X' => 'Ɖ',
175         '>x' => 'ɖ',
176         '>C' => 'Ƈ',
177         '>c' => 'ƈ',
178         '>N' => 'Ɲ',
179         '>n' => 'ɲ',
180         '>B' => 'Ɓ',
181         '>b' => 'ɓ',
182 );
183
184 my $groups = do 'keyboard/altgr/groups.inc.pl';
185 $groups->{mode} = {
186         ''  => 'option-shifted ⌥',
187         ':' => '№ number prefix ⌥:',
188         '>' => 'ʔ hook prefix ⌥>',
189 };
190 for my $m (qw' : > ') {
191         $groups->{def}->{''}->{$m} = "g1 mode$m";
192         $groups->{mode}->{$m} //= "mode $m";
193         $groups->{def}->{$m} = {
194                 (map {s/^.//r => 'g0'} grep {/^\Q$m/} keys %rows),
195                 $m => 'g1 mode',
196         };
197 }
198 $groups->{flag}->{g1} = ['mode' => "switch to an alternate set of keys"];
199
200 +{
201         %{$groups},
202         version => '1.0',
203         title => 'ABC option',
204         intro => join("\n",
205                 'Resulting <a href="/unicode">selection</a> of <a href="/charset">Unicode</a> characters',
206                 "while pressing ⌥ Option (Alt) with Apple's ABC Extended",
207                 "(formerly US Extended and Extended Roman) layout",
208                 'on <abbr title="at least in Ventura 13.2">macOS</abbr>.',
209                 'Significant changes from standard',
210                 '<a href="/keyboard/altgr/macos">US</a> or local options.',
211         ),
212         description => [
213                 "Apple ABC Extended keyboard layout table",
214                 "with the Option modifier key.",
215         ],
216         image => 'keyboard/altgr/macoption.jpg',
217 }