World: r3wp
[Postscript] Emitting Postscript from REBOL
older newer | first last |
Geomol 7-Apr-2006 [351x4] | 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 [380x4] | 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. | |
Reichart, the thing, you're asking, is taking a PS-file as input and render it, like GhostView does. It'll take a bit more work to parse PS-files, but it's not impossible. I have no intension doing that for now though. | |
[unknown: 9] 8-Apr-2006 [384] | Got it..............cool. |
Henrik 8-Apr-2006 [385] | reichart, on your mac, Preview.app eats PS files for breakfast, in case you want to try that |
Graham 8-Apr-2006 [386] | John, postscript uses a number of defined fonts. Ignore the fonts on your system. The ones important are the ones in your postscript printer. |
Henrik 8-Apr-2006 [387] | louis, check out http://www.hmkdesign.dk/rebol/barcode/ There are no docs, but I hope the demos are a bit explanatory |
[unknown: 9] 8-Apr-2006 [388] | Henrik, thanks, I will play with it. I have this great Mac sitting on my desk, but I don't seem to use it enough. NOTE: I'm still tied to my PC, and TRYING to get away....so far it seems I'm held to just a couple of issues....I have not had time to write up the "PC MAC LINUX" chart I want so I can figure out what it takes for me to move over. But the first big one is still a thumbnailer. I use ThumbPlus. If they were on Mac and Linux, then I think the move would be a lot better. I use this about 10 times every day. We can move this chat if you want to engage me on the Mac issue. |
Graham 9-Apr-2006 [389x6] | John, just reading that link you gave to a postscript document structure, and I think we should change the prolog to say %! instead of %!PS-Adobe-3.0 as the latter says that the document is fully conforming. |
The prolog is quite important to allow document managers to manage the postscript file properly. It was interesting to note that postscript file managers can pull out the colour graphic pages and send them to be printed on colour lasers, and let the rest be printed on the monochrome lasers. | |
.. meant document print manager. | |
Looks like we need to terminate the document with a comment %%EOF | |
the point of writing conforming postscript is that a manager might take that document and print it 2 or 4 up or whatever. | |
Looks like images can be incorporated into the ps file as hex data. | |
Geomol 9-Apr-2006 [395] | Graham, thanks for the info. I'll deal with these things in one of the following days. |
Graham 10-Apr-2006 [396x3] | Just wondering whether it is preferable to build the dialect so that postscript-dialect => postscript, or => draw rather than trying to write a parser that converts draw to postscript. |
I think the most common scenario for those of us wanting to do printing is to to compose a page, preview it and then print it. This way, we have the one dialect that covers both bases. | |
the draw dialect is too low level I think for this. | |
[unknown: 9] 10-Apr-2006 [399x2] | Intersting... |
So many dialects needed. | |
older newer | first last |