Merge pull request #11967 from havocbcn/jpg-rgb

Do not transform jpeg RGB components
This commit is contained in:
Tim van der Meij 2020-06-04 23:53:45 +02:00 committed by GitHub
commit ad261a2da4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 19 additions and 1 deletions

View File

@ -991,8 +991,10 @@ var JpegImage = (function JpegImageClosure() {
var components = [],
component;
for (i = 0; i < selectorsCount; i++) {
var componentIndex = frame.componentIds[data[offset++]];
const index = data[offset++];
var componentIndex = frame.componentIds[index];
component = frame.components[componentIndex];
component.index = index;
var tableSpec = data[offset++];
component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];
component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];
@ -1088,6 +1090,7 @@ var JpegImage = (function JpegImageClosure() {
}
this.components.push({
index: component.index,
output: buildComponentData(frame, component),
scaleX: component.h / frame.maxH,
scaleY: component.v / frame.maxV,
@ -1183,6 +1186,14 @@ var JpegImage = (function JpegImageClosure() {
// dictionary has a 'ColorTransform' entry, explicitly set to `0`,
// then the colours should *not* be transformed.
return false;
} else if (
this.components[0].index === /* "R" = */ 0x52 &&
this.components[1].index === /* "G" = */ 0x47 &&
this.components[2].index === /* "B" = */ 0x42
) {
// If the three components are indexed as RGB in ASCII
// then the colours should *not* be transformed.
return false;
}
return true;
}

View File

@ -147,6 +147,7 @@
!issue1055r.pdf
!issue11713.pdf
!issue1293r.pdf
!issue11931.pdf
!issue1655r.pdf
!issue6541.pdf
!issue2948.pdf

BIN
test/pdfs/issue11931.pdf Normal file

Binary file not shown.

View File

@ -4367,6 +4367,12 @@
"type": "eq",
"forms": true
},
{ "id": "issue11931",
"file": "pdfs/issue11931.pdf",
"md5": "9ea233037992e1f10280420a49e72845",
"rounds": 1,
"type": "eq"
},
{ "id": "annotation-button-widget-annotations",
"file": "pdfs/annotation-button-widget.pdf",
"md5": "5cf23adfff84256d9cfe261bea96dade",