summaryrefslogtreecommitdiff
path: root/Build/source/texk/dvipdfmx
diff options
context:
space:
mode:
authorAkira Kakuto <kakuto@fuk.kindai.ac.jp>2012-08-21 09:57:28 +0000
committerAkira Kakuto <kakuto@fuk.kindai.ac.jp>2012-08-21 09:57:28 +0000
commitf215977bffc2535de7072aa5b7493016e6bfca04 (patch)
tree67ba768da9246847d6a9d848cb644d255f1af4c4 /Build/source/texk/dvipdfmx
parentd3f73c645fb1b1b35402b451be9a4aa8b19d9d20 (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.TL4
-rw-r--r--Build/source/texk/dvipdfmx/src/cff.c15
-rw-r--r--Build/source/texk/dvipdfmx/src/cff.h1
-rw-r--r--Build/source/texk/dvipdfmx/src/type1.c4
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;