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

World: r3wp

[Postscript] Emitting Postscript from REBOL

Geomol
7-Apr-2006
[333]
150 lines of code so far. Can be seen here: http://home.tiscali.dk/john.niclasen/postscript/postscript.r
Henrik
7-Apr-2006
[334]
I think Sun also made a PS window manager
[unknown: 9]
7-Apr-2006
[335x2]
Yeah, I was reading the code as I posted.
Very cool.
Henrik
7-Apr-2006
[337]
it's primarily to make more methods for graphical printing with rebol
[unknown: 9]
7-Apr-2006
[338]
Postscript is copyrighted?
Henrik
7-Apr-2006
[339]
I hope not?
Geomol
7-Apr-2006
[340x2]
oops, don't spoil the fun! ;-)
Reichart, maybe you can find out? You know where to look.
Henrik
7-Apr-2006
[342x2]
http://www.pugo.org/pyps/<--- don't tell this guy that
if it was, why would Adobe put the entire specs online?
Geomol
7-Apr-2006
[344]
Adobe gives permission to anyone to:
Write drivers to generate output 
consisting of PostScript language commands.
It's from the ref manual.
[unknown: 9]
7-Apr-2006
[345]
John, cool. Henrik.....putting thier spec online would not have led 
me to beleive it was free of copyright.  But I wanted to confirm.
Geomol
7-Apr-2006
[346]
We need to include an appropriate copyright notice.
[unknown: 9]
7-Apr-2006
[347]
I have a cool idea for PS with our Qwikis then.
Geomol
7-Apr-2006
[348]
It's in section 1.4 in the ref manual.
Henrik
7-Apr-2006
[349]
geomol, and BSD license
Geomol
7-Apr-2006
[350x5]
I managed to switch y-axis, try:
do http://home.tiscali.dk/john.niclasen/postscript/postscript.r

write %test.ps postscript [page [switchy setcm linewidth 0.1 path 
[setgray 0.8 line 1x1 5x5]]]
If setcm is used, then switchy has to come first.
It seems like, it isn't aligned right though.
Needs to be moved up.
Well, that's it for today. Good night!
Henrik
7-Apr-2006
[355x3]
night
http://www.hmkdesign.dk/ps2.jpg
that's it for me too... night
Louis
8-Apr-2006
[358]
Henrik, are you going to develope your ean13.r any further so that 
everything is there and saves to a file?   


http://www.isbn-international.org/en/download/implementation-guidelines-04.pdf
Geomol
8-Apr-2006
[359]
Hey, cool PostScript pic, Henrik! :-)
Graham
8-Apr-2006
[360x5]
mapping colours from rebol to postscript.
0 0 0 => black 0.0.0
1 1 1 => white 255.255.255
view-ps-color: func [ color [tuple!]][ return reduce [ color/1 / 
255 color/2 / 255 color/3 / 255 ]]
don't know how a ps engine will cope with this

>> view-ps-color orange
== [1 0.588235294117647 3.92156862745098E-2]
seems to have no problems with this format.
Geomol
8-Apr-2006
[365x3]
Thanks!
New version! PostScript is default set to DeviceGray with no colours. 
To set it to DeviceRGB, I made a command in the dialect for that. 
Try:
do http://home.tiscali.dk/john.niclasen/postscript/postscript.r

write %test.ps postscript [DeviceRGB page [switchy linewidth 5 path 
[setcolor 255.0.0 line 50x50 50x100 setcolor 0.255.0 line 50x100 
100x100 setcolor 0.0.255 line 100x100 100x50 setcolor 255.0.255 line 
100x50 50x50]]]
Another example:

write %test.ps postscript [page [font [Times-Roman 40] linewidth 
0 path [at 72x720 "REBOL PostScript Dialect"] path [line 72x716 520x716] 
font [Times-Roman 16] path [at 96x680 "With this dialect it's possible 
to easily produce PostScript output."] font [Helvetica-Oblique 12] 
[at 72x72 "PostScript is copyright Adobe."]]]
Henrik
8-Apr-2006
[368x2]
louis, the one on rebol.org seems to be a bit old. the one I have 
locally can generate bitmaps as image! in 1x, 2x, 4x and 8x size 
and vectors for PDF Maker. it can generate an EAN13 code with the 
correct checksum. it doesn't save to file, but it's only a couple 
of lines of code to do that
now I'm thinking about making postscript output for it
Geomol
8-Apr-2006
[370x4]
Example with different fonts:

write %test.ps postscript [[font [Verdana 20][at 72x700 "Verdana"] 
font [Helvetica 20] [at 72x650 "Helvetica"] font [Times-Roman 20] 
[at 72x600 "Times"]]]

I guess, it looks at the fonts installed on the system. I'm not sure, 
how 'clever' it is to guess the names.
It seems, that Times has to be named "Times-Roman". Here on my Mac, 
I have "Times" and "Times New Roman" installed, so I'm a bit confused.
Other valid fontnames: Times-Bold, Times-Italic, Times-BoldItalic
It's possible to use all different kinds of fonts. On my Mac, I have 
e.g. Papyrus, and combining fontnames with -Bold, -Italic and -BoldItalic 
is ok.
Anton
8-Apr-2006
[374]
Fantastic work guys!
Graham, perhaps a better name for view-ps-color is to-ps-color.
[unknown: 9]
8-Apr-2006
[375x2]
Yeah, in QML we ran into the same font problem.  So what we did was 
make Times, Helv, and Courier forced to be the defaults, then allowed 
any font name to be called as bassed to a variable as the real name 
of the font.  On windows you can have font names with spaces "Times 
New Roman" for example.  By have the top three just be one simple 
word everyone can remember I figured it would make people happy.
bassed = passed
Louis
8-Apr-2006
[377x2]
Henrik, are you sharing that new ean13.r file? If so, do you have 
a link?
The link in the old file doesn't work.
[unknown: 9]
8-Apr-2006
[379]
Also, let me confirm something, can I take any existiing PS file, 
and simply pass it to this, and it will render it?
Geomol
8-Apr-2006
[380x3]
Well, the dialect doesn't take PS as input, it produces PS. A PS 
file can be printed from REBOL in a way, Graham showed. Like:
>> port: open/direct tcp://192.168.1.253:9100
>> insert port read %boys-0-36-length-weight.ps
>> close port


192.168.1.253 is the IP of the printer, 9100 is the port, where the 
printer get data.
The dialect, I'm developing here, is for making it easier to produce 
PostScript output from within REBOL. Next step is to make a converter 
from the DRAW dialect to PostScript, so any DRAW data can be printed.
And now I'm at it, learning a bit PS and all, it'll make sense for 
me to make PS output from my NicomDoc format.