r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[Postscript] Emitting Postscript from REBOL

Henrik
13-Apr-2006
[532]
a bit clunky
Graham
13-Apr-2006
[533]
Luckily I have no need for a barcode at present.
Henrik
13-Apr-2006
[534x2]
the string is necessary, but I should probably put the create function 
inside the barcode generator function
you can take any 12 digit string, but the 13th digit is a checksum 
which must be correct or the barcode can't be read
Graham
13-Apr-2006
[536]
http://www.compkarori.com/reb/test2.pdf
Henrik
13-Apr-2006
[537]
neat
Graham
13-Apr-2006
[538]
make-circles: func [ count /local out ][
	out: copy []
	loop count [

  repend out [ 'newpath 'circle to-pair reduce [ random 700 random 
  700 ] random 40 
			'color 
			to-tuple rejoin [ random 255 "." random 255 "." random 255 ]
			'fill
		] 
	]
	out
]

test5: form ps/header compose [
	gsave
	(make-circles 500)
	grestore
	showpage
]
Henrik
13-Apr-2006
[539x2]
I think it's bedtime... can hardly see the code anymore
night
Graham
13-Apr-2006
[541x9]
borrow some matchsticks to keep the eyelids open!
night
this is a multipage postscript file
ps/header [
	newpage "Title"
	at 72x72 font Times-Roman 12 "page 1"
	showpage
	newpage "Body"
	at 144x144 "page 2"
	showpage
]
and produces this postscript output
%!PS-Adobe-3.0 
%%Creator: ps.r ver 0.0.6 
%%Pages: (atend) 
%%EndComments 
%%Page: Title 1 
72 72 moveto /Times-Roman findfont 
12 scalefont 
setfont 
(page 1) show 
showpage 
%%Page: Body 2 
144 144 moveto (page 2) show 
showpage 

%%Trailer 
%%Pages: 2 
%%EOF
http://www.compkarori.com/reb/starburst.pdfis a starburst
http://www.compkarori.com/reb/clipped.pdfare the words "REBOL Rulz" 
clipped to the starburst.
ie . the starburst is only visible inside the text.
Graham
14-Apr-2006
[550x3]
looks like port 9100 is pretty standard for most postscript printers
if a print server has multiple printers attached, they are likely 
to be on different ports eg, 9101, 02 ...
newpath sets up a new line which can be drawn.  Stroke has the same 
effect as newpath
Geomol
14-Apr-2006
[553x2]
Does moveto always indicate a newpath?
If it does, the basic rule of the dialect might be: at <pos> <content>
And then we get rid of blocks.
Graham
14-Apr-2006
[555x4]
no, it doesn't.
my next step is to now convert the ps dialect to draw - so I can 
have a print preview ( confined to lines, boxes and text ).
anyone know what the draw coordinates mean?  What is point 20x20 
.. measured from the top left, but what is 20 based upon?
I've looked at http://www.rebol.com/docs/draw-ref.htmland it doens't 
mention how the coordinate system is based.
Henrik
14-Apr-2006
[559]
it's probably pixel based
Graham
14-Apr-2006
[560x3]
screens are 72 dots per inch.
postscript is 72 points per inch.
Good match!
Henrik
14-Apr-2006
[563]
strange coincidence
Graham
14-Apr-2006
[564x3]
unlikely to be a coincidence.
A4                              595 x 842
   Letter                          612 x 792
so to change postscript to draw, for A4, it's 842 - y
Geomol
14-Apr-2006
[567]
If you have a 15" monitor showing say 1280x1024 and you have a 21" 
monitor with same resolution, you don't have 72 dots per inch on 
both.
Graham
14-Apr-2006
[568]
how to convert a gray ( range 0 - 1 ) to a tuple! ?
JaimeVargas
15-Apr-2006
[569]
Graham, Postscript is resolution independant. Certainly capable of 
more than 72dpi
Graham
15-Apr-2006
[570x7]
Jaime, Postscript uses points for it's units and these are 72 per 
inch.
nothing to stop you using parts of a point.
http://www.compkarori.com/reb/psd2draw.r
first pass at taking the same postscript dialect and rendering it 
to draw.
I don't know if it's a bug, but Text in Draw does not obey the rotate 
commands, or the scaling commands.
the shaded box is in the wrong place .. not sure why, and I had to 
shift the bottom text up so I could see it.
So, my aim is to preview a page on screen in this dialect and using 
a different parser on the same dialect, create postscript which I 
can send to the printer.
JaimeVargas
15-Apr-2006
[577x3]
Graham, what I meant is that even to the unit is a *point* the fact 
is that you can more than 72 pixels in a inch. For example laserprinters 
have 300 to 1200. And there is some displays that 96dpi, and I have 
seem e-ink that gives you 150dpi(s).
So the unit of measure doesn't have anything to do with the actual 
size of pixel or (dot).
(Excuse  my overscrupulous comments, now time for sleep.
Graham
15-Apr-2006
[580x2]
do http://www.compkarori.com/reb/psd2draw.rversion 0.0.8
Allows a preview in 50%, 75% and 100% mode.