> Unfortunately pic chops broken lines into separate segments,
> so it can't directly fill general polygons.

But then again, the nice thing about pic doing this is that
its dashed lines always begin and end with a stroked segment.
Many programs don't get this right.

And the nice thing about using groff with the ps device is
that it makes it easy to add features not natively supported
by supplying the appropriate device code.  See the attached
example.  Of course this needs to be made configurable with
parameters to allow it to be used more generally, but for a
first start it's not bad.


.\" pic
.\" ----------------------------------------------------------------
.po 2.5c
.ll 21c-5c
.sp 2c
.\" ----------------------------------------------------------------
.de XX
ps: mdef 2
/blam!
{ 0 -25 moveto
  10
  { 18 rotate 0 -15 lineto 18 rotate 0 -25 lineto }
  repeat
  closepath
  gsave 1 1 0 setrgbcolor fill grestore
  [ 6 2.5 1.6922 2.5 4 2.5 1.6922 2.5 ] 3 setdash
  stroke }
def
/shift
{ currentpoint 2.2 sub translate }
def
..
.devicem XX
.PS
define blam { [
box width 0.5 invis "\X'ps: exec gsave shift blam! grestore'"
] }
box "foo"
arrow right
blam "bar"
arrow right
circle "baz"
.PE

Attachment: pictest.pdf
Description: Adobe PDF document

Reply via email to