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

World: r3wp

[Postscript] Emitting Postscript from REBOL

Henrik
5-Mar-2009
[1891]
Also Ghostscript and Preview.app interpret paper orientation and 
size information differently. Ghostscript tends to be more correct, 
it seems.
Geomol
5-Mar-2009
[1892]
Ok, I just wanted to check the ways, we eventually did it. I do this:

PageSize A4
font [Times 7]
page [rotate 90 translate 0x-842
...
]


I use the offset 8x834 for the first line of text on the paper, no 
matter if it's landscape or not. It works.
Geomol
10-Mar-2009
[1893]
Minor update of the documentation: http://www.fys.ku.dk/~niclasen/postscript/postscript.html
Geomol
11-Mar-2009
[1894x3]
PDF output from the PostScript dialect is ready for some test. The 
script is here:
http://www.fys.ku.dk/~niclasen/postscript/rebps2pdf.r

It works the same as the postscript.r script:
http://www.fys.ku.dk/~niclasen/postscript/postscript.r
(which has been updated, as I found some problem with comments)

Example of use:

do http://www.fys.ku.dk/~niclasen/postscript/rebps2pdf.r

write/binary %pdftest.pdf rebps2pdf load http://www.fys.ku.dk/~niclasen/postscript/pdftest.txt

Now you should have a local %pdftest.pdf file, that looks like:
http://www.fys.ku.dk/~niclasen/postscript/pdftest.pdf
Center- and right-alignment of text isn't as easy in PDF as in PostScript, 
so this is left out. See:
http://www.adobeforums.com/webx/.3bc3e853
I also found, that images seems to work in a weird way with the postscript.r 
script producing PostScript output. I have to test this some more. 
For now, scaling images to 72x72 should mean images in 72 dpi. Maybe 
this isn't a good way to scale?
Anton
12-Mar-2009
[1897x2]
The question is, what is the physical size of a rebol image?
The image! datatype doesn't tell you. It must be asserted separately. 
But where, by who?
Henrik
12-Mar-2009
[1899]
Anton, that's a pretty good question.
Pekr
12-Mar-2009
[1900]
Physical size, as in bytes? What about X*Y*4?
Geomol
12-Mar-2009
[1901x3]
I found a bug when specifying ImageMatrix in postscript.r

