[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