X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/98caa4d70a2ac467ce0786f2baf3dcae6ae667d4..fd049eb294bf4536e0507a7591fd9be3a0567d9c:/writing-latn.inc.pl diff --git a/writing-latn.inc.pl b/writing-latn.inc.pl index e904ddc..42a680c 100644 --- a/writing-latn.inc.pl +++ b/writing-latn.inc.pl @@ -60,6 +60,38 @@ sub dispdomino { return $prefix . chr(0x1F031 + ($dots[0] * 7) + $dots[1]); } +sub dispblock { + my $code = shift; + my ($prefix, $shape, $rotate) = $code =~ m/\A(-?)(\w)(\d?)/ + or return $code; + my %path = ( + S => 'm0,1h1v-1h1', + Z => 'm0,0h1v1h1', + L => 'm0,0v2h1', + v => 'm0,0v1h1', + J => 'm1,0v2h-1', + T => 'm0,0h2.5h-1.5v1', + O => 'm0,0h1v1h-1', + I => 'm0,1h3', + i => 'm0,1h2', + o => 'm0,1h1', + ); + my %col = qw( + S 120 Z 0 J 240 L 30 T 300 O 60 I 180 + v 45,50% i 165,50% o 165,0% + ); + s/\z(?' + . '', + $code eq 'I' ? 4 : $code =~ /T3|[LJO]$|[Iio]1/ ? 2 : 3, + $path{$shape}, "hsl($col{$shape},50%)", join('', + $rotate && sprintf(' transform="rotate(%s 1 1)"', $rotate * 90), + $prefix && ' style="opacity:.5"', + ), + ); +} + sub dispbar { my $code = shift or return ''; @@ -334,6 +366,19 @@ domino => { 44 50 51 52 53 54 55 60 61 62 63 64 65 }], }, +tetromino => { + style => [ + 'svg path { stroke-linecap: square }', + ], + name => 'Tetrominos', + list => [map { dispblock($_) } qw{ + T2 T1 I T3 + i L1 J L3 + o1 I1 L2 L -S1 Z1 + O J2 v2 -J3 S T + J1 v1 v v3 i1 Z + }], +}, cards => { style => 'td { font-family: Symbola, "DejaVu Sans", serif, sans }', list => [(