Update HarfBuzz to 2.0.2

Merge commit '0a3b7a0fb0734a66926dfda5d95d3cacea8890ce'

Bug: 117953171
Change-Id: I3d3eb44406f826abde601f1aad7ed15c82930ca1
diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..14cecf8
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,132 @@
+//#
+//# Copyright (C) 2012 The Android Open Source Project
+//#
+//# Licensed under the Apache License, Version 2.0 (the "License");
+//# you may not use this file except in compliance with the License.
+//# You may obtain a copy of the License at
+//#
+//#      http://www.apache.org/licenses/LICENSE-2.0
+//#
+//# Unless required by applicable law or agreed to in writing, software
+//# distributed under the License is distributed on an "AS IS" BASIS,
+//# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//# See the License for the specific language governing permissions and
+//# limitations under the License.
+//#
+
+//############################################################
+//   Note:
+//
+//   This file is used to build HarfBuzz within the Android
+//   platform itself.  If you need to compile HarfBuzz to
+//   ship with your Android NDK app, you can use the autotools
+//   build system to do so.  To do that you need to install a
+//   "standalone" toolchain with the NDK, eg:
+//
+//       ndk/build/tools/make-standalone-toolchain.sh
+//           --platform=android-18
+//           --install-dir=/prefix
+//
+//   Set PLATFORM_PREFIX eng var to that prefix and make sure
+//   the cross-compile tools from PLATFORM_PREFIX are in path.
+//   Configure and install HarfBuzz:
+//
+//       ./configure --host=arm-linux-androideabi
+//           --prefix=$PLATFORM_PREFIX
+//           --enable-static
+//           --with-freetype
+//           PKG_CONFIG_LIBDIR=$PLATFORM_PREFIX/lib/pkgconfig
+//       make install
+//
+//   You can first build FreeType the same way:
+//
+//       ./configure --host=arm-linux-androideabi
+//           --prefix=$PLATFORM_PREFIX
+//           --enable-stati
+//           --without-png
+//           PKG_CONFIG_LIBDIR=$PLATFORM_PREFIX/lib/pkgconfig
+//       make install
+//
+
+//############################################################
+//   build the harfbuzz shared library
+//
+cc_library_shared {
+    name: "libharfbuzz_ng",
+    host_supported: true,
+    arch: {
+        arm: {
+            instruction_set: "arm",
+        },
+    },
+    srcs: [
+        "src/hb-aat-layout.cc",
+        "src/hb-blob.cc",
+        "src/hb-buffer-serialize.cc",
+        "src/hb-buffer.cc",
+        "src/hb-common.cc",
+        "src/hb-face.cc",
+        "src/hb-font.cc",
+        "src/hb-ot-tag.cc",
+        "src/hb-set.cc",
+        "src/hb-shape.cc",
+        "src/hb-shape-plan.cc",
+        "src/hb-shaper.cc",
+        "src/hb-static.cc",
+        "src/hb-unicode.cc",
+        "src/hb-warning.cc",
+        "src/hb-ot-face.cc",
+        "src/hb-ot-font.cc",
+        "src/hb-ot-layout.cc",
+        "src/hb-ot-map.cc",
+        "src/hb-ot-math.cc",
+        "src/hb-ot-shape.cc",
+        "src/hb-ot-shape-complex-arabic.cc",
+        "src/hb-ot-shape-complex-default.cc",
+        "src/hb-ot-shape-complex-hangul.cc",
+        "src/hb-ot-shape-complex-hebrew.cc",
+        "src/hb-ot-shape-complex-indic.cc",
+        "src/hb-ot-shape-complex-indic-table.cc",
+        "src/hb-ot-shape-complex-khmer.cc",
+        "src/hb-ot-shape-complex-myanmar.cc",
+        "src/hb-ot-shape-complex-thai.cc",
+        "src/hb-ot-shape-complex-use.cc",
+        "src/hb-ot-shape-complex-use-table.cc",
+        "src/hb-ot-shape-normalize.cc",
+        "src/hb-ot-shape-fallback.cc",
+        "src/hb-ot-var.cc",
+
+        "src/hb-icu.cc",
+    ],
+
+    target: {
+        android: {
+            shared_libs: [
+                "libutils",
+            ],
+        },
+        host: {
+            static_libs: [
+                "libutils",
+            ],
+        },
+    },
+
+    shared_libs: [
+        "libcutils",
+        "libicuuc",
+        "libicui18n",
+        "liblog",
+    ],
+
+    export_include_dirs: ["src"],
+    cflags: [
+        "-DHAVE_INTEL_ATOMIC_PRIMITIVES",
+        "-DHAVE_OT",
+        "-DHAVE_ICU",
+        "-DHAVE_ICU_BUILTIN",
+        "-Werror",
+        "-Wno-unused-parameter",
+        "-Wno-missing-field-initializers",
+    ],
+}
diff --git a/MODULE_LICENSE_MIT b/MODULE_LICENSE_MIT
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/MODULE_LICENSE_MIT
diff --git a/NOTICE b/NOTICE
new file mode 100644
index 0000000..9d1056f
--- /dev/null
+++ b/NOTICE
@@ -0,0 +1,36 @@
+HarfBuzz is licensed under the so-called "Old MIT" license.  Details follow.
+For parts of HarfBuzz that are licensed under different licenses see individual
+files names COPYING in subdirectories where applicable.
+
+Copyright © 2010,2011,2012  Google, Inc.
+Copyright © 2012  Mozilla Foundation
+Copyright © 2011  Codethink Limited
+Copyright © 2008,2010  Nokia Corporation and/or its subsidiary(-ies)
+Copyright © 2009  Keith Stribley
+Copyright © 2009  Martin Hosken and SIL International
+Copyright © 2007  Chris Wilson
+Copyright © 2006  Behdad Esfahbod
+Copyright © 2005  David Turner
+Copyright © 2004,2007,2008,2009,2010  Red Hat, Inc.
+Copyright © 1998-2004  David Turner and Werner Lemberg
+
+For full copyright notices consult the individual files in the package.
+
+
+Permission is hereby granted, without written agreement and without
+license or royalty fees, to use, copy, modify, and distribute this
+software and its documentation for any purpose, provided that the
+above copyright notice and the following two paragraphs appear in
+all copies of this software.
+
+IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
+DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
+IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGE.
+
+THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
+BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
+ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
+PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
diff --git a/OWNERS b/OWNERS
new file mode 100644
index 0000000..9bc89fb
--- /dev/null
+++ b/OWNERS
@@ -0,0 +1,4 @@
[email protected]
[email protected]
[email protected]
[email protected]
diff --git a/README.android b/README.android
new file mode 100644
index 0000000..c8ebb11
--- /dev/null
+++ b/README.android
@@ -0,0 +1,17 @@
+Harfbuzz
+
+HOW TO UPDATE
+* Check out external/harfbuzz to <checkout_dir>
+  ex: git clone https://android.googlesource.com/platform/external/harfbuzz_ng
+* Locate the commit you'd like to move.
+  ex: for 1.7.4: https://github.com/harfbuzz/harfbuzz/commit/007a2a4317227b8fb4c764c590203c85fc3da5fd
+* In <checkout_dir>, run git merge <commit_sha>
+  i.e. git merge 007a2a4317227b8fb4c764c590203c85fc3da5fd
+* Upload the changes.
+  ex: git push origin HEAD:refs/for/master
+* Gerrit will run the text related tests.
+
+NOTE:
+ Since Chromium updates Harfbuzz more frequently, you can check the following URL for their changes
+ and latest merges.
+ https://chromium.googlesource.com/chromium/src/+log/master/third_party/harfbuzz-ng
diff --git a/README.version b/README.version
new file mode 100644
index 0000000..1781d25
--- /dev/null
+++ b/README.version
@@ -0,0 +1,3 @@
+URL: https://github.com/harfbuzz/harfbuzz/commit/0a3b7a0fb0734a66926dfda5d95d3cacea8890ce
+Version: 2.0.2
+BugComponent: 25699