fix skia + windows + gn

The Skia Windows build for PDFium differs from the
Skia Chromium build in that it uses FreeType within
PDFium and Direct Write within Chromium. This allows
Chrome to match the UI of Windows, and allows
PDFium to use FreeType to measure and draw.

When PDFium was updated to use gn, the settings
from Chrome were used as the basis for the PDFium
settings. Subsequently, PDFium built with Skia on
Windows drew text incorrectly as it used FreeType to
look up the font glyphs and Direct Write to draw them.

This fixes the gn files, and also fixes an error that
crept into the now less-used gyp files.

R=dsinclair@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2055353002
diff --git a/skia/BUILD.gn b/skia/BUILD.gn
index d83ca3a..e121291 100644
--- a/skia/BUILD.gn
+++ b/skia/BUILD.gn
@@ -112,6 +112,7 @@
     "//third_party/skia/include/pipe",
     "//third_party/skia/include/ports",
     "//third_party/skia/include/utils",
+
     # TODO(dsinclair): Right way to use //third_party/freetype?
     "//third_party/freetype/include",
   ]
@@ -311,14 +312,10 @@
     sources -= [
       "//third_party/skia/src/ports/SkOSFile_posix.cpp",
       "//third_party/skia/src/ports/SkTLS_pthread.cpp",
-      "//third_party/skia/src/ports/SkFontMgr_custom.cpp",
-      "//third_party/skia/src/ports/SkFontMgr_custom_empty_factory.cpp",
     ]
   } else {
     sources -= [
       "//third_party/skia/src/ports/SkFontHost_win.cpp",
-      "//third_party/skia/src/ports/SkFontMgr_win_dw.cpp",
-      "//third_party/skia/src/ports/SkFontMgr_win_dw_factory.cpp",
       "//third_party/skia/src/ports/SkOSFile_win.cpp",
       "//third_party/skia/src/ports/SkRemotableFontMgr_win_dw.cpp",
       "//third_party/skia/src/ports/SkScalerContext_win_dw.cpp",
@@ -337,7 +334,7 @@
     sources -= [ "//third_party/skia/src/ports/SkFontHost_mac.cpp" ]
   }
 
-  if (!is_linux && !is_android) {
+  if (!is_linux && !is_android && !is_win) {
     sources -= [
       "//third_party/skia/src/ports/SkFontHost_FreeType.cpp",
       "//third_party/skia/src/ports/SkFontHost_FreeType_common.cpp",
@@ -365,9 +362,7 @@
   ]
 
   if (is_linux) {
-    deps += [
-      "//third_party/icu:icuuc",
-    ]
+    deps += [ "//third_party/icu:icuuc" ]
   }
 
   if (is_android) {
diff --git a/skia/skia_gn_files.gypi b/skia/skia_gn_files.gypi
index f54ac03..062460b 100644
--- a/skia/skia_gn_files.gypi
+++ b/skia/skia_gn_files.gypi
@@ -14,8 +14,6 @@
     '<(skia_src_path)/ports/SkFontMgr_android.cpp',
     '<(skia_src_path)/ports/SkFontMgr_android_factory.cpp',
     '<(skia_src_path)/ports/SkFontMgr_android_parser.cpp',
-    '<(skia_src_path)/ports/SkFontMgr_win_dw.cpp',
-    '<(skia_src_path)/ports/SkFontMgr_win_dw_factory.cpp',
     '<(skia_src_path)/ports/SkGlobalInitialization_default.cpp',
     '<(skia_src_path)/ports/SkImageEncoder_none.cpp',
     '<(skia_src_path)/ports/SkOSFile_posix.cpp',
diff --git a/skia/skia_library.gypi b/skia/skia_library.gypi
index a4eb0ab..5757be2 100644
--- a/skia/skia_library.gypi
+++ b/skia/skia_library.gypi
@@ -260,7 +260,6 @@
       ],
     },{ # not 'OS == "win"'
       'sources!': [
-        '../third_party/skia/src/ports/SkFontMgr_win_dw.cpp',
         '../third_party/skia/src/ports/SkRemotableFontMgr_win_dw.cpp',
         '../third_party/skia/src/ports/SkScalerContext_win_dw.cpp',
         '../third_party/skia/src/ports/SkTypeface_win_dw.cpp',
diff --git a/third_party/BUILD.gn b/third_party/BUILD.gn
index 1564a97..766b676 100644
--- a/third_party/BUILD.gn
+++ b/third_party/BUILD.gn
@@ -13,7 +13,7 @@
 }
 
 config("pdfium_third_party_config") {
-  configs = ["..:pdfium_common_config"]
+  configs = [ "..:pdfium_common_config" ]
 }
 
 source_set("bigint") {
@@ -88,6 +88,13 @@
     "freetype/src/truetype/truetype.c",
     "freetype/src/type1/type1.c",
   ]
+  if (pdf_use_skia) {
+    sources += [
+      "freetype/src/base/ftfntfmt.c",
+      "freetype/src/base/ftfstype.c",
+      "freetype/src/base/fttype1.c",
+    ]
+  }
 }
 
 if (!pdf_use_skia) {
diff --git a/xfa.gyp b/xfa.gyp
index 2066190..8d540dc 100644
--- a/xfa.gyp
+++ b/xfa.gyp
@@ -40,7 +40,7 @@
         "fxjse/dynprop.cpp",
         "fxjse/include/cfxjse_arguments.h",
         "fxjse/include/cfxjse_class.h",
-        "fxjse/include/cfxjse_value.h"
+        "fxjse/include/cfxjse_value.h",
         "fxjse/include/fxjse.h",
         "fxjse/runtime.cpp",
         "fxjse/runtime.h",