Add additional implementation files needed by Skia.

This adds the files that are need by Skia's
SkFontHost::GetAdvancedTypefaceMetrics.

bug: 5445861
Change-Id: Id0cc770476fcdf852557e8e4c4451f92e4a291d6
am 15321e16: Add additional implementation files needed by Skia.

* commit '15321e16a085b9b5c85cf029aee86bf57b2e65c1':
  Add additional implementation files needed by Skia.
DO NOT MERGE Update FreeType library to 2.4.7

Copied common files from upstream repository only.

changes to ftoption.h which were intentionally NOT taken:

  /* contain no glyph data, but supply it via a callback function.         */
   /* This is required by clients supporting document formats which         */
   /* supply font data incrementally as the document is parsed, such        */
   /* as the Ghostscript interpreter for the PostScript language.           */
   /*                                                                       */
-/* #define FT_CONFIG_OPTION_INCREMENTAL */
+#define FT_CONFIG_OPTION_INCREMENTAL

   /*************************************************************************/
   /*                                                                       */
   /* The size in bytes of the render pool used by the scan-line converter  */
@@ -553,11 +553,11 @@ FT_BEGIN_HEADER
   /* TrueType glyphs without hinting.                                      */
   /*                                                                       */
   /*   Do not #undef this macro here, since the build system might         */
   /*   define it for certain configurations only.                          */
   /*                                                                       */
-/* #define TT_CONFIG_OPTION_BYTECODE_INTERPRETER */
+#define TT_CONFIG_OPTION_BYTECODE_INTERPRETER

   /*************************************************************************/
   /*                                                                       */
   /* If you define TT_CONFIG_OPTION_UNPATENTED_HINTING, a special version  */
@@ -603,11 +603,11 @@ FT_BEGIN_HEADER
   /*                                                                       */
   /*     error = FT_Open_Face( library, &open_args, index, &face );        */
   /*     ...                                                               */
   /*   }                                                                   */
   /*                                                                       */
-#define TT_CONFIG_OPTION_UNPATENTED_HINTING
+/* #define TT_CONFIG_OPTION_UNPATENTED_HINTING */

   /*************************************************************************/
   /*                                                                       */
   /* Define TT_CONFIG_OPTION_INTERPRETER_SWITCH to compile the TrueType    */

Manual changes to ftmodule.h:

+/*
+ * New modules in 2.4.7:
+FT_USE_MODULE( FT_Driver_ClassRec, t1_driver_class )
+FT_USE_MODULE( FT_Driver_ClassRec, t1cid_driver_class )
+FT_USE_MODULE( FT_Driver_ClassRec, pfr_driver_class )
+FT_USE_MODULE( FT_Driver_ClassRec, t42_driver_class )
+FT_USE_MODULE( FT_Driver_ClassRec, winfnt_driver_class )
+FT_USE_MODULE( FT_Driver_ClassRec, pcf_driver_class )
+FT_USE_MODULE( FT_Module_Class, psaux_module_class )
+FT_USE_MODULE( FT_Driver_ClassRec, bdf_driver_class )
+ */
+

These lines were added for 2.4.7 but we decided to stick with our current use.

Change-Id: Ic1b52909580c78ead44cf4f882be06f2837539db
Merge "DO NOT MERGE Update FreeType library to 2.4.7"
Updated freetype to 2.4.8

This change is to fix a vulnerability in 2.4.7 (CVE-2011-3439). It
is taken from http://b/issue?id=5700584.

Change-Id: I25a87999bc3ab44d7c7f59e7f04f56895d86bb5d
Update to freetype 2.4.9

This was done by applying the entire 2.4.9 except for the following exceptions:
- files that were new, or were not present originally in the version of
freetype we were using (meaning that they are present in 2.4.8, and in
2.4.9, but were never integrated into the Android tree because they are
not used in the Android tree).
- ftmodule.h: given that we support fewer modules than in upstream 2.4.9
(same as Android), the file was left unchanged (and there were no changes
from the official 2.4.8 to 2.4.9
- ftoption.h: same reasons as ftmodule.h

Change-Id: Id251f2cc5ca1c864f9a4cc0c67b94025ee3ccc4a
Merge remote branch 'remotes/aosp/master' into merge_branch