Source of unicode.plp

<(common.inc.plp)><:

Html({
	title => 'unicode glyph cheat sheet',
	version => 'v1.0',
	description => [
		"Common Unicode characters with digraph or code point, layed out for quick location.",
		"Includes general symbols, arrows, drawing characters, and IPA letters.",
	],
	keywords => [qw'
		unicode glyph char character reference common ipa symbol sign mark table digraph
	'],
	stylesheet => [qw'light dark mono circus red'],
	data => [qw'digraphs.inc.pl'],
});

:>
<h1>Common Unicode</h1>

<p>
Glyphs are followed by
<a href="/digraphs">digraph</a> or <a href="/charset">code point</a>,
i^k or i^vu respectively in <a href="/vi">Vim</a>.
</p>

<div class="diinfo">

<:
use Shiar_Sheet::FormatChar;
my $glyphs = Shiar_Sheet::FormatChar->new;

if (exists $get{di}) {
	$glyphs->{digraph} = defined $get{di} ? ! !$get{di} : 1;
	$glyphs->{unicode} = 1;
}
if (exists $get{q}) {
	$glyphs->{unicode} = -1;
	$glyphs->{digraph}--;
}

our $verbose = exists $get{v};

$glyphs->print(
	'Popular',
	[qw{. « » . ‹ › . ‘ ’ . “ ” . „ ‚ . ‟ ‛}],
	[qw{. † ‡ • . § ¶ # . © ® ™ . ° ′ ″ . − × ÷ . ± ² √}],
	[qw{. ⚋ ⚊ . ⚐ ⚑ . ☺ ☹ . ✓ ✗ . ✔ ✘ }, $verbose ? () : qw{. ◄ ►}],
	[qw{. å ä ö ü ß . ā æ ø ű ſ}],
	[qw{
		. á è õ û ç . ą ı ơ ů þ
	}],
	$verbose ? [qw{
		.>Englisc   æ ð ē ȝ œ þ ƿ
		.>Sámi      á č đ ŋ š ŧ ž
		.>Slavic    ą ě ł ů ź ż ž
		.>Türkçe    ç ğ ı İ ö ş ü
		.>Esperanto ĉ ĝ ĥ ĵ ŝ ŭ
	}] : (),
	[qw{. α β}],
	[qw{. ¿ … 〃 ‐ – . ‽ · ※ ‒ — }],

	'Symbols',
	[qw{. ¤ ¢ ₥ € £ ₨ $ ¥ . ฿ ₫ ₭ ₦ ₱ ₮ ₩ ₪}],
	[qw{. ♠ ♡ ♢ ♣ . ♤ ♥ ♦ ♧}],
	[qw{. ☮ ☯ ☻ ♪ ♲ ♿ }],
	[qw{. ✂ ✉ ℻ ☎ ☏}, $verbose ? qw{. 🔞 🔾 🔰 🔮 🕀 } : ()], # communication
	[qw{. ✊ ✋ ✌ }, $verbose ? qw{. 🖹 🐜 👼 } : ()], # 3-way (RockPaperScissors, TerranProtossZerg)
	[qw{. ⚠ ☡ ☠}],
	'Signs',
	[qw{. ☉ ☿ ♀ ♁ ♂ ♃ ♄ ♅ ♆ ♇}],  # solar
	[qw{
		. ♈ ♉ ♊ ♋ ♌ ♍ ♎ ♏ ♐ ♑ ♒ ♓
	}, !$verbose ? () : qw{
		. 寅 卯 辰 巳 午 未 申 酉 戌 亥 子 丑
		. 虎 兔 龍 蛇 馬 羊 猴 雞 狗 豬 鼠 牛
		. 🐅 🐇 🐉 🐍 🐎 🐐 🐒 🐓 🐕 🐖 🐀 🐂
	}], # zodiac

	'Key commands',
	[qw{. ⇥ ⇤ . ␣ ⌫ }], # common spacing
	[qw{. ⎀ ⇱ ⇞ . ⌦ ⇲ ⇟ }], # edit block
	[qw{. ⇪ ⇯ ⇭ . ⇧ ⇮ № }], # modifier
	[qw{. ⎈ ⌥ ⌘ ⎄ }], [qw{. ↵ ⎋ ⎉ ⎊ }], # command
$verbose ? (
	[qw{. ► ⏩ ⏭ ◼ ⚫ . ◄ ⏪ ⏮ ⏏ -❚❚ }], # player ui
) : (),

	'Arrows',
	[qw{. ↖ ↑ ↗ ↔ . ← - → ↕ . ↙ ↓ ↘ -}],
	[qw{. ⇖ ⇑ ⇗ ⇔ . ⇐ - ⇒ ⇕ . ⇙ ⇓ ⇘ -}],
	[qw{. ⬁ ⇧ ⬀ ⬄ . ⇦ - ⇨ ⇳ . ⬃ ⇩ ⬂ -}],
	[qw{. ⬉ ⬆ ⬈ ⬌ . ⬅ - ➡ ⬍ . ⬋ ⬇ ⬊ -}],
	[qw{. ◩ ⬒ ⬔   . ◧ □ ◨   . ⬕ ⬓ ◪  }],
	[qw{. ◤ ▲ ◥   . ◀ ◆ ▶   . ◣ ▼ ◢  }],
	[qw{. ◸ △ ◹   . ◁ ◇ ▷   . ◺ ▽ ◿  }],
$verbose ? (
	[qw{.    .  -  .    }],
	[qw{.    .  -  .    }],
) : (),

	'Line drawing',
	[qw{. ╔ ╦ ╗ ═ . ╠ ╬ ╣ ║ . ╚ ╩ ╝ - }],
	[qw{. ╒ ╤ ╕ . ╞ ╪ ╡ . ╘ ╧ ╛ }],
	[qw{. ╓ ╥ ╖ . ╟ ╫ ╢ . ╙ ╨ ╜ }],
	[qw{. ┌ ┬ ┐ . ├ ┼ ┤ . └ ┴ ┘}],
	[qw{. ┏ ┳ ┓ . ┣ ╋ ┫ . ┗ ┻ ┛}],
	[qw{. ┍ ┯ ┑ . ┝ ┿ ┥ . ┕ ┷ ┙}],
	[qw{. ┎ ┰ ┒ . ┠ ╂ ┨ . ┖ ┸ ┚}],
	[qw{
		. ╴ ─ ╌ ┄ ┈ ╶ ╾
		. ╸ ━ ╍ ┅ ┉ ╺ ╼
		. ╵ │ ╎ ┆ ┊ ╷ ╿
		. ╹ ┃ ╏ ┇ ┋ ╻ ╽
	}],
	[qw{. ╭ ╮ . ╰ ╯ }],
	[qw{. ╱ ╳ ╲ }],
	# ┞┟┡┢┦┧┩┪┭┮┱┲┵┶┹┺┽┾╀╁╃╄╅╆╇╈╉╊

	'Blocks',
	[qw{. □ ▣ ■ . ▤ ▦ ▥ . ▧ ▩ ▨}],
	[qw{. ░ . ▒ . ▓ }],
	[qw{. ▘ ▀ ▝ . ▌ █ ▐ . ▖ ▄ ▗ }],
	[qw{. ▛ ▚ ▟ . ▙ ▞ ▜ }],
	[qw{. ▁ ▂ ▃ ▄ ▅ ▆ ▇ ▔ . ▏ ▎ ▍ ▌ ▋ ▊ ▉ ▕ }],

	'IPA',
	[qw{
		- BiL:Bilabial LD:Labiodental D:Dental Alv:Alveolar PA:Postalveolar
		  Rf:Retroflex Pal:Palatal Vel:Velar Uv:Uvular Ph:Pharyngeal
		  EG:Epiglottal Gl:Glottal
		.>Plosive                   p  -ȹ >  >  t  ʈ  c  k  q  =  ʡ  ʔ
		.>Voiced_Plosive            b  -ȸ >  >  d  ɖ  ɟ  ɡ  ɢ  =  -  =
		.>Nasal                     m  ɱ  >  >  n  ɳ  ɲ  ŋ  ɴ  =  =  =
		.>Trill                     ʙ  -  >  >  r  -  -  =  ʀ  =  -я =
		.>Tap/flap                  -  ⱱ  >  >  ɾ  ɽ  -  =  ɢ̆  =  -  =
		.>Fricative                 ɸ  f  θ  s  ʃ  ʂ  ç  x  χ  ħ  ʜ  h
		.>Voiced_fricative          β  v  ð  z  ʒ  ʐ  ʝ  ɣ  ʁ  ʕ  ʢ  ɦ
		.>Lateral_fricative         =  =  >  >  ɬ  -  -  -  -  =  =  =
		.>Voiced_lateral_fricative  =  =  >  >  ɮ  -  -  -  -  =  =  =
		.>Approximant               -  ʋ  >  >  ɹ  ɻ  j  ɰ  -  -  -  =
		.>Lateral_approximant       =  =  >  >  l  ɭ  ʎ  ʟ  -  =  =  =
		.>Click                     ʘ  -  ǀ  ǁ  ǃ  -‼ ǂ  -  -  =  =  =
		.>Implosive                 ɓ  ɗ̪  >  >  ɗ  -ᶑ ʄ  ɠ  ʛ  =  =  =
	}],
	[qw{
		- co:coarticulated .>sç ɕ .>zʝ ʑ .>ʃx ɧ .>jʷ ɥ .>hw̥ ʍ .>ɰʷ w
	}],
	[(
		'-',
		map { substr($_, 0, 1).':'.$_, substr($_, 0, 1)." r:$_ rounded" }
		qw{Front Central Back}
	), qw{
		.>Close      i y  ɨ ʉ  ɯ u
		.>Near-close ɪ ʏ  - -  - ʊ
		.>Close-mid  e ø  ɘ ɵ  ɤ o
		.>Mid        - -  ə -  - -
		.>Open-mid   ɛ œ  ɜ ɞ  ʌ ɔ
		.>Near-open  æ -  ɐ -  - -
		.>Open       a ɶ  - -  ɑ ɒ
	}],

$verbose ? (
	'Japanese',
	[qw{
		  - A  I  U  E  O  _
		.>  あ い う え お =
		.>K か き く け こ =
		.>S さ し す せ そ =
		.>T た ち つ て と =
		.>N な に ぬ ね の ん
		.>H は ひ ふ へ ほ =
		.>M ま み む め も =
		.>Y や =  ゆ =  よ =
		.>R ら り る れ ろ =
		.>W わ -ゐ = -ゑ を =
	}],
	[qw{
		  - A  I  U  E  O
		.>G が ぎ ぐ げ ご
		.>Z ざ じ ず ぜ ぞ
		.>D だ ぢ づ で ど
		.>B ば び ぶ べ ぼ
		.>P ぱ ぴ ぷ ぺ ぽ
	}],
	[qw{
		  - A  I  U  E  O  _
		.>  ア イ ウ エ オ ー
		.>K カ キ ク ケ コ =
		.>S サ シ ス セ ソ =
		.>T タ チ ツ テ ト =
		.>N ナ ニ ヌ ネ ノ ン
		.>H ハ ヒ フ ヘ ホ =
		.>M マ ミ ム メ モ =
		.>Y ヤ -  ユ -  ヨ =
		.>R ラ リ ル レ ロ =
		.>W ワ ヰ -  ヱ ヲ =
	}],
	[qw{
		  - A  I  U  E  O
		.>G ガ ギ グ ゲ ゴ
		.>Z ザ ジ ズ ゼ ゾ
		.>D ダ ヂ ヅ デ ド
		.>B バ ビ ブ ベ ボ
		.>P パ ピ プ ペ ポ
		.>V ヷ ヸ ヴ ヹ ヺ
	}],
) : (),
);

:></div>

<div class="legend">
	<table class="glyphs"><tr>
	<td class="X l4">ascii
	<td class="X l3"><:= $glyphs->{digraph} ? 'digraph' : 'latin1' :>
	<td class="X l2"><:= $glyphs->{digraph} ? 'proposed' : 'BMP' :>
	<td class="X l1">other unicode
	<td class="X ex">discouraged
	</table>
</div>

<script type="text/javascript" src="/clipboard.js"></script>