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