| Index: third_party/freetype/include/freetype-android/ftoption.h | 
| diff --git a/third_party/freetype/include/freetype-android/ftoption.h b/third_party/freetype/include/freetype-android/ftoption.h | 
| index b7115a67ff65e6c7aa0e5313b6719a09fcb62fcd..635877186647bcfcbdac2cf04264cfd53e9f429d 100644 | 
| --- a/third_party/freetype/include/freetype-android/ftoption.h | 
| +++ b/third_party/freetype/include/freetype-android/ftoption.h | 
| @@ -4,7 +4,7 @@ | 
| /*                                                                         */ | 
| /*    User-selectable configuration macros (specification only).           */ | 
| /*                                                                         */ | 
| -/*  Copyright 1996-2015 by                                                 */ | 
| +/*  Copyright 1996-2016 by                                                 */ | 
| /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */ | 
| /*                                                                         */ | 
| /*  This file is part of the FreeType project, and may only be used,       */ | 
| @@ -16,8 +16,8 @@ | 
| /***************************************************************************/ | 
|  | 
|  | 
| -#ifndef __FTOPTION_H__ | 
| -#define __FTOPTION_H__ | 
| +#ifndef FTOPTION_H_ | 
| +#define FTOPTION_H_ | 
|  | 
|  | 
| #include <ft2build.h> | 
| @@ -61,7 +61,7 @@ FT_BEGIN_HEADER | 
| /*    that are statically linked to the library at compile time.  By     */ | 
| /*    default, this file is <freetype/config/ftmodule.h>.                */ | 
| /*                                                                       */ | 
| -  /*  We highly recommend using the third method whenever possible.        */ | 
| +  /* We highly recommend using the third method whenever possible.         */ | 
| /*                                                                       */ | 
| /*************************************************************************/ | 
|  | 
| @@ -77,6 +77,36 @@ FT_BEGIN_HEADER | 
|  | 
| /*************************************************************************/ | 
| /*                                                                       */ | 
| +  /* If you enable this configuration option, FreeType recognizes an       */ | 
| +  /* environment variable called `FREETYPE_PROPERTIES', which can be used  */ | 
| +  /* to control the various font drivers and modules.  The controllable    */ | 
| +  /* properties are listed in the section `Controlling FreeType Modules'   */ | 
| +  /* in the reference's table of contents; currently there are properties  */ | 
| +  /* for the auto-hinter (file `ftautoh.h'), CFF (file `ftcffdrv.h'), and  */ | 
| +  /* TrueType (file `ftttdrv.h').                                          */ | 
| +  /*                                                                       */ | 
| +  /* `FREETYPE_PROPERTIES' has the following syntax form (broken here into */ | 
| +  /* multiple lines for better readability).                               */ | 
| +  /*                                                                       */ | 
| +  /*   <optional whitespace>                                               */ | 
| +  /*   <module-name1> ':'                                                  */ | 
| +  /*   <property-name1> '=' <property-value1>                              */ | 
| +  /*   <whitespace>                                                        */ | 
| +  /*   <module-name2> ':'                                                  */ | 
| +  /*   <property-name2> '=' <property-value2>                              */ | 
| +  /*   ...                                                                 */ | 
| +  /*                                                                       */ | 
| +  /* Example:                                                              */ | 
| +  /*                                                                       */ | 
| +  /*   FREETYPE_PROPERTIES=truetype:interpreter-version=35 \               */ | 
| +  /*                       cff:no-stem-darkening=1 \                       */ | 
| +  /*                       autofitter:warping=1                            */ | 
| +  /*                                                                       */ | 
| +#define FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES | 
| + | 
| + | 
| +  /*************************************************************************/ | 
| +  /*                                                                       */ | 
| /* Uncomment the line below if you want to activate sub-pixel rendering  */ | 
| /* (a.k.a. LCD rendering, or ClearType) in this build of the library.    */ | 
| /*                                                                       */ | 
| @@ -586,73 +616,53 @@ FT_BEGIN_HEADER | 
| /*************************************************************************/ | 
| /*                                                                       */ | 
| /* Define TT_CONFIG_OPTION_SUBPIXEL_HINTING if you want to compile       */ | 
| -  /* EXPERIMENTAL subpixel hinting support into the TrueType driver.  This */ | 
| -  /* replaces the native TrueType hinting mechanism when anything but      */ | 
| -  /* FT_RENDER_MODE_MONO is requested.                                     */ | 
| -  /*                                                                       */ | 
| -  /* Enabling this causes the TrueType driver to ignore instructions under */ | 
| -  /* certain conditions.  This is done in accordance with the guide here,  */ | 
| -  /* with some minor differences:                                          */ | 
| +  /* subpixel hinting support into the TrueType driver.  This modifies the */ | 
| +  /* TrueType hinting mechanism when anything but FT_RENDER_MODE_MONO is   */ | 
| +  /* requested.                                                            */ | 
| /*                                                                       */ | 
| -  /*  http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx */ | 
| +  /* In particular, it modifies the bytecode interpreter to interpret (or  */ | 
| +  /* not) instructions in a certain way so that all TrueType fonts look    */ | 
| +  /* like they do in a Windows ClearType (DirectWrite) environment.  See   */ | 
| +  /* [1] for a technical overview on what this means.  See `ttinterp.h'    */ | 
| +  /* for more details on the LEAN option.                                  */ | 
| /*                                                                       */ | 
| -  /* By undefining this, you only compile the code necessary to hint       */ | 
| -  /* TrueType glyphs with native TT hinting.                               */ | 
| +  /* There are three options.                                              */ | 
| /*                                                                       */ | 
| -  /*   This option requires TT_CONFIG_OPTION_BYTECODE_INTERPRETER to be    */ | 
| -  /*   defined.                                                            */ | 
| +  /* 1. This option is associated with the `Infinality' moniker.           */ | 
| +  /*    Contributed by an individual nicknamed Infinality with the goal of */ | 
| +  /*    making TrueType fonts render better than on Windows.  A high       */ | 
| +  /*    amount of configurability and flexibility, down to rules for       */ | 
| +  /*    single glyphs in fonts, but also very slow.  Its experimental and  */ | 
| +  /*    slow nature and the original developer losing interest meant that  */ | 
| +  /*    this option was never enabled in default builds.                   */ | 
| /*                                                                       */ | 
| -/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING */ | 
| - | 
| - | 
| -  /*************************************************************************/ | 
| +  /* 2. The new default mode for the TrueType driver.  The Infinality code */ | 
| +  /*    base was stripped to the bare minimum and all configurability      */ | 
| +  /*    removed in the name of speed and simplicity.  The configurability  */ | 
| +  /*    was mainly aimed at legacy fonts like Arial, Times New Roman, or   */ | 
| +  /*    Courier.  Legacy fonts are fonts that modify vertical stems to     */ | 
| +  /*    achieve clean black-and-white bitmaps.  The new mode focuses on    */ | 
| +  /*    applying a minimal set of rules to all fonts indiscriminately so   */ | 
| +  /*    that modern and web fonts render well while legacy fonts render    */ | 
| +  /*    okay.                                                              */ | 
| /*                                                                       */ | 
| -  /* If you define TT_CONFIG_OPTION_UNPATENTED_HINTING, a special version  */ | 
| -  /* of the TrueType bytecode interpreter is used that doesn't implement   */ | 
| -  /* any of the patented opcodes and algorithms.  The patents related to   */ | 
| -  /* TrueType hinting have expired worldwide since May 2010; this option   */ | 
| -  /* is now deprecated.                                                    */ | 
| +  /* 3. Compile both.                                                      */ | 
| /*                                                                       */ | 
| -  /* Note that the TT_CONFIG_OPTION_UNPATENTED_HINTING macro is *ignored*  */ | 
| -  /* if you define TT_CONFIG_OPTION_BYTECODE_INTERPRETER; in other words,  */ | 
| -  /* either define TT_CONFIG_OPTION_BYTECODE_INTERPRETER or                */ | 
| -  /* TT_CONFIG_OPTION_UNPATENTED_HINTING but not both at the same time.    */ | 
| +  /* By undefining these, you get rendering behavior like on Windows       */ | 
| +  /* without ClearType, i.e., Windows XP without ClearType enabled and     */ | 
| +  /* Win9x (interpreter version v35).  Or not, depending on how much       */ | 
| +  /* hinting blood and testing tears the font designer put into a given    */ | 
| +  /* font.  If you define one or both subpixel hinting options, you can    */ | 
| +  /* switch between between v35 and the ones you define.                   */ | 
| /*                                                                       */ | 
| -  /* This macro is only useful for a small number of font files (mostly    */ | 
| -  /* for Asian scripts) that require bytecode interpretation to properly   */ | 
| -  /* load glyphs.  For all other fonts, this produces unpleasant results,  */ | 
| -  /* thus the unpatented interpreter is never used to load glyphs from     */ | 
| -  /* TrueType fonts unless one of the following two options is used.       */ | 
| +  /* This option requires TT_CONFIG_OPTION_BYTECODE_INTERPRETER to be      */ | 
| +  /* defined.                                                              */ | 
| /*                                                                       */ | 
| -  /*   - The unpatented interpreter is explicitly activated by the user    */ | 
| -  /*     through the FT_PARAM_TAG_UNPATENTED_HINTING parameter tag         */ | 
| -  /*     when opening the FT_Face.                                         */ | 
| +  /* [1] http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx */ | 
| /*                                                                       */ | 
| -  /*   - FreeType detects that the FT_Face corresponds to one of the       */ | 
| -  /*     `trick' fonts (e.g., `Mingliu') it knows about.  The font engine  */ | 
| -  /*     contains a hard-coded list of font names and other matching       */ | 
| -  /*     parameters (see function `tt_face_init' in file                   */ | 
| -  /*     `src/truetype/ttobjs.c').                                         */ | 
| -  /*                                                                       */ | 
| -  /* Here a sample code snippet for using FT_PARAM_TAG_UNPATENTED_HINTING. */ | 
| -  /*                                                                       */ | 
| -  /*   {                                                                   */ | 
| -  /*     FT_Parameter  parameter;                                          */ | 
| -  /*     FT_Open_Args  open_args;                                          */ | 
| -  /*                                                                       */ | 
| -  /*                                                                       */ | 
| -  /*     parameter.tag = FT_PARAM_TAG_UNPATENTED_HINTING;                  */ | 
| -  /*                                                                       */ | 
| -  /*     open_args.flags      = FT_OPEN_PATHNAME | FT_OPEN_PARAMS;         */ | 
| -  /*     open_args.pathname   = my_font_pathname;                          */ | 
| -  /*     open_args.num_params = 1;                                         */ | 
| -  /*     open_args.params     = ¶meter;                                */ | 
| -  /*                                                                       */ | 
| -  /*     error = FT_Open_Face( library, &open_args, index, &face );        */ | 
| -  /*     ...                                                               */ | 
| -  /*   }                                                                   */ | 
| -  /*                                                                       */ | 
| -/* #define TT_CONFIG_OPTION_UNPATENTED_HINTING */ | 
| +/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING  1         */ | 
| +#define TT_CONFIG_OPTION_SUBPIXEL_HINTING  2 | 
| +/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING  ( 1 | 2 ) */ | 
|  | 
|  | 
| /*************************************************************************/ | 
| @@ -856,14 +866,19 @@ FT_BEGIN_HEADER | 
|  | 
|  | 
| /* | 
| -   * This macro is defined if either unpatented or native TrueType | 
| -   * hinting is requested by the definitions above. | 
| +   * This macro is defined if native TrueType hinting is requested by the | 
| +   * definitions above. | 
| */ | 
| #ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER | 
| #define  TT_USE_BYTECODE_INTERPRETER | 
| -#undef   TT_CONFIG_OPTION_UNPATENTED_HINTING | 
| -#elif defined TT_CONFIG_OPTION_UNPATENTED_HINTING | 
| -#define  TT_USE_BYTECODE_INTERPRETER | 
| + | 
| +#if TT_CONFIG_OPTION_SUBPIXEL_HINTING & 1 | 
| +#define  TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY | 
| +#endif | 
| + | 
| +#if TT_CONFIG_OPTION_SUBPIXEL_HINTING & 2 | 
| +#define  TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL | 
| +#endif | 
| #endif | 
|  | 
|  | 
| @@ -898,7 +913,7 @@ FT_BEGIN_HEADER | 
| FT_END_HEADER | 
|  | 
|  | 
| -#endif /* __FTOPTION_H__ */ | 
| +#endif /* FTOPTION_H_ */ | 
|  | 
|  | 
| /* END */ | 
|  |