starcraft: preliminary game key emulator
[sheet.git] / unicode.plp
1 <(common.inc.plp)><:
2
3 Html({
4         title => 'unicode glyph cheat sheet',
5         version => 'v1.0',
6         description => [
7                 "Common Unicode characters with digraph or code point, layed out for quick location.",
8                 "Includes general symbols, arrows, drawing characters, and IPA letters.",
9         ],
10         keywords => [qw'
11                 unicode glyph char character reference common ipa symbol sign mark table digraph
12         '],
13         stylesheet => [qw'light dark red'],
14         data => [qw'digraphs.inc.pl'],
15 });
16
17 :>
18 <h1>Common Unicode</h1>
19
20 <p>
21 Glyphs are followed by
22 <a href="/digraphs">digraph</a> or <a href="/charset">code point</a>,
23 i^k or i^vu respectively in <a href="/vi">Vim</a>.
24 </p>
25
26 <div class="diinfo">
27
28 <:
29 use Shiar_Sheet::FormatChar;
30 my $glyphs = Shiar_Sheet::FormatChar->new;
31
32 if (exists $get{di}) {
33         $glyphs->{digraph} = defined $get{di} ? ! !$get{di} : 1;
34         $glyphs->{unicode} = 1;
35 }
36 if (exists $get{q}) {
37         $glyphs->{unicode} = -1;
38         $glyphs->{digraph}--;
39 }
40
41 our $verbose = exists $get{v};
42
43 $glyphs->print(
44         'Popular',
45         [qw{. « » . ‹ › . ‘ ’ . “ ” . „ ‚ . ‟ ‛}],
46         [qw{. † ‡ • . § ¶ # . © ® ™ . ° ′ ″ . − × ÷ . ± ² √}],
47         [qw{. ⚋ ⚊ . ⚐ ⚑ . ☺ ☹ . ✓ ✗ . ✔ ✘ }, $verbose ? () : qw{. ◄ ►}],
48         [qw{. å ä ö ü ß . ā æ ø ű ſ}],
49         [qw{
50                 . á è õ û ç . ą ı ơ ů þ
51         }],
52         $verbose ? [qw{
53                 .>Englisc   æ ð ē ȝ œ þ ƿ
54                 .>Sámi      á č đ ŋ š ŧ ž
55                 .>Slavic    ą ě ł ů ź ż ž
56                 .>Türkçe    ç ğ ı İ ö ş ü
57                 .>Esperanto ĉ ĝ ĥ ĵ ŝ ŭ
58         }] : (),
59         [qw{. α β}],
60         [qw{. ¿ … 〃 ‐ – . ‽ · ※ ‒ — }],
61
62         'Symbols',
63         [qw{. ¤ ¢ ₥ € £ ₨ $ ¥ . ฿ ₫ ₭ ₦ ₱ ₮ ₩ ₪}],
64         [qw{. ♠ ♡ ♢ ♣ . ♤ ♥ ♦ ♧}],
65         [qw{. ☮ ☯ ☻ ♪ ♲ ♿ }],
66         [qw{. ✂ ✉ ℻ ☎ ☏}, $verbose ? qw{. 🔞 🔾 🔰 🔮 🕀 } : ()], # communication
67         [qw{. ✊ ✋ ✌ }, $verbose ? qw{. 🖹 🐜 👼 } : ()], # 3-way (RockPaperScissors, TerranProtossZerg)
68         [qw{. ⚠ ☡ ☠}],
69         'Signs',
70         [qw{. ☉ ☿ ♀ ♁ ♂ ♃ ♄ ♅ ♆ ♇}],  # solar
71         [qw{
72                 . ♈ ♉ ♊ ♋ ♌ ♍ ♎ ♏ ♐ ♑ ♒ ♓
73         }, !$verbose ? () : qw{
74                 . 寅 卯 辰 巳 午 未 申 酉 戌 亥 子 丑
75                 . 虎 兔 龍 蛇 馬 羊 猴 雞 狗 豬 鼠 牛
76                 . 🐅 🐇 🐉 🐍 🐎 🐐 🐒 🐓 🐕 🐖 🐀 🐂
77         }], # zodiac
78
79         'Key commands',
80         [qw{. ⇥ ⇤ . ␣ ⌫ }], # common spacing
81         [qw{. ⎀ ⇱ ⇞ . ⌦ ⇲ ⇟ }], # edit block
82         [qw{. ⇪ ⇯ ⇭ . ⇧ ⇮ № }], # modifier
83         [qw{. ⎈ ⌥ ⌘ ⎄ }], [qw{. ↵ ⎋ ⎉ ⎊ }], # command
84 $verbose ? (
85         [qw{. ► ⏩ ⏭ ◼ ⚫ . ◄ ⏪ ⏮ ⏏ -❚❚ }], # player ui
86 ) : (),
87
88         'Arrows',
89         [qw{. ↖ ↑ ↗ ↔ . ← - → ↕ . ↙ ↓ ↘ -}],
90         [qw{. ⇖ ⇑ ⇗ ⇔ . ⇐ - ⇒ ⇕ . ⇙ ⇓ ⇘ -}],
91         [qw{. ⬁ ⇧ ⬀ ⬄ . ⇦ - ⇨ ⇳ . ⬃ ⇩ ⬂ -}],
92         [qw{. ⬉ ⬆ ⬈ ⬌ . ⬅ - ➡ ⬍ . ⬋ ⬇ ⬊ -}],
93         [qw{. ◩ ⬒ ⬔   . ◧ □ ◨   . ⬕ ⬓ ◪  }],
94         [qw{. ◤ ▲ ◥   . ◀ ◆ ▶   . ◣ ▼ ◢  }],
95         [qw{. ◸ △ ◹   . ◁ ◇ ▷   . ◺ ▽ ◿  }],
96 $verbose ? (
97         [qw{.    .  -  .    }],
98         [qw{.    .  -  .    }],
99 ) : (),
100
101         'Line drawing',
102         [qw{. ╔ ╦ ╗ ═ . ╠ ╬ ╣ ║ . ╚ ╩ ╝ - }],
103         [qw{. ╒ ╤ ╕ . ╞ ╪ ╡ . ╘ ╧ ╛ }],
104         [qw{. ╓ ╥ ╖ . ╟ ╫ ╢ . ╙ ╨ ╜ }],
105         [qw{. ┌ ┬ ┐ . ├ ┼ ┤ . └ ┴ ┘}],
106         [qw{. ┏ ┳ ┓ . ┣ ╋ ┫ . ┗ ┻ ┛}],
107         [qw{. ┍ ┯ ┑ . ┝ ┿ ┥ . ┕ ┷ ┙}],
108         [qw{. ┎ ┰ ┒ . ┠ ╂ ┨ . ┖ ┸ ┚}],
109         [qw{
110                 . ╴ ─ ╌ ┄ ┈ ╶ ╾
111                 . ╸ ━ ╍ ┅ ┉ ╺ ╼
112                 . ╵ │ ╎ ┆ ┊ ╷ ╿
113                 . ╹ ┃ ╏ ┇ ┋ ╻ ╽
114         }],
115         [qw{. ╭ ╮ . ╰ ╯ }],
116         [qw{. ╱ ╳ ╲ }],
117         # ┞┟┡┢┦┧┩┪┭┮┱┲┵┶┹┺┽┾╀╁╃╄╅╆╇╈╉╊
118
119         'Blocks',
120         [qw{. □ ▣ ■ . ▤ ▦ ▥ . ▧ ▩ ▨}],
121         [qw{. ░ . ▒ . ▓ }],
122         [qw{. ▘ ▀ ▝ . ▌ █ ▐ . ▖ ▄ ▗ }],
123         [qw{. ▛ ▚ ▟ . ▙ ▞ ▜ }],
124         [qw{. ▁ ▂ ▃ ▄ ▅ ▆ ▇ ▔ . ▏ ▎ ▍ ▌ ▋ ▊ ▉ ▕ }],
125
126         'IPA',
127         [qw{
128                 - BiL:Bilabial LD:Labiodental D:Dental Alv:Alveolar PA:Postalveolar
129                   Rf:Retroflex Pal:Palatal Vel:Velar Uv:Uvular Ph:Pharyngeal
130                   EG:Epiglottal Gl:Glottal
131                 .>Plosive                   p  -ȹ >  >  t  ʈ  c  k  q  =  ʡ  ʔ
132                 .>Voiced_Plosive            b  -ȸ >  >  d  ɖ  ɟ  ɡ  ɢ  =  -  =
133                 .>Nasal                     m  ɱ  >  >  n  ɳ  ɲ  ŋ  ɴ  =  =  =
134                 .>Trill                     ʙ  -  >  >  r  -  -  =  ʀ  =  -я =
135                 .>Tap/flap                  -  ⱱ  >  >  ɾ  ɽ  -  =  ɢ̆  =  -  =
136                 .>Fricative                 ɸ  f  θ  s  ʃ  ʂ  ç  x  χ  ħ  ʜ  h
137                 .>Voiced_fricative          β  v  ð  z  ʒ  ʐ  ʝ  ɣ  ʁ  ʕ  ʢ  ɦ
138                 .>Lateral_fricative         =  =  >  >  ɬ  -  -  -  -  =  =  =
139                 .>Voiced_lateral_fricative  =  =  >  >  ɮ  -  -  -  -  =  =  =
140                 .>Approximant               -  ʋ  >  >  ɹ  ɻ  j  ɰ  -  -  -  =
141                 .>Lateral_approximant       =  =  >  >  l  ɭ  ʎ  ʟ  -  =  =  =
142                 .>Click                     ʘ  -  ǀ  ǁ  ǃ  -‼ ǂ  -  -  =  =  =
143                 .>Implosive                 ɓ  ɗ̪  >  >  ɗ  -ᶑ ʄ  ɠ  ʛ  =  =  =
144         }],
145         [qw{
146                 - co:coarticulated .>sç ɕ .>zʝ ʑ .>ʃx ɧ .>jʷ ɥ .>hw̥ ʍ .>ɰʷ w
147         }],
148         [(
149                 '-',
150                 map { substr($_, 0, 1).':'.$_, substr($_, 0, 1)." r:$_ rounded" }
151                 qw{Front Central Back}
152         ), qw{
153                 .>Close      i y  ɨ ʉ  ɯ u
154                 .>Near-close ɪ ʏ  - -  - ʊ
155                 .>Close-mid  e ø  ɘ ɵ  ɤ o
156                 .>Mid        - -  ə -  - -
157                 .>Open-mid   ɛ œ  ɜ ɞ  ʌ ɔ
158                 .>Near-open  æ -  ɐ -  - -
159                 .>Open       a ɶ  - -  ɑ ɒ
160         }],
161
162 $verbose ? (
163         'Japanese',
164         [qw{
165                   - A  I  U  E  O  _
166                 .>  あ い う え お =
167                 .>K か き く け こ =
168                 .>S さ し す せ そ =
169                 .>T た ち つ て と =
170                 .>N な に ぬ ね の ん
171                 .>H は ひ ふ へ ほ =
172                 .>M ま み む め も =
173                 .>Y や =  ゆ =  よ =
174                 .>R ら り る れ ろ =
175                 .>W わ -ゐ = -ゑ を =
176         }],
177         [qw{
178                   - A  I  U  E  O
179                 .>G が ぎ ぐ げ ご
180                 .>Z ざ じ ず ぜ ぞ
181                 .>D だ ぢ づ で ど
182                 .>B ば び ぶ べ ぼ
183                 .>P ぱ ぴ ぷ ぺ ぽ
184         }],
185         [qw{
186                   - A  I  U  E  O  _
187                 .>  ア イ ウ エ オ ー
188                 .>K カ キ ク ケ コ =
189                 .>S サ シ ス セ ソ =
190                 .>T タ チ ツ テ ト =
191                 .>N ナ ニ ヌ ネ ノ ン
192                 .>H ハ ヒ フ ヘ ホ =
193                 .>M マ ミ ム メ モ =
194                 .>Y ヤ -  ユ -  ヨ =
195                 .>R ラ リ ル レ ロ =
196                 .>W ワ ヰ -  ヱ ヲ =
197         }],
198         [qw{
199                   - A  I  U  E  O
200                 .>G ガ ギ グ ゲ ゴ
201                 .>Z ザ ジ ズ ゼ ゾ
202                 .>D ダ ヂ ヅ デ ド
203                 .>B バ ビ ブ ベ ボ
204                 .>P パ ピ プ ペ ポ
205                 .>V ヷ ヸ ヴ ヹ ヺ
206         }],
207 ) : (),
208 );
209
210 :></div>
211
212 <div class="legend">
213         <table class="glyphs"><tr>
214         <td class="X di-a">ascii
215         <td class="X di-d"><:= $glyphs->{digraph} ? 'digraph' : 'latin1' :>
216         <td class="X di-prop"><:= $glyphs->{digraph} ? 'proposed' : 'BMP' :>
217         <td class="X di-b">other unicode
218         <td class="X di-rare">discouraged
219         </table>
220 </div>
221
222 <script type="text/javascript" src="/clipboard.js"></script>
223