Imported Upstream version 2.6.7
[platform/upstream/harfbuzz.git] / src / Makefile.in
index 1e83d38..0399213 100644 (file)
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.1 from Makefile.am.
+# Makefile.in generated by automake 1.16.2 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2018 Free Software Foundation, Inc.
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -95,7 +95,7 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-TESTS = $(am__EXEEXT_5) $(am__EXEEXT_2)
+TESTS = $(am__EXEEXT_2) $(am__EXEEXT_4)
 check_PROGRAMS = dump-indic-data$(EXEEXT) dump-khmer-data$(EXEEXT) \
        dump-myanmar-data$(EXEEXT) dump-use-data$(EXEEXT) \
        $(am__EXEEXT_1) $(am__EXEEXT_2)
@@ -108,66 +108,60 @@ check_PROGRAMS = dump-indic-data$(EXEEXT) dump-khmer-data$(EXEEXT) \
 @HAVE_GLIB_TRUE@am__append_7 = $(HB_GLIB_headers)
 @HAVE_FREETYPE_TRUE@am__append_8 = $(FREETYPE_CFLAGS)
 @HAVE_FREETYPE_TRUE@am__append_9 = $(FREETYPE_LIBS)
-# XXX
-# The following creates a recursive dependency on FreeType if FreeType is
-# built with HarfBuzz support enabled.  Newer pkg-config handles that just
-# fine but pkg-config 0.26 as shipped in Ubuntu 14.04 crashes.  Remove
-# in a year or two, or otherwise work around it...
-#HBDEPS   += $(FREETYPE_DEPS)
-@HAVE_FREETYPE_TRUE@am__append_10 = $(HB_FT_sources)
-@HAVE_FREETYPE_TRUE@am__append_11 = $(HB_FT_headers)
-@HAVE_GRAPHITE2_TRUE@am__append_12 = $(GRAPHITE2_CFLAGS)
-@HAVE_GRAPHITE2_TRUE@am__append_13 = $(GRAPHITE2_LIBS)
-@HAVE_GRAPHITE2_TRUE@am__append_14 = $(GRAPHITE2_DEPS)
-@HAVE_GRAPHITE2_TRUE@am__append_15 = $(HB_GRAPHITE2_sources)
-@HAVE_GRAPHITE2_TRUE@am__append_16 = $(HB_GRAPHITE2_headers)
-@HAVE_UNISCRIBE_TRUE@am__append_17 = $(UNISCRIBE_CFLAGS)
-@HAVE_UNISCRIBE_TRUE@am__append_18 = $(UNISCRIBE_LIBS)
-@HAVE_UNISCRIBE_TRUE@am__append_19 = $(HB_UNISCRIBE_sources)
-@HAVE_UNISCRIBE_TRUE@am__append_20 = $(HB_UNISCRIBE_headers)
-@HAVE_DIRECTWRITE_TRUE@am__append_21 = $(DIRECTWRITE_CXXFLAGS)
-@HAVE_DIRECTWRITE_TRUE@am__append_22 = $(DIRECTWRITE_LIBS)
-@HAVE_DIRECTWRITE_TRUE@am__append_23 = $(HB_DIRECTWRITE_sources)
-@HAVE_DIRECTWRITE_TRUE@am__append_24 = $(HB_DIRECTWRITE_headers)
-@HAVE_GDI_TRUE@am__append_25 = $(GDI_CXXFLAGS)
-@HAVE_GDI_TRUE@am__append_26 = $(GDI_LIBS)
-@HAVE_GDI_TRUE@am__append_27 = $(HB_GDI_sources)
-@HAVE_GDI_TRUE@am__append_28 = $(HB_GDI_headers)
-@HAVE_CORETEXT_TRUE@am__append_29 = $(CORETEXT_CFLAGS)
-@HAVE_CORETEXT_TRUE@am__append_30 = $(CORETEXT_LIBS)
-@HAVE_CORETEXT_TRUE@am__append_31 = $(HB_CORETEXT_sources)
-@HAVE_CORETEXT_TRUE@am__append_32 = $(HB_CORETEXT_headers)
-@HAVE_ICU_BUILTIN_TRUE@@HAVE_ICU_TRUE@am__append_33 = $(ICU_CFLAGS)
-@HAVE_ICU_BUILTIN_TRUE@@HAVE_ICU_TRUE@am__append_34 = $(ICU_LIBS)
-@HAVE_ICU_BUILTIN_TRUE@@HAVE_ICU_TRUE@am__append_35 = $(HB_ICU_sources)
-@HAVE_ICU_BUILTIN_TRUE@@HAVE_ICU_TRUE@am__append_36 = $(HB_ICU_headers)
-@HAVE_ICU_BUILTIN_FALSE@@HAVE_ICU_TRUE@am__append_37 = libharfbuzz-icu.la
-@HAVE_ICU_BUILTIN_FALSE@@HAVE_ICU_TRUE@am__append_38 = $(HB_ICU_headers)
-@HAVE_ICU_BUILTIN_FALSE@@HAVE_ICU_TRUE@am__append_39 = harfbuzz-icu.pc
-@HAVE_GOBJECT_TRUE@am__append_40 = libharfbuzz-gobject.la
-@HAVE_GOBJECT_TRUE@am__append_41 = $(HB_GOBJECT_DIST_headers)
-@HAVE_GOBJECT_TRUE@am__append_42 = $(HB_GOBJECT_NODIST_headers)
-@HAVE_GOBJECT_TRUE@am__append_43 = harfbuzz-gobject.pc
-@HAVE_GOBJECT_TRUE@am__append_44 = \
+@HAVE_FREETYPE_TRUE@am__append_10 = $(FREETYPE_DEPS)
+@HAVE_FREETYPE_TRUE@am__append_11 = $(HB_FT_sources)
+@HAVE_FREETYPE_TRUE@am__append_12 = $(HB_FT_headers)
+@HAVE_GRAPHITE2_TRUE@am__append_13 = $(GRAPHITE2_CFLAGS)
+@HAVE_GRAPHITE2_TRUE@am__append_14 = $(GRAPHITE2_LIBS)
+@HAVE_GRAPHITE2_TRUE@am__append_15 = $(GRAPHITE2_DEPS)
+@HAVE_GRAPHITE2_TRUE@am__append_16 = $(HB_GRAPHITE2_sources)
+@HAVE_GRAPHITE2_TRUE@am__append_17 = $(HB_GRAPHITE2_headers)
+@HAVE_UNISCRIBE_TRUE@am__append_18 = $(UNISCRIBE_CFLAGS)
+@HAVE_UNISCRIBE_TRUE@am__append_19 = $(UNISCRIBE_LIBS)
+@HAVE_UNISCRIBE_TRUE@am__append_20 = $(HB_UNISCRIBE_sources)
+@HAVE_UNISCRIBE_TRUE@am__append_21 = $(HB_UNISCRIBE_headers)
+@HAVE_DIRECTWRITE_TRUE@am__append_22 = $(DIRECTWRITE_CXXFLAGS)
+@HAVE_DIRECTWRITE_TRUE@am__append_23 = $(DIRECTWRITE_LIBS)
+@HAVE_DIRECTWRITE_TRUE@am__append_24 = $(HB_DIRECTWRITE_sources)
+@HAVE_DIRECTWRITE_TRUE@am__append_25 = $(HB_DIRECTWRITE_headers)
+@HAVE_GDI_TRUE@am__append_26 = $(GDI_CXXFLAGS)
+@HAVE_GDI_TRUE@am__append_27 = $(GDI_LIBS)
+@HAVE_GDI_TRUE@am__append_28 = $(HB_GDI_sources)
+@HAVE_GDI_TRUE@am__append_29 = $(HB_GDI_headers)
+@HAVE_CORETEXT_TRUE@am__append_30 = $(CORETEXT_CFLAGS)
+@HAVE_CORETEXT_TRUE@am__append_31 = $(CORETEXT_LIBS)
+@HAVE_CORETEXT_TRUE@am__append_32 = $(HB_CORETEXT_sources)
+@HAVE_CORETEXT_TRUE@am__append_33 = $(HB_CORETEXT_headers)
+@HAVE_ICU_BUILTIN_TRUE@@HAVE_ICU_TRUE@am__append_34 = $(ICU_CFLAGS)
+@HAVE_ICU_BUILTIN_TRUE@@HAVE_ICU_TRUE@am__append_35 = $(ICU_LIBS)
+@HAVE_ICU_BUILTIN_TRUE@@HAVE_ICU_TRUE@am__append_36 = $(HB_ICU_sources)
+@HAVE_ICU_BUILTIN_TRUE@@HAVE_ICU_TRUE@am__append_37 = $(HB_ICU_headers)
+@HAVE_ICU_BUILTIN_FALSE@@HAVE_ICU_TRUE@am__append_38 = libharfbuzz-icu.la
+@HAVE_ICU_BUILTIN_FALSE@@HAVE_ICU_TRUE@am__append_39 = $(HB_ICU_headers)
+@HAVE_ICU_BUILTIN_FALSE@@HAVE_ICU_TRUE@am__append_40 = harfbuzz-icu.pc
+@HAVE_GOBJECT_TRUE@am__append_41 = libharfbuzz-gobject.la
+@HAVE_GOBJECT_TRUE@am__append_42 = $(HB_GOBJECT_DIST_headers)
+@HAVE_GOBJECT_TRUE@am__append_43 = $(HB_GOBJECT_NODIST_headers)
+@HAVE_GOBJECT_TRUE@am__append_44 = harfbuzz-gobject.pc
+@HAVE_GOBJECT_TRUE@am__append_45 = \
 @HAVE_GOBJECT_TRUE@    $(HB_GOBJECT_ENUM_sources) \
 @HAVE_GOBJECT_TRUE@    $(HB_GOBJECT_ENUM_headers) \
 @HAVE_GOBJECT_TRUE@    $(NULL)
 
