I copied the last part of the complaint into the .PS file for
documentation.
**
%!
%%
TRY3.PS COPIED FROM bluebook page 46
%%
%% GSview barfs:
%%
%% showpage
%%
%% --- End offending input ---
%% file offset = 0
%% gsapi_run_string_continue returns -101
%%
%%EndComments
/inch (72 mul) def % 72 pixels per inch
/wedge
{ newpath
0 0 moveto
1 0 translate
15 rotate
0 15 sin translate
0 0 15 sin -90 90 arc
closepath
} def
gsave
3.75 inch 7.25 inch translate
1 inch 1 inch scale
wedge 0.02 setlinewidth stroke
grestore
gsave
4.25 inch 4.25 inch translate
1.75 inch 1.75 inch scale
0.02 setlinewidth
1 1 12
{ 12 div setgray
gsave
wedge
gsave fill grestore
0 setgray stroke
grestore
30 rotate
} for
grestore
showpage
**
%!PS-Adobe-2.0
%%Title:
patternfill.ps
%%
TRY4.PS COPIED FROM greenbook page 138-143
%%
%% GSview barfs ..
%% begin FontDict /ctm get setmatrix
%%
%%
%% --- End offending input ---
%% file offset = 1129
%% gsapi_run_string_continue returns -101
%%
%%EndComments
%%BeginProcSet: patternfill 1.0 0
% width height matrix proc key cache
% definepattern -> font
/definepattern { %def
7 dict begin
/FontDict 9 dict def
FontDict begin
/cache exch def
/key exch def
/proc exch cvx def
/mtx exch matrix invertmatrix def
/height exch def
/width exch def
/ctm matrix currentmatrix def
/ptm matrix identmatrix def
/str
(12345678901234567890123456789012)
def
end
/FontBBox [ %def
0 0 FontDict /width get
FontDict /height get
] def
/FontMatrix FontDict /mtx get def
/Encoding StandardEncoding def
/FontType 3 def
/BuildChar { %def
pop begin
FontDict begin
width 0 cache { %ifelse
0 0 width height setcachedevice
}{ %else
setcharwidth
} ifelse
0 0 moveto width 0 lineto
width height lineto 0 height lineto
closepath clip newpath
gsave proc grestore
end end
} def
FontDict /key get currentdict definefont
end
} bind def
% dict patternpath -%
dict matrix patternpath -/
patternpath { %def
dup type /dicttype eq { %ifelse
begin FontDict /ctm get setmatrix
}{ %else
exch begin FontDict /ctm get setmatrix
concat
} ifelse
currentdict setfont
FontDict begin
FontMatrix concat
width 0 dtransform
round width div exch round width div exch
0 height dtransform
round height div exch
round height div exch
0 0 transform round exch round exch
ptm astore setmatrix
pathbbox
height div ceiling height mul 4 1 roll
width div ceiling width mul 4 1 roll
height div floor height mul 4 1 roll
width div floor width mul 4 1 roll
2 index sub height div ceiling cvi exch
3 index sub width div ceiling cvi exch
4 2 roll moveto
FontMatrix ptm invertmatrix pop
{ %repeat
gsave
ptm concat
dup str length idiv { %repeat
str show
} repeat
dup str length mod str exch
0 exch getinterval show
grestore
0 height rmoveto
} repeat
pop
end end
} bind def
% dict patternfill -%
dict matrix patternfill -/
patternfill { %def
gsave
clip patternpath
grestore
newpath
} bind def
% dict patterneofill -%
dict matrix patterneofill -/
patterneofill { %def
gsave
eoclip patternpath
grestore
newpath
} bind def
% dict patternstroke -%
dict matrix patternstroke -/
patternstroke { %def
gsave
strokepath clip patternpath
grestore
newpath
} bind def
% dict ax ay string patternashow -%
dict matrix ax ay string patternashow -/
patternashow { %def
(0) exch { %forall
2 copy 0 exch put pop dup
false charpath
currentpoint
5 index type /dicttype eq { %ifelse
5 index patternfill
}{ %else
6 index 6 index patternfill
} ifelse
moveto
3 copy pop rmoveto
} forall
pop pop pop
dup type /dicttype ne { pop } if pop
} bind def
% dict string patternshow -%
dict matrix string patternshow -/
patternshow { %def
0 exch 0 exch patternashow
} bind def
/opaquepatternfill { %def
gsave
1 setgray
fill
grestore
patternfill
} bind def
/square { %def
gsave
moveto
dup 0 rlineto
dup 0 exch rlineto
neg 0 rlineto
closepath
findfont % a pattern font
patternfill
grestore
} bind def
%%EndProcSet
%%EndProlog
%%BeginSetup
15 15 [300 72 div 0 0 300 72 div 0 0]
{ %definepattern
2 setlinecap
7.5 0 moveto 15 7.5 lineto
0 7.5 moveto 7.5 15 lineto
2 setlinewidth stroke
} bind
/RIGHTdiagonal true definepattern pop
15 15 [300 72 div 0 0 300 72 div 0 0]
{ %definepattern
2 setlinecap
7.5 0 moveto 0 7.5 lineto
15 7.5 moveto 7.5 15 lineto
2 setlinewidth stroke
} bind
/LEFTdiagonal true definepattern pop
30 30 [300 72 div 0 0 300 72 div 0 0]
{ %definepattern
2 2 scale
2 setlinecap
7.5 0 moveto 15 7.5 lineto
0 7.5 moveto 7.5 15 lineto
7.5 0 moveto 0 7.5 lineto
15 7.5 moveto 7.5 15 lineto
0.5 setlinewidth stroke
} bind
/crosshatch true definepattern pop
%%EndSetup
%%Page: 1 1
/RIGHTdiagonal 72 460 100 square
/LEFTdiagonal 72 480 120 square
/crosshatch 72 500 140 square
showpage
%%Trailer
**