[Skia] Avoid rendering adjacent characters connected to each other.
If a glyph's default width is the same as its width defined in the PDF,
we should avoid using the device driver to render such a glyph so that
the adjacent glyphs won't be connected to each other. Instead, render
these glyphs with their adjustable paths.
Bug: chromium:736703
Change-Id: I115773beaa64031d982f362f946d19ec68c126fc
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/93890
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Nigi <nigi@chromium.org>
diff --git a/core/fpdfapi/parser/cpdf_security_handler_embeddertest.cpp b/core/fpdfapi/parser/cpdf_security_handler_embeddertest.cpp
index 669efce..9471e15 100644
--- a/core/fpdfapi/parser/cpdf_security_handler_embeddertest.cpp
+++ b/core/fpdfapi/parser/cpdf_security_handler_embeddertest.cpp
@@ -134,9 +134,9 @@
}
TEST_F(CPDFSecurityHandlerEmbedderTest, PasswordAfterGenerateSave) {
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
- const char kChecksum[] = "c3c4fc0032f5d252327bf52d29a074fa";
-#elif BUILDFLAG(IS_APPLE)
+#if defined(_SKIA_SUPPORT_)
+ const char kChecksum[] = "df9fe67555b7ceb59c99036e8d2c1c76";
+#elif BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_PATHS_)
const char kChecksum[] = "2a308e8cc20a6221112c387d122075a8";
#else
const char kChecksum[] = "9fe7eef8e51d15a604001854be6ed1ee";
diff --git a/core/fpdfapi/render/fpdf_progressive_render_embeddertest.cpp b/core/fpdfapi/render/fpdf_progressive_render_embeddertest.cpp
index b66c6bd..3427fb1 100644
--- a/core/fpdfapi/render/fpdf_progressive_render_embeddertest.cpp
+++ b/core/fpdfapi/render/fpdf_progressive_render_embeddertest.cpp
@@ -22,10 +22,8 @@
constexpr FX_ARGB kRed = 0xFFFF0000;
constexpr FX_ARGB kWhite = 0xFFFFFFFF;
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
-static constexpr char kAnnotationStampWithApBaseContentChecksum[] =
- "1a6cb54b1cfc5bb9f6ec3923a52ea7cc";
-#elif BUILDFLAG(IS_APPLE)
+#if BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_) && \
+ !defined(_SKIA_SUPPORT_PATHS_)
static constexpr char kAnnotationStampWithApBaseContentChecksum[] =
"243f3d6267d9db09198fed9f8c4957fd";
#else
@@ -312,10 +310,10 @@
TEST_F(FPDFProgressiveRenderEmbedderTest, RenderTextWithColorScheme) {
// Test rendering of text with forced color scheme on.
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
+#if defined(_SKIA_SUPPORT_)
static constexpr char kContentWithTextChecksum[] =
- "6bbe5a547115b4aa30b49fe7c34030e3";
-#elif BUILDFLAG(IS_APPLE)
+ "5ece6059efdc2ecb2894fa3cf329dc94";
+#elif BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_PATHS_)
static constexpr char kContentWithTextChecksum[] =
"ee4ec12f54ce8d117a73bd9b85a8954d";
#else
@@ -456,7 +454,7 @@
// Test rendering of static annotation with forced color scheme on.
#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
static constexpr char kContentWithStampChecksum[] =
- "bdcd2b91223b1a73582b341d0153a73f";
+ "a791fdb4f595bb6c4187cc2aeed5e9e8";
#elif BUILDFLAG(IS_APPLE)
static constexpr char kContentWithStampChecksum[] =
"7a209e29caeeab7d2b25b34570a4ace6";
diff --git a/core/fxge/skia/fx_skia_device.cpp b/core/fxge/skia/fx_skia_device.cpp
index 275bc55..fff81d2 100644
--- a/core/fxge/skia/fx_skia_device.cpp
+++ b/core/fxge/skia/fx_skia_device.cpp
@@ -1718,7 +1718,7 @@
if (pFont->GetFontSpan().empty())
return false;
- // If a glyph's default width is larger than its width defined in the PDF,
+ // If a glyph's default width is no less than its width defined in the PDF,
// draw the glyph with path since it can be scaled to avoid overlapping with
// the adjacent glyphs (if there are any). Otherwise, use the device driver
// to render the glyph without any adjustments.
@@ -1728,7 +1728,7 @@
for (const TextCharPos& cp : pCharPos) {
const int glyph_width = pFont->GetGlyphWidth(
cp.m_GlyphIndex, cp.m_FontCharWidth, subst_font_weight);
- if (cp.m_FontCharWidth < glyph_width)
+ if (cp.m_FontCharWidth <= glyph_width)
return false;
}
diff --git a/fpdfsdk/fpdf_annot_embeddertest.cpp b/fpdfsdk/fpdf_annot_embeddertest.cpp
index 6232027..63affb9 100644
--- a/fpdfsdk/fpdf_annot_embeddertest.cpp
+++ b/fpdfsdk/fpdf_annot_embeddertest.cpp
@@ -1098,9 +1098,9 @@
TEST_F(FPDFAnnotEmbedderTest, AddAndModifyPath) {
#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
- static const char kMd5ModifiedPath[] = "b820e4ae359db95cbac9823937c6da1a";
- static const char kMd5TwoPaths[] = "c53837b7bb6a9a21a846aa786526aa56";
- static const char kMd5NewAnnot[] = "4f0f4217156e4251036f369184a48967";
+ static const char kMd5ModifiedPath[] = "f671765166acf45d80e833ea3aff8b90";
+ static const char kMd5TwoPaths[] = "7d2db46e1ae6bcf88d18d334af309551";
+ static const char kMd5NewAnnot[] = "92bfb06058ff608571a3baf65f7fc05d";
#elif BUILDFLAG(IS_APPLE)
static const char kMd5ModifiedPath[] = "e31421f86c61d4e9cda138f15f561ca3";
static const char kMd5TwoPaths[] = "58d932492f9d485d6a4bc0ba76c04557";
@@ -1311,8 +1311,8 @@
#endif
TEST_F(FPDFAnnotEmbedderTest, MAYBE_AddAndModifyImage) {
#if defined(_SKIA_SUPPORT_PATHS_)
- static const char kMd5NewImage[] = "beb7db3647706d7fe4689f92073847aa";
- static const char kMd5ModifiedImage[] = "baa9b065469268e215ef958fe6987d6b";
+ static const char kMd5NewImage[] = "bf158b64c0373f3f36e347ae83e55cde";
+ static const char kMd5ModifiedImage[] = "5806fadc1a192bc4bb07511a0711c957";
#else
#if BUILDFLAG(IS_APPLE)
static const char kMd5NewImage[] = "c6fcbceb2f079bef10458ac60db3a10c";
@@ -1395,9 +1395,12 @@
}
TEST_F(FPDFAnnotEmbedderTest, AddAndModifyText) {
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
- static const char kMd5NewText[] = "310d9de5f17fb288fb243f5dbaf2b6dc";
- static const char kMd5ModifiedText[] = "22be42c136c3bf5a8ecea3dd83770a02";
+#if defined(_SKIA_SUPPORT_)
+ static const char kMd5NewText[] = "63b931799a9ba21c36d9d4f9711f252b";
+ static const char kMd5ModifiedText[] = "e29ddba6a49d5c9c5cdde7d1693a251c";
+#elif defined(_SKIA_SUPPORT_PATHS_)
+ static const char kMd5NewText[] = "e2a563fe60b263342347b84199649899";
+ static const char kMd5ModifiedText[] = "6052d53a7de28382e305d22edfb93873";
#elif BUILDFLAG(IS_APPLE)
static const char kMd5NewText[] = "57a0fb3fba33e17de26bcde4c40b9a75";
static const char kMd5ModifiedText[] = "072574999f2e3f36774ee0b5bc94d4dd";
@@ -1533,7 +1536,7 @@
UnloadPage(page);
#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
- static const char kMd5[] = "aa0e47d966c60d59102a2466542e0e46";
+ static const char kMd5[] = "2b9078043cd6130fef4e8542dcda943e";
#elif BUILDFLAG(IS_APPLE)
static const char kMd5[] = "cd90315b250dfe08265ce0ac335c5f76";
#else
@@ -2995,7 +2998,7 @@
{
#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
- static const char kMd5sum[] = "b4c8f1dab175508810c476d078ebc5a6";
+ static const char kMd5sum[] = "7b08d6e8c0423302755c110e17abf7de";
#elif BUILDFLAG(IS_APPLE)
static const char kMd5sum[] = "108a46c517c4eaace9982ee83e8e3296";
#else
@@ -3021,7 +3024,7 @@
{
#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
- static const char kMd5sum[] = "9173db3a892bc1697eef5cdaed19eda6";
+ static const char kMd5sum[] = "371171ea3f000db6354b24a702b0312b";
#elif BUILDFLAG(IS_APPLE)
static const char kMd5sum[] = "eb3869335e7a219e1b5f25c1c6037b97";
#else
@@ -3038,7 +3041,7 @@
{
#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
- static const char kMd5sum[] = "174dbdb218c2b14011c9c1db67fe41c3";
+ static const char kMd5sum[] = "4aba010a83b9d91722921fde6bf30cdc";
#elif BUILDFLAG(IS_APPLE)
static const char kMd5sum[] = "d20b1978da2362d3942ea0fc6d230997";
#else
@@ -3546,10 +3549,8 @@
ASSERT_TRUE(page);
EXPECT_EQ(3, FPDFPage_GetAnnotCount(page));
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
- constexpr char kOriginalChecksum[] = "4f35703e89202bcc8419ca2df739bb4e";
- constexpr char kModifiedChecksum[] = "cee0a1b41f33d487af8fb70c4c82e3c9";
-#elif BUILDFLAG(IS_APPLE)
+#if BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_) && \
+ !defined(_SKIA_SUPPORT_PATHS_)
constexpr char kOriginalChecksum[] = "522a4a6b6c7eab5bf95ded1f21ea372e";
constexpr char kModifiedChecksum[] = "6844019e07b83cc01723415f58218d06";
#else
diff --git a/fpdfsdk/fpdf_edit_embeddertest.cpp b/fpdfsdk/fpdf_edit_embeddertest.cpp
index 155fe3b..cd8cec9 100644
--- a/fpdfsdk/fpdf_edit_embeddertest.cpp
+++ b/fpdfsdk/fpdf_edit_embeddertest.cpp
@@ -42,10 +42,8 @@
const wchar_t kBottomText[] = L"I'm at the bottom of the page";
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
-static constexpr char kBottomTextChecksum[] =
- "84461cd5d952b6ae3d57a5070da84e19";
-#elif BUILDFLAG(IS_APPLE)
+#if BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_) && \
+ !defined(_SKIA_SUPPORT_PATHS_)
static constexpr char kBottomTextChecksum[] =
"81636489006a31fcb00cf29efcdf7909";
#else
@@ -53,9 +51,8 @@
"891dcb6e914c8360998055f1f47c9727";
#endif
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
-const char kFirstRemovedChecksum[] = "f46cbf12eb4e9bbdc3a5d8e1f2103446";
-#elif BUILDFLAG(IS_APPLE)
+#if BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_) && \
+ !defined(_SKIA_SUPPORT_PATHS_)
const char kFirstRemovedChecksum[] = "a1dc2812692fcc7ee4f01ca77435df9d";
#else
const char kFirstRemovedChecksum[] = "e1477dc3b5b3b9c560814c4d1135a02b";
@@ -717,9 +714,8 @@
// now displayed.
ASSERT_EQ(2, FPDFPage_CountObjects(page));
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
- const char kChangedChecksum[] = "49c8602cb60508009a34d0caaac63bb4";
-#elif BUILDFLAG(IS_APPLE)
+#if BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_) && \
+ !defined(_SKIA_SUPPORT_PATHS_)
const char kChangedChecksum[] = "b720e83476fd6819d47c533f1f43c728";
#else
const char kChangedChecksum[] = "9a85b9354a69c61772ed24151c140f46";
@@ -774,10 +770,8 @@
FPDF_PAGE page = LoadPage(0);
ASSERT_TRUE(page);
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
- static constexpr char kOriginalChecksum[] =
- "92ff84385a0f986eacfa4bbecf8d7a7a";
-#elif BUILDFLAG(IS_APPLE)
+#if BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_) && \
+ !defined(_SKIA_SUPPORT_PATHS_)
static constexpr char kOriginalChecksum[] =
"ae7a25c85e0e2dd0c5cb9dd5cd37f6df";
#else
@@ -842,10 +836,8 @@
FPDF_PAGE page = LoadPage(0);
ASSERT_TRUE(page);
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
- static constexpr char kOriginalChecksum[] =
- "1e022a0360f053ecb41cc431a36834a6";
-#elif BUILDFLAG(IS_APPLE)
+#if BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_) && \
+ !defined(_SKIA_SUPPORT_PATHS_)
static constexpr char kOriginalChecksum[] =
"1226bc2b8072622eb28f52321876e814";
#else
@@ -1046,10 +1038,10 @@
// Show what the original file looks like.
{
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
+#if defined(_SKIA_SUPPORT_)
static constexpr char kOriginalChecksum[] =
- "8a8bed7820764522955f422e27f4292f";
-#elif BUILDFLAG(IS_APPLE)
+ "34ac4e0f3ba510760be09d0e19c1b43e";
+#elif BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_PATHS_)
static constexpr char kOriginalChecksum[] =
"966579fb98206858ce2f0a1f94a74d05";
#else
@@ -1093,12 +1085,12 @@
}
EXPECT_EQ(11, FPDFPage_CountObjects(page));
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
+#if defined(_SKIA_SUPPORT_)
static constexpr char kNonPrimesChecksum[] =
- "1573b85dd9a2c59401c1c30abbee3b25";
+ "c671fa07b63e85c4201b9926e880fda8";
static constexpr char kNonPrimesAfterSaveChecksum[] =
- "1573b85dd9a2c59401c1c30abbee3b25";
-#elif BUILDFLAG(IS_APPLE)
+ "c671fa07b63e85c4201b9926e880fda8";
+#elif BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_PATHS_)
static constexpr char kNonPrimesChecksum[] =
"6e19a4dd674b522cd39cf41956559bd6";
static constexpr char kNonPrimesAfterSaveChecksum[] =
@@ -1382,9 +1374,8 @@
// Verify the "Hello, world!" text is gone.
ASSERT_EQ(2, FPDFPage_CountObjects(page));
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
- const char kHelloRemovedChecksum[] = "fc2a40a3d1edfe6e972be104b5ae87ad";
-#elif BUILDFLAG(IS_APPLE)
+#if BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_) && \
+ !defined(_SKIA_SUPPORT_PATHS_)
const char kHelloRemovedChecksum[] = "5508c2f06d104050f74f655693e38c2c";
#else
const char kHelloRemovedChecksum[] = "a8cd82499cf744e0862ca468c9d4ceb8";
@@ -1540,9 +1531,9 @@
EXPECT_EQ(1, cpdf_page_object->GetContentStream()) << i;
}
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
- const char kStream1RemovedChecksum[] = "7fe07f182b37d40afc6ae36a4e89fe73";
-#elif BUILDFLAG(IS_APPLE)
+#if defined(_SKIA_SUPPORT_)
+ const char kStream1RemovedChecksum[] = "b9bb0acfdba4bb5d2e578e7b73341baf";
+#elif BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_PATHS_)
const char kStream1RemovedChecksum[] = "3cdc75af44c15bed80998facd6e674c9";
#else
const char kStream1RemovedChecksum[] = "b474826df1acedb05c7b82e1e49e64a6";
@@ -2053,7 +2044,7 @@
// Render and check the result.
ScopedFPDFBitmap bitmap = RenderLoadedPage(page);
#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
- const char kChecksum[] = "3490f699d894351a554d79e1fcdf7981";
+ const char kChecksum[] = "8a48b019826492331454f2809990aba8";
#elif BUILDFLAG(IS_APPLE)
const char kChecksum[] = "279693baca9f48da2d75a8e289aed58e";
#else
@@ -2242,15 +2233,12 @@
EXPECT_TRUE(FPDFPage_GenerateContent(page.get()));
{
ScopedFPDFBitmap page_bitmap = RenderPage(page.get());
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
- static constexpr char md5[] = "fa64eb3808b541342496281277fad5f2";
-#else
-#if BUILDFLAG(IS_APPLE)
+#if BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_) && \
+ !defined(_SKIA_SUPPORT_PATHS_)
static constexpr char md5[] = "983baaa1f688eff7a14b1bf91c171a1a";
#else
static constexpr char md5[] = "161523e196eb5341604cd73e12c97922";
#endif
-#endif // defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
CompareBitmap(page_bitmap.get(), 612, 792, md5);
EXPECT_TRUE(FPDF_SaveAsCopy(document(), this, 0));
@@ -2268,9 +2256,8 @@
EXPECT_TRUE(FPDFPage_GenerateContent(page.get()));
{
ScopedFPDFBitmap page_bitmap = RenderPage(page.get());
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
- static constexpr char md5[] = "abc65660389911aab95550ca8cd97a2b";
-#elif BUILDFLAG(IS_APPLE)
+#if BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_) && \
+ !defined(_SKIA_SUPPORT_PATHS_)
static constexpr char md5[] = "e0b3493c5c16e41d0d892ffb48e63fba";
#else
static constexpr char md5[] = "1fbf772dca8d82b960631e6683934964";
@@ -2349,7 +2336,7 @@
TEST_F(FPDFEditEmbedderTest, SetTextRenderMode) {
#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
- const char kOriginalChecksum[] = "bf87e8b36380ebd96ca429213fa23a09";
+ const char kOriginalChecksum[] = "39a4ac8f1fdc6653edd3b91862ea7b75";
const char kStrokeChecksum[] = "d16eb1bb4748eeb5fb801594da70d519";
#elif BUILDFLAG(IS_APPLE)
const char kOriginalChecksum[] = "c488514ce0fc949069ff560407edacd2";
@@ -2669,10 +2656,8 @@
}
TEST_F(FPDFEditEmbedderTest, ModifyFormObject) {
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
- const char kOrigChecksum[] = "e15086e54078e4d22fa3fb12105c579e";
- const char kNewChecksum[] = "7282fe98693c0a7ad2c1b3f3f9563977";
-#elif BUILDFLAG(IS_APPLE)
+#if BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_) && \
+ !defined(_SKIA_SUPPORT_PATHS_)
const char kOrigChecksum[] = "a637057185f50aac1aa5490f726aef95";
const char kNewChecksum[] = "8ad9d79b02b609ff734e2a2195c96e2d";
#else
diff --git a/fpdfsdk/fpdf_flatten_embeddertest.cpp b/fpdfsdk/fpdf_flatten_embeddertest.cpp
index 8eb7737..cf94d97 100644
--- a/fpdfsdk/fpdf_flatten_embeddertest.cpp
+++ b/fpdfsdk/fpdf_flatten_embeddertest.cpp
@@ -39,18 +39,19 @@
}
TEST_F(FPDFFlattenEmbedderTest, BUG_861842) {
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
+#if defined(_SKIA_SUPPORT_)
static constexpr char kCheckboxChecksum[] =
- "95fdaa000e81c80892b8d370f77be970";
-#else
-#if BUILDFLAG(IS_APPLE)
+ "252fd5f2299cc16e5a07565df7c30565";
+#elif defined(_SKIA_SUPPORT_PATHS_)
+ static constexpr char kCheckboxChecksum[] =
+ "280080feef8787b55ccf5cc828596327";
+#elif BUILDFLAG(IS_APPLE)
static constexpr char kCheckboxChecksum[] =
"6aafcb2d98da222964bcdbf5aa1f4f1f";
#else
static constexpr char kCheckboxChecksum[] =
"594265790b81df2d93120d33b72a6ada";
-#endif // BUILDFLAG(IS_APPLE)
-#endif // defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
+#endif
ASSERT_TRUE(OpenDocument("bug_861842.pdf"));
FPDF_PAGE page = LoadPage(0);
@@ -70,10 +71,14 @@
}
TEST_F(FPDFFlattenEmbedderTest, BUG_889099) {
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
- static constexpr char kPageHash[] = "1ce2e06c12972973b8f04a2f79245313";
+#if defined(_SKIA_SUPPORT_)
+ static constexpr char kPageHash[] = "73678f308625e22f31940e9f732b68bf";
static constexpr char kFlattenedPageHash[] =
- "e03b1b8157c30c77ea94f9c24dc85a00";
+ "0832157462ea70fbbf053e14b1d6457f";
+#elif defined(_SKIA_SUPPORT_PATHS_)
+ static constexpr char kPageHash[] = "c82ca7521b802024d7120b23876dd6dd";
+ static constexpr char kFlattenedPageHash[] =
+ "0832157462ea70fbbf053e14b1d6457f";
#elif BUILDFLAG(IS_APPLE)
static constexpr char kPageHash[] = "049ed3f1e21fc72f929af3410c64bc8f";
static constexpr char kFlattenedPageHash[] =
diff --git a/fpdfsdk/fpdf_formfill_embeddertest.cpp b/fpdfsdk/fpdf_formfill_embeddertest.cpp
index 8a3b263..320c34d 100644
--- a/fpdfsdk/fpdf_formfill_embeddertest.cpp
+++ b/fpdfsdk/fpdf_formfill_embeddertest.cpp
@@ -1318,11 +1318,16 @@
#endif // PDF_ENABLE_V8
TEST_F(FPDFFormFillEmbedderTest, FormText) {
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
+#if defined(_SKIA_SUPPORT_)
const char kFocusedTextFormWithAbcChecksum[] =
- "199536b979a42da3c2745297f6e87a77";
+ "07a179a9dfb8f5462746262984109a99";
const char kUnfocusedTextFormWithAbcChecksum[] =
- "574aa06445957315f0dadd24a0c59811";
+ "a21b74cc620db8a9891ebd69e1aeda98";
+#elif defined(_SKIA_SUPPORT_PATHS_)
+ const char kFocusedTextFormWithAbcChecksum[] =
+ "2866312fb36e9afdc0a99d547027d484";
+ const char kUnfocusedTextFormWithAbcChecksum[] =
+ "03216cae48813f71f81f53b49e3a8aaa";
#elif BUILDFLAG(IS_APPLE)
const char kFocusedTextFormWithAbcChecksum[] =
"9fb14198d75ca0a107060c60ca21b0c7";
@@ -1526,9 +1531,8 @@
}
TEST_F(FPDFFormFillEmbedderTest, RemoveFormFieldHighlight) {
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
- const char kMd5NoHighlight[] = "013aa241c39c02505d9525550be04e48";
-#elif BUILDFLAG(IS_APPLE)
+#if BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_) && \
+ !defined(_SKIA_SUPPORT_PATHS_)
const char kMd5NoHighlight[] = "5c82aa43e3b478aa1e4c94bb9ef1f11f";
#else
const char kMd5NoHighlight[] = "a6268304f7eedfa9ee98fac3caaf2efb";
diff --git a/fpdfsdk/fpdf_view_embeddertest.cpp b/fpdfsdk/fpdf_view_embeddertest.cpp
index af732df..a1586a5 100644
--- a/fpdfsdk/fpdf_view_embeddertest.cpp
+++ b/fpdfsdk/fpdf_view_embeddertest.cpp
@@ -1260,10 +1260,11 @@
#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
// For Skia/SkiaPaths, since the font used in bug_664284.pdf is not a CID
// font, ShouldDrawDeviceText() will always return true. Therefore
- // FPDF_NO_NATIVETEXT determines whether to go through the rendering path in
- // CFX_SkiaDeviceDriver::DrawDeviceText() and it will always affect the
- // rendering results across all platforms.
- static const char kOriginalChecksum[] = "cfcdc544325a9780be241685d200c47b";
+ // FPDF_NO_NATIVETEXT and the font widths defined in the PDF determines
+ // whether to go through the rendering path in
+ // CFX_SkiaDeviceDriver::DrawDeviceText(). In this case, it returns false and
+ // affects the rendering results across all platforms.
+ static const char kOriginalChecksum[] = "288502887ffc63291f35a0573b944375";
static const char kNoNativeTextChecksum[] =
"288502887ffc63291f35a0573b944375";
#else
@@ -1399,11 +1400,11 @@
TestRenderPageBitmapWithFlags(page, FPDF_RENDER_NO_SMOOTHPATH,
kHelloWorldChecksum);
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
- static const char kLcdTextChecksum[] = "fea3e59b7ac7b7a6940018497034f6cf";
+#if defined(_SKIA_SUPPORT_)
+ static const char kLcdTextChecksum[] = "c1c548442e0e0f949c5550d89bf8ae3b";
static const char kNoSmoothtextChecksum[] =
- "c4173cf724618e5b68efb74543519bb9";
-#elif BUILDFLAG(IS_APPLE)
+ "37d0b34e1762fdda4c05ce7ea357b828";
+#elif BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_PATHS_)
static const char kLcdTextChecksum[] = "6eef7237f7591f07616e238422086737";
static const char kNoSmoothtextChecksum[] =
"6eef7237f7591f07616e238422086737";
diff --git a/testing/SUPPRESSIONS b/testing/SUPPRESSIONS
index bac9e2d..6903a24 100644
--- a/testing/SUPPRESSIONS
+++ b/testing/SUPPRESSIONS
@@ -360,10 +360,7 @@
# TODO(chromium:725555, skia:9265): Remove after associated bug is fixed
bug_725555.in * * * skia,skiapaths
-#TODO(chromium:736703): Remove after associated bug is fixed
-bug_736703.in * * * skia,skiapaths
-
-# TODO(pdfiu,:1310): Remove after associated bug is fixed
+# TODO(pdfium:1310): Remove after associated bug is fixed
radial_shading_point_at_border.in * * * skia,skiapaths
# TODO(chromium:1028991): Remove after associated bug is fixed
diff --git a/testing/embedder_test_constants.cpp b/testing/embedder_test_constants.cpp
index d72b7ec..b0fc3ac 100644
--- a/testing/embedder_test_constants.cpp
+++ b/testing/embedder_test_constants.cpp
@@ -10,16 +10,14 @@
#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
const char kAnnotationStampWithApChecksum[] =
- "e4e7dc6446fa763a245e03eb5de6ed28";
-#else
-#if BUILDFLAG(IS_APPLE)
+ "a31381406d0b95049e418720750b78dd";
+#elif BUILDFLAG(IS_APPLE)
const char kAnnotationStampWithApChecksum[] =
"d243b5d64752be0f45b86df7bd2e2708";
#else
const char kAnnotationStampWithApChecksum[] =
"cdde6c161679ab10b07c38c1ef04b7e8";
#endif
-#endif // defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
const char kBlankPage612By792Checksum[] = "1940568c9ba33bac5d0b1ee9558c76b3";
@@ -29,17 +27,15 @@
const char kBug890322Checksum[] = "6c674642154408e877d88c6c082d67e9";
#endif
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
-const char kHelloWorldChecksum[] = "fea3e59b7ac7b7a6940018497034f6cf";
-#elif BUILDFLAG(IS_APPLE)
+#if BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_) && \
+ !defined(_SKIA_SUPPORT_PATHS_)
const char kHelloWorldChecksum[] = "6eef7237f7591f07616e238422086737";
#else
const char kHelloWorldChecksum[] = "c1c548442e0e0f949c5550d89bf8ae3b";
#endif
-#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
-const char kHelloWorldRemovedChecksum[] = "e51fe51cc5f03ad66f603030df9b0400";
-#elif BUILDFLAG(IS_APPLE)
+#if BUILDFLAG(IS_APPLE) && !defined(_SKIA_SUPPORT_) && \
+ !defined(_SKIA_SUPPORT_PATHS_)
const char kHelloWorldRemovedChecksum[] = "6e1cae48a2e35c521dee4ca502f48af6";
#else
const char kHelloWorldRemovedChecksum[] = "4a9b80f675f7f3bf2da1b02f12449e4b";
@@ -54,7 +50,7 @@
#endif
#if defined(_SKIA_SUPPORT_) || defined(_SKIA_SUPPORT_PATHS_)
-const char kTextFormChecksum[] = "f8f0817b19ef07d0404caf008964b7f2";
+const char kTextFormChecksum[] = "e6d2eb75f18d773f0dad938b1bb22e23";
#elif BUILDFLAG(IS_APPLE)
const char kTextFormChecksum[] = "fa2bf756942a950101fc147fc4ef3f82";
#else
diff --git a/testing/resources/pixel/bug_1072440_expected_skia.pdf.0.png b/testing/resources/pixel/bug_1072440_expected_skia.pdf.0.png
index b0d2d8d..6ce4fbe 100644
--- a/testing/resources/pixel/bug_1072440_expected_skia.pdf.0.png
+++ b/testing/resources/pixel/bug_1072440_expected_skia.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/bug_1072440_expected_skiapaths.pdf.0.png b/testing/resources/pixel/bug_1072440_expected_skiapaths.pdf.0.png
new file mode 100644
index 0000000..1d29cb2
--- /dev/null
+++ b/testing/resources/pixel/bug_1072440_expected_skiapaths.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/bug_113910_expected_skia.pdf.0.png b/testing/resources/pixel/bug_113910_expected_skia.pdf.0.png
index 4eb3fa0..3c3cd81 100644
--- a/testing/resources/pixel/bug_113910_expected_skia.pdf.0.png
+++ b/testing/resources/pixel/bug_113910_expected_skia.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/bug_113910_expected_skiapaths.pdf.0.png b/testing/resources/pixel/bug_113910_expected_skiapaths.pdf.0.png
new file mode 100644
index 0000000..c3e6a65
--- /dev/null
+++ b/testing/resources/pixel/bug_113910_expected_skiapaths.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/bug_733528_expected_skia.pdf.0.png b/testing/resources/pixel/bug_733528_expected_skia.pdf.0.png
index a743dd6..6dfa99d 100644
--- a/testing/resources/pixel/bug_733528_expected_skia.pdf.0.png
+++ b/testing/resources/pixel/bug_733528_expected_skia.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/bug_733528_expected_skiapaths.pdf.0.png b/testing/resources/pixel/bug_733528_expected_skiapaths.pdf.0.png
new file mode 100644
index 0000000..d18d646
--- /dev/null
+++ b/testing/resources/pixel/bug_733528_expected_skiapaths.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/bug_736695_2_expected_skia.pdf.0.png b/testing/resources/pixel/bug_736695_2_expected_skia.pdf.0.png
index ae0d5e5..8e01ded 100644
--- a/testing/resources/pixel/bug_736695_2_expected_skia.pdf.0.png
+++ b/testing/resources/pixel/bug_736695_2_expected_skia.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/bug_736695_2_expected_skiapaths.pdf.0.png b/testing/resources/pixel/bug_736695_2_expected_skiapaths.pdf.0.png
new file mode 100644
index 0000000..109b409
--- /dev/null
+++ b/testing/resources/pixel/bug_736695_2_expected_skiapaths.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/bug_736695_3_expected_skia.pdf.0.png b/testing/resources/pixel/bug_736695_3_expected_skia.pdf.0.png
index e5cd11c..591ddc0 100644
--- a/testing/resources/pixel/bug_736695_3_expected_skia.pdf.0.png
+++ b/testing/resources/pixel/bug_736695_3_expected_skia.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/bug_736695_3_expected_skiapaths.pdf.0.png b/testing/resources/pixel/bug_736695_3_expected_skiapaths.pdf.0.png
new file mode 100644
index 0000000..52177cd
--- /dev/null
+++ b/testing/resources/pixel/bug_736695_3_expected_skiapaths.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/bug_846_expected_skia.pdf.0.png b/testing/resources/pixel/bug_846_expected_skia.pdf.0.png
index a3dfa58..47304a5 100644
--- a/testing/resources/pixel/bug_846_expected_skia.pdf.0.png
+++ b/testing/resources/pixel/bug_846_expected_skia.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/bug_846_expected_skia_mac.pdf.0.png b/testing/resources/pixel/bug_846_expected_skia_mac.pdf.0.png
index 6472887..d09a095 100644
--- a/testing/resources/pixel/bug_846_expected_skia_mac.pdf.0.png
+++ b/testing/resources/pixel/bug_846_expected_skia_mac.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/bug_846_expected_skia_win.pdf.0.png b/testing/resources/pixel/bug_846_expected_skia_win.pdf.0.png
index 6472887..d09a095 100644
--- a/testing/resources/pixel/bug_846_expected_skia_win.pdf.0.png
+++ b/testing/resources/pixel/bug_846_expected_skia_win.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/password_expected_skia.pdf.0.png b/testing/resources/pixel/password_expected_skia.pdf.0.png
index dea7e7b..01b4b68 100644
--- a/testing/resources/pixel/password_expected_skia.pdf.0.png
+++ b/testing/resources/pixel/password_expected_skia.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/password_expected_skiapaths.pdf.0.png b/testing/resources/pixel/password_expected_skiapaths.pdf.0.png
new file mode 100644
index 0000000..f1dd5de
--- /dev/null
+++ b/testing/resources/pixel/password_expected_skiapaths.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/scrollable_widgets1_expected_skia.pdf.0.png b/testing/resources/pixel/scrollable_widgets1_expected_skia.pdf.0.png
index 949b557..cd2fe05 100644
--- a/testing/resources/pixel/scrollable_widgets1_expected_skia.pdf.0.png
+++ b/testing/resources/pixel/scrollable_widgets1_expected_skia.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/scrollable_widgets1_expected_skiapaths.pdf.0.png b/testing/resources/pixel/scrollable_widgets1_expected_skiapaths.pdf.0.png
new file mode 100644
index 0000000..74860d9
--- /dev/null
+++ b/testing/resources/pixel/scrollable_widgets1_expected_skiapaths.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/scrollable_widgets2_expected_skia.pdf.0.png b/testing/resources/pixel/scrollable_widgets2_expected_skia.pdf.0.png
index 305acb1..eb7d992 100644
--- a/testing/resources/pixel/scrollable_widgets2_expected_skia.pdf.0.png
+++ b/testing/resources/pixel/scrollable_widgets2_expected_skia.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/scrollable_widgets2_expected_skiapaths.pdf.0.png b/testing/resources/pixel/scrollable_widgets2_expected_skiapaths.pdf.0.png
new file mode 100644
index 0000000..28e51ba
--- /dev/null
+++ b/testing/resources/pixel/scrollable_widgets2_expected_skiapaths.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/xfa_specific/barcode_test_expected_skia.pdf.0.png b/testing/resources/pixel/xfa_specific/barcode_test_expected_skia.pdf.0.png
index bf6e241..e4ad159 100644
--- a/testing/resources/pixel/xfa_specific/barcode_test_expected_skia.pdf.0.png
+++ b/testing/resources/pixel/xfa_specific/barcode_test_expected_skia.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/xfa_specific/barcode_test_expected_skiapaths.pdf.0.png b/testing/resources/pixel/xfa_specific/barcode_test_expected_skiapaths.pdf.0.png
new file mode 100644
index 0000000..6507e89
--- /dev/null
+++ b/testing/resources/pixel/xfa_specific/barcode_test_expected_skiapaths.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/xfa_specific/dynamic_list_box_allow_multiple_selection_expected_skia.pdf.0.png b/testing/resources/pixel/xfa_specific/dynamic_list_box_allow_multiple_selection_expected_skia.pdf.0.png
index ae7e919..107768c 100644
--- a/testing/resources/pixel/xfa_specific/dynamic_list_box_allow_multiple_selection_expected_skia.pdf.0.png
+++ b/testing/resources/pixel/xfa_specific/dynamic_list_box_allow_multiple_selection_expected_skia.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/xfa_specific/dynamic_list_box_allow_multiple_selection_expected_skia_mac.pdf.0.png b/testing/resources/pixel/xfa_specific/dynamic_list_box_allow_multiple_selection_expected_skia_mac.pdf.0.png
index 2784897..ca386c8 100644
--- a/testing/resources/pixel/xfa_specific/dynamic_list_box_allow_multiple_selection_expected_skia_mac.pdf.0.png
+++ b/testing/resources/pixel/xfa_specific/dynamic_list_box_allow_multiple_selection_expected_skia_mac.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/xfa_specific/dynamic_list_box_allow_multiple_selection_expected_skiapaths.pdf.0.png b/testing/resources/pixel/xfa_specific/dynamic_list_box_allow_multiple_selection_expected_skiapaths.pdf.0.png
new file mode 100644
index 0000000..fa3f18e
--- /dev/null
+++ b/testing/resources/pixel/xfa_specific/dynamic_list_box_allow_multiple_selection_expected_skiapaths.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/xfa_specific/dynamic_list_box_allow_multiple_selection_expected_skiapaths_mac.pdf.0.png b/testing/resources/pixel/xfa_specific/dynamic_list_box_allow_multiple_selection_expected_skiapaths_mac.pdf.0.png
new file mode 100644
index 0000000..5ecc169
--- /dev/null
+++ b/testing/resources/pixel/xfa_specific/dynamic_list_box_allow_multiple_selection_expected_skiapaths_mac.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/xfa_specific/dynamic_password_field_background_fill_expected_skia.pdf.0.png b/testing/resources/pixel/xfa_specific/dynamic_password_field_background_fill_expected_skia.pdf.0.png
index cb36393..2c7c93a 100644
--- a/testing/resources/pixel/xfa_specific/dynamic_password_field_background_fill_expected_skia.pdf.0.png
+++ b/testing/resources/pixel/xfa_specific/dynamic_password_field_background_fill_expected_skia.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/xfa_specific/dynamic_password_field_background_fill_expected_skiapaths.pdf.0.png b/testing/resources/pixel/xfa_specific/dynamic_password_field_background_fill_expected_skiapaths.pdf.0.png
index 1460a37..548f3df 100644
--- a/testing/resources/pixel/xfa_specific/dynamic_password_field_background_fill_expected_skiapaths.pdf.0.png
+++ b/testing/resources/pixel/xfa_specific/dynamic_password_field_background_fill_expected_skiapaths.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/xfa_specific/dynamic_table_color_and_width_expected_skia.pdf.0.png b/testing/resources/pixel/xfa_specific/dynamic_table_color_and_width_expected_skia.pdf.0.png
index 7e11024..fab2d41 100644
--- a/testing/resources/pixel/xfa_specific/dynamic_table_color_and_width_expected_skia.pdf.0.png
+++ b/testing/resources/pixel/xfa_specific/dynamic_table_color_and_width_expected_skia.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/xfa_specific/dynamic_table_color_and_width_expected_skiapaths.pdf.0.png b/testing/resources/pixel/xfa_specific/dynamic_table_color_and_width_expected_skiapaths.pdf.0.png
new file mode 100644
index 0000000..fa03e41
--- /dev/null
+++ b/testing/resources/pixel/xfa_specific/dynamic_table_color_and_width_expected_skiapaths.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/xfa_specific/resolve_nodes_0_expected_skia.pdf.0.png b/testing/resources/pixel/xfa_specific/resolve_nodes_0_expected_skia.pdf.0.png
index a062484..30f7709 100644
--- a/testing/resources/pixel/xfa_specific/resolve_nodes_0_expected_skia.pdf.0.png
+++ b/testing/resources/pixel/xfa_specific/resolve_nodes_0_expected_skia.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/xfa_specific/resolve_nodes_0_expected_skiapaths.pdf.0.png b/testing/resources/pixel/xfa_specific/resolve_nodes_0_expected_skiapaths.pdf.0.png
index 2522aa5..db738e5 100644
--- a/testing/resources/pixel/xfa_specific/resolve_nodes_0_expected_skiapaths.pdf.0.png
+++ b/testing/resources/pixel/xfa_specific/resolve_nodes_0_expected_skiapaths.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/xfa_specific/xfa_node_caption_expected_skia.pdf.0.png b/testing/resources/pixel/xfa_specific/xfa_node_caption_expected_skia.pdf.0.png
index 389f4a5..8c32771 100644
--- a/testing/resources/pixel/xfa_specific/xfa_node_caption_expected_skia.pdf.0.png
+++ b/testing/resources/pixel/xfa_specific/xfa_node_caption_expected_skia.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/xfa_specific/xfa_node_caption_expected_skia.pdf.1.png b/testing/resources/pixel/xfa_specific/xfa_node_caption_expected_skia.pdf.1.png
index 0a86fad..2641c70 100644
--- a/testing/resources/pixel/xfa_specific/xfa_node_caption_expected_skia.pdf.1.png
+++ b/testing/resources/pixel/xfa_specific/xfa_node_caption_expected_skia.pdf.1.png
Binary files differ
diff --git a/testing/resources/pixel/xfa_specific/xfa_node_caption_expected_skia_win.pdf.0.png b/testing/resources/pixel/xfa_specific/xfa_node_caption_expected_skia_win.pdf.0.png
index 154841c..f95433f 100644
--- a/testing/resources/pixel/xfa_specific/xfa_node_caption_expected_skia_win.pdf.0.png
+++ b/testing/resources/pixel/xfa_specific/xfa_node_caption_expected_skia_win.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/xfa_specific/xfa_node_caption_expected_skia_win.pdf.1.png b/testing/resources/pixel/xfa_specific/xfa_node_caption_expected_skia_win.pdf.1.png
index 4dc7a80..4ef1290 100644
--- a/testing/resources/pixel/xfa_specific/xfa_node_caption_expected_skia_win.pdf.1.png
+++ b/testing/resources/pixel/xfa_specific/xfa_node_caption_expected_skia_win.pdf.1.png
Binary files differ
diff --git a/testing/resources/pixel/xfa_specific/xfa_node_caption_expected_skiapaths.pdf.0.png b/testing/resources/pixel/xfa_specific/xfa_node_caption_expected_skiapaths.pdf.0.png
index eb7bfbb..467aa37 100644
--- a/testing/resources/pixel/xfa_specific/xfa_node_caption_expected_skiapaths.pdf.0.png
+++ b/testing/resources/pixel/xfa_specific/xfa_node_caption_expected_skiapaths.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/xfa_specific/xfa_node_caption_expected_skiapaths.pdf.1.png b/testing/resources/pixel/xfa_specific/xfa_node_caption_expected_skiapaths.pdf.1.png
index 701c277..cfb099d 100644
--- a/testing/resources/pixel/xfa_specific/xfa_node_caption_expected_skiapaths.pdf.1.png
+++ b/testing/resources/pixel/xfa_specific/xfa_node_caption_expected_skiapaths.pdf.1.png
Binary files differ
diff --git a/testing/resources/pixel/xfa_specific/xfa_node_caption_expected_skiapaths_win.pdf.0.png b/testing/resources/pixel/xfa_specific/xfa_node_caption_expected_skiapaths_win.pdf.0.png
new file mode 100644
index 0000000..96dfdde
--- /dev/null
+++ b/testing/resources/pixel/xfa_specific/xfa_node_caption_expected_skiapaths_win.pdf.0.png
Binary files differ
diff --git a/testing/resources/pixel/xfa_specific/xfa_node_caption_expected_skiapaths_win.pdf.1.png b/testing/resources/pixel/xfa_specific/xfa_node_caption_expected_skiapaths_win.pdf.1.png
new file mode 100644
index 0000000..040de88
--- /dev/null
+++ b/testing/resources/pixel/xfa_specific/xfa_node_caption_expected_skiapaths_win.pdf.1.png
Binary files differ