-@HAVE_GOBJECT_TRUE@am__append_45 = \
+@HAVE_GOBJECT_TRUE@am__append_46 = \
 @HAVE_GOBJECT_TRUE@    $(HB_GOBJECT_ENUM_sources) \
 @HAVE_GOBJECT_TRUE@    $(HB_GOBJECT_ENUM_headers) \
 @HAVE_GOBJECT_TRUE@    $(NULL)
 
-@HAVE_GOBJECT_TRUE@am__append_46 = harfbuzz-gobject.def
+@HAVE_GOBJECT_TRUE@am__append_47 = harfbuzz-gobject.def
 noinst_PROGRAMS = main$(EXEEXT) test$(EXEEXT) \
        test-buffer-serialize$(EXEEXT) test-ot-meta$(EXEEXT) \
-       test-ot-name$(EXEEXT) test-gpos-size-params$(EXEEXT) \
-       test-gsub-would-substitute$(EXEEXT) $(am__EXEEXT_1) \
-       $(am__EXEEXT_3)
+       test-ot-name$(EXEEXT) test-ot-glyphname$(EXEEXT) \
+       test-gpos-size-params$(EXEEXT) \
+       test-gsub-would-substitute$(EXEEXT) $(am__EXEEXT_1)
 bin_PROGRAMS =
-@HAVE_CAIRO_FT_TRUE@@HAVE_FREETYPE_TRUE@am__append_47 = test-ot-color
 @WITH_LIBSTDCXX_FALSE@am__append_48 = \
-@WITH_LIBSTDCXX_FALSE@ check-libstdc++.sh \
+@WITH_LIBSTDCXX_FALSE@ check-libstdc++.py \
 @WITH_LIBSTDCXX_FALSE@ $(NULL)
 
 @HAVE_INTROSPECTION_TRUE@am__append_49 = $(gir_DATA) $(typelib_DATA)
@@ -193,10 +187,10 @@ am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libdir)" \
        "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(typelibdir)" \
        "$(DESTDIR)$(pkgincludedir)" "$(DESTDIR)$(pkgincludedir)"
 am__EXEEXT_1 =
-am__EXEEXT_2 = test-algs$(EXEEXT) test-iter$(EXEEXT) \
-       test-meta$(EXEEXT) test-number$(EXEEXT) test-ot-tag$(EXEEXT) \
-       test-unicode-ranges$(EXEEXT) test-bimap$(EXEEXT)
-@HAVE_CAIRO_FT_TRUE@@HAVE_FREETYPE_TRUE@am__EXEEXT_3 = test-ot-color$(EXEEXT)
+am__EXEEXT_2 = test-algs$(EXEEXT) test-array$(EXEEXT) \
+       test-iter$(EXEEXT) test-meta$(EXEEXT) test-number$(EXEEXT) \
+       test-ot-tag$(EXEEXT) test-unicode-ranges$(EXEEXT) \
+       test-bimap$(EXEEXT)
 PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
 am__vpath_adj = case $$p in \
@@ -272,10 +266,6 @@ am__objects_6 = libharfbuzz_subset_la-hb-number.lo \
        libharfbuzz_subset_la-hb-subset.lo $(am__objects_5)
 am_libharfbuzz_subset_la_OBJECTS = $(am__objects_6)
 libharfbuzz_subset_la_OBJECTS = $(am_libharfbuzz_subset_la_OBJECTS)
-libharfbuzz_subset_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
-       $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-       $(AM_CXXFLAGS) $(CXXFLAGS) $(libharfbuzz_subset_la_LDFLAGS) \
-       $(LDFLAGS) -o $@
 @HAVE_GLIB_TRUE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1)
 @HAVE_FREETYPE_TRUE@am__DEPENDENCIES_3 = $(am__DEPENDENCIES_1)
 @HAVE_GRAPHITE2_TRUE@am__DEPENDENCIES_4 = $(am__DEPENDENCIES_1)
@@ -305,13 +295,14 @@ am__libharfbuzz_la_SOURCES_DIST = hb-aat-fdsc-table.hh \
        hb-buffer.cc hb-buffer.hh hb-cache.hh hb-cff-interp-common.hh \
        hb-cff-interp-cs-common.hh hb-cff-interp-dict-common.hh \
        hb-cff1-interp-cs.hh hb-cff2-interp-cs.hh hb-common.cc \
-       hb-config.hh hb-debug.hh hb-dispatch.hh hb-face.cc hb-face.hh \
-       hb-fallback-shape.cc hb-font.cc hb-font.hh hb-iter.hh \
-       hb-kern.hh hb-machinery.hh hb-map.cc hb-map.hh hb-bimap.hh \
-       hb-meta.hh hb-mutex.hh hb-null.hh hb-number.cc hb-number.hh \
-       hb-object.hh hb-open-file.hh hb-open-type.hh \
-       hb-ot-cff-common.hh hb-ot-cff1-table.cc hb-ot-cff1-table.hh \
-       hb-ot-cff2-table.cc hb-ot-cff2-table.hh hb-ot-cmap-table.hh \
+       hb-config.hh hb-debug.hh hb-dispatch.hh hb-draw.cc hb-draw.hh \
+       hb-face.cc hb-face.hh hb-fallback-shape.cc hb-font.cc \
+       hb-font.hh hb-iter.hh hb-kern.hh hb-machinery.hh hb-map.cc \
+       hb-map.hh hb-bimap.hh hb-meta.hh hb-mutex.hh hb-null.hh \
+       hb-number.cc hb-number.hh hb-object.hh hb-open-file.hh \
+       hb-open-type.hh hb-ot-cff-common.hh hb-ot-cff1-table.cc \
+       hb-ot-cff1-table.hh hb-ot-cff1-std-str.hh hb-ot-cff2-table.cc \
+       hb-ot-cff2-table.hh hb-ot-cmap-table.hh \
        hb-ot-color-cbdt-table.hh hb-ot-color-colr-table.hh \
        hb-ot-color-cpal-table.hh hb-ot-color-sbix-table.hh \
        hb-ot-color-svg-table.hh hb-ot-color.cc hb-ot-face.cc \
@@ -363,20 +354,21 @@ am__libharfbuzz_la_SOURCES_DIST = hb-aat-fdsc-table.hh \
        hb-ot-shape-complex-use-machine.hh hb-glib.cc hb-ft.cc \
        hb-graphite2.cc hb-uniscribe.cc hb-directwrite.cc hb-gdi.cc \
        hb-coretext.cc hb-icu.cc hb-aat-layout.h hb-aat.h hb-blob.h \
-       hb-buffer.h hb-common.h hb-deprecated.h hb-face.h hb-font.h \
-       hb-map.h hb-ot-color.h hb-ot-deprecated.h hb-ot-font.h \
-       hb-ot-layout.h hb-ot-math.h hb-ot-meta.h hb-ot-metrics.h \
-       hb-ot-name.h hb-ot-shape.h hb-ot-var.h hb-ot.h hb-set.h \
-       hb-shape-plan.h hb-shape.h hb-unicode.h hb-version.h hb.h \
-       hb-glib.h hb-ft.h hb-graphite2.h hb-uniscribe.h \
+       hb-buffer.h hb-common.h hb-deprecated.h hb-draw.h hb-face.h \
+       hb-font.h hb-map.h hb-ot-color.h hb-ot-deprecated.h \
+       hb-ot-font.h hb-ot-layout.h hb-ot-math.h hb-ot-meta.h \
+       hb-ot-metrics.h hb-ot-name.h hb-ot-shape.h hb-ot-var.h hb-ot.h \
+       hb-set.h hb-shape-plan.h hb-shape.h hb-unicode.h hb-version.h \
+       hb.h hb-glib.h hb-ft.h hb-graphite2.h hb-uniscribe.h \
        hb-directwrite.h hb-gdi.h hb-coretext.h hb-icu.h
 am__objects_7 = libharfbuzz_la-hb-aat-layout.lo \
        libharfbuzz_la-hb-aat-map.lo libharfbuzz_la-hb-blob.lo \
        libharfbuzz_la-hb-buffer-serialize.lo \
        libharfbuzz_la-hb-buffer.lo libharfbuzz_la-hb-common.lo \
