Bug 26191 - Regression when viewing PDFs with Type 3 bitmap fonts
Summary: Regression when viewing PDFs with Type 3 bitmap fonts
Status: RESOLVED FIXED
Alias: None
Product: cairo
Classification: Unclassified
Component: general (show other bugs)
Version: 1.9.5
Hardware: Other All
: medium normal
Assignee: Carl Worth
QA Contact: cairo-bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: cairo-1.10
  Show dependency treegraph
 
Reported: 2010-01-24 03:46 UTC by Adrian Johnson
Modified: 2010-04-01 02:32 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
Test document (5.83 KB, application/download)
2010-01-24 03:46 UTC, Adrian Johnson
Details

Description Adrian Johnson 2010-01-24 03:46:13 UTC
Created attachment 32790 [details]
Test document

With cairo master viewing PDFs with poppler that contain Type 3 bitmap fonts shows gray boxes instead of the glyphs. git bisect shows the regression to be caused by:

commit 558f9501700ba569f04f345f7c64d16b1870e37c
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Jan 18 22:47:34 2010 +0000

    surface-wrapper: Avoid copying patterns and clips unless transformed.

    An older variant of the fixes for moving the device transformation out
    of the surface layer, but languished in a side branch. The only benefit
    of this patch is that it avoids the copy where possible.

PDF test case attached.
Comment 1 Adrian Johnson 2010-01-24 04:34:57 UTC
The user-font-mask test failure also demonstrates the bug.
Comment 2 Pascal Terjan 2010-04-01 02:32:52 UTC
This is fixed in head
I bisected on another PDF and would say this was the same bug and fix was:

commit 2a59f0af6aab5fe0ebb19195d4c018fc5221016c
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Mar 21 20:38:27 2010 +0000

    wrapper: Apply device transform inverse as appropriate.
    
    Fixes many failures of the paginated surfaces as they replayed through
    the recording surfaces.



Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.