I've fixed it and uploaded a new version. Now images should work 
the same in postscript.r and rebps2pdf.r
About scaling images and physical size. I know, the image datatype 
only have size in pixels, and how much is a pixel on paper? It's 
up to the one producing the output to set that. An old measure is 
72 dpi, which is 72 dots per inch. So setting this pixel-to-dot scale 
for images, and the image will be:
(# of pixels / 72) inches in size on paper


I'm not 100% happy with the way, I've implemented the scaling of 
images, and suggestions are welcome.
The more I read and learn about the PDF format, the less fond I am 
of it. It's a bloated mess with some critical limites, as I see it.
Pekr
12-Mar-2009
[1904]
hmm, your pdf example above display dialog box with message: there 
is an error on this page. Acrobat may not display the content correctly. 
Please contact the person, who created the page to remove the problem 
.... (free translation from czech)
Geomol
12-Mar-2009
[1905x2]
In PDF, the only way to get center- and right-aligned text, is to 
know the size of each character in the font, and then calculate the 
starting left position yourself. It seems, all people on the planet 
producing PDF does it this way:
http://www.adobeforums.com/webx/.3bc3e853
Pekr, do you try to open this?
http://www.fys.ku.dk/~niclasen/postscript/pdftest.pdf
Pekr
12-Mar-2009
[1907]
yes, it launches in FF 3.0.4
Geomol
12-Mar-2009
[1908x2]
Maybe encoding? ok, I'll try change encoding. one moment...
Pekr, try reload it again.
Pekr
12-Mar-2009
[1910]
now it's ok ...
Geomol
12-Mar-2009
[1911x3]
Strange, I just tried on my PC, and I get a blank page. It works 
on my Mac. hmm
I think, there a problem. Adobe Reader give an error "Ilegal operation 
'm' inside a text object." on my PC.
Pekr, what version of Adobe Reader do you have installed?
Pekr
12-Mar-2009
[1914]
version 9.0.0 Czech ...
Geomol
12-Mar-2009
[1915x3]
Thanks, I get the error in a version 6.0. Now I have to figure out, 
if I stick to PDF 1.3 standard.
And I don't ... damn! Changes on the way...
I updated:
http://www.fys.ku.dk/~niclasen/postscript/rebps2pdf.r
and http://www.fys.ku.dk/~niclasen/postscript/pdftest.pdf

How does it look now?
Pekr
12-Mar-2009
[1918]
No problems here ...
Geomol
12-Mar-2009
[1919]
The way to do center- and right-aligned text in PDF is to get the 
Font Metrics like these for the 14 standard fonts (see "PDF CORE 
FONT INFORMATION" near the bottom):
http://www.adobe.com/devnet/font/


and calculate the size of the text and then the position. For other 
fonts, you need similar info.
Gabriele
13-Mar-2009
[1920]
Geomol... code to do that has been available for like 6 years...
Geomol
13-Mar-2009
[1921x2]
:-) Do you do it using font metrics in pdf-maker, or is there another 
trick?
Seems like you use font metrics (metrics.bin).
Gabriele
14-Mar-2009
[1923x4]
right, font metrics. Volker wrote a script to parse the .afm files.
You can use metrics.bin, or you can even use my TeX based typesetter, 
as that is completely independent from the PDF Maker.
it needs work, it's quite slow the way it is now, and I need to redo 
the math as the approach I used doesn't work very well (the results 
are good anyway, it's just that there are too many special cases 
in the code).
still... even if you just study the pdf maker you'll learn all you 
need about what you need to do.
Geomol
14-Mar-2009
[1927]
Thanks, Gabriele. I have the info to make those alignments and will 
probably do it next week.
Geomol
16-Mar-2009
[1928]
I made the center- and right-alignment of text for PDF output. See 
Announce!
Geomol
17-Mar-2009
[1929]
Ver. 0.4.7 of PostScript dialect incl. PDF output uploaded:
http://www.fys.ku.dk/~niclasen/postscript/


- I included font widths in rebps2pdf.r instead of separate binary, 
and
- fixed a bug.
Geomol
20-Mar-2009
[1930]
List of printers supporting Level 2 PostScript directly without software 
driver as of 2/2/1998:
http://www.postscript.org/FAQs/language/node95.html
Geomol
2-Jun-2009
[1931x2]
I'm working on a Print Markup Language for a customer, that will 
output the REBOL postscript dialect, so it can produce PostScript 
and PDF output. When producing text, it's possible to specify centered 
and right-aligned text by using the words CENTER or RIGHT after the 
text followed by the size of the area, wherein the text should be 
aligned. Example:

at 100x100 "Right-aligned text" right 400

has the same effect as:

at 500x100 "Right-aligned text" right 0


Suggestion: The dialect will be more simple, if the size is dropped. 
Then the position (from AT) is the right border of the text on the 
output. Same for CENTER, where the position will be the center of 
the text.


I know, Henrik use this dialect. What do you say? If others use this 
dialect, I would like to hear your opinions! If I change this in 
the dialect, it may mean changes to your code.
Because all content in the dialect starts with a word or a string, 
I could make the size optional. It will just mean a more complicated 
dialect, but it won't break your code.
Henrik
2-Jun-2009
[1933x2]
Geomol, did you try my VID->postscript conversion function? It might 
be able to do some of what you need.
it does not do word wrapping however. that's a problem that I've 
not yet solved.
Maxim
2-Jun-2009
[1935]
there is VID manual word-wrapping code in glayout lib if you need 
it.
Henrik
2-Jun-2009
[1936]
interesting. how does it work?
Geomol
2-Jun-2009
[1937]
hm, I remember something about that. I think, I tried it a while 
ago.

But what about the suggestion for a change to the dialect?
Henrik
2-Jun-2009
[1938x3]
http://rebol.hmkdesign.dk/files/vid-postscript2.png
if you drop the position marker, will it be simpler or harder to 
build formatted tables?
oops, size marker, not position marker