-       libharfbuzz_la-hb-face.lo libharfbuzz_la-hb-fallback-shape.lo \
-       libharfbuzz_la-hb-font.lo libharfbuzz_la-hb-map.lo \
-       libharfbuzz_la-hb-number.lo libharfbuzz_la-hb-ot-cff1-table.lo \
+       libharfbuzz_la-hb-draw.lo libharfbuzz_la-hb-face.lo \
+       libharfbuzz_la-hb-fallback-shape.lo libharfbuzz_la-hb-font.lo \
+       libharfbuzz_la-hb-map.lo libharfbuzz_la-hb-number.lo \
+       libharfbuzz_la-hb-ot-cff1-table.lo \
        libharfbuzz_la-hb-ot-cff2-table.lo \
        libharfbuzz_la-hb-ot-color.lo libharfbuzz_la-hb-ot-face.lo \
        libharfbuzz_la-hb-ot-font.lo libharfbuzz_la-hb-ot-layout.lo \
@@ -470,6 +462,9 @@ am_test_algs_OBJECTS = test_algs-test-algs.$(OBJEXT) \
 test_algs_OBJECTS = $(am_test_algs_OBJECTS)
 am__DEPENDENCIES_13 = libharfbuzz.la $(am__DEPENDENCIES_12)
 test_algs_DEPENDENCIES = $(am__DEPENDENCIES_13)
+am_test_array_OBJECTS = test_array-test-array.$(OBJEXT)
+test_array_OBJECTS = $(am_test_array_OBJECTS)
+test_array_DEPENDENCIES = libharfbuzz.la $(am__DEPENDENCIES_12)
 am_test_bimap_OBJECTS = test_bimap-test-bimap.$(OBJEXT) \
        test_bimap-hb-static.$(OBJEXT)
 test_bimap_OBJECTS = $(am_test_bimap_OBJECTS)
@@ -501,15 +496,10 @@ am_test_number_OBJECTS = test_number-test-number.$(OBJEXT) \
        test_number-hb-number.$(OBJEXT)
 test_number_OBJECTS = $(am_test_number_OBJECTS)
 test_number_DEPENDENCIES = $(am__DEPENDENCIES_13)
-am__test_ot_color_SOURCES_DIST = test-ot-color.cc
-@HAVE_CAIRO_FT_TRUE@@HAVE_FREETYPE_TRUE@am_test_ot_color_OBJECTS = test_ot_color-test-ot-color.$(OBJEXT)
-test_ot_color_OBJECTS = $(am_test_ot_color_OBJECTS)
-@HAVE_CAIRO_FT_TRUE@@HAVE_FREETYPE_TRUE@test_ot_color_DEPENDENCIES =  \
-@HAVE_CAIRO_FT_TRUE@@HAVE_FREETYPE_TRUE@       libharfbuzz.la \
-@HAVE_CAIRO_FT_TRUE@@HAVE_FREETYPE_TRUE@       $(am__DEPENDENCIES_12) \
-@HAVE_CAIRO_FT_TRUE@@HAVE_FREETYPE_TRUE@       $(am__DEPENDENCIES_1) \
-@HAVE_CAIRO_FT_TRUE@@HAVE_FREETYPE_TRUE@       $(am__DEPENDENCIES_1) \
-@HAVE_CAIRO_FT_TRUE@@HAVE_FREETYPE_TRUE@       $(am__DEPENDENCIES_1)
+am_test_ot_glyphname_OBJECTS =  \
+       test_ot_glyphname-test-ot-glyphname.$(OBJEXT)
+test_ot_glyphname_OBJECTS = $(am_test_ot_glyphname_OBJECTS)
+test_ot_glyphname_DEPENDENCIES = libharfbuzz.la $(am__DEPENDENCIES_12)
 am_test_ot_meta_OBJECTS = test_ot_meta-test-ot-meta.$(OBJEXT)
 test_ot_meta_OBJECTS = $(am_test_ot_meta_OBJECTS)
 test_ot_meta_DEPENDENCIES = libharfbuzz.la $(am__DEPENDENCIES_12)
@@ -523,9 +513,9 @@ am_test_unicode_ranges_OBJECTS =  \
        test_unicode_ranges-test-unicode-ranges.$(OBJEXT)
 test_unicode_ranges_OBJECTS = $(am_test_unicode_ranges_OBJECTS)
 test_unicode_ranges_DEPENDENCIES = $(am__DEPENDENCIES_13)
-am__dist_check_SCRIPTS_DIST = check-c-linkage-decls.sh \
-       check-externs.sh check-header-guards.sh check-includes.sh \
-       check-static-inits.sh check-symbols.sh check-libstdc++.sh
+am__dist_check_SCRIPTS_DIST = check-c-linkage-decls.py \
+       check-externs.py check-header-guards.py check-includes.py \
+       check-static-inits.py check-symbols.py check-libstdc++.py
 AM_V_P = $(am__v_P_@AM_V@)
 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
 am__v_P_0 = false
@@ -560,6 +550,7 @@ am__depfiles_remade = ./$(DEPDIR)/dump_indic_data-dump-indic-data.Po \
        ./$(DEPDIR)/libharfbuzz_la-hb-common.Plo \
        ./$(DEPDIR)/libharfbuzz_la-hb-coretext.Plo \
        ./$(DEPDIR)/libharfbuzz_la-hb-directwrite.Plo \
+       ./$(DEPDIR)/libharfbuzz_la-hb-draw.Plo \
        ./$(DEPDIR)/libharfbuzz_la-hb-face.Plo \
        ./$(DEPDIR)/libharfbuzz_la-hb-fallback-shape.Plo \
        ./$(DEPDIR)/libharfbuzz_la-hb-font.Plo \
@@ -619,6 +610,7 @@ am__depfiles_remade = ./$(DEPDIR)/dump_indic_data-dump-indic-data.Po \
        ./$(DEPDIR)/main-main.Po ./$(DEPDIR)/test-test.Po \
        ./$(DEPDIR)/test_algs-hb-static.Po \
        ./$(DEPDIR)/test_algs-test-algs.Po \
+       ./$(DEPDIR)/test_array-test-array.Po \
        ./$(DEPDIR)/test_bimap-hb-static.Po \
        ./$(DEPDIR)/test_bimap-test-bimap.Po \
        ./$(DEPDIR)/test_buffer_serialize-test-buffer-serialize.Po \
@@ -630,7 +622,7 @@ am__depfiles_remade = ./$(DEPDIR)/dump_indic_data-dump-indic-data.Po \
        ./$(DEPDIR)/test_meta-test-meta.Po \
        ./$(DEPDIR)/test_number-hb-number.Po \
        ./$(DEPDIR)/test_number-test-number.Po \
-       ./$(DEPDIR)/test_ot_color-test-ot-color.Po \
+       ./$(DEPDIR)/test_ot_glyphname-test-ot-glyphname.Po \
        ./$(DEPDIR)/test_ot_meta-test-ot-meta.Po \
        ./$(DEPDIR)/test_ot_name-test-ot-name.Po \
        ./$(DEPDIR)/test_ot_tag-hb-ot-tag.Po \
@@ -678,12 +670,12 @@ SOURCES = $(libharfbuzz_gobject_la_SOURCES) \
        $(libharfbuzz_la_SOURCES) $(dump_indic_data_SOURCES) \
        $(dump_khmer_data_SOURCES) $(dump_myanmar_data_SOURCES) \
        $(dump_use_data_SOURCES) $(main_SOURCES) $(test_SOURCES) \
-       $(test_algs_SOURCES) $(test_bimap_SOURCES) \
-       $(test_buffer_serialize_SOURCES) \
+       $(test_algs_SOURCES) $(test_array_SOURCES) \
+       $(test_bimap_SOURCES) $(test_buffer_serialize_SOURCES) \
        $(test_gpos_size_params_SOURCES) \
        $(test_gsub_would_substitute_SOURCES) $(test_iter_SOURCES) \
        $(test_meta_SOURCES) $(test_number_SOURCES) \
-       $(test_ot_color_SOURCES) $(test_ot_meta_SOURCES) \
+       $(test_ot_glyphname_SOURCES) $(test_ot_meta_SOURCES) \
        $(test_ot_name_SOURCES) $(test_ot_tag_SOURCES) \
        $(test_unicode_ranges_SOURCES)
 DIST_SOURCES = $(am__libharfbuzz_gobject_la_SOURCES_DIST) \
@@ -692,12 +684,12 @@ DIST_SOURCES = $(am__libharfbuzz_gobject_la_SOURCES_DIST) \
        $(am__libharfbuzz_la_SOURCES_DIST) $(dump_indic_data_SOURCES) \
        $(dump_khmer_data_SOURCES) $(dump_myanmar_data_SOURCES) \
        $(dump_use_data_SOURCES) $(main_SOURCES) $(test_SOURCES) \
-       $(test_algs_SOURCES) $(test_bimap_SOURCES) \
-       $(test_buffer_serialize_SOURCES) \
+       $(test_algs_SOURCES) $(test_array_SOURCES) \
+       $(test_bimap_SOURCES) $(test_buffer_serialize_SOURCES) \
        $(test_gpos_size_params_SOURCES) \
        $(test_gsub_would_substitute_SOURCES) $(test_iter_SOURCES) \
        $(test_meta_SOURCES) $(test_number_SOURCES) \
-       $(am__test_ot_color_SOURCES_DIST) $(test_ot_meta_SOURCES) \
+       $(test_ot_glyphname_SOURCES) $(test_ot_meta_SOURCES) \
        $(test_ot_name_SOURCES) $(test_ot_tag_SOURCES) \
        $(test_unicode_ranges_SOURCES)
 RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
