diff options
author | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2012-08-21 09:57:28 +0000 |
---|---|---|
committer | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2012-08-21 09:57:28 +0000 |
commit | f215977bffc2535de7072aa5b7493016e6bfca04 (patch) | |
tree | 67ba768da9246847d6a9d848cb644d255f1af4c4 /Build/source/texk/dvipdfmx | |
parent | d3f73c645fb1b1b35402b451be9a4aa8b19d9d20 (diff) |
fix of type1 SEAC bug from K. Shikano
git-svn-id: svn://tug.org/texlive/trunk@27479 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/dvipdfmx')
-rw-r--r-- | Build/source/texk/dvipdfmx/ChangeLog.TL | 4 | ||||
-rw-r--r-- | Build/source/texk/dvipdfmx/src/cff.c | 15 | ||||
-rw-r--r-- | Build/source/texk/dvipdfmx/src/cff.h | 1 | ||||
-rw-r--r-- | Build/source/texk/dvipdfmx/src/type1.c | 4 |
4 files changed, 22 insertions, 2 deletions
diff --git a/Build/source/texk/dvipdfmx/ChangeLog.TL b/Build/source/texk/dvipdfmx/ChangeLog.TL index df4e5f334ec..caba3bc7a4b 100644 --- a/Build/source/texk/dvipdfmx/ChangeLog.TL +++ b/Build/source/texk/dvipdfmx/ChangeLog.TL @@ -1,3 +1,7 @@ +2012-08-21 keiichirou shikano <k16.shikano@gmail.com> + + * src/cff.c, src/cff.h. src/type1.c: fix type1 SEAC bug. + 2012-08-20 Khaled Hosny <khaledhosny@eglug.org> * src/dvipdfmx.c, src/mem.c, src/mem.h, src/xbb.c, src/dvipdfmx.c, diff --git a/Build/source/texk/dvipdfmx/src/cff.c b/Build/source/texk/dvipdfmx/src/cff.c index 515b1e110ec..c358560ea33 100644 --- a/Build/source/texk/dvipdfmx/src/cff.c +++ b/Build/source/texk/dvipdfmx/src/cff.c @@ -523,6 +523,21 @@ long cff_get_sid (cff_font *cff, const char *str) return -1; } +long cff_get_seac_sid (cff_font *cff, const char *str) +{ + card16 i; + + if (!cff || !str) + return -1; + + for (i = 0; i < CFF_STDSTR_MAX; i++) { + if (!strcmp(str, cff_stdstr[i])) + return i; + } + + return -1; +} + int cff_match_string (cff_font *cff, const char *str, s_SID sid) { card16 i; diff --git a/Build/source/texk/dvipdfmx/src/cff.h b/Build/source/texk/dvipdfmx/src/cff.h index d15de03115a..d682cec929d 100644 --- a/Build/source/texk/dvipdfmx/src/cff.h +++ b/Build/source/texk/dvipdfmx/src/cff.h @@ -137,6 +137,7 @@ extern long cff_read_private (cff_font *cff); extern int cff_match_string (cff_font *cff, const char *str, s_SID sid); extern char *cff_get_string (cff_font *cff, s_SID id); extern long cff_get_sid (cff_font *cff, const char *str); +extern long cff_get_seac_sid (cff_font *cff, const char *str); extern s_SID cff_add_string (cff_font *cff, const char *str, int unique); extern void cff_update_string (cff_font *cff); diff --git a/Build/source/texk/dvipdfmx/src/type1.c b/Build/source/texk/dvipdfmx/src/type1.c index 6cb7babad63..7aa85c6aa75 100644 --- a/Build/source/texk/dvipdfmx/src/type1.c +++ b/Build/source/texk/dvipdfmx/src/type1.c @@ -738,7 +738,7 @@ pdf_font_load_type1 (pdf_font *font) if (verbose > 2) MESG("/%s", achar_name); GIDMap[num_glyphs++] = achar_gid; - charset->data.glyphs[charset->num_entries] = cff_get_sid(cffont, achar_name); + charset->data.glyphs[charset->num_entries] = cff_get_seac_sid(cffont, achar_name); charset->num_entries += 1; } @@ -750,7 +750,7 @@ pdf_font_load_type1 (pdf_font *font) if (verbose > 2) MESG("/%s", bchar_name); GIDMap[num_glyphs++] = bchar_gid; - charset->data.glyphs[charset->num_entries] = cff_get_sid(cffont, bchar_name); + charset->data.glyphs[charset->num_entries] = cff_get_seac_sid(cffont, bchar_name); charset->num_entries += 1; } have_seac = 1; |