[gs-bugs] [Bug 691274] Missing or incorrect ToUnicode when using Identity ordering
bugzilla-daemon at ghostscript.com
bugzilla-daemon at ghostscript.com
Mon May 3 09:43:44 UTC 2010
http://bugs.ghostscript.com/show_bug.cgi?id=691274
--- Comment #6 from Per Sundin <per.sundin at globesoft.com> 2010-05-03 09:43:41 UTC ---
Yes, the "Arial Unicode MS" is represented by a Type 2 CIDFont dictionary. My
original line for creating the composite font is as follows:
> /MyFont /Identity-H /CMap findresource
> [ /ArialUni /CIDFont findresource ] composefont pop
I'm not sure how to use the "definefont" operator to create a composite font;
would it be ok to use "composefont" instead? I was thinking about something
like this:
> /EmbeddedFont /ArialUni /CIDFont findresource def
>
> true setglobal
> ... % Make a copy of EmbeddedFont -> EmbeddedFont2
> /FontInfo EmbeddedFont2 /FontInfo get def
> ...
> % Create ToUnicode dictionary and placed it on the operand stack!
> ...
> FontInfo exch /GlyphNames2Unicode exch put
> false setglobal
>
> FontInfo exch /GlyphNames2Unicode exch put
> /MyFont /Identity-H /CMap findresource [ EmbeddedFont2 ] composefont pop
I noticed that I need to switch to global VM mode in order to be able to save
the entry in the font dictionary. I assume that the new copy will also need to
be saved in global VM, is that right?
I also noticed that I cannot use the "defineresource" operator to define my new
dictionary as a CMap resource, because the value of 2 is not regarded as a
valid CMapType value by the PostScript interpreter, it seems. Maybe the
ToUnicode CMap does not need to be associated with the "CMap" name?
It will probably take me a while to figure out how to do the copy. As I
understand, the copy operator only makes a shallow copy. Maybe there is some
other way to do it, that I have not thought about?
--
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