@@ -715,12 +707,12 @@ am__can_run_installinfo = \
   esac
 DATA = $(cmake_DATA) $(gir_DATA) $(pkgconfig_DATA) $(typelib_DATA)
 am__pkginclude_HEADERS_DIST = hb-aat-layout.h hb-aat.h hb-blob.h \
-       hb-buffer.h hb-common.h hb-deprecated.h hb-face.h hb-font.h \
-       hb-map.h hb-ot-color.h hb-ot-deprecated.h hb-ot-font.h \
-       hb-ot-layout.h hb-ot-math.h hb-ot-meta.h hb-ot-metrics.h \
-       hb-ot-name.h hb-ot-shape.h hb-ot-var.h hb-ot.h hb-set.h \
-       hb-shape-plan.h hb-shape.h hb-unicode.h hb-version.h hb.h \
-       hb-glib.h hb-ft.h hb-graphite2.h hb-uniscribe.h \
+       hb-buffer.h hb-common.h hb-deprecated.h hb-draw.h hb-face.h \
+       hb-font.h hb-map.h hb-ot-color.h hb-ot-deprecated.h \
+       hb-ot-font.h hb-ot-layout.h hb-ot-math.h hb-ot-meta.h \
+       hb-ot-metrics.h hb-ot-name.h hb-ot-shape.h hb-ot-var.h hb-ot.h \
+       hb-set.h hb-shape-plan.h hb-shape.h hb-unicode.h hb-version.h \
+       hb.h hb-glib.h hb-ft.h hb-graphite2.h hb-uniscribe.h \
        hb-directwrite.h hb-gdi.h hb-coretext.h hb-icu.h hb-subset.h \
        hb-gobject.h hb-gobject-structs.h
 HEADERS = $(nodist_pkginclude_HEADERS) $(pkginclude_HEADERS)
@@ -907,11 +899,11 @@ am__set_TESTS_bases = \
   bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
   bases=`echo $$bases`
 RECHECK_LOGS = $(TEST_LOGS)
-@WITH_LIBSTDCXX_FALSE@am__EXEEXT_4 = check-libstdc++.sh \
+@WITH_LIBSTDCXX_FALSE@am__EXEEXT_3 = check-libstdc++.py \
 @WITH_LIBSTDCXX_FALSE@ $(am__EXEEXT_1)
-am__EXEEXT_5 = check-c-linkage-decls.sh check-externs.sh \
-       check-header-guards.sh check-includes.sh check-static-inits.sh \
-       check-symbols.sh $(am__EXEEXT_1) $(am__EXEEXT_4)
+am__EXEEXT_4 = check-c-linkage-decls.py check-externs.py \
+       check-header-guards.py check-includes.py check-static-inits.py \
+       check-symbols.py $(am__EXEEXT_1) $(am__EXEEXT_3)
 TEST_SUITE_LOG = test-suite.log
 TEST_EXTENSIONS = @EXEEXT@ .test
 LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
@@ -1095,6 +1087,8 @@ STRIP = @STRIP@
 UNISCRIBE_CFLAGS = @UNISCRIBE_CFLAGS@
 UNISCRIBE_LIBS = @UNISCRIBE_LIBS@
 VERSION = @VERSION@
+_GI_EXP_DATADIR = @_GI_EXP_DATADIR@
+_GI_EXP_LIBDIR = @_GI_EXP_LIBDIR@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
@@ -1153,19 +1147,19 @@ top_srcdir = @top_srcdir@
 NULL = 
 SUBDIRS = 
 DIST_SUBDIRS = 
-BUILT_SOURCES = hb-version.h $(am__append_44) $(RAGEL_GENERATED) \
+BUILT_SOURCES = hb-version.h $(am__append_45) $(RAGEL_GENERATED) \
        harfbuzz.cc
-EXTRA_DIST = harfbuzz.cc hb-version.h.in harfbuzz.pc.in \
-       harfbuzz-config.cmake.in harfbuzz-subset.pc.in \
+EXTRA_DIST = harfbuzz.cc meson.build fix_get_types.py hb-version.h.in \
+       harfbuzz.pc.in harfbuzz-config.cmake.in harfbuzz-subset.pc.in \
        harfbuzz-icu.pc.in harfbuzz-gobject.pc.in \
        hb-gobject-enums.cc.tmpl hb-gobject-enums.h.tmpl $(NULL) \
        $(GENERATORS) $(HB_BASE_RAGEL_sources) $(NULL)
 CLEANFILES = $(pkgconfig_DATA) $(DEF_FILES) $(am__append_49)
-DISTCLEANFILES = $(am__append_45)
+DISTCLEANFILES = $(am__append_46)
 MAINTAINERCLEANFILES = 
 DISTCHECK_CONFIGURE_FLAGS = --enable-introspection
 lib_LTLIBRARIES = libharfbuzz.la libharfbuzz-subset.la \
-       $(am__append_37) $(am__append_40)
+       $(am__append_38) $(am__append_41)
 HB_BASE_sources = \
        hb-aat-fdsc-table.hh \
        hb-aat-layout-ankr-table.hh \
@@ -1201,6 +1195,8 @@ HB_BASE_sources = \
        hb-config.hh \
        hb-debug.hh \
        hb-dispatch.hh \
+       hb-draw.cc \
+       hb-draw.hh \
        hb-face.cc \
        hb-face.hh \
        hb-fallback-shape.cc \
@@ -1223,6 +1219,7 @@ HB_BASE_sources = \
        hb-ot-cff-common.hh \
        hb-ot-cff1-table.cc \
        hb-ot-cff1-table.hh \
+       hb-ot-cff1-std-str.hh \
        hb-ot-cff2-table.cc \
        hb-ot-cff2-table.hh \
        hb-ot-cmap-table.hh \
@@ -1359,6 +1356,7 @@ HB_BASE_headers = \
        hb-buffer.h \
        hb-common.h \
        hb-deprecated.h \
+       hb-draw.h \
        hb-face.h \
        hb-font.h \
        hb-map.h \
@@ -1440,22 +1438,22 @@ HB_GOBJECT_NODIST_headers = $(HB_GOBJECT_ENUM_headers)
 HB_GOBJECT_sources = $(HB_GOBJECT_DIST_sources) $(HB_GOBJECT_NODIST_sources)
 HB_GOBJECT_headers = $(HB_GOBJECT_DIST_headers) $(HB_GOBJECT_NODIST_headers)
 HBCFLAGS = $(am__append_1) $(am__append_3) $(am__append_8) \
-       $(am__append_12) $(am__append_17) $(am__append_21) \
-       $(am__append_25) $(am__append_29) $(am__append_33)
+       $(am__append_13) $(am__append_18) $(am__append_22) \
+       $(am__append_26) $(am__append_30) $(am__append_34)
 
 # Put the library together
-HBLIBS = $(am__append_4) $(am__append_9) $(am__append_13) \
-       $(HBNONPCLIBS) $(am__append_34)
-HBNONPCLIBS = $(am__append_2) $(am__append_18) $(am__append_22) \
-       $(am__append_26) $(am__append_30)
-HBDEPS = $(am__append_5) $(am__append_14)
+HBLIBS = $(am__append_4) $(am__append_9) $(am__append_14) \
+       $(HBNONPCLIBS) $(am__append_35)
+HBNONPCLIBS = $(am__append_2) $(am__append_19) $(am__append_23) \
+       $(am__append_27) $(am__append_31)
+HBDEPS = $(am__append_5) $(am__append_10) $(am__append_15)
 HBSOURCES = $(HB_BASE_sources) $(HB_BASE_RAGEL_GENERATED_sources) \
-       $(am__append_6) $(am__append_10) $(am__append_15) \
-       $(am__append_19) $(am__append_23) $(am__append_27) \
-       $(am__append_31) $(am__append_35)
-HBHEADERS = $(HB_BASE_headers) $(am__append_7) $(am__append_11) \
-       $(am__append_16) $(am__append_20) $(am__append_24) \
-       $(am__append_28) $(am__append_32) $(am__append_36)
+       $(am__append_6) $(am__append_11) $(am__append_16) \
+       $(am__append_20) $(am__append_24) $(am__append_28) \
+       $(am__append_32) $(am__append_36)
+HBHEADERS = $(HB_BASE_headers) $(am__append_7) $(am__append_12) \
+       $(am__append_17) $(am__append_21) $(am__append_25) \
+       $(am__append_29) $(am__append_33) $(am__append_37)
 @OS_WIN32_TRUE@export_symbols = -export-symbols harfbuzz.def
 @OS_WIN32_TRUE@harfbuzz_def_dependency = harfbuzz.def
 @OS_WIN32_TRUE@export_symbols_subset = -export-symbols harfbuzz-subset.def
