diff options
author | Khaled Hosny <khaledhosny@eglug.org> | 2014-07-27 23:04:49 +0000 |
---|---|---|
committer | Khaled Hosny <khaledhosny@eglug.org> | 2014-07-27 23:04:49 +0000 |
commit | 5795568a60dba76e57cdb78fda5aab4e6e135991 (patch) | |
tree | 0a2586ae809d714303ed3a6b76b623765af408bd /Build/source/texk/dvipdfm-x/cff.c | |
parent | 378fc061ff4879abb4983d8e48f593f1b4b779d9 (diff) |
Fix CID-keyed fonts glyph lookup
Keep cff_charsets parsed from CID font around if exists. Use the
cff_charsets to do GID -> CID lookup.
git-svn-id: svn://tug.org/texlive/trunk@34743 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/dvipdfm-x/cff.c')
-rw-r--r-- | Build/source/texk/dvipdfm-x/cff.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/Build/source/texk/dvipdfm-x/cff.c b/Build/source/texk/dvipdfm-x/cff.c index 52aaab47528..b576a8b4f0f 100644 --- a/Build/source/texk/dvipdfm-x/cff.c +++ b/Build/source/texk/dvipdfm-x/cff.c @@ -1099,10 +1099,6 @@ cff_charsets_lookup (cff_font *cff, card16 cid) card16 cff_charsets_lookup_inverse (cff_font *cff, card16 gid) { - card16 sid = 0; - cff_charsets *charset; - card16 i; - if (cff->flag & (CHARSETS_ISOADOBE|CHARSETS_EXPERT|CHARSETS_EXPSUB)) { ERROR("Predefined CFF charsets not supported yet"); } else if (cff->charsets == NULL) { @@ -1113,9 +1109,15 @@ cff_charsets_lookup_inverse (cff_font *cff, card16 gid) return 0; /* .notdef */ } - charset = cff->charsets; + return cff_charsets_lookup_cid(cff->charsets, gid); +} + +card16 +cff_charsets_lookup_cid(cff_charsets *charset, card16 gid) +{ + card16 sid = 0; + card16 i; - sid = 0; switch (charset->format) { case 0: if (gid - 1 >= charset->num_entries) |