When printing attached testfile to the standard (or with UFST) PCL6 built from the latest trunk (9540) then the following error is returned: ufst-debugobj/pcl6 -sDEVICE=x11 path_to/PCL6_MSP_Gothic.xl GPL Ghostscript SVN PRE-RELEASE 8.65: Unknown TTC header version 00060040 in the font nameless_font. Warning interpreter exited with error code -966 Flushing to end of job PCL XL error Subsystem: KERNEL Error: IllegalFontData Operator: EndFontHeader Position: 25 file position of error = 4826841 End of page 1, press <enter> to continue. However, on a HPLJ4100 (our compatibility target) it prints correctly (14 pages) Also the Zoran IPS6-IPS8 print the file correctly (it doesn't check the versionnumber). Extra info: in the fontheader it specifies the TTCF (containter) instead of the TRUE (single truetype) format. I don't know if download fonts can be of TTCF format. Perhaps it should be handled differently? Now it is handled in gstype42.c::gs_type42_font_init() and discarded because of the unknown version.
Created attachment 4834 [details] gothic_3p.zip pcl-xl testfile (zipped) containing a download ttcf font. Discarded by GhostPDL-1.54 and trunk, but printed by HPLJ4100 and Zoran IPS. Had to strip the file to the 3 first pages, to get it uploaded.
the patch in 690203 can be used as a workaround until we have a permanent fix. *** This bug has been marked as a duplicate of 690203 ***
I did implement the temp fix for 690203 (removing the checks for ttcf format in gstype42.c and ttfmain.c, but the problem persists. Error message is: IllegalFontData (on position 25) when printing the gothic_3p.pcl file.
I incorrectly implemented the fix from 690203.:( Bug is indeed solved. :)
I added a 'ignore_ttcf_header' boole-flag to the gs_font_type42_s struct in gxfont42.h; This flag is set to true in plfont.c::pl_fill_in_tt_font() and in xpsttf.c::xps_init_truetype_font() (last one I'm not entirely sure if needed). It is set to false in gxfcopy.c::copy_font_type42() and zfont42.c::build_gs_TrueType_font() In gxttfb.c::ttfFont__Open_aux() this flag is queried from the pfont, and passed to ttfFont__Open() (extra parameter), also added to prototype of ttfFont__Open() in ttfoutl.h In ttfmain.c::ttfFont__Open() this extra parameter is used to conditionally check the ttcf-header. In gstype42.c the pfont->ignore_ttcf_header is used to conditionally check the ttcf-header. With these mods you can still maintain original behaviour in the postscript-interpreter (when running language_switch).
This should not have been closed because an actual fix was not yet in the tree.
fixed in ghostpdl 9600.