@@ -1477,13 +1475,14 @@ libharfbuzz_la_LDFLAGS = $(base_link_flags) $(export_symbols) $(CODE_COVERAGE_LD
 libharfbuzz_la_LIBADD = $(HBLIBS)
 EXTRA_libharfbuzz_la_DEPENDENCIES = $(harfbuzz_def_dependency)
 pkginclude_HEADERS = $(HBHEADERS) $(HB_SUBSET_headers) \
-       $(am__append_38) $(am__append_41)
-nodist_pkginclude_HEADERS = $(am__append_42)
+       $(am__append_39) $(am__append_42)
+nodist_pkginclude_HEADERS = $(am__append_43)
 pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = harfbuzz.pc harfbuzz-subset.pc $(am__append_39) \
-       $(am__append_43)
+pkgconfig_DATA = harfbuzz.pc harfbuzz-subset.pc $(am__append_40) \
+       $(am__append_44)
 cmakedir = $(libdir)/cmake/harfbuzz
 cmake_DATA = harfbuzz-config.cmake
+libharfbuzz_subset_la_LINK = $(chosen_linker) $(libharfbuzz_subset_la_LDFLAGS)
 libharfbuzz_subset_la_SOURCES = $(HB_SUBSET_sources)
 libharfbuzz_subset_la_CPPFLAGS = $(HBCFLAGS) $(CODE_COVERAGE_CFLAGS)
 libharfbuzz_subset_la_LDFLAGS = $(base_link_flags) $(export_symbols_subset) $(CODE_COVERAGE_LDFLAGS)
@@ -1502,13 +1501,16 @@ EXTRA_libharfbuzz_subset_la_DEPENDENCIES = $(harfbuzz_subset_def_dependency)
 @HAVE_GOBJECT_TRUE@libharfbuzz_gobject_la_LIBADD = $(GOBJECT_LIBS) libharfbuzz.la
 @HAVE_GOBJECT_TRUE@EXTRA_libharfbuzz_gobject_la_DEPENDENCIES = $(harfbuzz_gobject_def_dependency)
 DEF_FILES = harfbuzz.def harfbuzz-subset.def harfbuzz-icu.def \
-       harfbuzz-deprecated-symbols.txt $(am__append_46)
+       harfbuzz-deprecated-symbols.txt $(am__append_47)
 GENERATORS = \
        gen-arabic-table.py \
        gen-def.py \
        gen-emoji-table.py \
+       gen-harfbuzzcc.py \
+       gen-hb-version.py \
        gen-indic-table.py \
        gen-os2-unicode-ranges.py \
+       gen-ragel-artifacts.py \
        gen-tag-table.py \
        gen-ucd-table.py \
        gen-use-table.py \
@@ -1534,18 +1536,15 @@ test_ot_meta_LDADD = libharfbuzz.la $(HBLIBS)
 test_ot_name_SOURCES = test-ot-name.cc
 test_ot_name_CPPFLAGS = $(HBCFLAGS)
 test_ot_name_LDADD = libharfbuzz.la $(HBLIBS)
+test_ot_glyphname_SOURCES = test-ot-glyphname.cc
+test_ot_glyphname_CPPFLAGS = $(HBCFLAGS)
+test_ot_glyphname_LDADD = libharfbuzz.la $(HBLIBS)
 test_gpos_size_params_SOURCES = test-gpos-size-params.cc
 test_gpos_size_params_CPPFLAGS = $(HBCFLAGS)
 test_gpos_size_params_LDADD = libharfbuzz.la $(HBLIBS)
 test_gsub_would_substitute_SOURCES = test-gsub-would-substitute.cc
 test_gsub_would_substitute_CPPFLAGS = $(HBCFLAGS) $(FREETYPE_CFLAGS)
 test_gsub_would_substitute_LDADD = libharfbuzz.la $(HBLIBS) $(FREETYPE_LIBS)
-@HAVE_CAIRO_FT_TRUE@@HAVE_FREETYPE_TRUE@test_ot_color_SOURCES = test-ot-color.cc
-@HAVE_CAIRO_FT_TRUE@@HAVE_FREETYPE_TRUE@test_ot_color_CPPFLAGS = $(HBCFLAGS) $(FREETYPE_CFLAGS) $(CAIRO_FT_CFLAGS)
-@HAVE_CAIRO_FT_TRUE@@HAVE_FREETYPE_TRUE@test_ot_color_LDADD = libharfbuzz.la $(HBLIBS) $(FREETYPE_LIBS) $(CAIRO_LIBS) $(CAIRO_FT_LIBS)
-dist_check_SCRIPTS = check-c-linkage-decls.sh check-externs.sh \
-       check-header-guards.sh check-includes.sh check-static-inits.sh \
-       check-symbols.sh $(NULL) $(am__append_48)
 dump_indic_data_SOURCES = dump-indic-data.cc hb-ot-shape-complex-indic-table.cc
 dump_indic_data_CPPFLAGS = $(HBCFLAGS)
 dump_indic_data_LDADD = libharfbuzz.la $(HBLIBS)
@@ -1558,12 +1557,15 @@ dump_myanmar_data_LDADD = libharfbuzz.la $(HBLIBS)
 dump_use_data_SOURCES = dump-use-data.cc hb-ot-shape-complex-use-table.cc
 dump_use_data_CPPFLAGS = $(HBCFLAGS)
 dump_use_data_LDADD = libharfbuzz.la $(HBLIBS)
-COMPILED_TESTS = test-algs test-iter test-meta test-number test-ot-tag test-unicode-ranges test-bimap
+COMPILED_TESTS = test-algs test-array test-iter test-meta test-number test-ot-tag test-unicode-ranges test-bimap
 COMPILED_TESTS_CPPFLAGS = $(HBCFLAGS) -DMAIN -UNDEBUG
 COMPILED_TESTS_LDADD = libharfbuzz.la $(HBLIBS)
 test_algs_SOURCES = test-algs.cc hb-static.cc
 test_algs_CPPFLAGS = $(COMPILED_TESTS_CPPFLAGS)
 test_algs_LDADD = $(COMPILED_TESTS_LDADD)
+test_array_SOURCES = test-array.cc
+test_array_CPPFLAGS = $(HBCFLAGS)
+test_array_LDADD = libharfbuzz.la $(HBLIBS)
 test_iter_SOURCES = test-iter.cc hb-static.cc
 test_iter_CPPFLAGS = $(COMPILED_TESTS_CPPFLAGS)
 test_iter_LDADD = $(COMPILED_TESTS_LDADD)
@@ -1582,15 +1584,29 @@ test_unicode_ranges_LDADD = $(COMPILED_TESTS_LDADD)
 test_bimap_SOURCES = test-bimap.cc hb-static.cc
 test_bimap_CPPFLAGS = $(COMPILED_TESTS_CPPFLAGS)
 test_bimap_LDADD = $(COMPILED_TESTS_LDADD)
+dist_check_SCRIPTS = check-c-linkage-decls.py check-externs.py \
+       check-header-guards.py check-includes.py check-static-inits.py \
+       check-symbols.py $(NULL) $(am__append_48)
 TESTS_ENVIRONMENT = \
        srcdir="$(srcdir)" \
+       builddir="$(builddir)" \
        MAKE="$(MAKE) $(AM_MAKEFLAGS)" \
        HBSOURCES="$(HBSOURCES)" \
        HBHEADERS="$(HBHEADERS)" \
        $(NULL)
 
 @HAVE_INTROSPECTION_TRUE@INTROSPECTION_GIRS = HarfBuzz-0.0.gir # What does the 0 mean anyway?!
-@HAVE_INTROSPECTION_TRUE@INTROSPECTION_SCANNER_ARGS = -I$(srcdir) -n hb --identifier-prefix=hb_ --warn-all
+@HAVE_INTROSPECTION_TRUE@INTROSPECTION_SCANNER_ARGS = \
+@HAVE_INTROSPECTION_TRUE@      -I$(srcdir) \
+@HAVE_INTROSPECTION_TRUE@      --warn-all --verbose \
+@HAVE_INTROSPECTION_TRUE@      --namespace=HarfBuzz \
+@HAVE_INTROSPECTION_TRUE@      --nsversion=0.0 \
+@HAVE_INTROSPECTION_TRUE@      --symbol-prefix=hb \
+@HAVE_INTROSPECTION_TRUE@      --symbol-prefix=hb_gobject \
+@HAVE_INTROSPECTION_TRUE@      --identifier-prefix=hb_ \
+@HAVE_INTROSPECTION_TRUE@      --pkg-export=harfbuzz-gobject \
+@HAVE_INTROSPECTION_TRUE@      --c-include=hb-gobject.h
+
 @HAVE_INTROSPECTION_TRUE@INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir)
 @HAVE_INTROSPECTION_TRUE@INTROSPECTION_SCANNER_ENV = CC="$(CC)"
 @HAVE_INTROSPECTION_TRUE@HarfBuzz_0_0_gir_INCLUDES = GObject-2.0
