diff options
author | Chris Liddell <chris.liddell@artifex.com> | 2015-03-19 13:50:07 +0000 |
---|---|---|
committer | Chris Liddell <chris.liddell@artifex.com> | 2015-03-19 13:56:04 +0000 |
commit | a463733e35e1070a06029657dedb67148c33c87a (patch) | |
tree | f0a77504bddbb491535807cbfe9d9890d7589170 | |
parent | 68f1390c29df09d2cc7cdb5c815c71aaa77f667c (diff) | |
download | ghostpdl-a463733e35e1070a06029657dedb67148c33c87a.tar.gz |
Handle an invalid cidfmap entry in the CIDFont subst code
Certain types of invalid entry in the cidfmap can mean that resourcestatus
returns "true" but a subsequent "findresource" will fail. There is already
validation code to strip out invalid entries, but as an extra safety measure,
call the findresource in a stopped context, so we can recover, and continue
with the next substitution fallback stage.
No cluster differences.
-rw-r--r-- | gs/Resource/Init/pdf_font.ps | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gs/Resource/Init/pdf_font.ps b/gs/Resource/Init/pdf_font.ps index 383730e4b..fb6172d4c 100644 --- a/gs/Resource/Init/pdf_font.ps +++ b/gs/Resource/Init/pdf_font.ps @@ -1728,7 +1728,8 @@ currentdict /CMap_read_dict undef } if exch pop dup /CIDFont resourcestatus { - pop pop /CIDFont findresource exit + pop pop /CIDFont { findresource } stopped + {pop}{exit} ifelse } if QUIET not { (The substitute CID font ") print dup =string cvs print |