From a9bab81226f7252db2eb8832ffc57da5eeea8b91 Mon Sep 17 00:00:00 2001 From: Dianne Skoll Date: Fri, 10 Jan 2020 13:48:58 -0500 Subject: [PATCH] Test that rem2ps can parse "remind -pp" output. --- tests/test-rem | 1 + tests/test.cmp | 1099 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1100 insertions(+) diff --git a/tests/test-rem b/tests/test-rem index 47b19736..3e5bbe6b 100644 --- a/tests/test-rem +++ b/tests/test-rem @@ -79,6 +79,7 @@ rm -f ../tests/purge_dir/*.rem.purged >> ../tests/test.out 2>&1 ../src/remind ../tests/runtest.rem >> ../tests/test.out 2>&1 ../src/remind -p ../tests/shade.rem 1 August 2009 | ../src/rem2ps -e -l -c3 >> ../tests/test.out 2>&1 +../src/remind -pp ../tests/shade.rem 1 August 2009 | ../src/rem2ps -e -l -c3 >> ../tests/test.out 2>&1 # The sun tests can fail due to math roundoff error changing the times # by a minute... diff --git a/tests/test.cmp b/tests/test.cmp index 0868bcd2..78869827 100644 --- a/tests/test.cmp +++ b/tests/test.cmp @@ -3834,6 +3834,1105 @@ grestore showpage %%Trailer %%Pages: 1 +%!PS-Adobe-2.0 +%%DocumentFonts: Helvetica Helvetica-BoldOblique +%%Creator: Rem2PS +%%Pages: (atend) +%%Orientation: Landscape +%%EndComments +% This file was produced by Remind and Rem2PS, written by +% Dianne Skoll. +% Remind and Rem2PS are Copyright 1992-2020 Dianne Skoll. +/ISOLatin1Encoding where { pop save true }{ false } ifelse + /ISOLatin1Encoding [ StandardEncoding 0 45 getinterval aload pop /minus + StandardEncoding 46 98 getinterval aload pop /dotlessi /grave /acute + /circumflex /tilde /macron /breve /dotaccent /dieresis /.notdef /ring + /cedilla /.notdef /hungarumlaut /ogonek /caron /space /exclamdown /cent + /sterling /currency /yen /brokenbar /section /dieresis /copyright + /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron + /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph + /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright + /onequarter /onehalf /threequarters /questiondown /Agrave /Aacute + /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute + /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth + /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply + /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn + /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring /ae + /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute + /icircumflex /idieresis /eth /ntilde /ograve /oacute /ocircumflex + /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex + /udieresis /yacute /thorn /ydieresis ] def +{ restore } if + +/reencodeISO { %def + findfont dup length dict begin + { 1 index /FID ne { def }{ pop pop } ifelse } forall + /Encoding ISOLatin1Encoding def + currentdict end definefont pop +} bind def +/copyFont { %def + findfont dup length dict begin + { 1 index /FID ne { def } { pop pop } ifelse } forall + currentdict end definefont pop +} bind def + +% L - Draw a line +/L { + newpath moveto lineto stroke +} bind def +% string1 string2 strcat string +% Function: Concatenates two strings together. +/strcat { + 2 copy length exch length add + string dup + 4 2 roll + 2 index 0 3 index + putinterval + exch length exch putinterval +} bind def +% string doheading +/doheading +{ + /monthyr exch def + + /TitleFont findfont + TitleSize scalefont setfont + monthyr stringwidth + /hgt exch def + 2 div MaxX MinX add 2 div exch sub /x exch def + MaxY Border sub TitleSize sub /y exch def + newpath x y moveto monthyr show + newpath x y moveto monthyr false charpath flattenpath pathbbox + pop pop Border sub /y exch def pop + MinX y MaxX y L + /topy y def + /HeadFont findfont HeadSize scalefont setfont +% Do the days of the week + MaxX MinX sub 7 div /xincr exch def + /x MinX def +[(Sunday) (Monday) (Tuesday) (Wednesday) (Thursday) (Friday) (Saturday)] + { + HeadSize x y HeadSize 2 mul sub x xincr add y CenterText + x xincr add /x exch def + } forall + y HeadSize 2 mul sub /y exch def + MinX y MaxX y L + /ytop y def /ymin y def +} +def +/CenterText +{ + /maxy exch def + /maxx exch def + /miny exch def + /minx exch def + /sz exch def + /str exch def + str stringwidth pop + 2 div maxx minx add 2 div exch sub + sz 2 div maxy miny add 2 div exch sub + moveto str show +} def +% Variables: +% curline - a string holding the current line +% y - current y pos +% yincr - increment to next line +% xleft - left margin +% width - max width. +% EnterOneWord - given a word, enter it into the box. +% string EnterOneWord +/EnterOneWord { + { EnterOneWordAux + {exit} if } + loop +} bind def +% EnterOneWordAux - if the word fits, enter it into box and return true. +% If it doesn't fit, put as much as will fit and return the string and false. +/EnterOneWordAux { + /word exch def + /tmpline curline word strcat def + tmpline stringwidth pop width gt + {MoveToNewLine} + {/curline tmpline ( ) strcat def /word () def} + ifelse + word () eq + {true} + {word false} + ifelse +} bind def +% MoveToNewLine - move to a new line, resetting word as appropriate +/MoveToNewLine { + curline () ne + {newpath xleft y moveto curline show /curline () def /y y yincr add def} + {ChopWord} + ifelse +} bind def +% ChopWord - word won't fit. Chop it and find biggest piece that will fit +/ChopWord { + /curline () def + /len word length def + /Fcount len 1 sub def + + { + word 0 Fcount getinterval stringwidth pop width le + {exit} if + /Fcount Fcount 1 sub def + } loop +% Got the count. Display it and reset word + newpath xleft y moveto word 0 Fcount getinterval show + /y y yincr add def + /word word Fcount len Fcount sub getinterval def +} bind def +/FinishFormatting { + word () ne + {newpath xleft y moveto word show /word () def + /curline () def /y y yincr add def} + {curline () ne + {newpath xleft y moveto curline show /word () def + /curline () def /y y yincr add def} if} + ifelse +} bind def +% FillBoxWithText - fill a box with text +% text-array xleft width yincr y FillBoxWithText new-y +% Returns the new Y-coordinate. +/FillBoxWithText { + /y exch def + /yincr exch def + /width exch def + /xleft exch def + /curline () def + % The last two strings in the word array are actually the PostScript + % code to execute before and after the entry is printed. + dup dup + length 1 sub + get + exch + dup dup + length 2 sub + get + dup length 0 gt + {cvx exec} {pop} ifelse + dup length 2 sub 0 exch getinterval + {EnterOneWord} forall + FinishFormatting + dup length 0 gt + {cvx exec} {pop} ifelse + y +} bind def +% Variables for calendar boxes: +% ytop - current top position +% ymin - minimum y reached for current row +% border ytop xleft width textarray daynum DoCalBox ybot +% Do the entries for one calendar box. Returns lowest Y-coordinate reached +/DoCalBox { + /daynum exch def + /textarr exch def + /wid exch def + /xl exch def + /yt exch def + /border exch def +% Do the day number + /DayFont findfont DaySize scalefont setfont + xl wid add border sub daynum stringwidth pop sub + yt border sub DaySize sub moveto daynum show +% Do the text entries. Precharge the stack with current y pos. + /ycur yt border sub DaySize sub DaySize sub 2 add def + /EntryFont findfont EntrySize scalefont setfont + ycur + textarr + { exch 2 sub /ycur exch def xl border add wid border sub border sub EntrySize 2 add neg + ycur FillBoxWithText } + forall +} bind def +2 setlinecap +% Define a default PreCal procedure +/PreCal { pop pop } bind def +/HeadFont /Helvetica copyFont +/SmallFont /Helvetica copyFont +/DayFont /Helvetica-BoldOblique copyFont +/EntryFont /Helvetica copyFont +/TitleFont /Helvetica copyFont +/HeadSize 14 def +/DaySize 14 def +/EntrySize 8 def +/TitleSize 14 def +/XSIZE 612 def +/MinX 36 def +/MinY 36 def +/MaxX 756 def +/MaxY 576 def +/Border 6 def +/LineWidth 1 def +1 setlinewidth +/SmallFont findfont /FontInfo get /isFixedPitch get +{/SmallString (WW ) def} +{/SmallString (WW) def} +ifelse +%%EndProlog +%%Page: Aug09 1 +90 rotate 0 XSIZE neg translate +/SAVESTATE save def (August) (2009) PreCal SAVESTATE restore +(August 2009) doheading +/MinBoxSize ytop MinY sub 6 div def +/ysmalltop ytop def +/CAL1 { +Border ytop 6 xincr mul MinX add xincr +[ +] +(1) +DoCalBox +/y exch def y ymin lt {/ymin y def} if +} def +1 setgray +CAL1 +0 setgray +/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if +MinX ymin MaxX ymin L +/ylast ytop def +/ytop ymin def +/SAVESTATE save def +6 xincr mul MinX add ytop translate +/BoxWidth xincr def +/BoxHeight ylast ytop sub def +/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def +/_A LineWidth 2 div def _A _A moveto +BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto +_A BoxHeight _A sub lineto closepath +0.8 1 0.8 setrgbcolor fill 0.0 setgray + + SAVESTATE restore +/ytop ylast def +CAL1 +/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if +MinX ymin MaxX ymin L +/ylast ytop def +/ytop ymin def +/CAL2 { +Border ytop 0 xincr mul MinX add xincr +[ +] +(2) +DoCalBox +/y exch def y ymin lt {/ymin y def} if +} def +/CAL3 { +Border ytop 1 xincr mul MinX add xincr +[ +] +(3) +DoCalBox +/y exch def y ymin lt {/ymin y def} if +} def +/CAL4 { +Border ytop 2 xincr mul MinX add xincr +[ +] +(4) +DoCalBox +/y exch def y ymin lt {/ymin y def} if +} def +/CAL5 { +Border ytop 3 xincr mul MinX add xincr +[ +] +(5) +DoCalBox +/y exch def y ymin lt {/ymin y def} if +} def +/CAL6 { +Border ytop 4 xincr mul MinX add xincr +[ +] +(6) +DoCalBox +/y exch def y ymin lt {/ymin y def} if +} def +/CAL7 { +Border ytop 5 xincr mul MinX add xincr +[ +] +(7) +DoCalBox +/y exch def y ymin lt {/ymin y def} if +} def +/CAL8 { +Border ytop 6 xincr mul MinX add xincr +[ +] +(8) +DoCalBox +/y exch def y ymin lt {/ymin y def} if +} def +1 setgray +CAL2 +CAL3 +CAL4 +CAL5 +CAL6 +CAL7 +CAL8 +0 setgray +/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if +MinX ymin MaxX ymin L +/ylast ytop def +/ytop ymin def +/SAVESTATE save def +0 xincr mul MinX add ytop translate +/BoxWidth xincr def +/BoxHeight ylast ytop sub def +/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def +/_A LineWidth 2 div def _A _A moveto +BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto +_A BoxHeight _A sub lineto closepath +0.8 0.8 1 setrgbcolor fill 0.0 setgray + + SAVESTATE restore +/SAVESTATE save def +1 xincr mul MinX add ytop translate +/BoxWidth xincr def +/BoxHeight ylast ytop sub def +/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def +/_A LineWidth 2 div def _A _A moveto +BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto +_A BoxHeight _A sub lineto closepath +1 1 1 setrgbcolor fill 0.0 setgray + + SAVESTATE restore +/SAVESTATE save def +2 xincr mul MinX add ytop translate +/BoxWidth xincr def +/BoxHeight ylast ytop sub def +/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def +/_A LineWidth 2 div def _A _A moveto +BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto +_A BoxHeight _A sub lineto closepath +1 1 0.8 setrgbcolor fill 0.0 setgray +(First-Bit-Of-PS) +(Second-Bit-Of-PS) +(Third-Bit-Of-PS) +(Fourth-Bit-Of-PS) + SAVESTATE restore +/SAVESTATE save def +3 xincr mul MinX add ytop translate +/BoxWidth xincr def +/BoxHeight ylast ytop sub def +/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def +/_A LineWidth 2 div def _A _A moveto +BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto +_A BoxHeight _A sub lineto closepath +1 0.8 1 setrgbcolor fill 0.0 setgray +gsave 0 setgray newpath Border DaySize 2 div add BoxHeight Border sub DaySize 2 div sub + DaySize 2 div 0 360 arc closepath +stroke +Border DaySize 2 div add DaySize 2 div add Border add BoxHeight border sub DaySize 2 div sub DaySize 2 div sub moveto +/EntryFont findfont EntrySize scalefont setfont (20:56) show +grestore + + SAVESTATE restore +/SAVESTATE save def +4 xincr mul MinX add ytop translate +/BoxWidth xincr def +/BoxHeight ylast ytop sub def +/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def +/_A LineWidth 2 div def _A _A moveto +BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto +_A BoxHeight _A sub lineto closepath +0.8 1 1 setrgbcolor fill 0.0 setgray + + SAVESTATE restore +/SAVESTATE save def +5 xincr mul MinX add ytop translate +/BoxWidth xincr def +/BoxHeight ylast ytop sub def +/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def +/_A LineWidth 2 div def _A _A moveto +BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto +_A BoxHeight _A sub lineto closepath +1 0.8 0.8 setrgbcolor fill 0.0 setgray + + SAVESTATE restore +/SAVESTATE save def +6 xincr mul MinX add ytop translate +/BoxWidth xincr def +/BoxHeight ylast ytop sub def +/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def +/_A LineWidth 2 div def _A _A moveto +BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto +_A BoxHeight _A sub lineto closepath +0.8 1 0.8 setrgbcolor fill 0.0 setgray + + SAVESTATE restore +/ytop ylast def +CAL2 +CAL3 +CAL4 +CAL5 +CAL6 +CAL7 +CAL8 +/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if +MinX ymin MaxX ymin L +/ylast ytop def +/ytop ymin def +/CAL9 { +Border ytop 0 xincr mul MinX add xincr +[ +] +(9) +DoCalBox +/y exch def y ymin lt {/ymin y def} if +} def +/CAL10 { +Border ytop 1 xincr mul MinX add xincr +[ +] +(10) +DoCalBox +/y exch def y ymin lt {/ymin y def} if +} def +/CAL11 { +Border ytop 2 xincr mul MinX add xincr +[ +] +(11) +DoCalBox +/y exch def y ymin lt {/ymin y def} if +} def +/CAL12 { +Border ytop 3 xincr mul MinX add xincr +[ +] +(12) +DoCalBox +/y exch def y ymin lt {/ymin y def} if +} def +/CAL13 { +Border ytop 4 xincr mul MinX add xincr +[ +] +(13) +DoCalBox +/y exch def y ymin lt {/ymin y def} if +} def +/CAL14 { +Border ytop 5 xincr mul MinX add xincr +[ +] +(14) +DoCalBox +/y exch def y ymin lt {/ymin y def} if +} def +/CAL15 { +Border ytop 6 xincr mul MinX add xincr +[ +] +(15) +DoCalBox +/y exch def y ymin lt {/ymin y def} if +} def +1 setgray +CAL9 +CAL10 +CAL11 +CAL12 +CAL13 +CAL14 +CAL15 +0 setgray +/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if +MinX ymin MaxX ymin L +/ylast ytop def +/ytop ymin def +/SAVESTATE save def +0 xincr mul MinX add ytop translate +/BoxWidth xincr def +/BoxHeight ylast ytop sub def +/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def +/_A LineWidth 2 div def _A _A moveto +BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto +_A BoxHeight _A sub lineto closepath +0.8 0.8 1 setrgbcolor fill 0.0 setgray + + SAVESTATE restore +/SAVESTATE save def +1 xincr mul MinX add ytop translate +/BoxWidth xincr def +/BoxHeight ylast ytop sub def +/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def +/_A LineWidth 2 div def _A _A moveto +BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto +_A BoxHeight _A sub lineto closepath +1 1 1 setrgbcolor fill 0.0 setgray + + SAVESTATE restore +/SAVESTATE save def +2 xincr mul MinX add ytop translate +/BoxWidth xincr def +/BoxHeight ylast ytop sub def +/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def +/_A LineWidth 2 div def _A _A moveto +BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto +_A BoxHeight _A sub lineto closepath +1 1 0.8 setrgbcolor fill 0.0 setgray + + SAVESTATE restore +/SAVESTATE save def +3 xincr mul MinX add ytop translate +/BoxWidth xincr def +/BoxHeight ylast ytop sub def +/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def +/_A LineWidth 2 div def _A _A moveto +BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto +_A BoxHeight _A sub lineto closepath +1 0.8 1 setrgbcolor fill 0.0 setgray + + SAVESTATE restore +/SAVESTATE save def +4 xincr mul MinX add ytop translate +/BoxWidth xincr def +/BoxHeight ylast ytop sub def +/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def +/_A LineWidth 2 div def _A _A moveto +BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto +_A BoxHeight _A sub lineto closepath +0.8 1 1 setrgbcolor fill 0.0 setgray +gsave 0 setgray newpath Border DaySize 2 div add BoxHeight Border sub DaySize 2 div sub + DaySize 2 div 0 360 arc closepath +stroke +newpath Border DaySize 2 div add BoxHeight Border sub DaySize 2 div sub +DaySize 2 div 270 90 arc closepath fill +Border DaySize 2 div add DaySize 2 div add Border add BoxHeight border sub DaySize 2 div sub DaySize 2 div sub moveto +/EntryFont findfont EntrySize scalefont setfont (14:56) show +grestore + + SAVESTATE restore +/SAVESTATE save def +5 xincr mul MinX add ytop translate +/BoxWidth xincr def +/BoxHeight ylast ytop sub def +/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def +/_A LineWidth 2 div def _A _A moveto +BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto +_A BoxHeight _A sub lineto closepath +1 0.8 0.8 setrgbcolor fill 0.0 setgray + + SAVESTATE restore +/SAVESTATE save def +6 xincr mul MinX add ytop translate +/BoxWidth xincr def +/BoxHeight ylast ytop sub def +/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def +/_A LineWidth 2 div def _A _A moveto +BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto +_A BoxHeight _A sub lineto closepath +0.8 1 0.8 setrgbcolor fill 0.0 setgray + + SAVESTATE restore +/ytop ylast def +CAL9 +CAL10 +CAL11 +CAL12 +CAL13 +CAL14 +CAL15 +/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if +MinX ymin MaxX ymin L +/ylast ytop def +/ytop ymin def +/CAL16 { +Border ytop 0 xincr mul MinX add xincr +[ +] +(16) +DoCalBox +/y exch def y ymin lt {/ymin y def} if +} def +/CAL17 { +Border ytop 1 xincr mul MinX add xincr +[ +] +(17) +DoCalBox +/y exch def y ymin lt {/ymin y def} if +} def +/CAL18 { +Border ytop 2 xincr mul MinX add xincr +[ +] +(18) +DoCalBox +/y exch def y ymin lt {/ymin y def} if +} def +/CAL19 { +Border ytop 3 xincr mul MinX add xincr +[ +] +(19) +DoCalBox +/y exch def y ymin lt {/ymin y def} if +} def +/CAL20 { +Border ytop 4 xincr mul MinX add xincr +[ +] +(20) +DoCalBox +/y exch def y ymin lt {/ymin y def} if +} def +/CAL21 { +Border ytop 5 xincr mul MinX add xincr +[ +] +(21) +DoCalBox +/y exch def y ymin lt {/ymin y def} if +} def +/CAL22 { +Border ytop 6 xincr mul MinX add xincr +[ +] +(22) +DoCalBox +/y exch def y ymin lt {/ymin y def} if +} def +1 setgray +CAL16 +CAL17 +CAL18 +CAL19 +CAL20 +CAL21 +CAL22 +0 setgray +/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if +MinX ymin MaxX ymin L +/ylast ytop def +/ytop ymin def +/SAVESTATE save def +0 xincr mul MinX add ytop translate +/BoxWidth xincr def +/BoxHeight ylast ytop sub def +/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def +/_A LineWidth 2 div def _A _A moveto +BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto +_A BoxHeight _A sub lineto closepath +0.8 0.8 1 setrgbcolor fill 0.0 setgray + + SAVESTATE restore +/SAVESTATE save def +1 xincr mul MinX add ytop translate +/BoxWidth xincr def +/BoxHeight ylast ytop sub def +/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def +/_A LineWidth 2 div def _A _A moveto +BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto +_A BoxHeight _A sub lineto closepath +1 1 1 setrgbcolor fill 0.0 setgray + + SAVESTATE restore +/SAVESTATE save def +2 xincr mul MinX add ytop translate +/BoxWidth xincr def +/BoxHeight ylast ytop sub def +/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def +/_A LineWidth 2 div def _A _A moveto +BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto +_A BoxHeight _A sub lineto closepath +1 1 0.8 setrgbcolor fill 0.0 setgray + + SAVESTATE restore +/SAVESTATE save def +3 xincr mul MinX add ytop translate +/BoxWidth xincr def +/BoxHeight ylast ytop sub def +/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def +/_A LineWidth 2 div def _A _A moveto +BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto +_A BoxHeight _A sub lineto closepath +1 0.8 1 setrgbcolor fill 0.0 setgray + + SAVESTATE restore +/SAVESTATE save def +4 xincr mul MinX add ytop translate +/BoxWidth xincr def +/BoxHeight ylast ytop sub def +/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def +/_A LineWidth 2 div def _A _A moveto +BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto +_A BoxHeight _A sub lineto closepath +0.8 1 1 setrgbcolor fill 0.0 setgray +gsave 0 setgray newpath Border DaySize 2 div add BoxHeight Border sub DaySize 2 div sub + DaySize 2 div 0 360 arc closepath +fill +Border DaySize 2 div add DaySize 2 div add Border add BoxHeight border sub DaySize 2 div sub DaySize 2 div sub moveto +/EntryFont findfont EntrySize scalefont setfont (06:02) show +grestore + + SAVESTATE restore +/SAVESTATE save def +5 xincr mul MinX add ytop translate +/BoxWidth xincr def +/BoxHeight ylast ytop sub def +/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def +/_A LineWidth 2 div def _A _A moveto +BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto +_A BoxHeight _A sub lineto closepath +1 0.8 0.8 setrgbcolor fill 0.0 setgray + + SAVESTATE restore +/SAVESTATE save def +6 xincr mul MinX add ytop translate +/BoxWidth xincr def +/BoxHeight ylast ytop sub def +/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def +/_A LineWidth 2 div def _A _A moveto +BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto +_A BoxHeight _A sub lineto closepath +0.8 1 0.8 setrgbcolor fill 0.0 setgray + + SAVESTATE restore +/ytop ylast def +CAL16 +CAL17 +CAL18 +CAL19 +CAL20 +CAL21 +CAL22 +/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if +MinX ymin MaxX ymin L +/ylast ytop def +/ytop ymin def +/CAL23 { +Border ytop 0 xincr mul MinX add xincr +[ +] +(23) +DoCalBox +/y exch def y ymin lt {/ymin y def} if +} def +/CAL24 { +Border ytop 1 xincr mul MinX add xincr +[ +] +(24) +DoCalBox +/y exch def y ymin lt {/ymin y def} if +} def +/CAL25 { +Border ytop 2 xincr mul MinX add xincr +[ +] +(25) +DoCalBox +/y exch def y ymin lt {/ymin y def} if +} def +/CAL26 { +Border ytop 3 xincr mul MinX add xincr +[ +] +(26) +DoCalBox +/y exch def y ymin lt {/ymin y def} if +} def +/CAL27 { +Border ytop 4 xincr mul MinX add xincr +[ +] +(27) +DoCalBox +/y exch def y ymin lt {/ymin y def} if +} def +/CAL28 { +Border ytop 5 xincr mul MinX add xincr +[ +] +(28) +DoCalBox +/y exch def y ymin lt {/ymin y def} if +} def +/CAL29 { +Border ytop 6 xincr mul MinX add xincr +[ +] +(29) +DoCalBox +/y exch def y ymin lt {/ymin y def} if +} def +1 setgray +CAL23 +CAL24 +CAL25 +CAL26 +CAL27 +CAL28 +CAL29 +0 setgray +/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if +MinX ymin MaxX ymin L +/ylast ytop def +/ytop ymin def +/SAVESTATE save def +0 xincr mul MinX add ytop translate +/BoxWidth xincr def +/BoxHeight ylast ytop sub def +/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def +/_A LineWidth 2 div def _A _A moveto +BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto +_A BoxHeight _A sub lineto closepath +0.8 0.8 1 setrgbcolor fill 0.0 setgray + + SAVESTATE restore +/SAVESTATE save def +1 xincr mul MinX add ytop translate +/BoxWidth xincr def +/BoxHeight ylast ytop sub def +/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def +/_A LineWidth 2 div def _A _A moveto +BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto +_A BoxHeight _A sub lineto closepath +1 1 1 setrgbcolor fill 0.0 setgray + + SAVESTATE restore +/SAVESTATE save def +2 xincr mul MinX add ytop translate +/BoxWidth xincr def +/BoxHeight ylast ytop sub def +/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def +/_A LineWidth 2 div def _A _A moveto +BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto +_A BoxHeight _A sub lineto closepath +1 1 0.8 setrgbcolor fill 0.0 setgray + + SAVESTATE restore +/SAVESTATE save def +3 xincr mul MinX add ytop translate +/BoxWidth xincr def +/BoxHeight ylast ytop sub def +/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def +/_A LineWidth 2 div def _A _A moveto +BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto +_A BoxHeight _A sub lineto closepath +1 0.8 1 setrgbcolor fill 0.0 setgray + + SAVESTATE restore +/SAVESTATE save def +4 xincr mul MinX add ytop translate +/BoxWidth xincr def +/BoxHeight ylast ytop sub def +/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def +/_A LineWidth 2 div def _A _A moveto +BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto +_A BoxHeight _A sub lineto closepath +0.8 1 1 setrgbcolor fill 0.0 setgray +gsave 0 setgray newpath Border DaySize 2 div add BoxHeight Border sub DaySize 2 div sub + DaySize 2 div 0 360 arc closepath +stroke +newpath Border DaySize 2 div add BoxHeight Border sub DaySize 2 div sub +DaySize 2 div 90 270 arc closepath fill +Border DaySize 2 div add DaySize 2 div add Border add BoxHeight border sub DaySize 2 div sub DaySize 2 div sub moveto +/EntryFont findfont EntrySize scalefont setfont (07:42) show +grestore + + SAVESTATE restore +/SAVESTATE save def +5 xincr mul MinX add ytop translate +/BoxWidth xincr def +/BoxHeight ylast ytop sub def +/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def +/_A LineWidth 2 div def _A _A moveto +BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto +_A BoxHeight _A sub lineto closepath +1 0.8 0.8 setrgbcolor fill 0.0 setgray + + SAVESTATE restore +/SAVESTATE save def +6 xincr mul MinX add ytop translate +/BoxWidth xincr def +/BoxHeight ylast ytop sub def +/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def +/_A LineWidth 2 div def _A _A moveto +BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto +_A BoxHeight _A sub lineto closepath +0.8 1 0.8 setrgbcolor fill 0.0 setgray + + SAVESTATE restore +/ytop ylast def +CAL23 +CAL24 +CAL25 +CAL26 +CAL27 +CAL28 +CAL29 +/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if +MinX ymin MaxX ymin L +/ylast ytop def +/ytop ymin def +/CAL30 { +Border ytop 0 xincr mul MinX add xincr +[ +] +(30) +DoCalBox +/y exch def y ymin lt {/ymin y def} if +} def +/CAL31 { +Border ytop 1 xincr mul MinX add xincr +[ +] +(31) +DoCalBox +/y exch def y ymin lt {/ymin y def} if +} def +1 setgray +CAL30 +CAL31 +0 setgray +/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if +MinX ymin MaxX ymin L +/ylast ytop def +/ytop ymin def +/SAVESTATE save def +0 xincr mul MinX add ytop translate +/BoxWidth xincr def +/BoxHeight ylast ytop sub def +/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def +/_A LineWidth 2 div def _A _A moveto +BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto +_A BoxHeight _A sub lineto closepath +0.8 0.8 1 setrgbcolor fill 0.0 setgray + + SAVESTATE restore +/SAVESTATE save def +1 xincr mul MinX add ytop translate +/BoxWidth xincr def +/BoxHeight ylast ytop sub def +/InBoxHeight BoxHeight border sub DaySize sub DaySize sub 2 add EntrySize add def +/_A LineWidth 2 div def _A _A moveto +BoxWidth _A sub _A lineto BoxWidth _A sub BoxHeight _A sub lineto +_A BoxHeight _A sub lineto closepath +1 1 1 setrgbcolor fill 0.0 setgray + + SAVESTATE restore +/ytop ylast def +CAL30 +CAL31 +/y ytop MinBoxSize sub def y ymin lt {/ymin y def} if +MinX ymin MaxX ymin L +/ylast ytop def +/ytop ymin def +/ysmallbot ylast def +/ysmall1 ysmalltop def /ysmall2 ysmallbot def +0 xincr mul MinX add ymin 0 xincr mul MinX add topy L +1 xincr mul MinX add ymin 1 xincr mul MinX add topy L +2 xincr mul MinX add ymin 2 xincr mul MinX add topy L +3 xincr mul MinX add ymin 3 xincr mul MinX add topy L +4 xincr mul MinX add ymin 4 xincr mul MinX add topy L +5 xincr mul MinX add ymin 5 xincr mul MinX add topy L +6 xincr mul MinX add ymin 6 xincr mul MinX add topy L +7 xincr mul MinX add ymin 7 xincr mul MinX add topy L +/SmallFontSize MinBoxSize Border sub Border sub 8 div 2 sub def +/SmallFont findfont setfont +SmallString stringwidth pop /SmallWidth exch def +SmallWidth 7 mul xincr Border sub Border sub exch div /tmp exch def +tmp SmallFontSize lt {/SmallFontSize tmp def} if +/SmallFont findfont SmallFontSize scalefont setfont +SmallString stringwidth pop /SmallWidth exch def +gsave +0 xincr mul MinX add ysmall1 translate +SmallWidth 7 mul (July) stringwidth pop sub 2 div Border add Border neg SmallFontSize sub moveto (July) show +Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (S) show +Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (M) show +Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (T) show +Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (W) show +Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (T) show +Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (F) show +Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (S) show +Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (1) show +Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (2) show +Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (3) show +Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (4) show +Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (5) show +Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (6) show +Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (7) show +Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (8) show +Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (9) show +Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (10) show +Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (11) show +Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (12) show +Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (13) show +Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (14) show +Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (15) show +Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (16) show +Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (17) show +Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (18) show +Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (19) show +Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (20) show +Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (21) show +Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (22) show +Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (23) show +Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (24) show +Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (25) show +Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (26) show +Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (27) show +Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (28) show +Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (29) show +Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (30) show +Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (31) show +grestore +/SmallFontSize MinBoxSize Border sub Border sub 8 div 2 sub def +/SmallFont findfont setfont +SmallString stringwidth pop /SmallWidth exch def +SmallWidth 7 mul xincr Border sub Border sub exch div /tmp exch def +tmp SmallFontSize lt {/SmallFontSize tmp def} if +/SmallFont findfont SmallFontSize scalefont setfont +SmallString stringwidth pop /SmallWidth exch def +gsave +6 xincr mul MinX add ysmall2 translate +SmallWidth 7 mul (September) stringwidth pop sub 2 div Border add Border neg SmallFontSize sub moveto (September) show +Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (S) show +Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (M) show +Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (T) show +Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (W) show +Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (T) show +Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (F) show +Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize sub 2 sub moveto (S) show +Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (1) show +Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (2) show +Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (3) show +Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (4) show +Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 2 mul sub moveto (5) show +Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (6) show +Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (7) show +Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (8) show +Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (9) show +Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (10) show +Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (11) show +Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 3 mul sub moveto (12) show +Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (13) show +Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (14) show +Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (15) show +Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (16) show +Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (17) show +Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (18) show +Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 4 mul sub moveto (19) show +Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (20) show +Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (21) show +Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (22) show +Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (23) show +Border 4 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (24) show +Border 5 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (25) show +Border 6 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 5 mul sub moveto (26) show +Border 0 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (27) show +Border 1 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (28) show +Border 2 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (29) show +Border 3 SmallWidth mul add Border neg SmallFontSize sub SmallFontSize 2 add 6 mul sub moveto (30) show +grestore +showpage +%%Trailer +%%Pages: 1 Reminders for Sunday, 1st January, 2012: 1