latin: international maritime signal flags
authorMischa POSLAWSKY <perl@shiar.org>
Wed, 29 Jul 2015 10:58:10 +0000 (12:58 +0200)
committerMischa POSLAWSKY <perl@shiar.org>
Mon, 21 Sep 2015 22:20:08 +0000 (00:20 +0200)
SVG adapted from Wikipedia <https://en.wikipedia.org?oldid=671150888>.

Shiar_Sheet/FormatChar.pm
latin.plp
writing-latn.inc.pl

index 834b71b..78e4a21 100644 (file)
@@ -231,6 +231,10 @@ sub table {
                        $rows[-1] .= '<th>';
                        next;
                }
+               elsif ($cell =~ m/^</) {
+                       $rows[-1] .= '<td>'.$cell;
+                       next;
+               }
 
                $rows[-1] .= $self->cell($cell,
                        $colspan > 1 && qq{colspan="$colspan"},
index eb648c3..1208b2d 100644 (file)
--- a/latin.plp
+++ b/latin.plp
@@ -46,6 +46,7 @@ my %scriptname = (
        brai     => 'Braille',
        morse    => 'Morse',
        tap      => 'Tap code',
+       ics      => 'Maritime flags', # International Code of Signals
 );
 
 my @table = do 'writing-latn.inc.pl';
index 2885e98..3db23c4 100644 (file)
@@ -10,6 +10,8 @@ sub disptap {
        } @_
 }
 
+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"/>
+       },
+],
 );