keyboard/altgr/ipa: suffix ipa-ucl variant to free group name
[sheet.git] / keyboard / altgr / xipa.eng.inc.pl
1 use utf8;
2 use strict;
3 use warnings;
4 use Shiar_Sheet::KeyboardChars 'kbmodes';
5
6 my %rows = (
7         '' => {
8                 "'" => "\N{COMBINING INVERTED BREVE BELOW}",
9                 "?" => "ʔ", # was at -
10                 "<" => "ʲ", # was at ;
11                 "=" => "↗",
12                 ">" => "ˤ", # was at [
13                 "\\"=> "\N{COMBINING VERTICAL LINE BELOW}",
14                 "]" => "ː",
15                 "§" => "|",
16
17                 '"' => "\N{COMBINING RING BELOW}",
18                 "+" => "↘",
19                 ":" => "ʷ",
20                 "A" => "ɑ",
21                 "B" => "β",
22                 "C" => "ç",
23                 "D" => "ð",
24                 "E" => "ə",
25                 "F" => "ɸ",
26                 "G" => "ɣ",
27                 "H" => "ɦ",
28                 "I" => "ɪ",
29                 "J" => "ʝ",
30                 "K" => "ʰ",
31                 "L" => "ʎ",
32                 "M" => "ɱ",
33                 "N" => "ŋ",
34                 "O" => "ɔ",
35                 "P" => "\N{COMBINING TILDE}",
36                 "Q" => "ɜ",
37                 "R" => "ɾ",
38                 "S" => "ʃ",
39                 "T" => "θ",
40                 "U" => "ʊ",
41                 "V" => "ʋ",
42                 "W" => "ʍ",
43                 "X" => "χ",
44                 "Z" => "ʒ",
45                 "Y" => "ʏ",
46                 "{" => "\N{COMBINING TILDE BELOW}",
47                 "|" => "ˈ",
48                 "}" => "ˑ",
49                 "~" => "~",
50                 "±" => "‖",
51         },
52
53         '!' => {
54                 "!" => "¡",
55                 '"' => "\N{COMBINING CARON}",
56                 "#" => "£",
57                 '$' => "¤",
58                 "%" => "⅜",
59                 "&" => "⅞",
60                 "'" => "\N{COMBINING CARON BELOW}",
61                 "(" => "⸩",
62                 ")" => "°",
63                 "*" => "⸨",
64                 "+" => "ꜛ",
65                 "," => "·",
66                 "-" => "\\",
67                 "." => "…",
68                 "/" => "–",
69                 "0" => "}",
70                 "1" => "¹",
71                 "2" => "²",
72                 "3" => "³",
73                 "4" => "¼",
74                 "5" => "\N{COMBINING MACRON BELOW}",
75                 "6" => "\N{COMBINING BREVE BELOW}",
76                 "7" => "{",
77                 "8" => "[",
78                 "9" => "]",
79                 ":" => "ʸ",
80                 ";" => "ˠ",
81                 "<" => "×",
82                 "=" => "ꜜ",
83                 ">" => "÷",
84                 "?" => "—",
85                 '@' => "⅛",
86                 "[" => "\N{COMBINING DIAERESIS}",
87                 "\\"=> "ˌ",
88                 "]" => "\N{COMBINING MINUS SIGN BELOW}",
89                 "^" => "⅝",
90                 "_" => "¿",
91                 "`" => "′",
92                 "a" => "æ",
93                 "A" => "ɒ",
94                 "b" => "ʙ",
95                 "B" => "ɓ",
96                 "c" => "ɕ",
97                 "C" => "ȼ",
98                 "D" => "ɗ",
99                 "d" => "ɖ",
100                 "e" => "ɛ",
101                 "E" => "ɜ",
102                 "G" => "ɠ",
103                 "g" => "ɢ",
104                 "H" => "ʜ",
105                 "h" => "ɧ",
106                 "I" => "ɤ",
107                 "i" => "ɨ",
108                 "j" => "ɟ",
109                 "J" => "ʄ",
110                 "K" => "ʞ",
111                 "k" => "ʱ",
112                 "l" => "ɫ",
113                 "L" => "ɬ",
114                 "m" => "µ",
115                 "M" => "⋅",
116                 "n" => "ɲ",
117                 "N" => "ɳ",
118                 "O" => "œ",
119                 "o" => "ø",
120                 "p" => "\N{COMBINING PLUS SIGN BELOW}",
121                 "P" => "‸",
122                 "Q" => "Ω",
123                 "q" => "§", # was @
124                 "r" => "ʁ",
125                 "R" => "ʀ",
126                 "S" => "ʆ",
127                 "t" => "ʈ",
128                 "u" => "ʉ",
129                 "U" => "ʌ",
130                 "V" => "ɴ",
131                 "v" => "ⱱ",
132                 "w" => "ɰ",
133                 "X" => "‹",
134                 "x" => "«",
135                 "z" => "ʑ",
136                 "Z" => "ʓ",
137                 "y" => "»",
138                 "Y" => "›",
139                 "{" => "\N{COMBINING X ABOVE}",
140                 "|" => "\N{COMBINING BREVE}",
141                 "}" => "\N{COMBINING MACRON}",
142                 "~" => "″",
143                 "§" => "‿",
144                 "±" => "\N{COMBINING DOUBLE BREVE BELOW}",
145         },
146
147         '@' => {
148                 "!" => "\N{COMBINING DOUBLE ACUTE ACCENT}",
149                 '"' => "\N{COMBINING CEDILLA}",
150                 "#" => "\N{COMBINING MACRON}",
151                 '$' => "\N{COMBINING GRAVE ACCENT}",
152                 "%" => "\N{COMBINING DOUBLE GRAVE ACCENT}",
153                 "&" => "\N{COMBINING COMMA ABOVE}",
154                 "'" => "\N{COMBINING LEFT ANGLE ABOVE}",
155                 ")" => "≠",
156                 "*" => "\N{COMBINING CIRCUMFLEX ACCENT BELOW}",
157                 "+" => "*",
158                 "," => "†",
159                 "-" => "ʕ",
160                 "." => "•",
161                 "/" => "‑",
162                 "0" => "ʾ",
163                 "1" => "˥",
164                 "2" => "˦",
165                 "3" => "˧",
166                 "4" => "˨",
167                 "5" => "˩",
168                 "6" => "\N{COMBINING DOT BELOW}",
169                 "7" => "\N{COMBINING DOT ABOVE}",
170                 "8" => "⟨",
171                 "9" => "⟩",
172                 ":" => "ˡ",
173                 ";" => "ⁿ",
174                 "<" => "‡",
175                 "=" => "ʿ",
176                 "?" => "­",
177                 '@' => "\N{COMBINING ACUTE ACCENT}",
178                 "[" => "\N{COMBINING SQUARE BELOW}",
179                 "\\"=> "ʼ",
180                 "]" => "\N{COMBINING SEAGULL BELOW}",
181                 "^" => "\N{COMBINING INVERTED BREVE}",
182                 "_" => "ʡ",
183                 "`" => "⁓",
184                 "A" => "ɶ",
185                 "a" => "ɐ",
186                 "b" => "“",
187                 "B" => "‘",
188                 "c" => "ꜣ",
189                 "C" => "Ꜣ",
190                 "D" => "\N{COMBINING RIGHT HALF RING BELOW}",
191                 "d" => "ᶑ",
192                 "e" => "ɘ",
193                 "g" => "ʛ",
194                 "G" => "ɡ",
195                 "h" => "ħ",
196                 "i" => "ɵ",
197                 "I" => "ʫ",
198                 "K" => "ꞎ",
199                 "l" => "ʟ",
200                 "L" => "ɭ",
201                 "M" => "ǃ",
202                 "m" => "ʘ",
203                 "n" => "”",
204                 "N" => "’",
205                 "o" => "\N{COMBINING BRIDGE BELOW}",
206                 "O" => "ɞ",
207                 "p" => "\N{COMBINING INVERTED BRIDGE BELOW}",
208                 "q" => "˞",
209                 "R" => "ɻ",
210                 "r" => "ɹ",
211                 "S" => "\N{COMBINING LEFT HALF RING BELOW}",
212                 "s" => "ʂ",
213                 "t" => "ǀ",
214                 "T" => "ǁ",
215                 "U" => "ʪ",
216                 "u" => "ɞ",
217                 "V" => "‚",
218                 "v" => "„",
219                 "w" => "ɯ",
220                 "x" => "ꜥ",
221                 "X" => "Ꜥ",
222                 "z" => "ʐ",
223                 "Z" => "ɮ",
224                 "y" => "ɥ",
225                 "{" => "ˀ",
226                 "|" => "\N{COMBINING OGONEK}",
227                 "§" => "\N{COMBINING DOUBLE INVERTED BREVE}",
228         },
229
230         "#" => {
231                 "\"" => "\N{COMBINING DOUBLE VERTICAL LINE BELOW}",
232                 "#"  => "\N{COMBINING DOUBLE VERTICAL LINE BELOW}",
233                 "\$" => "\N{COMBINING BRIDGE BELOW}",
234                 "%"  => "\N{COMBINING EQUALS SIGN BELOW}",
235                 "&"  => "˭",
236                 "'"  => "\N{COMBINING HOMOTHETIC ABOVE}",
237                 "("  => "\N{COMBINING RIGHT ARROWHEAD BELOW}",
238                 ")"  => "\N{COMBINING UPWARDS ARROW BELOW}",
239                 "*"  => "\N{COMBINING LEFT ARROWHEAD BELOW}",
240                 "+"  => "↑",
241                 "-"  => "ʢ",
242                 "/"  => "‐",
243                 "0"  => "≈",
244                 "2"  => "○",
245                 "8"  => "⟪",
246                 "9"  => "⟫",
247                 ":"  => "\N{COMBINING LEFT RIGHT ARROW BELOW}",
248                 ";"  => "\N{COMBINING ALMOST EQUAL TO ABOVE}",
249                 "="  => "↓",
250                 "?"  => "−",
251                 "\@" => "\N{COMBINING ENCLOSING CIRCLE}",
252                 "["  => "ˁ",
253                 "\\" => "\N{COMBINING NOT TILDE ABOVE}",
254                 "^"  => "ˬ",
255                 "_"  => "\N{COMBINING DOUBLE RIGHTWARDS ARROW BELOW}",
256                 "`"  => "―",
257                 "A"  => "A",
258                 "a"  => "\N{COMBINING DOWN TACK BELOW}",
259                 "B"  => "B",
260                 "b"  => "ʘ",
261                 "c"  => "ʖ",
262                 "C"  => "C",
263                 "d"  => "\N{COMBINING RIGHT TACK BELOW}",
264                 "D"  => "D",
265                 "E"  => "E",
266                 "e"  => "€",
267                 "F"  => "F",
268                 "f"  => "ʩ",
269                 "g"  => "₸",
270                 "G"  => "G",
271                 "H"  => "H",
272                 "h"  => "₴",
273                 "i"  => "☟",
274                 "I"  => "I",
275                 "J"  => "J",
276                 "k"  => "ℓ",
277                 "K"  => "K",
278                 "l"  => "ɺ",
279                 "L"  => "L",
280                 "M"  => "M",
281                 "m"  => "₼",
282                 "n"  => "ǃ",
283                 "N"  => "N",
284                 "O"  => "O",
285                 "o"  => "☞",
286                 "P"  => "P",
287                 "p"  => "𝔓",
288                 "Q"  => "Q",
289                 "q"  => "₽",
290                 "r"  => "ɽ",
291                 "R"  => "R",
292                 "S"  => "S",
293                 "s"  => "\N{COMBINING LEFT TACK BELOW}",
294                 "t"  => "ǂ",
295                 "T"  => "T",
296                 "U"  => "U",
297                 "u"  => "☝",
298                 "V"  => "V",
299                 "w"  => "\N{COMBINING UP TACK BELOW}",
300                 "W"  => "W",
301                 "X"  => "X",
302                 "x"  => "ʗ",
303                 "y"  => "☜",
304                 "Y"  => "Z",
305                 "z"  => "ʇ",
306                 "Z"  => "Y",
307                 "{"  => "ʬ",
308                 "|"  => "\N{COMBINING LEFT ANGLE BELOW}",
309                 "}"  => "ʭ",
310                 "~"  => "^",
311         },
312 );
313
314 +{
315         %{ kbmodes(\%rows) },
316         version => '1.0',
317         title => 'X-IPA',
318         category => 'specialised/ipa',
319         intro => join("\n",
320                 'An input to type phonetic (IPA) <a href="/unicode">unicode</a>',
321                 'characters, available Xorg map <em>trans</em>.',
322                 'Designed separately from the more well-known SIL',
323                 'or <a href="/keyboard/altgr/ipa-ucl">UCL</a> implementations.',
324         ),
325         description => [
326                 "Table of an Xorg keyboard for transcribing",
327                 "in the International Phonetic Alphabet",
328                 "with the AltGr modifier key.",
329         ],
330 }