aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core
diff options
context:
space:
mode:
authorGravatar caryclark <caryclark@google.com>2016-03-21 06:55:52 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-03-21 06:55:52 -0700
commitfe7ada7f0dc109cc8cf220607c2bd8c09bd1fa5e (patch)
tree53bec3fd08a6537b34bec413af86135545000669 /src/core
parenta6359365887048ef055196de75591311d7a015f0 (diff)
Make FreeType usable on Windows.
Add missing functionality so that pdfium can use FreeType from Windows. Add an empty custom font manager so pdfium can use FreeType without any local fonts. R=bungeman@google.com Review URL: https://codereview.chromium.org/1817633002
Diffstat (limited to 'src/core')
-rw-r--r--src/core/SkAdvancedTypefaceMetrics.cpp16
1 files changed, 7 insertions, 9 deletions
diff --git a/src/core/SkAdvancedTypefaceMetrics.cpp b/src/core/SkAdvancedTypefaceMetrics.cpp
index 28079f98e9..48b2cd73f7 100644
--- a/src/core/SkAdvancedTypefaceMetrics.cpp
+++ b/src/core/SkAdvancedTypefaceMetrics.cpp
@@ -14,11 +14,9 @@
#include <dwrite.h>
#endif
-#if defined(SK_BUILD_FOR_UNIX) || defined(SK_BUILD_FOR_ANDROID)
// forward declare structs needed for getAdvanceData() template for freetype
struct FT_FaceRec_;
typedef struct FT_FaceRec_* FT_Face;
-#endif
#ifdef SK_BUILD_FOR_MAC
#import <ApplicationServices/ApplicationServices.h>
@@ -255,6 +253,13 @@ SkAdvancedTypefaceMetrics::AdvanceMetric<Data>* getAdvanceData(
// Make AdvanceMetric template functions available for linking with typename
// WidthRange and VerticalAdvanceRange.
+template SkAdvancedTypefaceMetrics::WidthRange* getAdvanceData(
+ FT_Face face,
+ int num_glyphs,
+ const uint32_t* subsetGlyphIDs,
+ uint32_t subsetGlyphIDsLength,
+ bool (*getAdvance)(FT_Face face, int gId, int16_t* data));
+
#if defined(SK_BUILD_FOR_WIN)
template SkAdvancedTypefaceMetrics::WidthRange* getAdvanceData(
HDC hdc,
@@ -268,13 +273,6 @@ template SkAdvancedTypefaceMetrics::WidthRange* getAdvanceData(
const uint32_t* subsetGlyphIDs,
uint32_t subsetGlyphIDsLength,
bool (*getAdvance)(IDWriteFontFace* fontFace, int gId, int16_t* data));
-#elif defined(SK_BUILD_FOR_UNIX) || defined(SK_BUILD_FOR_ANDROID)
-template SkAdvancedTypefaceMetrics::WidthRange* getAdvanceData(
- FT_Face face,
- int num_glyphs,
- const uint32_t* subsetGlyphIDs,
- uint32_t subsetGlyphIDsLength,
- bool (*getAdvance)(FT_Face face, int gId, int16_t* data));
#elif defined(SK_BUILD_FOR_MAC) || defined(SK_BUILD_FOR_IOS)
template SkAdvancedTypefaceMetrics::WidthRange* getAdvanceData(
CTFontRef ctFont,