From 1206536e599a7216c06eaf4d4f8d89023a7917d3 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 2 Dec 2010 19:15:57 +0000 Subject: import comments from equivalent thanh change git-svn-id: svn://tug.org/texlive/trunk@20639 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/libs/xpdf/xpdf-3.02-PATCHES/ChangeLog | 4 ++++ .../libs/xpdf/xpdf-3.02-PATCHES/patch-60-bug-fix | 22 ++++++++++++++++------ .../libs/xpdf/xpdf-3.02/xpdf/CharCodeToUnicode.cc | 13 +++++++++++-- 3 files changed, 31 insertions(+), 8 deletions(-) diff --git a/Build/source/libs/xpdf/xpdf-3.02-PATCHES/ChangeLog b/Build/source/libs/xpdf/xpdf-3.02-PATCHES/ChangeLog index c6fe4548d78..04ca84952fd 100644 --- a/Build/source/libs/xpdf/xpdf-3.02-PATCHES/ChangeLog +++ b/Build/source/libs/xpdf/xpdf-3.02-PATCHES/ChangeLog @@ -1,3 +1,7 @@ +2010-12-02 Karl Berry + + * patch-60-bug-fix: update with Thanh's comments. + 2010-12-01 Peter Breitenlohner * patch-60-bug-fix (new): Bug fix for 4-digit bfrange values in diff --git a/Build/source/libs/xpdf/xpdf-3.02-PATCHES/patch-60-bug-fix b/Build/source/libs/xpdf/xpdf-3.02-PATCHES/patch-60-bug-fix index 1ff057a8f53..6a1bd0daf0b 100644 --- a/Build/source/libs/xpdf/xpdf-3.02-PATCHES/patch-60-bug-fix +++ b/Build/source/libs/xpdf/xpdf-3.02-PATCHES/patch-60-bug-fix @@ -1,8 +1,9 @@ Bug fix, backport from poppler-0.14.5 -diff -ur -N xpdf-3.02.orig/xpdf/CharCodeToUnicode.cc xpdf-3.02/xpdf/CharCodeToUnicode.cc ---- xpdf-3.02.orig/xpdf/CharCodeToUnicode.cc 2007-02-27 23:05:52.000000000 +0100 -+++ xpdf-3.02/xpdf/CharCodeToUnicode.cc 2010-12-01 09:25:41.108613277 +0100 +Index: CharCodeToUnicode.cc +=================================================================== +--- CharCodeToUnicode.cc (revision 12447) ++++ CharCodeToUnicode.cc (working copy) @@ -5,6 +5,9 @@ // Copyright 2001-2003 Glyph & Cog, LLC // @@ -27,16 +28,25 @@ diff -ur -N xpdf-3.02.orig/xpdf/CharCodeToUnicode.cc xpdf-3.02/xpdf/CharCodeToUn } tok1[n1 - 1] = tok2[n2 - 1] = '\0'; if (sscanf(tok1 + 1, "%x", &code1) != 1) { -@@ -266,8 +272,10 @@ +@@ -266,8 +272,19 @@ error(-1, "Illegal entry in bfrange block in ToUnicode CMap"); break; } - if (!(n1 == 2 + nDigits && tok1[0] == '<' && tok1[n1 - 1] == '>' && - n2 == 2 + nDigits && tok2[0] == '<' && tok2[n2 - 1] == '>')) { ++ /* ref: ++ - http://sarovar.org/tracker/index.php?func=detail&aid=4321&group_id=106&atid=493 ++ - http://lists.freedesktop.org/archives/poppler-bugs/2010-April/004931.html ++ original was: ++ if (!(n1 == 2 + nDigits && tok1[0] == '<' && tok1[n1 - 1] == '>' && ++ n2 == 2 + nDigits && tok2[0] == '<' && tok2[n2 - 1] == '>')) { ++ */ + if (!(((n1 == 2 + nDigits && tok1[0] == '<' && tok1[n1 - 1] == '>') || -+ (n1 == 4 + nDigits && tok1[0] == '<' && tok1[n1 - 1] == '>' && tok1[1] == '0' && tok1[2] == '0')) && ++ (n1 == 4 + nDigits && tok1[0] == '<' && tok1[n1 - 1] == '>' ++ && tok1[1] == '0' && tok1[2] == '0')) && + ((n2 == 2 + nDigits && tok2[0] == '<' && tok2[n2 - 1] == '>') || -+ (n2 == 4 + nDigits && tok2[0] == '<' && tok2[n2 - 1] == '>' && tok1[1] == '0' && tok1[2] == '0')))) { ++ (n2 == 4 + nDigits && tok2[0] == '<' && tok2[n2 - 1] == '>' ++ && tok1[1] == '0' && tok1[2] == '0')))) { error(-1, "Illegal entry in bfrange block in ToUnicode CMap"); continue; } diff --git a/Build/source/libs/xpdf/xpdf-3.02/xpdf/CharCodeToUnicode.cc b/Build/source/libs/xpdf/xpdf-3.02/xpdf/CharCodeToUnicode.cc index e62f9b5aa88..26197bd3189 100644 --- a/Build/source/libs/xpdf/xpdf-3.02/xpdf/CharCodeToUnicode.cc +++ b/Build/source/libs/xpdf/xpdf-3.02/xpdf/CharCodeToUnicode.cc @@ -272,10 +272,19 @@ void CharCodeToUnicode::parseCMap1(int (*getCharFunc)(void *), void *data, error(-1, "Illegal entry in bfrange block in ToUnicode CMap"); break; } + /* ref: + - http://sarovar.org/tracker/index.php?func=detail&aid=4321&group_id=106&atid=493 + - http://lists.freedesktop.org/archives/poppler-bugs/2010-April/004931.html + original was: + if (!(n1 == 2 + nDigits && tok1[0] == '<' && tok1[n1 - 1] == '>' && + n2 == 2 + nDigits && tok2[0] == '<' && tok2[n2 - 1] == '>')) { + */ if (!(((n1 == 2 + nDigits && tok1[0] == '<' && tok1[n1 - 1] == '>') || - (n1 == 4 + nDigits && tok1[0] == '<' && tok1[n1 - 1] == '>' && tok1[1] == '0' && tok1[2] == '0')) && + (n1 == 4 + nDigits && tok1[0] == '<' && tok1[n1 - 1] == '>' + && tok1[1] == '0' && tok1[2] == '0')) && ((n2 == 2 + nDigits && tok2[0] == '<' && tok2[n2 - 1] == '>') || - (n2 == 4 + nDigits && tok2[0] == '<' && tok2[n2 - 1] == '>' && tok1[1] == '0' && tok1[2] == '0')))) { + (n2 == 4 + nDigits && tok2[0] == '<' && tok2[n2 - 1] == '>' + && tok1[1] == '0' && tok1[2] == '0')))) { error(-1, "Illegal entry in bfrange block in ToUnicode CMap"); continue; } -- cgit v1.2.3