:
use utf8;
use strict;
use warnings;
use open IO => ':utf8';
our $VERSION = '1.0';
$header{content_type} = 'text/html; charset=utf-8';
:>
digraph cheat sheet
Common Digraphs
<:
my $diinfo = do 'digraphs.inc.pl';
my %di = map { $diinfo->{$_}->[0] => $_ } grep { ref $diinfo->{$_} }
keys %$diinfo;
sub quote {
local $_ = shift;
s/"/"/g;
s/</g;
s/>/>/g;
return $_;
}
sub table {
my ($width, $digraphs) = @_;
my @cells;
push @cells, sprintf '%s%s',
$di{ord $_} && $diinfo->{$di{ord $_}}->[1],
$_ eq '-' ? ' ' : quote($_),
$di{ord $_} && sprintf(' %s', $di{ord $_})
for @$digraphs;
my @rows;
push @rows, sprintf ' | %s', join '', splice @cells, 0, $width, ()
while @cells;
return sprintf "\n", join '', @rows;
}
print "Arrows
\n\n";
print table(@$_) for (
[ 4 => [qw{↖ ↑ ↗ ↔ ← - → ↕ ↙ ↓ ↘ -}]],
[ 4 => [qw{⇖ ⇑ ⇗ ⇔ ⇐ - ⇒ ⇕ ⇘ ⇓ ⇙ -}]],
[ 3 => [qw{◤ ▲ ◥ ◀ ◆ ▶ ◣ ▼ ◢}]],
[ 3 => [qw{◸ △ ◹ ◁ ◇ ▷ ◺ ▽ ◿}]],
);
print "Line drawing
\n\n";
print table(@$_) for (
[ 4 => [qw{┌ ┬ ┐ ─ ├ ┼ ┤ │ └ ┴ ┘ -}]],
[ 4 => [qw{┏ ┳ ┓ ━ ┣ ╋ ┫ ┃ ┗ ┻ ┛ -}]],
[ 3 => [qw{┍ ┯ ┑ ┝ ┿ ┥ ┕ ┷ ┙}]],
[ 3 => [qw{┎ ┰ ┒ ┠ ╂ ┨ ┖ ┸ ┚}]],
# [ 4 => [qw{╔ ╦ ╗ ═ ╠ ╬ ╣ ║ ╚ ╩ ╝ -}]],
# [ 3 => [qw{╒ ╤ ╕ ╞ ╪ ╡ ╘ ╧ ╛}]],
# [ 3 => [qw{╓ ╥ ╖ ╟ ╫ ╢ ╙ ╨ ╜}]],
);
print "Signs
\n\n";
print table(@$_) for (
[ 3 => [qw{▘ ▀ ▝ ▌ █ ▐ ▖ ▄ ▗}]],
[ 3 => [qw{░ ▒ ▓ □ ▣ ■ ▤ ▦ ▥ ▧ ▩ ▨}]],
[ 4 => [qw{♠ ♡ ♢ ♣ ♤ ♥ ♦ ♧}]],
[10 => [qw{☼ ☿ ♀ ♁ ♂ ♃ ♄ ♅ ♆ ♇}]], # solar
# [12 => [qw{♈ ♉ ♊ ♋ ♌ ♍ ♎ ♏ ♐ ♑ ♒ ♓}]], # zodiac
[ 8 => [qw{¤ ¢ ₥ € £ ₨ $ ¥ ₫ ₭ ₦ ₱ ₧ ₮ ₩ ₪}]],
);
print "IPA
\n\n";
print table(@$_) for (
[12 => [qw{
p t - ʈ - c k q - ʔ - ʡ
b d - ɖ - ɟ ɡ ɢ - - - -
m ɱ - n - ɳ ɲ ŋ ɴ - - -
ʙ - - r - - - - - - - -
- ⱱ - ɾ - ɽ - - - - - -
ɸ f θ s ʃ ʂ ç x χ ħ h ʜ
β v ð z ʒ ʐ ʝ ɣ ʁ ʕ ɦ ʢ
- - - ɬ - - - - - - - -
- - - ɮ - - - - - - - -
- ʋ - ɹ - ɻ j ɰ - - - -
- - - l - ɭ ʎ ʟ - - - -
ʘ - ǀ ǁ ǃ - ǂ - - - - -
ɓ - ɗ - - - ʄ ɠ ʛ - - -
}]],
[6 => [qw{
i y ɨ ʉ ɯ u
- ɪ ʏ - ʊ -
e ø ɘ ɵ ɤ o
- - ə - - -
ɛ œ ɜ ɞ ʌ ɔ
æ - ɐ - - -
a ɶ - - ɑ ɒ
}]],
);