unicode: suprasegmental ipa character group
[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, pluto
42         zodiac   => [
43                 qw{. ♈ ♉ ♊ ♋ ♌ ♍ ♎ ♏ ♐ ♑ ♒ ♓ }, # western signs
44                 qw{. 寅 卯 辰 巳 午 未 申 酉 戌 亥 子 丑 }, # chinese signs (earthly branches)
45                 qw{. 虎 兔 龍 蛇 馬 羊 猴 雞 狗 豬 鼠 牛 }, # chinese names
46                 qw{. 🐅 🐇 🐉 🐍 🐎 🐐 🐒 🐓 🐕 🐖 🐀 🐂 }, # chinese animals
47                 qw{. 🐏 🐂 👬 -🍤 -🐅 -👰 ⚖ -♏ 🎯 🐐 🚾 🐟 }, # western signs
48         ],
49         harvey   => [qw{. ○ ◔ ◑ ◕ ● }],
50 },
51
52 keys => {
53         spacing  => [qw{. ⇥ ⇤ . ␣ ⌫ }], # (fw and back) tab, char
54         editing  => [qw{. ⎀ ⇱ ⇞ . ⌦ ⇲ ⇟ }], # ins, home, pgup; del, end, pgdn
55         modifier => [qw{. ⇪ ⇯ ⇭ . ⇧ ⇮ № }], # (lock and select) shift, l3, num
56         control  => [qw{. ⎈ ⌥ ⌘ ⎄ }], # ctrl, option, cmd, compose
57         command  => [qw{. ↵ ⎋ ⎉ ⎊ }], # enter, esc, pause, break
58         replace  => [qw{. � ␦ }], # substitute char, #2
59         player   => [qw{. ► ⏩ ⏭ ◼ ⚫ . ◄ ⏪ ⏮ ⏏ -❚❚ }], # play, fast, skip, stop, record
60         android  => [qw{. ↩ ⌂ ❐ ⋮ . 🔍 -⌽ 📞 🔊 }], # back, home, windows, menu; search, power, receive, sound
61         android4 => [qw{. ◁ ⚪ ◻ ⋮ }], # back, home, recent, menu
62         ps       => [qw{. ○ ☓ □ △ }], # circle, cross, square, triangle
63         gamepad  => [qw{. Ⓐ Ⓑ ◭ ◮ }], # A, B, L1, R1
64 },
65
66 math => {
67         equal    => [qw{. ∼ ≈ ≅ ≡ ∃ . ≁ ≉ ≇ ≢ ∄ }],
68         size     => [qw{. ≪ < ≤ \= ≥ \> ≫ . - ≮ ≰ ≠ ≱ ≯ - }],
69         set      => [qw{. ∈ ⊂ ⊆ ∀ ⊇ ⊃ ∋ ∪ . ∉ ⊄ ⊈ ∅ ⊉ ⊅ ∌ ∩ }],
70         logic    => [qw{. ∧ ∨ ⊻ ⊥ ¬ . ⊼ ⊽ ↔ ⊤ - }], # and, or, xor, falsum, not; nand, nor, iff, tee
71
72         constant => [qw{. ℝ πϖ ℯ φ ϑ ∂ ℵ }],
73         predicate=> [qw{. ∴ ∵ }],
74         complex  => [qw{. ℂ iℑ }],
75         number   => [qw{. ℕ ∞ ℤ ℚ ℝℜ ℂ ‰ ℘ }],
76 #                         natural inf int rational 
77 #                                         Θ
78         function => [qw{. ⌈ ⌉ . ⌊ ⌋ . ƒ ∑ ∏ ∫ ∇ ∝ }],
79 },
80
81 arrows => {
82         single   => [qw{. ↖ ↑ ↗ ↔ . ← - → ↕ . ↙ ↓ ↘ - }],
83         double   => [qw{. ⇖ ⇑ ⇗ ⇔ . ⇐ - ⇒ ⇕ . ⇙ ⇓ ⇘ - }],
84         white    => [qw{. ⬁ ⇧ ⬀ ⬄ . ⇦ - ⇨ ⇳ . ⬃ ⇩ ⬂ - }],
85         black    => [qw{. ⬉ ⬆ ⬈ ⬌ . ⬅ - ➡ ⬍ . ⬋ ⬇ ⬊ - }],
86         block    => [qw{. ◩ ⬒ ⬔   . ◧ □ ◨   . ⬕ ⬓ ◪   }],
87         blacktri => [qw{. ◤ ▲ ◥   . ◀ ◆ ▶   . ◣ ▼ ◢   }],
88         whitetri => [qw{. ◸ △ ◹   . ◁ ◇ ▷   . ◺ ▽ ◿   }],
89         -large   => [qw{.      .  -    .      }],
90         -heavy   => [qw{.      .  -    .      }],
91         dash     => [qw{. ⇢ ⇣ . ⇡ ⇠ }],
92         twohead  => [qw{. ↠ ↡ . ↟ ↞ }],
93         frombar  => [qw{. ↦ ↧ . ↥ ↤ }],
94           tobar  => [qw{. ⇥ ⤓ . ⤒ ⇤ }],
95          stroke  => [qw{. ⇸ ⤈ . ⤉ ⇷ }],
96         dstroke  => [qw{. ⇻ ⇟ . ⇞ ⇺ }],
97         pair     => [qw{. ⇉ ⇊ . ⇈ ⇇ }],
98         both     => [qw{. ⇄ ⇅ . ⇵ ⇆ }],
99         triple   => [qw{. ⇛ ⤊ . ⤋ ⇚ }],
100         quad     => [qw{. ⭆ ⟱ . ⟰ ⭅ }],
101             tip  => [qw{. ↱ ⬎ . ⬑ ↲ }],
102         antitip  => [qw{. ⬐ ↰ . ↳ ⬏ }],
103         halfwidth=> [qw{. → ↓ . ↑ ← }],
104         barbout  => [qw{. ⇀ ⇂ . ↿ ↽ }],
105         barbin   => [qw{. ⇁ ⇃ . ↾ ↼ }],
106 },
107
108 lines => {
109         double   => [qw{. ╔ ╦ ╗ ═ . ╠ ╬ ╣ ║ . ╚ ╩ ╝ - }],
110         doubleh  => [qw{. ╒ ╤ ╕   . ╞ ╪ ╡   . ╘ ╧ ╛   }],
111         doublev  => [qw{. ╓ ╥ ╖   . ╟ ╫ ╢   . ╙ ╨ ╜   }],
112         single   => [qw{. ┌ ┬ ┐   . ├ ┼ ┤   . └ ┴ ┘   }],
113         heavy    => [qw{. ┏ ┳ ┓   . ┣ ╋ ┫   . ┗ ┻ ┛   }],
114         heavyh   => [qw{. ┍ ┯ ┑   . ┝ ┿ ┥   . ┕ ┷ ┙   }],
115         heavyv   => [qw{. ┎ ┰ ┒   . ┠ ╂ ┨   . ┖ ┸ ┚   }],
116         straight => [qw{
117                 . ╴ ─ ╌ ┄ ┈ ╶ ╾
118                 . ╸ ━ ╍ ┅ ┉ ╺ ╼
119                 . ╵ │ ╎ ┆ ┊ ╷ ╿
120                 . ╹ ┃ ╏ ┇ ┋ ╻ ╽
121         }],
122         curved   => [qw{. ╭ ╮ . ╰ ╯ }],
123         diagonal => [qw{. ╱ ╳ ╲ }],
124         # ┞┟┡┢┦┧┩┪┭┮┱┲┵┶┹┺┽┾╀╁╃╄╅╆╇╈╉╊
125 },
126
127 block => {
128         square   => [qw{. □ ▣ ■ . ▤ ▦ ▥ . ▧ ▩ ▨}],
129         shades   => [qw{. ░ . ▒ . ▓ }],
130         fill4    => [qw{. ▘ ▀ ▝ . ▌ █ ▐ . ▖ ▄ ▗ }],
131         fill4i   => [qw{. ▛ ▚ ▟ . ▙ ▞ ▜ }],
132         fill8    => [qw{. ▁ ▂ ▃ ▄ ▅ ▆ ▇ ▔ . ▏ ▎ ▍ ▌ ▋ ▊ ▉ ▕ }],
133 },
134
135 latin => {
136         sample   => [qw{
137                 . å ä ö ü ß
138                 . ā æ ø ű ſ
139                 . á è õ û ç þ
140                 . ă ę œ ů š ð
141                 . ı ė º ư ș đ
142         }],
143         vowels   => [qw{
144                 . á é í ó ú ý
145                 . â ê î ô û ŷ
146                 . à è ì ò ù ỳ
147                 . ã ẽ ĩ õ ũ ỹ
148                 . ä ë ï ö ü ÿ
149                 . æ & ij œ ᵫ -
150                 . å - ı ⱺ ů ẙ
151                 . ă ĕ ĭ ŏ ŭ -
152                 . ǎ ě ǐ ǒ ǔ -
153                 . ą ę į ǫ ų -
154         }],
155         westeuro => [qw{
156                 . ç ð ñ ß þ
157         }],
158         easteuro => [qw{
159                 . č ď ľ ň ř š ť ž
160                 . ć đ ł ń ŕ ś ŧ ź ż
161         }],
162         uncommon => [qw{
163                 .>Englisc   æ ð ē ȝ œ þ ƿ
164                 .>Sámi      á č đ ŋ š ŧ ž
165                 .>Slavic    ą ě ł ů ź ż ž
166                 .>Türkçe    ç ğ ı İ ö ş ü
167                 .>Español   ñ á é í ó ú ü
168                 .>Română    ă â î ș ț
169                 .>Esperanto ª ĉ ĝ ĥ ĵ ŝ ŭ
170         }],
171 },
172
173 ipa => {
174         cons => [qw{
175                 - >Labial >>>Coronal >>Dorsal >>Laryngeal >
176                 - BiL:Bilabial LD:Labiodental D:Dental Alv:Alveolar PA:Postalveolar
177                   Rf:Retroflex Pal:Palatal Vel:Velar Uv:Uvular Ph:Pharyngeal
178                   EG:Epiglottal Gl:Glottal
179                 .>Plosive                   p  -ȹ >  >  t  ʈ  c  k  q  -  ʡ  ʔ
180                 .>Voiced_Plosive            b  -ȸ >  >  d  ɖ  ɟ  ɡ  ɢ  =  =  =
181                 .>Nasal                     m  ɱ  >  >  n  ɳ  ɲ  ŋ  ɴ  =  =  =
182                 .>Trill                     ʙ  -  >  >  r  -  -  =  ʀ  -  -я =
183                 .>Tap/flap                 -ⱳ  ⱱ  >  >  ɾ  ɽ  -  =  ɢ̆  >  -ʡ̯ =
184                 .>Fricative                 ɸ  f  θ  s  ʃ  ʂ  ç  x  χ  ħ  ʜ  h
185                 .>Voiced_fricative          β  v  ð  z  ʒ  ʐ  ʝ  ɣ  ʁ  ʕ  ʢ  ɦ
186                 .>Lateral_fricative         =  =  >  >  ɬ  ꞎ  - -Ɬ  -  =  =  =
187                 .>Voiced_lateral_fricative  =  =  >  >  ɮ -ɮ̢  -  -  -  =  =  =
188                 .>Approximant               -  ʋ  >  >  ɹ  ɻ  j  ɰ  -  -ʕ̞ =  =
189                 .>Lateral_approximant       =  = -l̪  >  l  ɭ  ʎ  ʟ -ʟ̠  =  =  =
190                 .>Click                     ʘ  -  ǀ  ǁ  ǃ -‼  ǂ -ʞ  -  =  =  =
191                 .>Implosive                 ɓ  ɗ̪  >  >  ɗ -ᶑ  ʄ  ɠ  ʛ  =  =  =
192                 .>Articulation              ʷ  ᶹ   ̪   ͇  -  ˞  ʲ  ˠ   ̴  >  ˤ  ʰ
193         }], #TODO: > Labial  > > > Coronal  > Dorsal  > > Laryngeal
194         consco => [qw{
195                 - co:coarticulated .>sç ɕ .>zʝ ʑ .>ʃx ɧ .>jʷ ɥ .>lˠ ɫ .>hw̥ ʍ .>ɰʷ w
196         }],
197         vowels => [(
198                 '-',
199                 map { substr($_, 0, 1).':'.$_, substr($_, 0, 1)." r:$_ rounded" }
200                 qw{Front Central Back}
201         ), qw{
202                 .>Close      i y  ɨ ʉ  ɯ u
203                 .>Near-close ɪ ʏ -ᵻ -ᵿ -ω ʊ
204                 .>Close-mid  e ø  ɘ ɵ  ɤ o
205                 .>Mid       -ᴇ -  ə - - -ⱺ
206                 .>Open-mid   ɛ œ  ɜ ɞ  ʌ ɔ
207                 .>Near-open  æ -  ɐ -  - -
208                 .>Open       a ɶ -ä -ɒ̈ ɑ ɒ
209         }],
210         tones => [qw{
211                 .>Upstep     > ꜛ
212                 .>Higher     ˥  ̋
213                 .>High       ˦  ́
214                 .>Mid        ˧  ̄
215                 .>Low        ˨  ̀
216                 .>Lower      ˩  ̏
217                 .>Downstep   > ꜜ
218         }],
219         contours => [qw{
220                 -         >Rising >Falling
221                 .>High    ˧˥   ᷄   ˥˧   ᷇
222                 .>Rising  ˩˥   ̌   ˧˦˩  ᷈
223                 .>Falling ˨˩˦  ᷉   ˥˩   ̂
224                 .>Low     ˩˧   ᷅   ˧˩   ᷆
225         }], #TODO: annotate Rising-Falling as Peaking, Falling-Rising as Dipping
226         supraseg => [qw{
227                 . ˌ ˈ ˈˈ
228                 . ̆ ˑ ː
229                 . ‿ | ‖
230         }],
231 },
232
233 japanese => {
234         hira => [qw{
235                   - A  I  U  E  O  _
236                 .>  あ い う え お =
237                 .>K か き く け こ =
238                 .>S さ し す せ そ =
239                 .>T た ち つ て と =
240                 .>N な に ぬ ね の ん
241                 .>H は ひ ふ へ ほ =
242                 .>M ま み む め も =
243                 .>Y や =  ゆ =  よ =
244                 .>R ら り る れ ろ =
245                 .>W わ -ゐ = -ゑ を =
246         }],
247         hiraderiv => [qw{
248                   - A  I  U  E  O
249                 .>G が ぎ ぐ げ ご
250                 .>Z ざ じ ず ぜ ぞ
251                 .>D だ ぢ づ で ど
252                 .>B ば び ぶ べ ぼ
253                 .>P ぱ ぴ ぷ ぺ ぽ
254         }],
255         kata => [qw{
256                   - A  I  U  E  O  _
257                 .>  ア イ ウ エ オ ー
258                 .>K カ キ ク ケ コ =
259                 .>S サ シ ス セ ソ =
260                 .>T タ チ ツ テ ト =
261                 .>N ナ ニ ヌ ネ ノ ン
262                 .>H ハ ヒ フ ヘ ホ =
263                 .>M マ ミ ム メ モ =
264                 .>Y ヤ -  ユ -  ヨ =
265                 .>R ラ リ ル レ ロ =
266                 .>W ワ ヰ -  ヱ ヲ =
267         }],
268         kataderiv => [qw{
269                   - A  I  U  E  O
270                 .>G ガ ギ グ ゲ ゴ
271                 .>Z ザ ジ ズ ゼ ゾ
272                 .>D ダ ヂ ヅ デ ド
273                 .>B バ ビ ブ ベ ボ
274                 .>P パ ピ プ ペ ポ
275                 .>V ヷ ヸ ヴ ヹ ヺ
276         }],
277 },
278
279 }