From b47695c87eeece37031154f703a78629e19384be Mon Sep 17 00:00:00 2001 From: Nico Weber Date: Fri, 12 Jan 2024 08:55:24 -0500 Subject: [PATCH] Tests: Add a pdf that embeds a wide-gamut 16-bits/channel image I opened Tests/LibGfx/test-inputs/png/wide-gamut-only.png in Preview.app and used File->Export as PDF... to convert it to a PDF. I then ran mutool clean -d Tests/LibPDF/wide-gamut-only.pdf \ Tests/LibPDF/wide-gamut-only.pdf to decompress it, edited by hand to remove padding around the image and shrunk the page's MediaBox to be as big as the image, and ran the command above again to fix up binary offsets in the xref table. --- Tests/LibPDF/wide-gamut-only.pdf | Bin 0 -> 721914 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Tests/LibPDF/wide-gamut-only.pdf diff --git a/Tests/LibPDF/wide-gamut-only.pdf b/Tests/LibPDF/wide-gamut-only.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f14d172eddb0b6682184ad147e1256936b00b9c7 GIT binary patch literal 721914 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