latin: format tap code with multiline bullets
[sheet.git] / writing-latn.inc.pl
index 2885e983c6fe03fedc957b97c896f7a09e94383f..a185266484d32434a62fd115110d009cdef8f2c7 100644 (file)
@@ -1,15 +1,17 @@
 use utf8;
 
 sub disptap {
-       map {
+       return map {
                m/\A(-?)(\d)(\d)/;
-               $1 . '\\'  # escape dot
-               . ('.̇' x ($2 < $3 ? $2 : $3))  # min($2,$3) without losing captures
-               . ('.' x ($3 - $2))
-               . (' ̇' x ($2 - $3))
-       } @_
+               sprintf('<small style="line-height:2ex">%s</small>&nbsp;',
+                       #TODO: prepend $1
+                       join "<br>\n", '•' x $2, '•' x $3,
+               );
+       } @_;
 }
 
+my %C = qw(red #EC1C24  blue #3953A3  yellow #F9EC31  black #231F20);
+
 (
 latn     => [qw{ a b c d e f g h i j k l m n o p q r s t u v w x y z }],
 latfsuet => [qw{ a b c d e f g h i j k l m n o p q r ſ s t u v w x y z }],
@@ -35,4 +37,100 @@ tap      => [disptap(qw{
                11 12 13 14 21 22 23 24 31 -31 -13 32 33
                34 41 42 -13 43 44 15 51 52 53 -25 -31 54
             })],
+ics => [
+       map { '<svg width="20" height="20" viewBox="0 0 30 30">'.$_.'</svg>' }
+       split /\n\n/, qq{
+               <path fill="$C{blue}" d="M0,0 h30 l-7.5,15 7.5,15 h-30 z"/>
+               <path fill="white" d="M0,0 h15 v30 h-15"/>
+
+               <path fill="$C{red}" d="M0,0 h30 l-7.5,15 7.5,15 h-30 z"/>
+
+               <path fill="$C{blue}" d="M0,0 h30v30 h-30z"/>
+               <path fill="white" d="M0,6  h30 v18 h-30" />
+               <path fill="$C{red}" d="M0,12 h30 v6  h-30" />
+
+               <path fill="$C{yellow}" d="M0,0 h30v30 h-30z"/>
+               <path fill="$C{blue}" d="M0,6 h30 v18 h-30"/>
+
+               <path fill="$C{red}" d="M0,0 h30v30 h-30z"/>
+               <path fill="$C{blue}" d="M0,0 h30 v15 h-30"/>
+
+               <path fill="white" d="M0,0 h30v30 h-30z"/>
+               <path fill="$C{red}" d="M15,0 l15,15 -15,15 -15,-15"/>
+
+               <path fill="$C{blue}" d="M0,0 h30v30 h-30z"/>
+               <path fill="$C{yellow}" d="M 0,0 h5 v30 h-5"/>
+               <path fill="$C{yellow}" d="M10,0 h5 v30 h-5"/>
+               <path fill="$C{yellow}" d="M20,0 h5 v30 h-5"/>
+
+               <path fill="$C{red}" d="M0,0 h30v30 h-30z"/>
+               <path fill="white" d="M0,0 h15 v30 h-15"/>
+
+               <path fill="$C{yellow}" d="M0,0 h30v30 h-30z"/>
+               <circle fill="black" r="7.5" cx="15" cy="15"/>
+
+               <path fill="$C{blue}" d="M0,0 h30v30 h-30z"/>
+               <path fill="white" d="M0,10 h30 v10 h-30"/>
+
+               <path fill="$C{blue}" d="M0,0 h30v30 h-30z"/>
+               <path fill="$C{yellow}" d="M0,0 h15 v30 h-15"/>
+
+               <path fill="$C{black}" d="M0,0 h30v30 h-30z"/>
+               <path fill="$C{yellow}" d="M0,0 h15 v15 h-15 M15,15 h15 v15 h-15"/>
+
+               <path fill="white" d="M0,0 h30v30 h-30z"/>
+               <path fill="$C{blue}" d="M4,0h22l-11,11 M4,30h22l-11,-11 M0,4v22l11,-11 M30,4v22l-11,-11"/>
+               <!--path fill="$C{blue}" d="M3,0h24l-12,12 M3,30h24l-12,-12 M0,3v24l12,-12 M30,3v24l-12,-12"/-->
+
+               <path fill="white" d="M0,0 h30v30 h-30z"/>
+               <path fill="$C{blue}" d="
+                       M0,0     h7.5v7.5h-7.5 m0,7.5h7.5v7.5h-7.5
+                       m7.5,-15 h7.5v7.5h-7.5 m0,7.5h7.5v7.5h-7.5
+                       m7.5,-30 h7.5v7.5h-7.5 m0,7.5h7.5v7.5h-7.5
+                       m7.5,-15 h7.5v7.5h-7.5 m0,7.5h7.5v7.5h-7.5
+               "/>
+
+               <path fill="$C{yellow}" d="M0,0 h30v30 h-30z"/>
+               <path fill="$C{red}" d="M0,0 h30 v30"/>
+
+               <path fill="$C{blue}" d="M0,0 h30v30 h-30z"/>
+               <path fill="white" d="M10,10 h10 v10 h-10"/>
+
+               <path fill="$C{yellow}" d="M0,0 h30v30 h-30z"/>
+
+               <path fill="$C{red}" d="M0,0 h30v30 h-30z"/>
+               <path fill="$C{yellow}" d="M12.5,0 v30 h5 v-30"/>
+               <path fill="$C{yellow}" d="M0,12.5 h30 v5 h-30"/>
+
+               <path fill="white" d="M0,0 h30v30 h-30z"/>
+               <path fill="$C{blue}" d="M10,10 h10 v10 h-10"/>
+
+               <path fill="white" d="M0,0 h30v30 h-30z"/>
+               <path fill="$C{red}" d="M0,0 h10 v30 h-10"/>
+               <path fill="$C{blue}" d="M20,0 h10 v30 h-10"/>
+
+               <path fill="white" d="M0,0 h30v30 h-30z"/>
+               <path fill="$C{red}" d="M0,0 h15 v15 h-15 M15,15 h15 v15 h-15"/>
+
+               <path fill="$C{red}" d="M0,0 h30v30 h-30z"/>
+               <path fill="white" d="M4,0h22l-11,11 M4,30h22l-11,-11 M0,4v22l11,-11 M30,4v22l-11,-11"/>
+
+               <path fill="$C{blue}" d="M0,0 h30v30 h-30z"/>
+               <path fill="white" d="M5,5 h20 v20 h-20"/>
+               <path fill="$C{red}" d="M10,10 h10 v10 h-10"/>
+
+               <path fill="white" d="M0,0 h30v30 h-30z"/>
+               <path fill="$C{blue}" d="M12.5,0 v30 h5 v-30"/>
+               <path fill="$C{blue}" d="M0,12.5 h30 v5 h-30"/>
+
+               <path fill="$C{red}" d="M0,0 h30v30 h-30z"/>
+               <path fill="$C{yellow}" d="M0,0h6l-6,6 M12,0h6l-18,18v-6 M24,0h6l-30,30v-6
+                       M30,6v6l-18,18h-6 M30,18v6l-6,6h-6"/>
+
+               <path fill="$C{black}" d="M0,0 h30v30 h-30z"/>
+               <path fill="$C{blue}" d="M30,0 v31 l-15,-15"/>
+               <path fill="$C{yellow}" d="M0,0  h31 l-15,15"/>
+               <path fill="$C{red}" d="M0,30 h31 l-15,-15"/>
+       },
+],
 );