summaryrefslogtreecommitdiff
path: root/third_party/lcms/0019-utf8.patch
diff options
context:
space:
mode:
authorNicolas Pena <npm@chromium.org>2017-08-14 10:36:01 -0400
committerChromium commit bot <commit-bot@chromium.org>2017-08-14 15:02:17 +0000
commit0bd847232a1f430c70dd9d8df177ce68a3cde010 (patch)
tree15cec8c11493549f1974ae2f6aeac58234c176d2 /third_party/lcms/0019-utf8.patch
parentdff02cee2d2410d81a55c59345fb38b5aac8a457 (diff)
downloadpdfium-0bd847232a1f430c70dd9d8df177ce68a3cde010.tar.xz
LCMS: upgrade to 2.8
This CL upgrades LCMS from version 2.6 to 2.8. All changes from LCMS original version 2.8 are stored in patch files: - Patch 0: memory management modifications to use PDFium methods. This was previously not in any patch, so the changes were manually applied. - Patches 1-5: new patch files corresponding to old changes that can be seen in the history, but did not previously have patch files. - Patches 6-25: previous patches (patch numbers shifted by 6). The one for from16-to-8-overflow.patch was deleted as it was already upstream. Some patches did not apply cleanly so their .patch files were modified. - Patch 26: as I just moved files directly, unsupported characters were moved in unchanged, so I had to fix all of them: e with tilde and other characters were replaced to allow compilation on Windows. - Patch 27: Went over the code and re-applied changes that included comments clearly indicating this was Foxit. These changes are all already seen in the initial PDFium commit. Change-Id: Ic1d84e54803ef9e6b280ef7619bbf0b757312fbf Reviewed-on: https://pdfium-review.googlesource.com/10590 Commit-Queue: Nicolás Peña <npm@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'third_party/lcms/0019-utf8.patch')
-rw-r--r--third_party/lcms/0019-utf8.patch98
1 files changed, 98 insertions, 0 deletions
diff --git a/third_party/lcms/0019-utf8.patch b/third_party/lcms/0019-utf8.patch
new file mode 100644
index 0000000000..351659d409
--- /dev/null
+++ b/third_party/lcms/0019-utf8.patch
@@ -0,0 +1,98 @@
+diff --git a/third_party/lcms/src/cmscgats.c b/third_party/lcms/src/cmscgats.c
+index 6011fb201..d53360b1f 100644
+--- a/third_party/lcms/src/cmscgats.c
++++ b/third_party/lcms/src/cmscgats.c
+@@ -255,7 +255,7 @@ static PROPERTY PredefinedProperties[] = {
+ // needed.
+
+ {"SAMPLE_BACKING", WRITE_STRINGIFY}, // Identifies the backing material used behind the sample during
+- // measurement. Allowed values are <93>black<94>, <93>white<94>, or {"na".
++ // measurement. Allowed values are "black" "white" or "na".
+
+ {"CHISQ_DOF", WRITE_STRINGIFY}, // Degrees of freedom associated with the Chi squared statistic
+
+@@ -271,7 +271,7 @@ static PROPERTY PredefinedProperties[] = {
+ // denote the use of filters such as none, D65, Red, Green or Blue.
+
+ {"POLARIZATION", WRITE_STRINGIFY}, // Identifies the use of a physical polarization filter during measurement. Allowed
+- // values are {"yes<94>, <93>white<94>, <93>none<94> or <93>na<94>.
++ // values are "yes" "white" "none" or "na".
+
+ {"WEIGHTING_FUNCTION", WRITE_PAIR}, // Indicates such functions as: the CIE standard observer functions used in the
+ // calculation of various data parameters (2 degree and 10 degree), CIE standard
+diff --git a/third_party/lcms/src/cmstypes.c b/third_party/lcms/src/cmstypes.c
+index 5647264a6..64845e263 100644
+--- a/third_party/lcms/src/cmstypes.c
++++ b/third_party/lcms/src/cmstypes.c
+@@ -962,7 +962,7 @@ cmsBool Type_Text_Description_Write(struct _cms_typehandler_struct* self, cmsIO
+ len = cmsMLUgetASCII(mlu, cmsNoLanguage, cmsNoCountry, NULL, 0);
+
+ // Specification ICC.1:2001-04 (v2.4.0): It has been found that textDescriptionType can contain misaligned data
+- //(see clause 4.1 for the definition of <93>aligned<94>). Because the Unicode language
++ //(see clause 4.1 for the definition of 'aligned'. Because the Unicode language
+ // code and Unicode count immediately follow the ASCII description, their
+ // alignment is not correct if the ASCII count is not a multiple of four. The
+ // ScriptCode code is misaligned when the ASCII count is odd. Profile reading and
+@@ -3066,10 +3066,10 @@ void Type_ColorantTable_Free(struct _cms_typehandler_struct* self, void* Ptr)
+ //The namedColor2Type is a count value and array of structures that provide color
+ //coordinates for 7-bit ASCII color names. For each named color, a PCS and optional
+ //device representation of the color are given. Both representations are 16-bit values.
+-//The device representation corresponds to the header<92>s <93>color space of data<94> field.
+-//This representation should be consistent with the <93>number of device components<94>
++//The device representation corresponds to the header's 'color space of data' field.
++//This representation should be consistent with the 'number of device components'
+ //field in the namedColor2Type. If this field is 0, device coordinates are not provided.
+-//The PCS representation corresponds to the header<92>s PCS field. The PCS representation
++//The PCS representation corresponds to the header's PCS field. The PCS representation
+ //is always provided. Color names are fixed-length, 32-byte fields including null
+ //termination. In order to maintain maximum portability, it is strongly recommended
+ //that special characters of the 7-bit ASCII set not be used.
+@@ -3814,7 +3814,7 @@ void Type_Screening_Free(struct _cms_typehandler_struct* self, void* Ptr)
+ // ********************************************************************************
+ //
+ //This type represents a set of viewing condition parameters including:
+-//CIE <92>absolute<92> illuminant white point tristimulus values and CIE <92>absolute<92>
++//CIE 'absolute'illuminant white point tristimulus values and CIE 'absolute'
+ //surround tristimulus values.
+
+ static
+@@ -3901,7 +3901,7 @@ void GenericMPEfree(struct _cms_typehandler_struct* self, void *Ptr)
+ }
+
+ // Each curve is stored in one or more curve segments, with break-points specified between curve segments.
+-// The first curve segment always starts at <96>Infinity, and the last curve segment always ends at +Infinity. The
++// The first curve segment always starts at -Infinity, and the last curve segment always ends at +Infinity. The
+ // first and last curve segments shall be specified in terms of a formula, whereas the other segments shall be
+ // specified either in terms of a formula, or by a sampled curve.
+
+diff --git a/third_party/lcms/src/cmsvirt.c b/third_party/lcms/src/cmsvirt.c
+index b8795be2c..9eff1f7be 100644
+--- a/third_party/lcms/src/cmsvirt.c
++++ b/third_party/lcms/src/cmsvirt.c
+@@ -612,18 +612,18 @@ cmsHPROFILE CMSEXPORT cmsCreateXYZProfile(void)
+
+ //sRGB Curves are defined by:
+ //
+-//If R<92>sRGB,G<92>sRGB, B<92>sRGB < 0.04045
++//If R'sRGB,G'sRGB, B'sRGB < 0.04045
+ //
+-// R = R<92>sRGB / 12.92
+-// G = G<92>sRGB / 12.92
+-// B = B<92>sRGB / 12.92
++// R = R'sRGB / 12.92
++// G = G'sRGB / 12.92
++// B = B'sRGB / 12.92
+ //
+ //
+-//else if R<92>sRGB,G<92>sRGB, B<92>sRGB >= 0.04045
++//else if R'sRGB,G'sRGB, B'sRGB >= 0.04045
+ //
+-// R = ((R<92>sRGB + 0.055) / 1.055)^2.4
+-// G = ((G<92>sRGB + 0.055) / 1.055)^2.4
+-// B = ((B<92>sRGB + 0.055) / 1.055)^2.4
++// R = ((R'sRGB + 0.055) / 1.055)^2.4
++// G = ((G'sRGB + 0.055) / 1.055)^2.4
++// B = ((B'sRGB + 0.055) / 1.055)^2.4
+
+ static
+ cmsToneCurve* Build_sRGBGamma(cmsContext ContextID)