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-Jun-2006
[1102]
http://partners.adobe.com/public/developer/en/ps/sdk/5041.Text_Setting.pdf
<--- some light reading on text adjustment in PS
Geomol
13-Jun-2006
[1103]
There is no page-format code in the dialect. I'm not sure, what default 
is with postscript (A4 or US letter).
Henrik
13-Jun-2006
[1104]
looks like you need to parse AFM files to get the width information 
out of your font files to make proper font justification. so we need 
to build an AFM parser?
Volker
13-Jun-2006
[1105]
Gab has the metrics in pdf-viewer?
Henrik
13-Jun-2006
[1106x6]
seems that it's not necessary, but I'm not sure when it's not necessary. 
there is a direct function to get the stringwidth precisely and through 
that create some simple PS code to center a string
haven't tried printing it yet though...
just tried it. works fine. looks like this could be simple to implement 
with text boxes in postscript.r
geomol, I've implemented a very primitive centering algorithm now 
in postscript.r. It will only center one line and requires a horizontal 
size to center from. do you want this code?
got right alignment working too now. what next? :-)
http://hmkdesign.dk/aligndemo.ps
Graham
13-Jun-2006
[1112]
Henrik, the difficulty is not so much formatting a single line of 
text, but a large block of text of unknown size which may cross multiple 
pages.  PS has functions to exactly allow you to calculate the stringwidth 
of a string, count spaces, etc and these help in writing justification 
routines.  Some complex justification routines are available  ... 
just requires tracking them down if one doesn't want to learn PS 
:)
Henrik
13-Jun-2006
[1113]
well, I could do a little digging, but no guarantees. what postscript.r 
can do now is exactly what I need.
Geomol
14-Jun-2006
[1114]
Henrik, I haven't used postscript.r for anything other than test 
so far. We could upload it to the library with your additions. A 
problem then is, if the dialect change too much, and many has used 
it for real, it will maybe break their code. Another way forward 
would be, that you give me your extended postscript.r, and I upload 
it to my web-page, and we keep it there for now. When the dialect 
has evolved some more (, and we get rid of all the blocks, that I 
wrote about above), we can then upload it to the library.
Henrik
14-Jun-2006
[1115]
geomol, yeah I think we should keep it "under wraps" so far, let 
people play with it with a huge disclaimer that this is alpha code 
which may change in the future. I think the addition is useful, but 
my implementation is not clean. I also added support for ISOLatin1 
so we can print Danish letters.
Gabriele
14-Jun-2006
[1116]
I have Volker's AFM parser that I used for the PDF Maker around, 
if anyone needs it. (But I guess Volker has it somewhere too :)
Volker
14-Jun-2006
[1117]
Maybe not. It was so long ago, and i hava - Hmm, i guess i have a 
copy of pdf-makerwith it somewhere :)
Henrik
18-Jun-2006
[1118]
postscript.r seems to work fine on HP printers, but I can't get it 
to work on certain OKI printers. guess the header needs some finetuning...
Graham
10-Aug-2006
[1119x3]
I have a new method of printing now using PostScript which does not 
require any custom PostScript dialects.  It appears to work well 
so far.
It is primarily for printing documents as opposed to diagrams etc 
which may be better suited for a dialected approach.
I shall have to find some time to write a mini tutorial on the subject.
Geomol
6-Nov-2006
[1122x4]
REBOL postscript dialect version 0.3.0: http://home.tiscali.dk/john.niclasen/postscript/postscript.r

New thing is, that you don't have to make all those blocks as in 
the prior version. Also alignment of text is possible and output 
is ISOLatin1 encoding, both thanks to Henrik. I should write some 
documentation soon!
Do this in a REBOL prompt to run the test:

do http://home.tiscali.dk/john.niclasen/postscript/postscript.r

write %test.ps postscript load http://home.tiscali.dk/john.niclasen/postscript/test.txt

Now the file %test.ps holds the postscript output.
The test output looks like this: http://home.tiscali.dk/john.niclasen/postscript/test.png

We would like tests on different PS-printers! Hopefully it should 
work everywhere!?
Also new font options are included. bold and italic is valid words 
inside the font block. And "Times" can be written as "Times" or "Times-Roman", 
upper- lower-case doesn't matter, the dialect should figure it out.
xavier
6-Nov-2006
[1126]
i just tried it ... and got no ps reader ... what should i use for 
reading it ? adobe acrobat ?
Geomol
6-Nov-2006
[1127]
xavier: ghostscript maybe!? Depends on your OS. If you have a PS-net-printer, 
it's also possible to send it to a port on the printer.
xavier
6-Nov-2006
[1128]
yes i just realised how stupid is my question .... i go to pick ghostscript 
and try it
Graham
6-Nov-2006
[1129]
Use gsview ...
Geomol
6-Nov-2006
[1130]
On net-printers, port 9100 will probably work. On parallel-port-printers, 
I guess the output should be sent ot lpt1:
!?
Graham
6-Nov-2006
[1131x3]
correct
ie. write %//prn for ltp1
and for usb postscript printers .. try this little trick http://synapsedirect.com/forums/thread/396.aspx
xavier
6-Nov-2006
[1134]
it worked ... i was searching a dialect for formatting outputs that 
have to be printed ... and just find it
Geomol
6-Nov-2006
[1135x3]
:-)
Documentation is coming up!
REBOL PostScript 0.3.0 dialect documentation: http://home.tiscali.dk/john.niclasen/postscript/postscript.html
Gregg
6-Nov-2006
[1138]
Very cool John! Now, if we can get a DisplayPostscript engine in 
R3....
Graham
6-Nov-2006
[1139]
Well, Carl did say he would fix View to assist with this ...
Pekr
7-Nov-2006
[1140x2]
Graham - what is the problem with View, so that Carl has to put-in 
some fix? Coordinate system? Unicode chars?
btw - do all (most) today's printers support postscript, even the 
small ones?
Graham
7-Nov-2006
[1142x2]
coordinate system, transformations and rotations are all different.
And no.
Pekr
7-Nov-2006
[1144]
isn't it fixable in View level, by recalculation?
Henrik
7-Nov-2006
[1145]
pekr, that's very hard, because the problem is also with font sizes. 
DRAW doesn't follow good conventions for sizes right now. VIEW is 
better, but it's all aliased graphics.
Pekr
7-Nov-2006
[1146]
guys, then try to involve Cyphre into discussions of what you gurus 
need new View kernel should do under the hood. I think that work 
on new View engine started ...
Henrik
7-Nov-2006
[1147]
I'm wondering what will happen to the relationship with DRAW and 
View. Right now it's quite disjointed.
Pekr
7-Nov-2006
[1148]
exactly - and those things should be voiced and discussed. Now is 
the time to have new face type, or more face types (animation, or 
more rich ones (text)) etc.
Henrik
7-Nov-2006
[1149]
also with two different font rendering engines... wouldn't View get 
smaller if freetype was used in View as well?
Rebolek
7-Nov-2006
[1150]
you can't use current View for that task - you don't know font's 
baseline, so it's not possible to position different sizes of fonts 
on same line.
Cyphre
7-Nov-2006
[1151]
Yes, you are right, there are two different font engines which is 
not much efficient. Moreover the DRAW text rendering was meant to 
be just for really simple labeling(the main text engine in R2 is 
still the original FACE text rendering) and it would need some improvements 
for more complex usage. All this should be unified and improved in 
R3. There will be only one text engine with rich-text dialect.