X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/8f5edfbef12769b7c019742fd2aefc61e7698ee6..f6124d71ef6b9a8d73e9efae33aa769855764416:/writing-latn.inc.pl diff --git a/writing-latn.inc.pl b/writing-latn.inc.pl index 44fc0d6..2c9b59f 100644 --- a/writing-latn.inc.pl +++ b/writing-latn.inc.pl @@ -28,6 +28,18 @@ my @hueorder = ( 1,10,9,12,3,4,0, 14,23,22,25,16,17,26, # dark, light hues ); +# Order to put similar sounds close to each other: +# ┌ R Y G C B M X +# ┌┼────────────── +# W│ o e y h s f - +# │muaixqgkdtbp l +# K│ w n j c z v r + +my @hueletters = ((26) x 27); +@hueletters[map { ord($_) - ord('a') } qw( + u a i x q g k d t b p m l w n j c z v r o e y h s f +)] = @hueorder; + sub disptap { my $code = shift; my ($prefix, @dots) = $code =~ m/\A(-?)(\d)(\d)/ or return $code; @@ -62,15 +74,16 @@ sub dispbar { sub disphues { my ($index, $hues, $opaque) = @_; + $index >= 0 or $index = 26; 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', + '%s', join '', map { my $colf = $lumf[ $lum[$_] ]; !$colf ? () : sprintf('', - 10 + $_, $_ == 1 ? 12 : 10, 10, sprintf($colf, $hues->[$_]) + 5 + $_, $_ == 1 ? 7 : 5, 5, sprintf($colf, $hues->[$_]) ); } 0 .. 2 ); @@ -520,14 +533,18 @@ cmymap => { ], list => [ map { disphues($_, [180, 60, 300]) } # Cyan, Yellow, Magenta - @hueorder[13..18, 19, 0..11, 20..25, 12, 26], +# @hueorder[13..18, 19, 0..11, 20..25, 12, 26], + @hueletters ], }, dni => { title => "D'ni", + style => [ + 'svg { border: 1px solid #000 }', + '.sample span + span svg { border-left: 0 }', + ], list => [ map { - state $window = 'M-.5,-.5H8.5V8.5H-.5Z'; state $v = [ '', 'M0,4 8,4', @@ -544,8 +561,8 @@ dni => { 'M4,-.5 0,4 4,8.5', 'M4,8 4,2 8,2', ]; - sprintf '', - $window . ($h->[$_ % 5] . $v->[$_ / 5] || $v->[6]); + sprintf '', + $h->[$_ % 5] . $v->[$_ / 5] || $v->[6]; } 0 .. 5*5 ], },