Bug 690323 - Handling download-ttcf font different from HP4100 printer
Summary: Handling download-ttcf font different from HP4100 printer
Status: NOTIFIED FIXED
Alias: None
Product: GhostPCL
Classification: Unclassified
Component: PCL fonts (show other bugs)
Version: master
Hardware: PC Windows 2000
: P2 normal
Assignee: Henry Stiles
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-03-10 04:20 UTC by norbert.janssen
Modified: 2009-04-30 05:52 UTC (History)
0 users

See Also:
Customer: 661
Word Size: ---


Attachments
gothic_3p.zip (280.35 KB, application/octet-stream)
2009-03-10 04:37 UTC, norbert.janssen
Details

Note You need to log in before you can comment on or make changes to this bug.
Description norbert.janssen 2009-03-10 04:20:44 UTC
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.
Comment 1 norbert.janssen 2009-03-10 04:37:57 UTC
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.
Comment 2 Henry Stiles 2009-03-15 12:15:39 UTC
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 ***
Comment 3 norbert.janssen 2009-03-16 04:35:14 UTC
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.
Comment 4 norbert.janssen 2009-03-16 05:24:09 UTC
I incorrectly implemented the fix from 690203.:(
Bug is indeed solved. :)
Comment 5 norbert.janssen 2009-03-16 09:05:19 UTC
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).
Comment 6 Henry Stiles 2009-03-26 20:35:36 UTC
This should not have been closed because an actual fix was not yet in the tree.
Comment 7 Henry Stiles 2009-03-26 22:04:38 UTC
fixed in ghostpdl 9600.