summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcaryclark <caryclark@google.com>2016-06-13 06:08:25 -0700
committerCommit bot <commit-bot@chromium.org>2016-06-13 06:08:25 -0700
commit72708b905309af930ca76a09746be5d09204cecd (patch)
treee346d906cb337ffd62763aa90745302cab7d495f
parentf49747f5fc85ea2acf0c5ff0ab589ad791bf6648 (diff)
downloadpdfium-72708b905309af930ca76a09746be5d09204cecd.tar.xz
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
-rw-r--r--skia/BUILD.gn11
-rw-r--r--skia/skia_gn_files.gypi2
-rw-r--r--skia/skia_library.gypi1
-rw-r--r--third_party/BUILD.gn9
-rw-r--r--xfa.gyp2
5 files changed, 12 insertions, 13 deletions
diff --git a/skia/BUILD.gn b/skia/BUILD.gn
index d83ca3acab..e12129153f 100644
--- a/skia/BUILD.gn
+++ b/skia/BUILD.gn
@@ -112,6 +112,7 @@ config("skia_config") {
"//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 @@ component("skia") {
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 @@ component("skia") {
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 @@ component("skia") {
]
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 f54ac03ff5..062460b1c6 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 a4eb0abf30..5757be226c 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 1564a97bc5..766b6762c3 100644
--- a/third_party/BUILD.gn
+++ b/third_party/BUILD.gn
@@ -13,7 +13,7 @@ group("third_party") {
}
config("pdfium_third_party_config") {
- configs = ["..:pdfium_common_config"]
+ configs = [ "..:pdfium_common_config" ]
}
source_set("bigint") {
@@ -88,6 +88,13 @@ static_library("fx_freetype") {
"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 2066190c98..8d540dcb63 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",