Bug 60035 - intermittent make install failure on hb-version.h
Add color-tests automake option
Don't use $(ENV)

As reported by Peter Breitenlohner:

I think this is a very bad idea because ENV is used to specify a startup
file to be read by some/all shells.
Revert "[Indic] Import ragel-generated Indic machine in git"

This reverts commit fab7a71f110ed646745d54b23284537c50058c21.

Conflicts:
	src/hb-ot-shape-complex-indic-machine.hh

Keeping that generated file in-tree causes problems with processes like
tinderbox  that automatically fetch and build harfbuzz.  It's harder to
bootstrap harfbuzz now (as was previously), but I'm willing to give this
another chance and see how it goes.
Revert "Include config.h.in in tree"

This reverts commit 01013a0f5c58d5d54a37e5b4d6692e0bbd4baf80.

Conflicts:
	config.h.in

Same argument as previous commit.
Improve normalization heuristic

Before, for most scripts, we were not trying to recompose two characters
if the second one had ccc=0.  That fails for Myanmar where U+1026
decomposes to U+1025,U+102E, both of which have ccc=0.  However, we do
want to try to recompose those.  We now check whether the second is a
mark, using general category instead.

At the same time, remove optimization that was conflicting with this.

[Let the Ngapi hackfest begin!]
[Indic] Fix bug introduced in 8b217f5ac54aa0dcbba2dd6d59aa89dde33e56c2

Was breaking reph formation logic when the Ra is the only consonant.
Devanagari regression fixed.  Down to 57 failures again.  Ouch.
[OTLayout] s/mark_skipping/skipping/

In aticipation of upcoming changes.
[OTLayout] Respect lookup-flags skipping over non-mark glyphs

Before, when matching ligatures, we never skipping over base / liga
glyphs even if that was what the LookupFlags asked for.

Fixed now.  We carefully reviewed all instances of this, and tested with
Amiri as well as some Indic scripts, and are confident that this should
NOT break anyone's fonts.  It's also how Uniscribe does it, from what
we can tell.
Minor
Add Win8-style Myanmar shaper

Myanmar failures down from 51% to 0.00204648%!

MYANMAR: 1123860 out of 1123883 tests passed. 23 failed (0.00204648%)
Shuffle test data around
[Myanmar] Prevent reordering between Asat and Dot below

Implemented as a hack for now.  Myanmar failures down from 23 to 15.

MYANMAR: 1123868 out of 1123883 tests passed. 15 failed (0.00133466%)

The remaining 15 cases are all where the syllable is wrong according to
the OpenType spec.  We insert dottedcircle.  Uniscribe fails to do that,
but it also fails to reorder the prebase-reordering medial-Ra.  So it
gets it wrong.
[Myanmar] Fixup handling of joiners and GB characters
[Myanmar] Fix handling of Punctuation and Symbol types

Testing with "clusters" now on par with testing without them.  15
failures both.
Minor
[Myanmar] Add note re Uniscribe NOT applying 'mark'
Adjust mark advance-width zeroing logic for Myanmar

Before, we were zeroing advance width of attached marks for
non-Indic scripts, and not doing it for Indic.

We have now three different behaviors, which seem to better
reflect what Uniscribe is doing:

  - For Indic, no explicit zeroing happens whatsoever, which
    is the same as before,

  - For Myanmar, zero advance width of glyphs marked as marks
    *in GDEF*, and do that *before* applying GPOS.  This seems
    to be what the new Win8 Myanmar shaper does,

  - For everything else, zero advance width of glyphs that are
    from General_Category=Mn Unicode characters, and do so
    before applying GPOS.  This seems to be what Uniscribe does
    for Latin at least.

With these changes, positioning of all tests matches for Myanmar,
except for the glitch in Uniscribe not applying 'mark'.  See preivous
commit.
[Indic] Make sure New Tai Lue works!
Minor test reshufflings