summaryrefslogtreecommitdiff
path: root/Build/source/texk/dvipdfm-x/cff.c
diff options
context:
space:
mode:
authorKhaled Hosny <khaledhosny@eglug.org>2014-07-27 23:04:49 +0000
committerKhaled Hosny <khaledhosny@eglug.org>2014-07-27 23:04:49 +0000
commit5795568a60dba76e57cdb78fda5aab4e6e135991 (patch)
tree0a2586ae809d714303ed3a6b76b623765af408bd /Build/source/texk/dvipdfm-x/cff.c
parent378fc061ff4879abb4983d8e48f593f1b4b779d9 (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.c14
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)