Home > Archive > PostScript > January 2007 > Ghostscript font embedding
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
Ghostscript font embedding
|
|
| gualnews@gmail.com 2007-01-20, 8:04 am |
| Just as a curiosity:
(1) Does anybody know why the "EmbedAllFonts" switch does not actually
do what the name says (embed all fonts, including the basic postscript
set)?
The only way I have found to do such job is to use
"-dPDFSETTINGS=/prepress", but I presume this has also other side
effects.
(2) So another question is: what are these side effects?
And, finally:
(3) Is there a single switch that allows embedding all fonts without
any other side effects? (I presume one might get this using
/AlwaysEmbed with setdistillerparams, but one should then list all
fonts!)
Thanks,
Gual
| |
| Helge Blischke 2007-01-20, 7:05 pm |
| gualnews@gmail.com wrote:
> Just as a curiosity:
> (1) Does anybody know why the "EmbedAllFonts" switch does not actually
> do what the name says (embed all fonts, including the basic postscript
> set)?
> The only way I have found to do such job is to use
> "-dPDFSETTINGS=/prepress", but I presume this has also other side
> effects.
> (2) So another question is: what are these side effects?
> And, finally:
> (3) Is there a single switch that allows embedding all fonts without
> any other side effects? (I presume one might get this using
> /AlwaysEmbed with setdistillerparams, but one should then list all
> fonts!)
> Thanks,
> Gual
>
If you want to completely control what Ghostscript does when
creating PDF, you should use your own set of distiller parameters
fed into gs just before the file(s) you want to process.
Helge
--
Helge Blischke
Softwareentwicklung
SRZ Berlin | Firmengruppe besscom
http://www.srz.de
| |
| gualnews@gmail.com 2007-01-22, 8:14 am |
| On Jan 20, 5:06 pm, Helge Blischke <h.blisc...@srz.de> wrote:
> gualn...@gmail.com wrote:
>If you want to completely control what Ghostscript does when
> creating PDF, you should use your own set of distiller parameters
> fed into gs just before the file(s) you want to process.
>
> Helge
Thanks, Helge. Actually, I do not want to "completely control" what
gs does. I just want to embed all fonts (following advice given in the
TeX community). So I just wondered if there is a single switch that
does
that, and also why "EmbedAllFonts" does not.
Gual
| |
| Christian Gollwitzer 2007-01-22, 8:14 am |
| gualnews@gmail.com wrote:
> Just as a curiosity:
> (1) Does anybody know why the "EmbedAllFonts" switch does not actually
> do what the name says (embed all fonts, including the basic postscript
> set)?
It's a strange bug (they may call it feature), that the basic fonts are
not included until you set the "-dCompatibilityLevel=1.3" or higher.
Christian
| |
| PGAGA 2007-01-22, 10:03 pm |
| Monday 22 January 2007
>
> It's a strange bug (they may call it feature), that the basic fonts are
> not included until you set the "-dCompatibilityLevel=1.3" or higher.
Checking the GS documentation (PS2PDF.htm), I discovered that with GS
the /prepress and /printer initiate a number of options, including this
one. There is a chart.
Another file, notes that EmbedAllFonts as a separate option is for
level 1.5.
Phil
| |
| gualnews@gmail.com 2007-01-24, 7:07 pm |
| On Jan 23, 3:23 am, "PGAGA" <grifw...@glinx.com> wrote:
> Monday 22 January 2007
>
>
> the /prepress and /printer initiate a number of options, including this
> one. There is a chart.
>
> Another file, notes that EmbedAllFonts as a separate option is for
> level 1.5.
>
> Phil
Thanks kindly to all contributors for your input. Nevertheless, I fail
to see your point. Let me be more specific. Let's say I have a file
"tryme.eps" that only contains text in Helvetica. Then I run the
command:
gs -q -sDEVICE=pdfwrite -dCompatibilityLevel=1.5 -dEmbedAllFonts=true
-sOutputFile=tryme.pdf - -c quit < tryme.eps
Well, the Helvetica font is not embedded in "tryme.pdf". If, instead, I
use "-dPDFSETTINGS=/prepress" then the font is embedded.
Gual
| |
|
| Wednesday, January 24, 2007
> to see your point. Let me be more specific. Let's say I have a file
> "tryme.eps" that only contains text in Helvetica.
That is a default system font so has to be told to embed. In the case
of the WordStar DOS PS printer drive I maintain--embedding is essential
if I want to use the IBM extended character set which I do.
> Then I run the
> command:
>
> gs -q -sDEVICE=pdfwrite -dCompatibilityLevel=1.5 -dEmbedAllFonts=true
> -sOutputFile=tryme.pdf - -c quit < tryme.eps
The comment made in the manual suggests that the implementation of
-dEmbedAllFonts with GS is not fully working. Your failure to generate
would seem to confirm this.
> Well, the Helvetica font is not embedded in "tryme.pdf". If, instead, I
> use "-dPDFSETTINGS=/prepress" then the font is embedded.
Using /prepress or /printer does embed the fonts without the
compatibility statement. I would use it because it is shorter--one
statement instead of two.
Phil
| |
| Bob Tennent 2007-01-24, 7:07 pm |
| On 20 Jan 2007 04:40:28 -0800, gualnews@gmail.com wrote:
> Just as a curiosity:
> (1) Does anybody know why the "EmbedAllFonts" switch does not actually
> do what the name says (embed all fonts, including the basic postscript
> set)?
According to Ps2pdf.htm,
The default, screen, and ebook settings never embed the 14 standard
fonts (Courier, Helvetica, and Times families, Symbol, and
ZapfDingbats).
> The only way I have found to do such job is to use
> "-dPDFSETTINGS=/prepress", but I presume this has also other side
> effects.
/printer would also work.
> (2) So another question is: what are these side effects?
Look at the table in Ps2pdf.htm to see the settings for each of the
PDFSETTINGS.
> And, finally:
> (3) Is there a single switch that allows embedding all fonts without
> any other side effects? (I presume one might get this using
> /AlwaysEmbed with setdistillerparams, but one should then list all
> fonts!)
Apparently not. The following call is suggested in Ps2pdf.htm (gs-8.54):
gs -dBATCH -dSAFER -DNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=out.pdf -c
'.setpdfwrite <</AlwaysEmbed [/Helvetica ...]>> setdistillerparams' -f in.ps
but that doesn't work in 8.15 (which is what I have installed). So your
best option might be to use \printer or \prepress and explicitly set any
*other* options whose default values aren't satisfactory. BTW, "all
fonts" amounts to, at worst, 14.
Bob T.
| |
| gualnews@gmail.com 2007-01-29, 7:04 pm |
| On Jan 24, 6:26 pm, Bob Tennent <B...@cs.queensu.ca> wrote:
> On 20 Jan 2007 04:40:28 -0800, gualn...@gmail.com wrote:
>
>
> According to Ps2pdf.htm,
>
> The default, screen, and ebook settings never embed the 14 standard
> fonts (Courier, Helvetica, and Times families, Symbol, and
> ZapfDingbats).
>
>
> /printer would also work.
>
>
> Look at the table in Ps2pdf.htm to see the settings for each of the
> PDFSETTINGS.
>
>
> Apparently not. The following call is suggested in Ps2pdf.htm (gs-8.54):
>
> gs -dBATCH -dSAFER -DNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=out.pdf -c
> '.setpdfwrite <</AlwaysEmbed [/Helvetica ...]>> setdistillerparams' -f in.ps
>
> but that doesn't work in 8.15 (which is what I have installed). So your
> best option might be to use \printer or \prepress and explicitly set any
> *other* options whose default values aren't satisfactory. BTW, "all
> fonts" amounts to, at worst, 14.
Let me just try to sum up the discussion. I think that thanks to Bob
Tennent's input now I understand what is going on, but if anybody
knows better, please do correct me. My impression is that:
(1) The value of PDFSETTINGS overrides other possible definitions.
(2) By default, PDFSETTINGS is set to "/default".
(3) As a consequence, neither defining "EmbedAllFonts" nor setting "/
AlwaysEmbed" via "setdistillerparams" have any effect (nor does
setting "CompatibilityLevel" to 1.5 make any difference). So if you
want the basic postscript fonts to be embedded in the resulting pdf
file, you must set PDFSETTINGS to either "/printer" or "/prepress".
I thank a lot all contributors, and especially Bob Tennent, for their
help.
Best,
Gual
|
|
|
|
|