From d35cf756b847737935051a244ec656c69203f6e6 Mon Sep 17 00:00:00 2001 From: Akira Kakuto Date: Mon, 14 May 2018 10:38:44 +0000 Subject: Allow image file names including 0x5c for (e)-pTeX in CP932-like system (Windows only). git-svn-id: svn://tug.org/texlive/trunk@47709 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/dvipdfm-x/ChangeLog | 5 +++++ Build/source/texk/dvipdfm-x/pdfparse.c | 19 +++++++++++++++++++ 2 files changed, 24 insertions(+) (limited to 'Build') diff --git a/Build/source/texk/dvipdfm-x/ChangeLog b/Build/source/texk/dvipdfm-x/ChangeLog index 21f663a5184..f65a7a47f82 100644 --- a/Build/source/texk/dvipdfm-x/ChangeLog +++ b/Build/source/texk/dvipdfm-x/ChangeLog @@ -1,3 +1,8 @@ +2018-05-14 Akira Kakuto + + * pdfparse.c: Allow image file names including 0x5c for + (e)-pTeX in CP932-like system (Windows only). + 2018-05-06 Akira Kakuto * tt_cmap.c: Revert a part of changes in 2017-12-09, diff --git a/Build/source/texk/dvipdfm-x/pdfparse.c b/Build/source/texk/dvipdfm-x/pdfparse.c index 050eb988230..73587e96f5e 100644 --- a/Build/source/texk/dvipdfm-x/pdfparse.c +++ b/Build/source/texk/dvipdfm-x/pdfparse.c @@ -503,6 +503,13 @@ parse_pdf_literal_string (const char **pp, const char *endptr) while (p < endptr) { +#ifdef _WIN32 + int check_kanji; + if (p > *pp && (IS_KANJI(p-1))) + check_kanji = 1; + else + check_kanji = 0; +#endif ch = p[0]; if (ch == ')' && op_count < 1) @@ -532,10 +539,22 @@ parse_pdf_literal_string (const char **pp, const char *endptr) switch (ch) { case '\\': +#ifdef _WIN32 + if (check_kanji == 0) { + ch = ps_getescc(&p, endptr); + if (ch >= 0) + sbuf[len++] = (ch & 0xff); + } else { + sbuf[len++] = ch; + p++; + } + break; +#else ch = ps_getescc(&p, endptr); if (ch >= 0) sbuf[len++] = (ch & 0xff); break; +#endif /* _WIN32 */ case '\r': p++; if (p < endptr && p[0] == '\n') -- cgit v1.2.3