Bug 689644 - Characters rendered as squares (Substituting .notdef for T in the font Arial)
Summary: Characters rendered as squares (Substituting .notdef for T in the font Arial)
Status: NOTIFIED DUPLICATE of bug 689637
Alias: None
Product: Ghostscript
Classification: Unclassified
Component: Text (show other bugs)
Version: master
Hardware: PC All
: P2 normal
Assignee: mpsuzuki
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-01-08 15:41 UTC by Marcos H. Woehrmann
Modified: 2011-09-18 21:46 UTC (History)
0 users

See Also:
Customer: 243
Word Size: ---


Attachments
l4.pdf (69.62 KB, application/pdf)
2008-01-08 15:41 UTC, Marcos H. Woehrmann
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Marcos H. Woehrmann 2008-01-08 15:41:41 UTC
The customer reports and I've confirmed that Ghostscript 8.61 renders squares
instead of the letters 'asdasd' in the attached file.  Acrobat Reader 8.0,
evince, and Apple Preview open the file correctly.  Ghostscript head (r8479) and
8.54 fails in the same way as 8.61.

The command line I'm using for testing:

  bin/gs -sDEVICE=ppmraw -o test.ppm ./l4.pdf

Ghostcript produces the following warnings when processing the file:

GPL Ghostscript SVN PRE-RELEASE 8.62 (2007-11-22)
Copyright (C) 2007 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Processing pages 1 through 1.
Page 1
Substituting .notdef for T in the font Arial
Substituting .notdef for h in the font Arial
Substituting .notdef for i in the font Arial
Substituting .notdef for s in the font Arial
Substituting .notdef for space in the font Arial
Substituting .notdef for a in the font Arial
Substituting .notdef for t in the font Arial
Substituting .notdef for e in the font Arial
Substituting .notdef for d in the font Arial

   **** Warning: Fonts with Subtype = /TrueType should be embedded.
                 The following fonts were not embedded:
                        Arial

   **** This file had errors that were repaired or ignored.
   **** The file was produced by: 
   **** >>>> CTdeveloping's PDFtypewriter version 5.7.1058 <<<<
   **** Please notify the author of the software that produced this
   **** file that it does not conform to Adobe's published PDF
   **** specification.
Comment 1 Marcos H. Woehrmann 2008-01-08 15:41:58 UTC
Created attachment 3682 [details]
l4.pdf
Comment 2 mpsuzuki 2008-01-08 16:54:04 UTC
This PDF has many embedded fonts: Arial, Marlett, MicrosoftSansSerif,
Helvetica, Helvetica-Bold and Times-Roman. But the text is (expected
to be) rendered by external font resource that has same name with Arial.
This is a diversion of bug 689637, my patch for bug 689637 fixes this issue.

*** This bug has been marked as a duplicate of 689637 ***
Comment 3 mpsuzuki 2008-01-08 17:11:08 UTC
More detailed analysis of l4.pdf.

According to PDF object 28 0,
the visible text "asdasd" is rendered by /TT3 font object, aslike:

/TT3 9.636 Tf
120 432.96 Td
(asdasd)Tj

According to Resources defined in PDF object 5 0,
/TT3 font object comes from PDF object 11 0, aslike:

5 0 obj 
<<
/Rotate 0
/pdftk_PageNum 1
/MediaBox [0 0 612 792]
/CropBox [119.473 430.807 153.236 442.312]
/Resources 
<<
/ExtGState 
<<
/GS0 9 0 R
/GS1 10 0 R
>>
/Font 
<<
/TT3 11 0 R
...

PDF object 11 0 is following, it refers only PDF object 36 0.

11 0 obj 
<<
/BaseFont /Arial
/LastChar 255
/Subtype /TrueType
/Widths [750 750 278 278 ... 500 556 500]
/FontDescriptor 36 0 R
/Type /Font
/Encoding /WinAnsiEncoding
/FirstChar 30
>>
endobj

PDF object 36 0 is following, this is dead end.
This font object is required to be loaded from external resource.

36 0 obj 
<<
/FontName /Arial
/StemV 0
/Ascent 728
/Flags 33
/AvgWidth 441
/Descent -210
/ItalicAngle 0
/MissingWidth 750
/MaxWidth 2665
/FontBBox [-665 -325 2000 1006]
/Type /FontDescriptor
/CapHeight 728
>>
endobj 

However, I have to note that embedded Arial (refered as /TT0
in Resource) which consists of PDF object 14 0, 29 0 (ToUnicode),
30 0 (Encoding), 31 0 (FontDescriptor), 40 0 (FontFile2) has
random prefix as "/BTLAHB+Arial".
Comment 4 Alex Cherepanov 2008-05-24 21:34:11 UTC
Continue the changes started by the rev. 8772. Remove one more definefont from
embedded TrueType font loader. With this patch committed, we don't need to
treat disk and memory fonts differently and the patch for the bug 689637
will be reverted.

The following patch is committed as a rev. 8774.
http://ghostscript.com/pipermail/gs-cvs/2008-May/008352.html
Comment 5 Marcos H. Woehrmann 2011-09-18 21:46:31 UTC
Changing customer bugs that have been resolved more than a year ago to closed.