@@ -1788,7 +1804,7 @@ libharfbuzz-icu.la: $(libharfbuzz_icu_la_OBJECTS) $(libharfbuzz_icu_la_DEPENDENC
        $(AM_V_CXXLD)$(libharfbuzz_icu_la_LINK) $(am_libharfbuzz_icu_la_rpath) $(libharfbuzz_icu_la_OBJECTS) $(libharfbuzz_icu_la_LIBADD) $(LIBS)
 
 libharfbuzz-subset.la: $(libharfbuzz_subset_la_OBJECTS) $(libharfbuzz_subset_la_DEPENDENCIES) $(EXTRA_libharfbuzz_subset_la_DEPENDENCIES) 
-       $(AM_V_CXXLD)$(libharfbuzz_subset_la_LINK) -rpath $(libdir) $(libharfbuzz_subset_la_OBJECTS) $(libharfbuzz_subset_la_LIBADD) $(LIBS)
+       $(AM_V_GEN)$(libharfbuzz_subset_la_LINK) -rpath $(libdir) $(libharfbuzz_subset_la_OBJECTS) $(libharfbuzz_subset_la_LIBADD) $(LIBS)
 
 libharfbuzz.la: $(libharfbuzz_la_OBJECTS) $(libharfbuzz_la_DEPENDENCIES) $(EXTRA_libharfbuzz_la_DEPENDENCIES) 
        $(AM_V_GEN)$(libharfbuzz_la_LINK) -rpath $(libdir) $(libharfbuzz_la_OBJECTS) $(libharfbuzz_la_LIBADD) $(LIBS)
@@ -1821,6 +1837,10 @@ test-algs$(EXEEXT): $(test_algs_OBJECTS) $(test_algs_DEPENDENCIES) $(EXTRA_test_
        @rm -f test-algs$(EXEEXT)
        $(AM_V_CXXLD)$(CXXLINK) $(test_algs_OBJECTS) $(test_algs_LDADD) $(LIBS)
 
+test-array$(EXEEXT): $(test_array_OBJECTS) $(test_array_DEPENDENCIES) $(EXTRA_test_array_DEPENDENCIES) 
+       @rm -f test-array$(EXEEXT)
+       $(AM_V_CXXLD)$(CXXLINK) $(test_array_OBJECTS) $(test_array_LDADD) $(LIBS)
+
 test-bimap$(EXEEXT): $(test_bimap_OBJECTS) $(test_bimap_DEPENDENCIES) $(EXTRA_test_bimap_DEPENDENCIES) 
        @rm -f test-bimap$(EXEEXT)
        $(AM_V_CXXLD)$(CXXLINK) $(test_bimap_OBJECTS) $(test_bimap_LDADD) $(LIBS)
@@ -1849,9 +1869,9 @@ test-number$(EXEEXT): $(test_number_OBJECTS) $(test_number_DEPENDENCIES) $(EXTRA
        @rm -f test-number$(EXEEXT)
        $(AM_V_CXXLD)$(CXXLINK) $(test_number_OBJECTS) $(test_number_LDADD) $(LIBS)
 
-test-ot-color$(EXEEXT): $(test_ot_color_OBJECTS) $(test_ot_color_DEPENDENCIES) $(EXTRA_test_ot_color_DEPENDENCIES) 
-       @rm -f test-ot-color$(EXEEXT)
-       $(AM_V_CXXLD)$(CXXLINK) $(test_ot_color_OBJECTS) $(test_ot_color_LDADD) $(LIBS)
+test-ot-glyphname$(EXEEXT): $(test_ot_glyphname_OBJECTS) $(test_ot_glyphname_DEPENDENCIES) $(EXTRA_test_ot_glyphname_DEPENDENCIES) 
+       @rm -f test-ot-glyphname$(EXEEXT)
+       $(AM_V_CXXLD)$(CXXLINK) $(test_ot_glyphname_OBJECTS) $(test_ot_glyphname_LDADD) $(LIBS)
 
 test-ot-meta$(EXEEXT): $(test_ot_meta_OBJECTS) $(test_ot_meta_DEPENDENCIES) $(EXTRA_test_ot_meta_DEPENDENCIES) 
        @rm -f test-ot-meta$(EXEEXT)
@@ -1894,6 +1914,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-common.Plo@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-coretext.Plo@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-directwrite.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-draw.Plo@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-face.Plo@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-fallback-shape.Plo@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libharfbuzz_la-hb-font.Plo@am__quote@ # am--include-marker
@@ -1954,6 +1975,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-test.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_algs-hb-static.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_algs-test-algs.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_array-test-array.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_bimap-hb-static.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_bimap-test-bimap.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_buffer_serialize-test-buffer-serialize.Po@am__quote@ # am--include-marker
@@ -1965,7 +1987,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_meta-test-meta.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_number-hb-number.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_number-test-number.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_ot_color-test-ot-color.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_ot_glyphname-test-ot-glyphname.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_ot_meta-test-ot-meta.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_ot_name-test-ot-name.Po@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_ot_tag-hb-ot-tag.Po@am__quote@ # am--include-marker
@@ -2131,6 +2153,13 @@ libharfbuzz_la-hb-common.lo: hb-common.cc
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-common.lo `test -f 'hb-common.cc' || echo '$(srcdir)/'`hb-common.cc
 
+libharfbuzz_la-hb-draw.lo: hb-draw.cc
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-draw.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-draw.Tpo -c -o libharfbuzz_la-hb-draw.lo `test -f 'hb-draw.cc' || echo '$(srcdir)/'`hb-draw.cc
+@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-draw.Tpo $(DEPDIR)/libharfbuzz_la-hb-draw.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='hb-draw.cc' object='libharfbuzz_la-hb-draw.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libharfbuzz_la-hb-draw.lo `test -f 'hb-draw.cc' || echo '$(srcdir)/'`hb-draw.cc
+
 libharfbuzz_la-hb-face.lo: hb-face.cc
 @am__fastdepCXX_TRUE@  $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libharfbuzz_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libharfbuzz_la-hb-face.lo -MD -MP -MF $(DEPDIR)/libharfbuzz_la-hb-face.Tpo -c -o libharfbuzz_la-hb-face.lo `test -f 'hb-face.cc' || echo '$(srcdir)/'`hb-face.cc
 @am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/libharfbuzz_la-hb-face.Tpo $(DEPDIR)/libharfbuzz_la-hb-face.Plo
@@ -2635,6 +2664,20 @@ test_algs-hb-static.obj: hb-static.cc
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_algs_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test_algs-hb-static.obj `if test -f 'hb-static.cc'; then $(CYGPATH_W) 'hb-static.cc'; else $(CYGPATH_W) '$(srcdir)/hb-static.cc'; fi`
 
+test_array-test-array.o: test-array.cc
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_array_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test_array-test-array.o -MD -MP -MF $(DEPDIR)/test_array-test-array.Tpo -c -o test_array-test-array.o `test -f 'test-array.cc' || echo '$(srcdir)/'`test-array.cc
+@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/test_array-test-array.Tpo $(DEPDIR)/test_array-test-array.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='test-array.cc' object='test_array-test-array.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_array_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test_array-test-array.o `test -f 'test-array.cc' || echo '$(srcdir)/'`test-array.cc
+
+test_array-test-array.obj: test-array.cc
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_array_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test_array-test-array.obj -MD -MP -MF $(DEPDIR)/test_array-test-array.Tpo -c -o test_array-test-array.obj `if test -f 'test-array.cc'; then $(CYGPATH_W) 'test-array.cc'; else $(CYGPATH_W) '$(srcdir)/test-array.cc'; fi`
+@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/test_array-test-array.Tpo $(DEPDIR)/test_array-test-array.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='test-array.cc' object='test_array-test-array.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_array_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test_array-test-array.obj `if test -f 'test-array.cc'; then $(CYGPATH_W) 'test-array.cc'; else $(CYGPATH_W) '$(srcdir)/test-array.cc'; fi`
+
 test_bimap-test-bimap.o: test-bimap.cc
 @am__fastdepCXX_TRUE@  $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_bimap_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test_bimap-test-bimap.o -MD -MP -MF $(DEPDIR)/test_bimap-test-bimap.Tpo -c -o test_bimap-test-bimap.o `test -f 'test-bimap.cc' || echo '$(srcdir)/'`test-bimap.cc
 @am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/test_bimap-test-bimap.Tpo $(DEPDIR)/test_bimap-test-bimap.Po
@@ -2789,19 +2832,19 @@ test_number-hb-number.obj: hb-number.cc
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_number_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test_number-hb-number.obj `if test -f 'hb-number.cc'; then $(CYGPATH_W) 'hb-number.cc'; else $(CYGPATH_W) '$(srcdir)/hb-number.cc'; fi`
 
-test_ot_color-test-ot-color.o: test-ot-color.cc
-@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_ot_color_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test_ot_color-test-ot-color.o -MD -MP -MF $(DEPDIR)/test_ot_color-test-ot-color.Tpo -c -o test_ot_color-test-ot-color.o `test -f 'test-ot-color.cc' || echo '$(srcdir)/'`test-ot-color.cc
-@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/test_ot_color-test-ot-color.Tpo $(DEPDIR)/test_ot_color-test-ot-color.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='test-ot-color.cc' object='test_ot_color-test-ot-color.o' libtool=no @AMDEPBACKSLASH@
+test_ot_glyphname-test-ot-glyphname.o: test-ot-glyphname.cc
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_ot_glyphname_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test_ot_glyphname-test-ot-glyphname.o -MD -MP -MF $(DEPDIR)/test_ot_glyphname-test-ot-glyphname.Tpo -c -o test_ot_glyphname-test-ot-glyphname.o `test -f 'test-ot-glyphname.cc' || echo '$(srcdir)/'`test-ot-glyphname.cc
+@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/test_ot_glyphname-test-ot-glyphname.Tpo $(DEPDIR)/test_ot_glyphname-test-ot-glyphname.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='test-ot-glyphname.cc' object='test_ot_glyphname-test-ot-glyphname.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_ot_color_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test_ot_color-test-ot-color.o `test -f 'test-ot-color.cc' || echo '$(srcdir)/'`test-ot-color.cc
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_ot_glyphname_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test_ot_glyphname-test-ot-glyphname.o `test -f 'test-ot-glyphname.cc' || echo '$(srcdir)/'`test-ot-glyphname.cc
 
-test_ot_color-test-ot-color.obj: test-ot-color.cc
-@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_ot_color_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test_ot_color-test-ot-color.obj -MD -MP -MF $(DEPDIR)/test_ot_color-test-ot-color.Tpo -c -o test_ot_color-test-ot-color.obj `if test -f 'test-ot-color.cc'; then $(CYGPATH_W) 'test-ot-color.cc'; else $(CYGPATH_W) '$(srcdir)/test-ot-color.cc'; fi`
-@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/test_ot_color-test-ot-color.Tpo $(DEPDIR)/test_ot_color-test-ot-color.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='test-ot-color.cc' object='test_ot_color-test-ot-color.obj' libtool=no @AMDEPBACKSLASH@
+test_ot_glyphname-test-ot-glyphname.obj: test-ot-glyphname.cc
+@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_ot_glyphname_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test_ot_glyphname-test-ot-glyphname.obj -MD -MP -MF $(DEPDIR)/test_ot_glyphname-test-ot-glyphname.Tpo -c -o test_ot_glyphname-test-ot-glyphname.obj `if test -f 'test-ot-glyphname.cc'; then $(CYGPATH_W) 'test-ot-glyphname.cc'; else $(CYGPATH_W) '$(srcdir)/test-ot-glyphname.cc'; fi`
+@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/test_ot_glyphname-test-ot-glyphname.Tpo $(DEPDIR)/test_ot_glyphname-test-ot-glyphname.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='test-ot-glyphname.cc' object='test_ot_glyphname-test-ot-glyphname.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_ot_color_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test_ot_color-test-ot-color.obj `if test -f 'test-ot-color.cc'; then $(CYGPATH_W) 'test-ot-color.cc'; else $(CYGPATH_W) '$(srcdir)/test-ot-color.cc'; fi`
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_ot_glyphname_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test_ot_glyphname-test-ot-glyphname.obj `if test -f 'test-ot-glyphname.cc'; then $(CYGPATH_W) 'test-ot-glyphname.cc'; else $(CYGPATH_W) '$(srcdir)/test-ot-glyphname.cc'; fi`
 
 test_ot_meta-test-ot-meta.o: test-ot-meta.cc
 @am__fastdepCXX_TRUE@  $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_ot_meta_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test_ot_meta-test-ot-meta.o -MD -MP -MF $(DEPDIR)/test_ot_meta-test-ot-meta.Tpo -c -o test_ot_meta-test-ot-meta.o `test -f 'test-ot-meta.cc' || echo '$(srcdir)/'`test-ot-meta.cc
@@ -3231,100 +3274,107 @@ recheck: all $(check_PROGRAMS) $(dist_check_SCRIPTS)
                am__force_recheck=am--force-recheck \
                TEST_LOGS="$$log_list"; \
        exit $$?
-check-c-linkage-decls.sh.log: check-c-linkage-decls.sh
-       @p='check-c-linkage-decls.sh'; \
-       b='check-c-linkage-decls.sh'; \
+test-algs.log: test-algs$(EXEEXT)
+       @p='test-algs$(EXEEXT)'; \
+       b='test-algs'; \
        $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
        --log-file $$b.log --trs-file $$b.trs \
        $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
        "$$tst" $(AM_TESTS_FD_REDIRECT)
-check-externs.sh.log: check-externs.sh
-       @p='check-externs.sh'; \
-       b='check-externs.sh'; \
+test-array.log: test-array$(EXEEXT)
+       @p='test-array$(EXEEXT)'; \
+       b='test-array'; \
        $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
        --log-file $$b.log --trs-file $$b.trs \
        $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
        "$$tst" $(AM_TESTS_FD_REDIRECT)
-check-header-guards.sh.log: check-header-guards.sh
-       @p='check-header-guards.sh'; \
-       b='check-header-guards.sh'; \
+test-iter.log: test-iter$(EXEEXT)
+       @p='test-iter$(EXEEXT)'; \
+       b='test-iter'; \
        $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
        --log-file $$b.log --trs-file $$b.trs \
        $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
        "$$tst" $(AM_TESTS_FD_REDIRECT)
-check-includes.sh.log: check-includes.sh
-       @p='check-includes.sh'; \
-       b='check-includes.sh'; \
+test-meta.log: test-meta$(EXEEXT)
+       @p='test-meta$(EXEEXT)'; \
+       b='test-meta'; \
        $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
        --log-file $$b.log --trs-file $$b.trs \
        $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
        "$$tst" $(AM_TESTS_FD_REDIRECT)
-check-static-inits.sh.log: check-static-inits.sh
-       @p='check-static-inits.sh'; \
-       b='check-static-inits.sh'; \
+test-number.log: test-number$(EXEEXT)
+       @p='test-number$(EXEEXT)'; \
+       b='test-number'; \
        $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
        --log-file $$b.log --trs-file $$b.trs \
        $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
        "$$tst" $(AM_TESTS_FD_REDIRECT)
-check-symbols.sh.log: check-symbols.sh
-       @p='check-symbols.sh'; \
-       b='check-symbols.sh'; \
+test-ot-tag.log: test-ot-tag$(EXEEXT)
+       @p='test-ot-tag$(EXEEXT)'; \
+       b='test-ot-tag'; \
        $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
        --log-file $$b.log --trs-file $$b.trs \
        $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
        "$$tst" $(AM_TESTS_FD_REDIRECT)
-check-libstdc++.sh.log: check-libstdc++.sh
-       @p='check-libstdc++.sh'; \
-       b='check-libstdc++.sh'; \
+test-unicode-ranges.log: test-unicode-ranges$(EXEEXT)
+       @p='test-unicode-ranges$(EXEEXT)'; \
+       b='test-unicode-ranges'; \
        $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
        --log-file $$b.log --trs-file $$b.trs \
        $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
        "$$tst" $(AM_TESTS_FD_REDIRECT)
-test-algs.log: test-algs$(EXEEXT)
-       @p='test-algs$(EXEEXT)'; \
-       b='test-algs'; \
+test-bimap.log: test-bimap$(EXEEXT)
+       @p='test-bimap$(EXEEXT)'; \
+       b='test-bimap'; \
        $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
        --log-file $$b.log --trs-file $$b.trs \
        $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
        "$$tst" $(AM_TESTS_FD_REDIRECT)
-test-iter.log: test-iter$(EXEEXT)
-       @p='test-iter$(EXEEXT)'; \
-       b='test-iter'; \
+check-c-linkage-decls.py.log: check-c-linkage-decls.py
+       @p='check-c-linkage-decls.py'; \
+       b='check-c-linkage-decls.py'; \
        $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
        --log-file $$b.log --trs-file $$b.trs \
        $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
        "$$tst" $(AM_TESTS_FD_REDIRECT)
-test-meta.log: test-meta$(EXEEXT)
-       @p='test-meta$(EXEEXT)'; \
-       b='test-meta'; \
+check-externs.py.log: check-externs.py
+       @p='check-externs.py'; \
+       b='check-externs.py'; \
        $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
        --log-file $$b.log --trs-file $$b.trs \
        $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
        "$$tst" $(AM_TESTS_FD_REDIRECT)
-test-number.log: test-number$(EXEEXT)
-       @p='test-number$(EXEEXT)'; \
-       b='test-number'; \
+check-header-guards.py.log: check-header-guards.py
+       @p='check-header-guards.py'; \
+       b='check-header-guards.py'; \
        $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
        --log-file $$b.log --trs-file $$b.trs \
        $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
        "$$tst" $(AM_TESTS_FD_REDIRECT)
-test-ot-tag.log: test-ot-tag$(EXEEXT)
-       @p='test-ot-tag$(EXEEXT)'; \
-       b='test-ot-tag'; \
+check-includes.py.log: check-includes.py
+       @p='check-includes.py'; \
+       b='check-includes.py'; \
        $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
        --log-file $$b.log --trs-file $$b.trs \
        $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
        "$$tst" $(AM_TESTS_FD_REDIRECT)
-test-unicode-ranges.log: test-unicode-ranges$(EXEEXT)
-       @p='test-unicode-ranges$(EXEEXT)'; \
-       b='test-unicode-ranges'; \
+check-static-inits.py.log: check-static-inits.py
+       @p='check-static-inits.py'; \
+       b='check-static-inits.py'; \
        $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
        --log-file $$b.log --trs-file $$b.trs \
        $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
        "$$tst" $(AM_TESTS_FD_REDIRECT)
-test-bimap.log: test-bimap$(EXEEXT)
-       @p='test-bimap$(EXEEXT)'; \
-       b='test-bimap'; \
+check-symbols.py.log: check-symbols.py
+       @p='check-symbols.py'; \
+       b='check-symbols.py'; \
+       $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+       --log-file $$b.log --trs-file $$b.trs \
+       $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+       "$$tst" $(AM_TESTS_FD_REDIRECT)
+check-libstdc++.py.log: check-libstdc++.py
+       @p='check-libstdc++.py'; \
+       b='check-libstdc++.py'; \
        $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
        --log-file $$b.log --trs-file $$b.trs \
        $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
@@ -3480,6 +3530,7 @@ distclean: distclean-recursive
        -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-common.Plo
        -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-coretext.Plo
        -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-directwrite.Plo
+       -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-draw.Plo
        -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-face.Plo
        -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-fallback-shape.Plo
        -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-font.Plo
@@ -3540,6 +3591,7 @@ distclean: distclean-recursive
        -rm -f ./$(DEPDIR)/test-test.Po
        -rm -f ./$(DEPDIR)/test_algs-hb-static.Po
        -rm -f ./$(DEPDIR)/test_algs-test-algs.Po
+       -rm -f ./$(DEPDIR)/test_array-test-array.Po
        -rm -f ./$(DEPDIR)/test_bimap-hb-static.Po
        -rm -f ./$(DEPDIR)/test_bimap-test-bimap.Po
        -rm -f ./$(DEPDIR)/test_buffer_serialize-test-buffer-serialize.Po
@@ -3551,7 +3603,7 @@ distclean: distclean-recursive
        -rm -f ./$(DEPDIR)/test_meta-test-meta.Po
        -rm -f ./$(DEPDIR)/test_number-hb-number.Po
        -rm -f ./$(DEPDIR)/test_number-test-number.Po
-       -rm -f ./$(DEPDIR)/test_ot_color-test-ot-color.Po
+       -rm -f ./$(DEPDIR)/test_ot_glyphname-test-ot-glyphname.Po
        -rm -f ./$(DEPDIR)/test_ot_meta-test-ot-meta.Po
        -rm -f ./$(DEPDIR)/test_ot_name-test-ot-name.Po
        -rm -f ./$(DEPDIR)/test_ot_tag-hb-ot-tag.Po
@@ -3622,6 +3674,7 @@ maintainer-clean: maintainer-clean-recursive
        -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-common.Plo
        -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-coretext.Plo
        -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-directwrite.Plo
+       -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-draw.Plo
        -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-face.Plo
        -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-fallback-shape.Plo
        -rm -f ./$(DEPDIR)/libharfbuzz_la-hb-font.Plo
@@ -3682,6 +3735,7 @@ maintainer-clean: maintainer-clean-recursive
        -rm -f ./$(DEPDIR)/test-test.Po
        -rm -f ./$(DEPDIR)/test_algs-hb-static.Po
        -rm -f ./$(DEPDIR)/test_algs-test-algs.Po
+       -rm -f ./$(DEPDIR)/test_array-test-array.Po
        -rm -f ./$(DEPDIR)/test_bimap-hb-static.Po
        -rm -f ./$(DEPDIR)/test_bimap-test-bimap.Po
        -rm -f ./$(DEPDIR)/test_buffer_serialize-test-buffer-serialize.Po
@@ -3693,7 +3747,7 @@ maintainer-clean: maintainer-clean-recursive
        -rm -f ./$(DEPDIR)/test_meta-test-meta.Po
        -rm -f ./$(DEPDIR)/test_number-hb-number.Po
        -rm -f ./$(DEPDIR)/test_number-test-number.Po
-       -rm -f ./$(DEPDIR)/test_ot_color-test-ot-color.Po
+       -rm -f ./$(DEPDIR)/test_ot_glyphname-test-ot-glyphname.Po
        -rm -f ./$(DEPDIR)/test_ot_meta-test-ot-meta.Po
        -rm -f ./$(DEPDIR)/test_ot_name-test-ot-name.Po
        -rm -f ./$(DEPDIR)/test_ot_tag-hb-ot-tag.Po
@@ -3758,12 +3812,7 @@ tinyz:
        $(MAKE) $(AM_MAKEFLAGS) CPPFLAGS="-Oz -DHB_TINY $(CPPFLAGS)" libs
 
 $(srcdir)/hb-version.h: hb-version.h.in $(top_srcdir)/configure.ac
-       $(AM_V_GEN) $(SED) \
-               -e 's/[@]HB_VERSION_MAJOR@/$(HB_VERSION_MAJOR)/' \
-               -e 's/[@]HB_VERSION_MINOR@/$(HB_VERSION_MINOR)/' \
-               -e 's/[@]HB_VERSION_MICRO@/$(HB_VERSION_MICRO)/' \
-               -e 's/[@]HB_VERSION@/$(HB_VERSION)/' \
-               "$<" > "$@" || ($(RM) "$@"; false)
+       $(AM_V_GEN) $(srcdir)/gen-hb-version.py $(HB_VERSION) hb-version.h.in hb-version.h
 
 @CODE_COVERAGE_RULES@
 @HAVE_GOBJECT_TRUE@hb-gobject-enums.%: hb-gobject-enums.%.tmpl $(HBHEADERS)
@@ -3796,41 +3845,9 @@ harfbuzz-gobject.def: $(HB_GOBJECT_headers)
 harfbuzz-deprecated-symbols.txt: $(srcdir)/hb-deprecated.h
        $(AM_V_GEN) PLAIN_LIST=1 $(srcdir)/gen-def.py "$@" $^
 
-unicode-tables: \
-       arabic-table \
-       emoji-table \
-       indic-table \
-       tag-table \
-       ucd-table \
-       use-table \
-       emoji-table \
-       $(NULL)
-
-arabic-table: gen-arabic-table.py ArabicShaping.txt UnicodeData.txt Blocks.txt
-       $(AM_V_GEN) $(builddir)/$^ > $(srcdir)/hb-ot-shape-complex-arabic-table.hh \
-       || ($(RM) $(srcdir)/hb-ot-shape-complex-arabic-table.hh; false)
-emoji-table: gen-emoji-table.py emoji-data.txt
-       $(AM_V_GEN) $(builddir)/$^ > $(srcdir)/hb-unicode-emoji-table.hh \
-       || ($(RM) $(srcdir)/hb-unicode-emoji-table.hh; false)
-indic-table: gen-indic-table.py IndicSyllabicCategory.txt IndicPositionalCategory.txt Blocks.txt
-       $(AM_V_GEN) $(builddir)/$^ > $(srcdir)/hb-ot-shape-complex-indic-table.cc \
-       || ($(RM) $(srcdir)/hb-ot-shape-complex-indic-table.cc; false)
-tag-table: gen-tag-table.py languagetags language-subtag-registry
-       $(AM_V_GEN) $(builddir)/$^ > $(srcdir)/hb-ot-tag-table.hh \
-       || ($(RM) $(srcdir)/hb-ot-tag-table.hh; false)
-ucd-table: gen-ucd-table.py ucd.nounihan.grouped.zip hb-common.h
-       $(AM_V_GEN) $(builddir)/$^ > $(srcdir)/hb-ucd-table.hh \
-       || ($(RM) $(srcdir)/hb-ucd-table.hh; false)
-use-table: gen-use-table.py IndicSyllabicCategory.txt IndicPositionalCategory.txt UnicodeData.txt Blocks.txt
-       $(AM_V_GEN) $(builddir)/$^ > $(srcdir)/hb-ot-shape-complex-use-table.cc \
-       || ($(RM) $(srcdir)/hb-ot-shape-complex-use-table.cc; false)
-vowel-constraints: gen-vowel-constraints.py HBIndicVowelConstraints.txt Scripts.txt
-       $(AM_V_GEN) $(builddir)/$^ > $(srcdir)/hb-ot-shape-complex-vowel-constraints.cc \
-       || ($(RM) $(srcdir)/hb-ot-shape-complex-vowel-constraints.cc; false)
-
 built-sources: $(BUILT_SOURCES)
 
-.PHONY: unicode-tables arabic-table indic-table tag-table use-table vowel-constraints emoji-table built-sources
+.PHONY: built-sources
 # We decided to add ragel-generated files to git...
 #MAINTAINERCLEANFILES += $(RAGEL_GENERATED)
 $(srcdir)/%.hh: $(srcdir)/%.rl
@@ -3839,7 +3856,8 @@ $(srcdir)/%.hh: $(srcdir)/%.rl
 
 harfbuzz.cc: Makefile.sources
        $(AM_V_GEN) \
-       for f in \
+       $(srcdir)/gen-harfbuzzcc.py \
+               $(srcdir)/harfbuzz.cc \
                $(HB_BASE_sources) \
                $(HB_GLIB_sources) \
                $(HB_FT_sources) \
@@ -3847,10 +3865,7 @@ harfbuzz.cc: Makefile.sources
                $(HB_UNISCRIBE_sources) \
                $(HB_GDI_sources) \
                $(HB_DIRECTWRITE_sources) \
-               $(HB_CORETEXT_sources) \
-               ; do echo '#include "'$$f'"'; done | \
-       grep '[.]cc"' > $(srcdir)/harfbuzz.cc \
-       || ($(RM) $(srcdir)/harfbuzz.cc; false)
+               $(HB_CORETEXT_sources)
 
 @HAVE_INTROSPECTION_TRUE@-include $(INTROSPECTION_MAKEFILE)