[gs-bugs] [Bug 691471] PDF 1.7 FTS: /unregistered in --run--

bugzilla-daemon at ghostscript.com bugzilla-daemon at ghostscript.com
Tue Jul 20 04:36:43 UTC 2010


--- Comment #9 from Michael Vrhel <michael.vrhel at artifex.com> 2010-07-20 04:36:41 UTC ---
OK.  I have made a bit of progress on this but I am looking for some

In the pattern transparency cases that we have had up until now, they have
always been fills of paths.  We create the pattern trans buffer and then we end
up doing a fill path for the pdf14 device which does the following:

pdf14_fill_path -> pdf14_tile_pattern_fill

This pushes a group to do the tiling

It then does tile_rect_trans_blend or tile_rect_trans_simple depending upon
if the tiling is simple or overlapping.

The group is then popped, and so composed with whatever was already in the
trans buffer.

What is new is that we are now doing a glyph fill with a pattern that has
a transparency.  We create the trans buffer object of the pattern just fine.  
But we are no longer going through pdf14_fill_path.  Instead we take the
following steps:

gs_text_process -> gx_show_text_process -> continue_show_update -> show_update
-> gx_image_cached_char -> gs_image_next -> gs_image_next_planes ->
gx_image_plane_data_rows -> gx_image1_plane_data -> image_render_simple ->
copy_portrait -> gx_dc_default_fill_masked -> gx_dc_pattern_fill_rectangle

which has no idea about transparency and ends up trying to use the tbits entry
of the tile which is null.  Clearly there needs to be some pdf14 device method
that is invoked here, so that a new group is pushed and the result is composed
with what ever is already drawn and the trans entry of the tile is used during
the tiling process.  Not being familiar with the font rendering I am looking
for a bit of advice here on how the pdf14 device intercepts in the above set of
operations or if we could do a path fill for the glyph.

Configure bugmail: http://bugs.ghostscript.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

More information about the gs-bugs mailing list