X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=cmyk.ps;h=73ecfda27ed6ae408ed30407cf03fb61d7905b6d;hb=80d5c2f420e30982360cd7398e63898e05111c9f;hp=68b028ed3b0d127bb8f8915dc26abb28d855dd0a;hpb=e460fda8c7865ee778d7b51d756a06129ac0431c;p=pandemic-rising-tide.git diff --git a/cmyk.ps b/cmyk.ps index 68b028e..73ecfda 100644 --- a/cmyk.ps +++ b/cmyk.ps @@ -1,5 +1,31 @@ %! +/copyright [ + (cmyk.{ps,pdf}) + (v0.1) + (Copyright 2019) + (Ian Jackson) + (GNU AGPL v3+) + (NO WARRANTY) +] def + +% cmyk printer sample test +% +% Copyright (C) 2019 Ian Jackson +% +% This program is free software: you can redistribute it and/or modify +% it under the terms of the GNU Affero General Public License as +% published by the Free Software Foundation, either version 3 of the +% License, or (at your option) any later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +% GNU Affero General Public License for more details. +% +% You can obtain a copy of the GNU Affero General Public License +% from . + % CYM K % % 9^3 0 1 2 9 pagex @ 9 x 9 x 3 = 243 @@ -18,10 +44,8 @@ % horiz M } M-C-K grid % vert' C } M-C-K grid -% OLD -% 16^3 x 0 .. 3 1 Y per page -% 8^3 x 4 .. 7 4 Y per page 8 = 0 2 4 6 8 10 12 15 -% 8 10 13 15 +/debug false def +%/debug true def /paperx 595 def /papery 842 def @@ -39,22 +63,26 @@ % o = outer, i = inner, f = final -/margox 5 def -/margoy 5 def +/margox 2 def +/margoy 2 def /margix 2 def /margiy 2 def -/margbx 10 def -/margby 10 def +/margby 2 def % strid = stride /digits [ (0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (a) (b) (c) (d) (e) (f) ] def +/cctexty 8 def +/ccfont /Helvetica findfont cctexty scalefont def + /Helvetica findfont texty scalefont setfont +/ifdebug { debug exch if } def + /klist_get { klist blackx @@ -72,8 +100,13 @@ cyany neg gm add stridoy mul add } def -/cm_xy2val { - maxval gm div mul round cvi +/cmy_xy2val { + maxval gm div mul round cvi +} def + +/maxvalshow { + (/) show + maxval (_) cvs show } def /someyellow { @@ -104,16 +137,35 @@ szfy setlinewidth kentry_x kentry_y translate - cyany gn div - magentax gn div - yellowval gn div + cyany gm div + magentax gm div + yellowval maxval div klist_get maxval div + { 4 copy } ifdebug setcmykcolor 0 szfy +0.5 mul moveto szfx 0 rlineto stroke + { gsave + /Helvetica findfont 6.5 scalefont setfont + 0 + 1 1 4 { + index + 0.5 ge { + pop 1 + } if + } for + setgray + 0 1 3 { + 6.5 mul 0 exch moveto + 20 string cvs show + } for + grestore } ifdebug + + + cyany 0 le blacky 0 le and { % top row 0 setgray 0 stridiy margoy add translate @@ -167,38 +219,50 @@ start_page /gridox szox def /gridoy szoy def -/text_ul { +/text_yellow { (Y) show yellowval (_) cvs show } def +/text_ul { text_yellow } def + /text_cyan { (C) show - cyany cm_xy2val (_) cvs show + cyany cmy_xy2val (_) cvs show } def /text_magenta { (M) show - magentax cm_xy2val (_) cvs show + magentax cmy_xy2val (_) cvs show + magentax gm ge { maxvalshow } if } def /text_l { + 0 texty 0.25 mul translate cyany 0 le { - gsave - 0 texty rmoveto - (K) show - klist blacky get (_) cvs show - grestore + (K) show + klist blacky get (_) cvs show + 0 texty moveto } if blacky 0 le { text_cyan + cyany gm 2 sub ge { + gsave + ccfont setfont + cctexty 0.75 mul texty -0.75 mul translate + 90 rotate + 0 1 1 { /copyrighty exch def + 0 cctexty copyrighty neg mul moveto + copyright cyany neg gm add 2 mul copyrighty add get + dup stringwidth + neg exch neg exch rmoveto + show + } for + grestore + } if } if } def /text_u { text_magenta - magentax gm ge { - (/) show - gm (_) cvs show - } if } def /ranges { @@ -214,21 +278,58 @@ start_page ranges /gm 4 def +/gn 5 def /knx 2 def /kny 1 def +/text_u { + yellowy 0 le { + magentax 0 le { + (K) show + klist blackx get (_) cvs show + blackx knx 1 sub eq { + maxvalshow + } if + ( ) show + } if + blackx 0 le { + text_magenta + magentax gm ge { + gsave + ( ) show + ccfont setfont +% stridox gn mul stridoy sub 0 translate + % stridix 0.5 mul -0.25 cctexty mul 0 exch moveto + 0 1 1 { + ( ) show + copyright exch get + show + } for + grestore + } if + } if + } if +} def +/text_ul { +} def +/text_l { + 0 texty 0.5 mul translate + cyany 0 le { 0 texty moveto text_yellow } if + 0 0 moveto text_cyan +} def + /ranges2 { - /gridoy szoy 5 div margby 4 mul sub def + /gridoy szoy margby 4 mul sub gn div def 0 1 gm { /yellowy exch def - /yellow yellowy maxval mul gm div def + /yellowval yellowy cmy_xy2val def /text_u_p yellowy 1 ge def gsave 0 - yellowy gridoy margby add mul + yellowy neg gm add gridoy margby add mul translate someyellow grestore