Index: third_party/freetype/include/freetype-android/ftoption.h |
diff --git a/third_party/freetype/include_overrides/freetype/config/ftoption.h b/third_party/freetype/include/freetype-android/ftoption.h |
similarity index 91% |
rename from third_party/freetype/include_overrides/freetype/config/ftoption.h |
rename to third_party/freetype/include/freetype-android/ftoption.h |
index 0894625216040bbb257b0cd465e4b13fb5c4d7a1..b7115a67ff65e6c7aa0e5313b6719a09fcb62fcd 100644 |
--- a/third_party/freetype/include_overrides/freetype/config/ftoption.h |
+++ b/third_party/freetype/include/freetype-android/ftoption.h |
@@ -4,7 +4,7 @@ |
/* */ |
/* User-selectable configuration macros (specification only). */ |
/* */ |
-/* Copyright 1996-2013 by */ |
+/* Copyright 1996-2015 by */ |
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ |
/* */ |
/* This file is part of the FreeType project, and may only be used, */ |
@@ -216,7 +216,7 @@ FT_BEGIN_HEADER |
/*************************************************************************/ |
/* */ |
- /* PNG bitmap support. */ |
+ /* PNG bitmap support. */ |
/* */ |
/* FreeType now handles loading color bitmap glyphs in the PNG format. */ |
/* This requires help from the external libpng library. Uncompressed */ |
@@ -230,6 +230,19 @@ FT_BEGIN_HEADER |
/*************************************************************************/ |
/* */ |
+ /* HarfBuzz support. */ |
+ /* */ |
+ /* FreeType uses the HarfBuzz library to improve auto-hinting of */ |
+ /* OpenType fonts. If available, many glyphs not directly addressable */ |
+ /* by a font's character map will be hinted also. */ |
+ /* */ |
+ /* Define this macro if you want to enable this `feature'. */ |
+ /* */ |
+/* #define FT_CONFIG_OPTION_USE_HARFBUZZ */ |
+ |
+ |
+ /*************************************************************************/ |
+ /* */ |
/* DLL export compilation */ |
/* */ |
/* When compiling FreeType as a DLL, some systems/compilers need a */ |
@@ -365,10 +378,6 @@ FT_BEGIN_HEADER |
/* The size in bytes of the render pool used by the scan-line converter */ |
/* to do all of its work. */ |
/* */ |
- /* This must be greater than 4KByte if you use FreeType to rasterize */ |
- /* glyphs; otherwise, you may set it to zero to avoid unnecessary */ |
- /* allocation of the render pool. */ |
- /* */ |
#define FT_RENDER_POOL_SIZE 16384L |
@@ -422,6 +431,8 @@ FT_BEGIN_HEADER |
/* af_glyph_hints_dump_points */ |
/* af_glyph_hints_dump_segments */ |
/* af_glyph_hints_dump_edges */ |
+ /* af_glyph_hints_get_num_segments */ |
+ /* af_glyph_hints_get_segment_offset */ |
/* */ |
/* As an argument, they use another global variable: */ |
/* */ |
@@ -528,7 +539,7 @@ FT_BEGIN_HEADER |
/* does not contain any glyph name though. */ |
/* */ |
/* Accessing SFNT names is done through the functions declared in */ |
- /* `freetype/ftsnames.h'. */ |
+ /* `ftsnames.h'. */ |
/* */ |
#define TT_CONFIG_OPTION_SFNT_NAMES |
@@ -646,19 +657,6 @@ FT_BEGIN_HEADER |
/*************************************************************************/ |
/* */ |
- /* Define TT_CONFIG_OPTION_INTERPRETER_SWITCH to compile the TrueType */ |
- /* bytecode interpreter with a huge switch statement, rather than a call */ |
- /* table. This results in smaller and faster code for a number of */ |
- /* architectures. */ |
- /* */ |
- /* Note however that on some compiler/processor combinations, undefining */ |
- /* this macro will generate faster, though larger, code. */ |
- /* */ |
-#define TT_CONFIG_OPTION_INTERPRETER_SWITCH |
- |
- |
- /*************************************************************************/ |
- /* */ |
/* Define TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED to compile the */ |
/* TrueType glyph loader to use Apple's definition of how to handle */ |
/* component offsets in composite glyphs. */ |
@@ -671,7 +669,7 @@ FT_BEGIN_HEADER |
/* fonts will not have them. */ |
/* */ |
/* http://www.microsoft.com/typography/otspec/glyf.htm */ |
- /* http://fonts.apple.com/TTRefMan/RM06/Chap6glyf.html */ |
+ /* https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6glyf.html */ |
/* */ |
#undef TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED |
@@ -695,6 +693,24 @@ FT_BEGIN_HEADER |
/*************************************************************************/ |
+ /* */ |
+ /* Option TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES controls the maximum */ |
+ /* number of bytecode instructions executed for a single run of the */ |
+ /* bytecode interpreter, needed to prevent infinite loops. You don't */ |
+ /* want to change this except for very special situations (e.g., making */ |
+ /* a library fuzzer spend less time to handle broken fonts). */ |
+ /* */ |
+ /* It is not expected that this value is ever modified by a configuring */ |
+ /* script; instead, it gets surrounded with #ifndef ... #endif so that */ |
+ /* the value can be set as a preprocessor option on the compiler's */ |
+ /* command line. */ |
+ /* */ |
+#ifndef TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES |
+#define TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES 1000000L |
+#endif |
+ |
+ |
+ /*************************************************************************/ |
/*************************************************************************/ |
/**** ****/ |
/**** T Y P E 1 D R I V E R C O N F I G U R A T I O N ****/ |
@@ -760,6 +776,30 @@ FT_BEGIN_HEADER |
/*************************************************************************/ |
/* */ |
+ /* Using CFF_CONFIG_OPTION_DARKENING_PARAMETER_{X,Y}{1,2,3,4} it is */ |
+ /* possible to set up the default values of the four control points that */ |
+ /* define the stem darkening behaviour of the (new) CFF engine. For */ |
+ /* more details please read the documentation of the */ |
+ /* `darkening-parameters' property of the cff driver module (file */ |
+ /* `ftcffdrv.h'), which allows the control at run-time. */ |
+ /* */ |
+ /* Do *not* undefine these macros! */ |
+ /* */ |
+#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 500 |
+#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 400 |
+ |
+#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 1000 |
+#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 275 |
+ |
+#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 1667 |
+#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 275 |
+ |
+#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 2333 |
+#define CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 0 |
+ |
+ |
+ /*************************************************************************/ |
+ /* */ |
/* CFF_CONFIG_OPTION_OLD_ENGINE controls whether the pre-Adobe CFF */ |
/* engine gets compiled into FreeType. If defined, it is possible to */ |
/* switch between the two engines using the `hinting-engine' property of */ |
@@ -798,8 +838,10 @@ FT_BEGIN_HEADER |
/* grid. To find out the optimal scaling and shifting value, various */ |
/* parameter combinations are tried and scored. */ |
/* */ |
- /* This experimental option is only active if the render mode is */ |
- /* FT_RENDER_MODE_LIGHT. */ |
+ /* This experimental option is active only if the rendering mode is */ |
+ /* FT_RENDER_MODE_LIGHT; you can switch warping on and off with the */ |
+ /* `warping' property of the auto-hinter (see file `ftautoh.h' for more */ |
+ /* information; by default it is switched off). */ |
/* */ |
/* #define AF_CONFIG_OPTION_USE_WARPER */ |
@@ -807,8 +849,8 @@ FT_BEGIN_HEADER |
/* |
- * This macro is obsolete. Support has been removed in FreeType |
- * version 2.5. |
+ * This macro is obsolete. Support has been removed in FreeType |
+ * version 2.5. |
*/ |
/* #define FT_CONFIG_OPTION_OLD_INTERNALS */ |
@@ -824,6 +866,35 @@ FT_BEGIN_HEADER |
#define TT_USE_BYTECODE_INTERPRETER |
#endif |
+ |
+ /* |
+ * Check CFF darkening parameters. The checks are the same as in function |
+ * `cff_property_set' in file `cffdrivr.c'. |
+ */ |
+#if CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 < 0 || \ |
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 < 0 || \ |
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 < 0 || \ |
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 < 0 || \ |
+ \ |
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 < 0 || \ |
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 < 0 || \ |
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 < 0 || \ |
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 < 0 || \ |
+ \ |
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 > \ |
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 || \ |
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 > \ |
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 || \ |
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 > \ |
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 || \ |
+ \ |
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 > 500 || \ |
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 > 500 || \ |
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 > 500 || \ |
+ CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 > 500 |
+#error "Invalid CFF darkening parameters!" |
+#endif |
+ |
FT_END_HEADER |