X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/f18c74928ccf255c0c03f352732dd674efd73040..76de9b7e588839cbae32bf0cb21f529963363450:/writing-latn.inc.pl diff --git a/writing-latn.inc.pl b/writing-latn.inc.pl index d8d0d53..60b24f9 100644 --- a/writing-latn.inc.pl +++ b/writing-latn.inc.pl @@ -49,6 +49,22 @@ sub dispbar { ); } +sub disphues { + my ($index, $hues, $opaque) = @_; + my @lum = ($index % 3, $index / 3 % 3, $index / 9); # hue opacities (0..2)x3 + my @lumf = $opaque ? ('hsl(%s,100%%,50%%)', 'hsl(%s,100%%,25%%)') : + ('hsl(%s,100%%,50%%)', 'hsla(%s,100%%,50%%,.5)'); + return sprintf( + '%s', + join '', map { + my $colf = $lumf[ $lum[$_] ]; + !$colf ? () : sprintf('', + 10 + $_, $_ == 1 ? 12 : 10, 10, sprintf($colf, $hues->[$_]) + ); + } 0 .. 2 + ); +} + ( uppercase => { list => [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 }], @@ -448,6 +464,30 @@ rm4scc => { '', 1, 3 # start/end ], }, +rgbmap => { + title => 'RGBmap', + style => [ + 'svg { isolation: isolate }', + 'svg circle { mix-blend-mode: screen }', + '.sample { background: black }', + ], + list => [ + map { disphues($_, [0, 240, 120], 1) } # Red, Blue, Green + 0 .. 3*3*3 - 1 + ], +}, +cmymap => { + title => 'CMYmap', + style => [ + 'svg { isolation: isolate }', # mix on white + 'svg circle { mix-blend-mode: multiply }', + '.sample { background: white }', + ], + list => [ + map { disphues($_, [180, 60, 300]) } # Cyan, Yellow, Magenta + 0 .. 3*3*3 - 1 + ], +}, dni => { title => "D'ni", list => [