diff --git a/lib/mixins/color.js b/lib/mixins/color.js index 42ce1b4c..ae7c14da 100644 --- a/lib/mixins/color.js +++ b/lib/mixins/color.js @@ -26,8 +26,8 @@ export default { } const hex = parseInt(color.slice(1), 16); color = [hex >> 16, (hex >> 8) & 0xff, hex & 0xff]; - } else if (namedColors[color]) { - color = namedColors[color]; + } else if (namedColors[color.toLowerCase()]) { + color = namedColors[color.toLowerCase()]; } else if (this.spotColors[color]) { return this.spotColors[color]; } diff --git a/tests/unit/color.spec.js b/tests/unit/color.spec.js index 49a17945..9e2a1215 100644 --- a/tests/unit/color.spec.js +++ b/tests/unit/color.spec.js @@ -27,6 +27,14 @@ describe('color', function () { ]); }); + test('normalize named color case-insensitively', function () { + const doc = new PDFDocument(); + + expect(doc._normalizeColor('red')).toEqual([1, 0, 0]); + expect(doc._normalizeColor('Red')).toEqual([1, 0, 0]); + expect(doc._normalizeColor('RED')).toEqual([1, 0, 0]); + }); + test('normalize with spot color', function () { const doc = new PDFDocument(); doc.addSpotColor('PANTONE 123 C', 0.1, 0.2, 0.3, 0.4);