%!PS Generate yearly report log % (C:\\windows\\desktop\\gonzo\\gonzo.psl) run % use external gonzo % (C:/Users/don/Desktop/gonzo/gonzo.psl) run % try text only [/CropBox [0 0 325 792] % set the phone narrow 325 size /PAGES pdfmark %%%%%%%%%% new defs here %%%%%% % tintmat is a self-generating list of 216 triple color values /webtintmat [ 0 1 5 { /a exch store 0 1 5 { /b exch store 0 1 5 { 5 div b 5 div a 5 div }for } for } for ] def % setwebtint accepts a color number 0 to 215 and then % sets the PostScript color generator for later use... /setwebtint { abs cvi 216 cvi mod % restrict range webtintmat exch 3 mul 3 getinterval % get values from table aload pop setrgbcolor} def % and set them % /font0 /StoneSans-Bold [35 10 add 0 0 40.1 0 -23] gonzofont % temp "I" % /font1 /StoneSerif 8.38 gonzofont % /font2 /StoneSerif [ 7.95 0 1.10 8.38 0 0 ] gonzofont % /font3 /StoneSans-Bold [9.25 0 0 9.25 0 -8] gonzofont % old { /font0 /StoneSans-Bold [4.3 0 0 4.7 0 -2.7] gonzofont % temp "I" /font1 /StoneSerif 2.238 gonzofont /font2 /StoneSerif [ .8 0 0 .8 0 0 ] gonzofont /font6 /StoneSerif-Bold [1 0 0 1 0 0] gonzofont /font7 /StoneSerif-Bold 2.2 gonzofont } pop /blackcolor {mark 0 /setwebtint cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /purplecolor {mark 190 /setwebtint cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /bluecolor {mark 180 /setwebtint cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /browncolor {mark 8 /setwebtint cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /redcolor {mark 5 /setwebtint cvx] cvx printlist exch 3 index exch put exch 1 add exch} def /greencolor {mark 18 /setwebtint cvx] cvx printlist exch 3 index exch put exch 1 add exch} def % mergestr merges the two top stack strings into one top stack string /mergestr {2 copy length exch length add string dup dup 4 3 roll 4 index length exch putinterval 3 1 roll exch 0 exch putinterval} def %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /longyear 2019 store /shortyear 19 store /numpars 6 store /newyear mark [(January) 31 (01) 1] % takes care of overflow manual interventionon date still needed [(December) 31 (12) 0] [(November) 30 (11) 0] [(October) 31 (10) 0] [(September) 30 (09) 0] [(August) 31 (08) 0] [(July) 31 (07) 0] [(June) 30 (06) 0] [(May) 31 (05) 0 ] [(April) 30 (04) 0] [(March) 31 (03) 0] [(February) 28 (02) 0] [(January) 31 (01)0] [(December) 31 (12) -1] ] store /firstdemo { newyear { dup 0 get /month exch store dup 1 get /monthmax exch store dup 2 get /monthcount exch store 3 get /yearadjust exch store monthmax -1 1 {/day exch store doaday } for } forall } store %%%%%%%%%%%%%%%%%%%%%%%%%%%% /doaday { (\n) (
) mergestr (\n) mergestr %%% () mergestr month mergestr ( ) mergestr
day 6 string cvs mergestr (, ) mergestr
longyear yearadjust add 9 string cvs mergestr
(
) mergestr (\n) mergestr
%%%
(deeplink • top • bot • respond
) mergestr (\n)mergestr (
) mergestr (\n\n)mergestr } repeat (\n) mergestr print } store firstdemo % log only! % EOF