keyboard/altgr: c64 layout of petscii graphics
[sheet.git] / unicode-table.inc.pl
1 use utf8;
2 +{
3
4 punctuation => {
5         quoting  => [qw{. « » . ‹ › . ‘ ’ . “ ” . „ ‚ . ‟ ‛}],
6         common   => [qw{
7                 . † ‡ • . § ¶ # . © ® ™
8                 . ° ′ ″ . − × ÷ . ± ² √
9                 . ¹ ⁿ ³ . ¼ ½ ¾ . 年 月 日
10         }],
11         marks    => [qw{. ¿ … 〃 . ‽ · ※ }],
12         spacing  => [
13                 split / +/, join ' ',
14                 ". — – ‒  \x{2011} \x{2010}  \x{AD} \x{200D}",  # dashes
15                 ". \x{2003} \x{2002} \x{2007}  \x{A0} \x{2009}  \x{200B} \x{200C}",  # spaces
16                 # em en figure  nobreak hyphen  break joiner
17         ],
18         version  => [qw{. α β . ℵ ℶ }],
19 },
20
21 symbols => {
22         binary   => [qw{. ⚋ ⚊ . ⚐ ⚑ . ☺ ☹ . ✓ ✗ . ✔ ✘ . ◄ ► }], # opposites
23         currency => [qw{. ¤ ¢ ₥ € £ ₹ $ ¥ . ฿ ₫ ₭ ₺ ₦ ₽ ₩ ₪}],
24         cards    => [
25                 qw{. ♢ ♡ ♠ ♣ . ♦ ♥ ♤ ♧ }, # diamonds, hearts, clubs, spades
26 #               qw{. 🔔 ❀ -⛨ 🌰 }, # bells, roses, shields, acorns
27 #               qw{. ⚚ ⚘ ⚔ ⚒ }, # merchant, clergy, nobility, peasant
28 #               qw{. ❂ 🏆 ⚔ -🔧 }, # coins, cups, swords, clubs
29                 qw{. 🜃 🜄 🜂 🜁 }, # earth, water, fire, air
30                 qw{. ☷ ☵ ☲ ☰ }, # earth, water, fire, heaven [cq ☴ wind]
31                 qw{. 土 水 火 金 }, # earth, water, fire, metal
32         ],
33         chess    => [qw{. ♙ ♘ ♗ ♖ ♕ ♔ . ♟ ♞ ♝ ♜ ♛ ♚ }],
34         signs1   => [qw{. ☮ ☯ ☻ ♪ ♲ ♿ }],
35         signs2   => [qw{. ⚠ ☡ ☠}],
36         communic => [ # note, mail, fax, phone, alt phone
37                 qw{. ✂ ✉ ℻ ☎ 📱 }, # scissors, envelope, fax sign, black phone, mobile
38                 qw{. 📎 📯 📠 ☏ 📞 }, # paperclip, postal horn, fax machine, white phone, receiver
39         ],
40         trinity  => [qw{. ✊ ✋ ✌ . 🚹 🐜 👽 }], # rock, paper, scissors; terran, protoss, zerg
41         solar    => [qw{. ☉ ☿ ♀ ♁ ♂ ♃ ♄ ⛢ ♆ }], # sun, mercury-neptune
42         minorplanets => [qw{. ⚳ ⚴ ⚵ ⚶ ⚷ ♇ }], # 1ceres, 2pallas, 3juno, 4vesta, 2060chiron, 134340pluto
43         zodiac   => [
44                 qw{. ♈ ♉ ♊ ♋ ♌ ♍ ♎ ♏ ♐ ♑ ♒ ♓ }, # western signs
45                 qw{. 寅 卯 辰 巳 午 未 申 酉 戌 亥 子 丑 }, # chinese signs (earthly branches)
46                 qw{. 虎 兔 龍 蛇 馬 羊 猴 雞 狗 豬 鼠 牛 }, # chinese names
47                 qw{. 🐅 🐇 🐉 🐍 🐎 🐐 🐒 🐓 🐕 🐖 🐀 🐂 }, # chinese animals
48                 qw{. 🐏 🐂 👬 -🍤 -🐅 -👰 ⚖ -♏ 🎯 🐐 🚾 🐟 }, # western signs
49         ],
50         harvey   => [qw{. ○ ◔ ◑ ◕ ● }],
51 },
52
53 keys => {
54         spacing  => [qw{. ⇥ ⇤ . ␣ ⌫ }], # (fw and back) tab, char
55         editing  => [qw{. ⎀ ⇱ ⇞ . ⌦ ⇲ ⇟ }], # ins, home, pgup; del, end, pgdn
56         modifier => [qw{. ⇪ ⇯ ⇭ . ⇧ ⇮ № }], # (lock and select) shift, l3, num
57         control  => [qw{. ⎈ ⌥ ⌘ ⎄ }], # ctrl, option, cmd, compose
58         command  => [qw{. ↵ ⎋ ⎉ ⎊ }], # enter, esc, pause, break
59         replace  => [qw{. � ␦ }], # substitute char, #2
60         player   => [qw{. ► ⏩ ⏭ ◼ ⚫ . ◄ ⏪ ⏮ ⏏ -❚❚ }], # play, fast, skip, stop, record
61         android  => [qw{. ↩ ⌂ ❐ ⋮ . 🔍 -⌽ 📞 🔊 }], # back, home, windows, menu; search, power, receive, sound
62         android4 => [qw{. ◁ ⚪ ◻ ⋮ }], # back, home, recent, menu
63         ps       => [qw{. ○ ☓ □ △ . ⦾ ⮾ 🟗 🟕 }], # circle, cross, square, triangle
64         gamepad  => [qw{. Ⓐ Ⓑ ◭ ◮ }], # A, B, L1, R1
65 },
66
67 math => {
68         equal    => [qw{. ∼ ≈ ≅ ≡ ∃ . ≁ ≉ ≇ ≢ ∄ }],
69         size     => [qw{. ≪ < ≤ \= ≥ \> ≫ . - ≮ ≰ ≠ ≱ ≯ - }],
70         set      => [qw{. ∈ ⊂ ⊆ ∀ ⊇ ⊃ ∋ ∪ . ∉ ⊄ ⊈ ∅ ⊉ ⊅ ∌ ∩ }],
71         logic    => [qw{. ∧ ∨ ⊻ ⊥ ¬ . ⊼ ⊽ ↔ ⊤ - }], # and, or, xor, falsum, not; nand, nor, iff, tee
72
73         constant => [qw{. ℝ πϖ ℯ φ ϑ ∂ ℵ }],
74         predicate=> [qw{. ∴ ∵ }],
75         complex  => [qw{. ℂ iℑ }],
76         number   => [qw{. ℕ ∞ ℤ ℚ ℝℜ ℂ ‰ ℘ }],
77 #                         natural inf int rational 
78 #                                         Θ
79         function => [qw{. ⌈ ⌉ . ⌊ ⌋ . ƒ ∑ ∏ ∫ ∇ ∝ }],
80 },
81
82 arrows => {
83         single   => [qw{. ↖ ↑ ↗ ↔ . ← - → ↕ . ↙ ↓ ↘ - }],
84         double   => [qw{. ⇖ ⇑ ⇗ ⇔ . ⇐ - ⇒ ⇕ . ⇙ ⇓ ⇘ - }],
85         white    => [qw{. ⬁ ⇧ ⬀ ⬄ . ⇦ - ⇨ ⇳ . ⬃ ⇩ ⬂ - }],
86         black    => [qw{. ⬉ ⬆ ⬈ ⬌ . ⬅ - ➡ ⬍ . ⬋ ⬇ ⬊ - }],
87         triangle => [qw{. ⭦ ⭡ ⭧ ⭤ . ⭠ - ⭢ ⭥ . ⭩ ⭣ ⭨ - }],
88         block    => [qw{. ◩ ⬒ ⬔   . ◧ □ ◨   . ⬕ ⬓ ◪   }],
89         blacktri => [qw{. ◤ ▲ ◥   . ◀ ◆ ▶   . ◣ ▼ ◢   }],
90         whitetri => [qw{. ◸ △ ◹   . ◁ ◇ ▷   . ◺ ▽ ◿   }],
91         barb     => [qw{. 🡬 🡩 🡭   . 🡨 - 🡪   . 🡯 🡫 🡮   }],
92         dash     => [qw{. ⇢ ⇣ . ⇡ ⇠ }],
93         twohead  => [qw{. ↠ ↡ . ↟ ↞ }],
94         frombar  => [qw{. ↦ ↧ . ↥ ↤ }],
95           tobar  => [qw{. ⇥ ⤓ . ⤒ ⇤ }],
96          stroke  => [qw{. ⇸ ⤈ . ⤉ ⇷ }],
97         dstroke  => [qw{. ⇻ ⇟ . ⇞ ⇺ }],
98         pair     => [qw{. ⇉ ⇊ . ⇈ ⇇ }],
99         both     => [qw{. ⇄ ⇅ . ⇵ ⇆ }],
100         triple   => [qw{. ⇛ ⤊ . ⤋ ⇚ }],
101         quad     => [qw{. ⭆ ⟱ . ⟰ ⭅ }],
102             tip  => [qw{. ↱ ⬎ . ⬑ ↲ }],
103         antitip  => [qw{. ⬐ ↰ . ↳ ⬏ }],
104         halfwidth=> [qw{. → ↓ . ↑ ← }],
105         barbout  => [qw{. ⇀ ⇂ . ↿ ↽ }],
106         barbin   => [qw{. ⇁ ⇃ . ↾ ↼ }],
107 },
108
109 lines => {
110         double   => [qw{. ╔ ╦ ╗ ═ . ╠ ╬ ╣ ║ . ╚ ╩ ╝ - }],
111         doubleh  => [qw{. ╒ ╤ ╕   . ╞ ╪ ╡   . ╘ ╧ ╛   }],
112         doublev  => [qw{. ╓ ╥ ╖   . ╟ ╫ ╢   . ╙ ╨ ╜   }],
113         single   => [qw{. ┌ ┬ ┐   . ├ ┼ ┤   . └ ┴ ┘   }],
114         heavy    => [qw{. ┏ ┳ ┓   . ┣ ╋ ┫   . ┗ ┻ ┛   }],
115         heavyh   => [qw{. ┍ ┯ ┑   . ┝ ┿ ┥   . ┕ ┷ ┙   }],
116         heavyv   => [qw{. ┎ ┰ ┒   . ┠ ╂ ┨   . ┖ ┸ ┚   }],
117         straight => [qw{
118                 . ╴ ─ ╌ ┄ ┈ ╶ ╾
119                 . ╸ ━ ╍ ┅ ┉ ╺ ╼
120                 . ╵ │ ╎ ┆ ┊ ╷ ╿
121                 . ╹ ┃ ╏ ┇ ┋ ╻ ╽
122         }],
123         curved   => [qw{. ╭ ╮ . ╰ ╯ }],
124         diagonal => [qw{. ╱ ╳ ╲ }],
125         # ┞┟┡┢┦┧┩┪┭┮┱┲┵┶┹┺┽┾╀╁╃╄╅╆╇╈╉╊
126 },
127
128 block => {
129         square   => [qw{. □ ▣ ■ . ▤ ▦ ▥ . ▧ ▩ ▨}],
130         shades   => [qw{. ░ . ▒ . ▓ }],
131         fill4    => [qw{. ▘ ▀ ▝ . ▌ █ ▐ . ▖ ▄ ▗ }],
132         fill4i   => [qw{. ▛ ▚ ▟ . ▙ ▞ ▜ }],
133         fill8    => [qw{. ▁ ▂ ▃ ▄ ▅ ▆ ▇ . ▏ ▎ ▍ ▌ ▋ ▊ ▉ }],
134         fill8r   => [qw{. ▔ 🮂 🮃 ▀ 🮄 🮅 🮆 . ▕ 🮇 🮈 ▐ 🮉 🮊 🮋 }],
135         colour   => [qw{. 🟫 🟥 🟧 🟨 🟩 🟦 🟪}],
136 },
137
138 latin => {
139         sample   => [qw{
140                 . å ä ö ü ß
141                 . ā æ ø ű ſ
142                 . á è õ û ç þ
143                 . ă ę œ ů š ð
144                 . ı ė º ư ș đ
145         }],
146         vowels   => [qw{
147                 . á é í ó ú ý
148                 . â ê î ô û ŷ
149                 . à è ì ò ù ỳ
150                 . ã ẽ ĩ õ ũ ỹ
151                 . ä ë ï ö ü ÿ
152                 . æ & ij œ ᵫ -
153                 . å - ı ⱺ ů ẙ
154                 . ă ĕ ĭ ŏ ŭ -
155                 . ǎ ě ǐ ǒ ǔ -
156                 . ą ę į ǫ ų -
157         }],
158         westeuro => [qw{
159                 . ç ð ñ ß þ
160         }],
161         easteuro => [qw{
162                 . č ď ľ ň ř š ť ž
163                 . ć đ ł ń ŕ ś ŧ ź ż
164         }],
165         uncommon => [qw{
166                 .>Englisc   æ ð ē ȝ œ þ ƿ
167                 .>Sámi      á č đ ŋ š ŧ ž
168                 .>Slavic    ą ě ł ů ź ż ž
169                 .>Türkçe    ç ğ ı İ ö ş ü
170                 .>Español   ñ á é í ó ú ü
171                 .>Română    ă â î ș ț
172                 .>Esperanto ª ĉ ĝ ĥ ĵ ŝ ŭ
173         }],
174 },
175
176 ipa => {
177         cons => [qw{
178                 - >Labial >>>Coronal >>Dorsal >>Laryngeal >
179                 - BiL:Bilabial LD:Labiodental D:Dental Alv:Alveolar PA:Postalveolar
180                   Rf:Retroflex Pal:Palatal Vel:Velar Uv:Uvular Ph:Pharyngeal
181                   EG:Epiglottal Gl:Glottal
182                 .>Plosive                   p  -ȹ >  >  t  ʈ  c  k  q  -  ʡ  ʔ
183                 .>Voiced_Plosive            b  -ȸ >  >  d  ɖ  ɟ  ɡ  ɢ  =  =  =
184                 .>Nasal                     m  ɱ  >  >  n  ɳ  ɲ  ŋ  ɴ  =  =  =
185                 .>Trill                     ʙ  -  >  >  r  -  -  =  ʀ  -  -я =
186                 .>Tap/flap                 -ⱳ  ⱱ  >  >  ɾ  ɽ  - -ɡ̆  ɢ̆  >  -ʡ̯ =
187                 .>Fricative                 ɸ  f  θ  s  ʃ  ʂ  ç  x  χ  ħ  ʜ  h
188                 .>Voiced_fricative          β  v  ð  z  ʒ  ʐ  ʝ  ɣ  ʁ  ʕ  ʢ  ɦ
189                 .>Lateral_fricative         =  =  >  >  ɬ  ꞎ -𝼆 -Ɬ  -  =  =  =
190                 .>Voiced_lateral_fricative  =  =  >  >  ɮ -𝼅  -  -  -  =  =  =
191                 .>Approximant               -  ʋ  >  >  ɹ  ɻ  j  ɰ  -  -ʕ̞ =  =
192                 .>Lateral_approximant       =  = -l̪  >  l  ɭ  ʎ  ʟ -ʟ̠  =  =  =
193                 .>Click                     ʘ  -  ǀ  ǁ  ǃ -‼  ǂ -ʞ  -  =  =  =
194                 .>Implosive                 ɓ  ɗ̪  >  >  ɗ -ᶑ  ʄ  ɠ  ʛ  =  =  =
195                 .>Articulation              ʷ  ᶹ   ̪   ͇  -  ˞  ʲ  ˠ   ̴  >  ˤ  ʰ
196         }], #TODO: > Labial  > > > Coronal  > Dorsal  > > Laryngeal
197         consco => [chr(865), qw{
198                 co:coarticulated .>sç ɕ .>zʝ ʑ .>ʃx ɧ .>jʷ ɥ .>lˠ ɫ .>hw̥ ʍ .>ɰʷ w
199         }],
200         vowels => [(
201                 '-',
202                 map { substr($_, 0, 1).':'.$_, substr($_, 0, 1)." r:$_ rounded" }
203                 qw{Front Central Back}
204         ), qw{
205                 .>Close      i y  ɨ ʉ  ɯ u
206                 .>Near-close ɪ ʏ -ᵻ -ᵿ -ω ʊ
207                 .>Close-mid  e ø  ɘ ɵ  ɤ o
208                 .>Mid       -ᴇ -  ə - - -ⱺ
209                 .>Open-mid   ɛ œ  ɜ ɞ  ʌ ɔ
210                 .>Near-open  æ -  ɐ -  - -
211                 .>Open       a ɶ -ä -ɒ̈ ɑ ɒ
212         }],
213         tones => [qw{
214                 .>Upstep     > ꜛ
215                 .>Higher     ˥  ̋
216                 .>High       ˦  ́
217                 .>Mid        ˧  ̄
218                 .>Low        ˨  ̀
219                 .>Lower      ˩  ̏
220                 .>Downstep   > ꜜ
221         }],
222         contours => [qw{
223                 -         >Rising >Falling
224                 .>High    ˧˥   ᷄   ˥˧   ᷇
225                 .>Rising  ˩˥   ̌   ˧˦˩  ᷈
226                 .>Falling ˨˩˦  ᷉   ˥˩   ̂
227                 .>Low     ˩˧   ᷅   ˧˩   ᷆
228         }], #TODO: annotate Rising-Falling as Peaking, Falling-Rising as Dipping
229         supraseg => [qw{
230                 . ˌ ˈ ˈˈ
231                 . ̆ ˑ ː
232                 . ‿ | ‖
233         }],
234         diacritics => [
235                 '.' => (map chr, 809, 781, 815, 785), # syllabic
236                 '.' => (map chr, '>', 'ʰ', '>', 794), # aspirated
237                 '.' => (map chr, 771, 'ⁿ', 734, 'ˡ'), # nasal/rhotic/lateral
238                 '.' => (map chr, '>', 812, 805, 778), # voiced
239                 '.' => (map chr, '>', 804, '>', 816), # breathy
240                 '.' => (map chr, 810, 838, '>', 828), # dental
241                 '.' => (map chr, '>', 826, '>', 827), # apical
242                 '.' => (map chr, 799,6856, 800, 772), # advanced
243                 '.' => (map chr, '>', 776, 829,7498), # centralized
244                 '.' => (map chr, 797, 724, 798, 725), # raised
245                 '.' => (map chr, 825, 855, 796, 849), # rounding
246                 '.' => (map chr, '>', 'ʷ', '>', 'ʲ'),
247                 '.' => (map chr, 'ˠ', 'ˤ', '>', 820), # velar/pharyngeal
248                 '.' => (map chr, 792, '꭪', 793, '꭫'), # tounge root
249         ],
250 },
251
252 japanese => {
253         hira => [qw{
254                   - A  I  U  E  O  _
255                 .>  あ い う え お =
256                 .>K か き く け こ =
257                 .>S さ し す せ そ =
258                 .>T た ち つ て と =
259                 .>N な に ぬ ね の ん
260                 .>H は ひ ふ へ ほ =
261                 .>M ま み む め も =
262                 .>Y や =  ゆ =  よ =
263                 .>R ら り る れ ろ =
264                 .>W わ -ゐ = -ゑ を =
265         }],
266         hiraderiv => [qw{
267                   - A  I  U  E  O
268                 .>G が ぎ ぐ げ ご
269                 .>Z ざ じ ず ぜ ぞ
270                 .>D だ ぢ づ で ど
271                 .>B ば び ぶ べ ぼ
272                 .>P ぱ ぴ ぷ ぺ ぽ
273         }],
274         kata => [qw{
275                   - A  I  U  E  O  _
276                 .>  ア イ ウ エ オ ー
277                 .>K カ キ ク ケ コ =
278                 .>S サ シ ス セ ソ =
279                 .>T タ チ ツ テ ト =
280                 .>N ナ ニ ヌ ネ ノ ン
281                 .>H ハ ヒ フ ヘ ホ =
282                 .>M マ ミ ム メ モ =
283                 .>Y ヤ -  ユ -  ヨ =
284                 .>R ラ リ ル レ ロ =
285                 .>W ワ ヰ -  ヱ ヲ =
286         }],
287         kataderiv => [qw{
288                   - A  I  U  E  O
289                 .>G ガ ギ グ ゲ ゴ
290                 .>Z ザ ジ ズ ゼ ゾ
291                 .>D ダ ヂ ヅ デ ド
292                 .>B バ ビ ブ ベ ボ
293                 .>P パ ピ プ ペ ポ
294                 .>V ヷ ヸ ヴ ヹ ヺ
295         }],
296 },
297
298 }