Bug 693065

Summary: override default handling of EmbedBase14 fonts with pdfwrite
Product: GhostPCL Reporter: Marcos H. Woehrmann <marcos.woehrmann>
Component: PDF WriterAssignee: Ken Sharp <ken.sharp>
Status: NOTIFIED DUPLICATE    
Severity: enhancement    
Priority: P1    
Version: master   
Hardware: PC   
OS: All   
Customer: 1 Word Size: ---

Description Marcos H. Woehrmann 2012-05-23 15:15:33 UTC
The customer asks:

Is it possible to override default handling of EmbedBase14 fonts with PCL (and XPS) to PDF conversions?
Comment 1 Marcos H. Woehrmann 2012-05-23 15:16:32 UTC
Sorry, comment #0 should have included the following additional information from the customer:

Currently, we use the following options to override the default handling of EmbedBase14 fonts:
-c .setpdfwrite <</NeverEmbed [false .standardfonts aload pop]>> setdistillerparams –f
 
This works fine with PS to PDF conversions handled via the GhostScript API.  However, recently we’ve discovered that these options cause an error when attempting a PCL to PDF conversion via the pcl6.exe commandline.  The application fails with 255.

I’ve tried wrapping the string in single quotes:
-c '.setpdfwrite <</NeverEmbed [false .standardfonts aload pop]>> setdistillerparams' –f
Similar to what was discussed in the GhostScript docs, but still receive the error.
Comment 2 Marcos H. Woehrmann 2012-05-23 15:16:59 UTC
Ken says:

setdistillerparams is a PostScript operator, as such it requires a PostScript interpreter to process it. The PCL and XPS interpreters don't understand PostScript, so they can't process the operator.

Currently there is no way to alter the pdfwrite settings which are controlled through setdistillerparams, this is a known limitation.

It might be possible to use the -d syntax to set NeverEmbed, eg:

-dNeverEmbed=[/Helvetica]

I haven't tried this but I'm doubtful. However the string is:

[false .standardfonts aload pop]

real PostScript and so will never work outside of a PostScript interpreter.
Comment 3 Henry Stiles 2012-05-23 15:23:19 UTC
(In reply to comment #2)

> 
> It might be possible to use the -d syntax to set NeverEmbed, eg:
> 
> -dNeverEmbed=[/Helvetica]
>

Unfortunately composite PostScript objects like this array are not supported on the PCL command line.  Most simple objects should work or at least be passed along to the device.
Comment 4 Ken Sharp 2012-05-23 16:04:49 UTC
Wrapping this up along with the existing query about page rotation which I've opted to make an enhancement for PCL/XPS control of pdfwrite configuration. This is just another example of the same general problem.

As a final note, Henry points out that the 'base 14' fonts on PCL (ie fonts with the same name as the PDF base 14 fonts) may very well have different font metrics to the 'base 14' in PostScript and PDF, and as such not embedding the fonts, and using a substitute, will result in incorrect display of the final PDF. We don't recommend doing this.

*** This bug has been marked as a duplicate of bug 693058 ***