Pre-press

Zdenek Wagner zdenek.wagner at gmail.com
Mon Sep 26 02:50:25 CEST 2022


Hi Karl,

your file does not solve the problem at all because it does not take
CTM into account and does not examine the the angle of the segments.
The important point is that if you set 0 setlinewidth, the display
postscript guarantees that the line segment will be displayed with the
thinest possible width and 30 years old PS office printers from HP do
the same (my PS printer died 10 years ago and spare parts are no
longer available). The phototypesetters and digital printing machines
do not guarantee that lines with a linewidth below a certain limit
will be printed, they may disappear. Now imagine that you include a
graphics while using 0.1 0.03 scale. It can thus happen that
horizontal lines will be printed but the vertical lines disappear. If
the graphics contains a sine curve, some segments will be missing. It
is the same with fonts. In addition, the findfont operator does not
inform you whether an embedded font is used or whether a system font
is used. It is again a problem of included graphics generated by
another tool where fonts need not be always embedded. It may look fine
in display postscript on your computer but a CTP will replace the font
with Courier which you certainly do not want to happen. If you do not
use \backgroundcolor, because you just want to have it while, and put
an object with the alpha channel, the tgransparent area will be white
on display postscript but black on CTP. It is therefore necessary to
detect all transparent objects (both vectors and bitmaps) and upon
request remove the alpha channel. LCMS for colorspace conversion can
in theory be implemented in postscript but it is not an easy task. It
would be easier to implement all these features in poppler and/or qpdf
but it is not available now.

Med vänlig hälsning
Zdeněk Wagner
http://ttsm.icpf.cas.cz/team/wagner.shtml

pá 23. 9. 2022 v 20:06 odesílatel <karl at aspodata.se> napsal:
>
> Zdeněk Wagner:
> > čt 22. 9. 2022 v 17:17 odesílatel <karl at aspodata.se> napsal:
> ...
> > > Isn't it possible to do pre-press with PostScript ?
> > Generally, PDF/X is required but anyway, do you know a tool which can
> > check the font size, font embedding, line width, color space,
> > resolution of bitmap images, black overprint and optionally convert
> > the color spaces using ICC profiles in postscript?
>
> Ok, regarding line width I can go the route as outlined below which
> is clearly batch oriented.
>
> I sure I can do the same for font size and probably the other
> things also if and when I can understand the terminology you use.
>
> Since postscript is a programming language, I can add another
> level of indirection, e.g.:
>
> $ cat debug.ps
> /str 20 string def
>
> /numprint {
>     count 0 gt { str cvs print } if
> } bind def
>
> /xyprint {
>     numprint ( ) print numprint
> } bind def
>
> /deb_move   { (moveto    ) print xyprint () = } bind def
> /deb_line   { (lineto    ) print xyprint () = } bind def
> /deb_curve  { (curveto   ) print xyprint ( ) print xyprint  ( ) print xyprint () = } bind def
> /deb_close  { (closepath ) print xyprint () = } bind def
> /deb_path { { deb_move } { deb_line } { deb_curve } { deb_close } pathforall } bind def
>
> /old_setlinewidth /setlinewidth load def
> /setlinewidth {
>     (setlinewidth ) print
>     dup =
>     old_setlinewidth
> } bind def
>
> /old_stroke /stroke load def
> /stroke {
>     deb_path
>     ( stroke) =
>     old_stroke
> } bind def
>
> /old_showpage /showpage load def
> /showpage {
>     ( showpage) =
>     showpage
> } bind def
> $ (cat debug.ps git/openhw/boards_other/adapters/so_dil16.ps; echo quit) > tst.ps
> $ gs -q -dNODISPLAY tst.ps | head
>  showpage
> setlinewidth 0
> moveto    0.678168 1.27157
> lineto    500001.0 1.27157
> lineto    500001.0 600001.0
> lineto    0.678168 600001.0
> closepath
>  stroke
> setlinewidth 0
> moveto    -0.678168 199999.0
> $ gs -q -dNODISPLAY tst.ps | grep -c showpage
> 11
> $ gs -q -dNODISPLAY tst.ps | grep setlinewidth | sort | uniq -c
>      55 setlinewidth 0
>     200 setlinewidth 0.4
>     117 setlinewidth 1000
>       5 setlinewidth 1500
>     118 setlinewidth 2000
>       2 setlinewidth 3000
>       2 setlinewidth 600
>       1 setlinewidth 800
> $
>
> Regards,
> /Karl Hammar
>



More information about the tex-live mailing list.