commit 69f9fbc4200442a35484d3c790ae8f4979be5d60
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Mar 17 11:59:43 2016 -0700

    Synthesize GDEF glyph class for any glyph that does not have one
    in GDEF

    Previously we only synthesized GDEF glyph classes if the glyphClassDef
    array in GDEF was null.  This worked well enough, and is indeed what
    OpenType requires: "If the font does not include a GlyphClassDef
    table,
    the client must define and maintain this information when using the
    GSUB and GPOS tables."  That sentence does not quite make sense since
    one needs Unicode properties as well, but is close enough.

    However, looks like Arial Unicode as shipped on WinXP, does have GDEF
    glyph class array, but defines no classes for Hebrew.  This results
    in Hebrew marks not getting their widths zeroed.  So, with this
    change,
    we synthesize glyph class for any glyph that is not specified in the
    GDEF glyph class table.  Since, from our point of view, a glyph not
    being listed in that table is a font bug, any unwanted consequence of
    this change is a font bug :).

    Note that we still don't get the same rendering as Uniscribe, since
    Uniscribe seems to do fallback positioning as well, even though the
    font does have a GPOS table (which does NOT cover Hebrew!).  We are
    not going to try to match that though.

    Test string for Arial Unicode:

	U+05E9,U+05B8,U+05C1,U+05DC

    Before:		[gid1166=3+991|gid1142=0+737|gid5798=0+1434]
    After:		[gid1166=3+991|gid1142=0+0|gid5798=0+1434]
    Uniscribe:	[gid1166=3+991|gid1142=0@348,0+0|gid5798=0+1434]

    Note that our new output matches what we were generating until July
    2014, because the Hebrew shaper used to zero mark advances based on
    Unicode, NOT GDEF.	That's 9e834e29e0b657f0555df1ab9cea79ff7abcf08d.

    Reported by Greg Douglas.

 src/hb-ot-layout-gsub-table.hh | 22 ++++++++++++++++++++--
 src/hb-ot-shape.cc		| 29 -----------------------------
 2 files changed, 20 insertions(+), 31 deletions(-)

commit fef5dd9a72f326c160a7194f558749d24bac7283
Merge: 01ea9ea 5f995db
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Sat Mar 12 19:15:15 2016 -0800

    Merge pull request #232 from c0nk/wip-icu

    Add --with-icu=builtin option; fix compile error

commit 01ea9eaac373d9f3de6e56c1ca26cdcd259ecc8e
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Fri Mar 11 18:50:02 2016 -0800

    [build] Use tar-ustar instead of tar-pax

    The default tar-v7 is not good enough for us (99 char filename
    limit), so I have had bumped to tar-pax.  We got one complaint
    that someone's tar couldn't handle tar-pax.  Set to tar-ustar
    which is ~13 years earlier than tar-pax and is good enough for us.

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 3e10460a1dd41de32752e308771aa30d23565cc0
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Fri Mar 11 18:45:19 2016 -0800

    Minor comment

 src/hb-unicode-private.hh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit d14fea4bdcc1423fe9a585af3abdefa9605d17e6
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Tue Mar 8 12:16:41 2016 -0800

    Remove default clause in minor switch statements

    Bending to clang warnings...
    https://bugs.chromium.org/p/chromium/issues/detail?id=593057

 src/hb-ot-shape-complex-indic.cc | 4 ----
 src/hb-ot-shape-complex-thai.cc  | 1 -
 2 files changed, 5 deletions(-)

commit ce8ae9970102f83b67bb1e8e8b2bf894a0e26c07
Merge: 731a430 71248a8
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Fri Mar 4 17:20:35 2016 -0800

    Merge pull request #231 from KonstantinRitt/post123buildfix

    Fix build with HB_DISABLE_DEPRECATED

commit 731a430cd36caabcef04e099b21ebc6daedd536f
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Wed Mar 2 13:32:42 2016 -0800

    Fix requiredFeature stage handling logic

    Originally the way Jonathan had written this was correct in
    "continue"ing:

    https://github.com/jfkthame/harfbuzz/commit/35e28c7a733eaffcd9f062b18d7db9fbb3d990fc#diff-ead86a33a5cc9ad7f6e6381031a0baddR199

    When I rewrote his patch, I messed it up:

    https://github.com/behdad/harfbuzz/commit/da132937989acb4d8ca9bd41c79f98750e7dda30#diff-ead86a33a5cc9ad7f6e6381031a0baddR209

    the intended behavior was NOT to set found=TRUE and NOT to continue.
    This was resulting in feature_index[table_index] being left unset.
    Oops!

 src/hb-ot-map.cc | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

commit 68b6296d3333fd38bd5442d2ba087ced481603bc
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Tue Mar 1 16:41:53 2016 +0900

    Add F2DOT14 type

 src/hb-open-type-private.hh | 9 +++++++++
 1 file changed, 9 insertions(+)

commit 082b79fe9f06607998178dcdcbe817af28b017de
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Tue Mar 1 16:41:26 2016 +0900

    Use FWORD and UFWORD when it makes sense

    I had forgotten about those types.

 src/hb-ot-glyf-table.hh | 8 ++++----
 src/hb-ot-hmtx-table.hh | 6 +++---
 2 files changed, 7 insertions(+), 7 deletions(-)

commit 5f995db10381172ec63fd7ffbb0acf2c6b3dae5e
Author: Kal Conley <kcconley@gmail.com>
Date:	Fri Feb 26 00:36:17 2016 +0100

    Fix missing ICU #include

    Fix compile error in hb-icu.cc when ICU configured with
    U_NO_DEFAULT_INCLUDE_UTF_HEADERS=1

 src/hb-icu.cc | 1 +
 1 file changed, 1 insertion(+)

commit b424b6c372dfe4c0ed75a49761eb34a416819446
Author: Kal Conley <kcconley@gmail.com>
Date:	Fri Feb 26 00:35:15 2016 +0100

    Add --with-icu=builtin configure option

 configure.ac	 | 33 +++++++++++++++++++--------------
 src/Makefile.am |  7 +++++++
 2 files changed, 26 insertions(+), 14 deletions(-)

commit 71248a843f976c86022eb5bb8c6e8880b2499937
Author: Konstantin Ritt <ritt.ks@gmail.com>
Date:	Thu Feb 25 18:55:28 2016 +0400

    Fix build with HB_DISABLE_DEPRECATED

    When HB_DISABLE_DEPRECATED is defined, no code from hb-deprecated.h
    should be used, even from within HB itself.

 src/hb-font.cc | 4 ++++
 1 file changed, 4 insertions(+)

commit 0c7fb7419c20d04b803412945565562c32b42929
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Thu Feb 25 14:40:09 2016 +0900

    Speed up buffer variable allocation sanity check

    This makes defining HB_NDEBUG much less relevant, to the
    point of irrelevance.  Sorry about all the fuss in previous
    release!

 src/hb-buffer-private.hh | 67
 ++++++++++++++++++++++++++++-----------------
 src/hb-buffer.cc	  | 70
 ------------------------------------------------
 2 files changed, 43 insertions(+), 94 deletions(-)

commit 91dd11565221bdb108c138662ea013aac14bb968
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Thu Feb 25 13:56:47 2016 +0900

    Add HB_NDEBUG

    API changes:
    - If NDEBUG is defined, define HB_NDEBUG
    - Disable costlier sanity checks if HB_NDEBUG is defined.

    In 1.2.3 introduced some code to disable costly sanity checks if
    NDEBUG is defined.	NDEBUG, however, disables all assert()s as
    well.  With HB_NDEBUG, one can disable costlier checks but keep
    assert()s.

    I'll probably add a way to define HB_NDEBUG automatically in
    release tarballs.  But for now, production systems that do NOT
    define NDEBUG, are encouraged to define HB_NDEBUG for our build.

 src/Makefile.am	  | 2 +-
 src/hb-buffer-private.hh | 4 ++--
 src/hb-buffer.cc	  | 4 ++--
 src/hb-private.hh	  | 9 +++++++++
 4 files changed, 14 insertions(+), 5 deletions(-)

commit 75568b0a7f811ea18e23037735ec8541a7431f88
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Thu Feb 25 12:26:26 2016 +0900

    1.2.3

 NEWS	      | 42 ++++++++++++++++++++++++++++++++++++++++++
 configure.ac |  2 +-
 2 files changed, 43 insertions(+), 1 deletion(-)

commit 988165021f8d48dc7120b071d056491256569f4f
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Thu Feb 25 12:23:02 2016 +0900

    Disable internal buffer variable bookkeeping in NDEBUG builds

    Saves some sweet time and binary size!

 src/Makefile.am	  |  1 +
 src/hb-buffer-private.hh | 30 ++++++++++++++++++++----------
 src/hb-buffer.cc	  |  6 ++++--
 3 files changed, 25 insertions(+), 12 deletions(-)

commit 94dd0bb7e78125994cb7c833a5b03110f1ffc822
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Thu Feb 25 11:31:03 2016 +0900

    Add blacklist signature for Times New Roman (Bold) Italic on OS X

 src/hb-ot-layout.cc | 2 ++
 1 file changed, 2 insertions(+)

commit dd8598c1c7f29fc92253b0cd4e856c1941b1d0c0
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Thu Feb 25 11:20:05 2016 +0900

    [test] Pass closure to hb_font_set_glyph_func()

    Exercises fix in c335fd7986fe360ab8e1c032c9b988d0d30511eb

 test/api/test-shape.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit e23cf902e91142a10229e3514be4ceee69efde04
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Thu Feb 25 11:11:15 2016 +0900

    Blacklist GDEF table of timesi.ttf and timesbi.ttf on Win 7

    See discussion:
    https://lists.freedesktop.org/archives/harfbuzz/2016-February/005489.html

 src/hb-ot-layout.cc | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

commit c335fd7986fe360ab8e1c032c9b988d0d30511eb
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Thu Feb 25 09:16:05 2016 +0900

    In trampoline implementation of get_glyph(), don't destroy user
    data twice!

 src/hb-font.cc | 41 +++++++++++++++++++++++++++--------------
 1 file changed, 27 insertions(+), 14 deletions(-)

commit 23335deaad9d4d9824ff41343264514d3f9f7e37
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Wed Feb 24 20:27:13 2016 +0900

    [ot-font] Accelerate cmap format4 get_glyph

 src/hb-ot-cmap-table.hh | 111
 ++++++++++++++++++++++++++++--------------------
 src/hb-ot-font.cc	 |  14 +++++-
 2 files changed, 77 insertions(+), 48 deletions(-)

commit e0f16a715bc3e621ff21a8be88102e9672630574
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Wed Feb 24 19:52:36 2016 +0900

    [ot-font] Towards accelerating get_glyph()

 src/hb-ot-font.cc | 23 ++++++++++++++++++++---
 1 file changed, 20 insertions(+), 3 deletions(-)

commit 5473ebfb84c7b6059ac16e04676b363acc51aa00
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Wed Feb 24 19:32:43 2016 +0900

    [ot-font] Remove level of indirection in get_glyph_variant

 src/hb-ot-cmap-table.hh | 14 ++------------
 src/hb-ot-font.cc	 | 13 +++++++++----
 2 files changed, 11 insertions(+), 16 deletions(-)

commit 49fe6ecf19522413e79a11a29aa0ffc5bdfcd2f8
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Wed Feb 24 19:10:06 2016 +0900

    [TODO] Update

    This file is rather obsolete.  Still, give it a refresh.

 TODO | 16 ++--------------
 1 file changed, 2 insertions(+), 14 deletions(-)

commit 8b5bc141cd3a6bfcea3c91a882a630426876ceb3
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Wed Feb 24 19:05:23 2016 +0900

    Add get_nominal_glyph() and get_variation_glyph() instead of
    get_glyph()

    New API:
    - hb_font_get_nominal_glyph_func_t
    - hb_font_get_variation_glyph_func_t
    - hb_font_funcs_set_nominal_glyph_func()
    - hb_font_funcs_set_variation_glyph_func()
    - hb_font_get_nominal_glyph()
    - hb_font_get_variation_glyph()

    Deprecated API:
    - hb_font_get_glyph_func_t
    - hb_font_funcs_set_glyph_func()

    Clients that implement their own font-funcs are encouraged to replace
    their get_glyph() implementation with a get_nominal_glyph() and
    get_variation_glyph() pair.  The variation version can assume that
    variation_selector argument is not zero.

 src/hb-deprecated.h		    |  10 ++
 src/hb-fallback-shape.cc	    |	4 +-
 src/hb-font-private.hh		    |  26 +++--
 src/hb-font.cc			    | 203
 ++++++++++++++++++++++++++++++++++---
 src/hb-font.h			    |  55 +++++++---
 src/hb-ft.cc			    |  38 ++++---
 src/hb-ot-font.cc		    |  57 +++++++----
 src/hb-ot-shape-complex-indic.cc   |	8 +-
 src/hb-ot-shape-complex-myanmar.cc |	2 +-
 src/hb-ot-shape-complex-use.cc     |	2 +-
 src/hb-ot-shape-fallback.cc	    |	6 +-
 src/hb-ot-shape-normalize.cc	    |  18 ++--
 src/hb-ot-shape.cc		    |	6 +-
 13 files changed, 344 insertions(+), 91 deletions(-)

commit b30a971bf792b9c683c345e1be25c5a5869a113c
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Wed Feb 24 17:32:22 2016 +0900

    1.2.2

 NEWS	      | 14 +++++++++++++-
 configure.ac |  2 +-
 2 files changed, 14 insertions(+), 2 deletions(-)

commit af48e3d27c01c538f46f1dc376d994a0c24a8170
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Wed Feb 24 16:06:40 2016 +0900

    Fix recent test

    Not sure why the FT functions were returning advance 1024.	This
    caused failure on drone.io.  Switch to hb-ot-font and disable
    glyph names.

 test/shaping/tests/cursive-positioning.tests | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 17c831701756bb46300c412fd64b19d67f299c18
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Wed Feb 24 16:06:23 2016 +0900

    [tests] Fix for multiple options in test runner scripts

 test/shaping/run-tests.sh | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit ebd7431f824c718db6ce5b85e94f2b3911127af4
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Wed Feb 24 15:53:40 2016 +0900

    Partially revert 86c68c7a2c971efe8e35b1f1bd99401dc8b688d2

    That commit moved the advance adjustment for mark positioning to
    be applied immediately, instead of doing late before.  This breaks
    if mark advances are zeroed late, like in Arabic.  Also, easier to
    hit it in RTL scripts since a single mark with non-zero advance is
    enough to hit the bug, whereas in LTR, at least two marks are needed.

    This reopens https://github.com/behdad/harfbuzz/issues/211
    The cursive+mark interaction is broken again.  To be fixed in a
    different way.

 src/hb-ot-layout-gpos-table.hh		      | 28
 ++++++++++++----------------
 test/shaping/tests/cursive-positioning.tests |  2 +-
 2 files changed, 13 insertions(+), 17 deletions(-)

commit 284481b3120963353f5f34ed094f07ffc13480ef
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Wed Feb 24 15:52:37 2016 +0900

    Add test for mark positioning in rtl with non-zero mark advance

    Apparently I broke this 86c68c7a2c971efe8e35b1f1bd99401dc8b688d2.
    Fix coming.

 .../sha1sum/07f054357ff8638bac3711b422a1e31180bba863.ttf  | Bin 0 ->
 848 bytes
 test/shaping/tests/cursive-positioning.tests		   |   1 +
 2 files changed, 1 insertion(+)

commit 56a84e8dd18c63782b8db3a86e94651dae5bb01b
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Wed Feb 24 15:50:33 2016 +0900

    [tests] Allow commenting out tests to be skipped

 test/shaping/run-tests.sh | 4 ++++
 1 file changed, 4 insertions(+)

commit 7cfd6cc486f2751d7f78c5008a636d677af4e12f
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Wed Feb 24 12:30:57 2016 +0900

    [Android.mk] Update with warning flags

 Android.mk | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit dabf32a5ad706726412ba5c64e1ea614a707b928
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Tue Feb 23 15:38:43 2016 +0900

    1.2.1

 NEWS	      | 13 +++++++++++++
 configure.ac |  2 +-
 2 files changed, 14 insertions(+), 1 deletion(-)

commit 525cc7d28cbe4e8149ddba677224f134dc0a3274
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Tue Feb 23 15:19:27 2016 +0900

    Add note re only adding tests with Free Software fonts

 test/shaping/README.md | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

commit 6a09d7e34b949f9929f616ee53278b2edfd9b7ea
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Tue Feb 23 13:47:16 2016 +0900

    [test] Add README about how to add shaping tests

 test/shaping/Makefile.am |  1 +
 test/shaping/README.md   | 37 +++++++++++++++++++++++++++++++++++++
 2 files changed, 38 insertions(+)

commit f8ee7906d0454d950081c621f2b04a6d08e1b92f
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Tue Feb 23 13:45:38 2016 +0900

    Remove MANIFEST files

    They are unused currently.	We can add later if we hook them up
    to anything useful.

 test/shaping/fonts/sha1sum/MANIFEST		    | 52
 ----------------------
 test/shaping/tests/MANIFEST			    | 19 --------
 test/shaping/texts/MANIFEST			    |  1 -
 test/shaping/texts/in-tree/MANIFEST		    |  9 ----
 test/shaping/texts/in-tree/shaper-arabic/MANIFEST  |  6 ---
 .../in-tree/shaper-arabic/script-arabic/MANIFEST   |  3 --
 .../script-arabic/language-persian/MANIFEST	    |  1 -
 .../script-arabic/language-urdu/MANIFEST	    |  1 -
 .../script-arabic/language-urdu/crulp/MANIFEST     |  1 -
 .../language-urdu/crulp/ligatures/MANIFEST	    |  7 ---
 .../shaper-arabic/script-arabic/misc/MANIFEST	    |  1 -
 .../script-arabic/misc/diacritics/MANIFEST	    |  7 ---
 .../in-tree/shaper-arabic/script-mandaic/MANIFEST  |  1 -
 .../shaper-arabic/script-mandaic/misc/MANIFEST     |  0
 .../shaper-arabic/script-mongolian/MANIFEST	    |  1 -
 .../shaper-arabic/script-mongolian/misc/MANIFEST   |  4 --
 .../in-tree/shaper-arabic/script-nko/MANIFEST	    |  1 -
 .../in-tree/shaper-arabic/script-nko/misc/MANIFEST |  1 -
 .../in-tree/shaper-arabic/script-phags-pa/MANIFEST |  1 -
 .../shaper-arabic/script-phags-pa/misc/MANIFEST    |  1 -
 .../in-tree/shaper-arabic/script-syriac/MANIFEST   |  1 -
 .../shaper-arabic/script-syriac/misc/MANIFEST	    |  2 -
 test/shaping/texts/in-tree/shaper-default/MANIFEST |  5 ---
 .../shaper-default/script-ethiopic/MANIFEST	    |  1 -
 .../shaper-default/script-ethiopic/misc/MANIFEST   |  1 -
 .../in-tree/shaper-default/script-han/MANIFEST     |  1 -
 .../shaper-default/script-han/misc/MANIFEST	    |  1 -
 .../shaper-default/script-hiragana/MANIFEST	    |  1 -
 .../shaper-default/script-hiragana/misc/MANIFEST   |  2 -
 .../shaper-default/script-linear-b/MANIFEST	    |  1 -
 .../shaper-default/script-linear-b/misc/MANIFEST   |  1 -
 .../shaper-default/script-tifinagh/MANIFEST	    |  1 -
 .../shaper-default/script-tifinagh/misc/MANIFEST   |  1 -
 test/shaping/texts/in-tree/shaper-hangul/MANIFEST  |  1 -
 .../in-tree/shaper-hangul/script-hangul/MANIFEST   |  1 -
 .../shaper-hangul/script-hangul/misc/MANIFEST	    |  1 -
 test/shaping/texts/in-tree/shaper-hebrew/MANIFEST  |  1 -
 .../in-tree/shaper-hebrew/script-hebrew/MANIFEST   |  1 -
 .../shaper-hebrew/script-hebrew/misc/MANIFEST	    |  1 -
 test/shaping/texts/in-tree/shaper-indic/MANIFEST   |  2 -
 .../texts/in-tree/shaper-indic/indic/MANIFEST	    | 11 -----
 .../shaper-indic/indic/script-assamese/MANIFEST    |  2 -
 .../indic/script-assamese/misc/MANIFEST	    |  0
 .../indic/script-assamese/utrrs/MANIFEST	    |  3 --
 .../indic/script-assamese/utrrs/codepoint/MANIFEST |  7 ---
 .../indic/script-assamese/utrrs/gpos/MANIFEST	    |  2 -
 .../indic/script-assamese/utrrs/gsub/MANIFEST	    |  1 -
 .../shaper-indic/indic/script-bengali/MANIFEST     |  2 -
 .../indic/script-bengali/misc/MANIFEST		    |  2 -
 .../indic/script-bengali/utrrs/MANIFEST	    |  3 --
 .../indic/script-bengali/utrrs/codepoint/MANIFEST  |  7 ---
 .../indic/script-bengali/utrrs/gpos/MANIFEST	    |  2 -
 .../indic/script-bengali/utrrs/gsub/MANIFEST	    |  1 -
 .../shaper-indic/indic/script-devanagari/MANIFEST  |  2 -
 .../indic/script-devanagari/misc/MANIFEST	    |  6 ---
 .../indic/script-devanagari/utrrs/MANIFEST	    |  3 --
 .../script-devanagari/utrrs/codepoint/MANIFEST     |  9 ----
 .../indic/script-devanagari/utrrs/gpos/MANIFEST    |  2 -
 .../indic/script-devanagari/utrrs/gsub/MANIFEST    |  1 -
 .../shaper-indic/indic/script-gujarati/MANIFEST    |  2 -
 .../indic/script-gujarati/misc/MANIFEST	    |  0
 .../indic/script-gujarati/utrrs/MANIFEST	    |  3 --
 .../indic/script-gujarati/utrrs/codepoint/MANIFEST |  7 ---
 .../indic/script-gujarati/utrrs/gpos/MANIFEST	    |  2 -
 .../indic/script-gujarati/utrrs/gsub/MANIFEST	    |  1 -
 .../shaper-indic/indic/script-gurmukhi/MANIFEST    |  2 -
 .../indic/script-gurmukhi/misc/MANIFEST	    |  1 -
 .../indic/script-gurmukhi/utrrs/MANIFEST	    |  3 --
 .../indic/script-gurmukhi/utrrs/codepoint/MANIFEST |  7 ---
 .../indic/script-gurmukhi/utrrs/gpos/MANIFEST	    |  2 -
 .../indic/script-gurmukhi/utrrs/gsub/MANIFEST	    |  1 -
 .../shaper-indic/indic/script-kannada/MANIFEST     |  2 -
 .../indic/script-kannada/misc/MANIFEST		    |  2 -
 .../indic/script-kannada/utrrs/MANIFEST	    |  3 --
 .../indic/script-kannada/utrrs/codepoint/MANIFEST  |  8 ----
 .../indic/script-kannada/utrrs/gpos/MANIFEST	    |  1 -
 .../indic/script-kannada/utrrs/gsub/MANIFEST	    |  1 -
 .../shaper-indic/indic/script-malayalam/MANIFEST   |  2 -
 .../indic/script-malayalam/misc/MANIFEST	    |  3 --
 .../indic/script-malayalam/utrrs/MANIFEST	    |  2 -
 .../script-malayalam/utrrs/codepoint/MANIFEST	    |  7 ---
 .../indic/script-malayalam/utrrs/gsub/MANIFEST     |  1 -
 .../shaper-indic/indic/script-oriya/MANIFEST	    |  2 -
 .../shaper-indic/indic/script-oriya/misc/MANIFEST  |  2 -
 .../shaper-indic/indic/script-oriya/utrrs/MANIFEST |  2 -
 .../indic/script-oriya/utrrs/codepoint/MANIFEST    |  9 ----
 .../indic/script-oriya/utrrs/gsub/MANIFEST	    |  1 -
 .../shaper-indic/indic/script-sinhala/MANIFEST     |  2 -
 .../indic/script-sinhala/misc/MANIFEST		    |  4 --
 .../indic/script-sinhala/utrrs/MANIFEST	    |  3 --
 .../indic/script-sinhala/utrrs/codepoint/MANIFEST  |  5 ---
 .../indic/script-sinhala/utrrs/gpos/MANIFEST	    |  1 -
 .../indic/script-sinhala/utrrs/gsub/MANIFEST	    |  7 ---
 .../shaper-indic/indic/script-tamil/MANIFEST	    |  2 -
 .../shaper-indic/indic/script-tamil/misc/MANIFEST  |  1 -
 .../shaper-indic/indic/script-tamil/utrrs/MANIFEST |  3 --
 .../indic/script-tamil/utrrs/codepoint/MANIFEST    | 10 -----
 .../indic/script-tamil/utrrs/gpos/MANIFEST	    |  2 -
 .../indic/script-tamil/utrrs/gsub/MANIFEST	    |  1 -
 .../shaper-indic/indic/script-telugu/MANIFEST	    |  2 -
 .../shaper-indic/indic/script-telugu/misc/MANIFEST |  1 -
 .../indic/script-telugu/utrrs/MANIFEST		    |  3 --
 .../indic/script-telugu/utrrs/codepoint/MANIFEST   |  7 ---
 .../indic/script-telugu/utrrs/gpos/MANIFEST	    |  1 -
 .../indic/script-telugu/utrrs/gsub/MANIFEST	    |  1 -
 .../in-tree/shaper-indic/south-east-asian/MANIFEST |  1 -
 .../south-east-asian/script-khmer/MANIFEST	    |  1 -
 .../south-east-asian/script-khmer/misc/MANIFEST    |  3 --
 test/shaping/texts/in-tree/shaper-myanmar/MANIFEST |  1 -
 .../in-tree/shaper-myanmar/script-myanmar/MANIFEST |  1 -
 .../shaper-myanmar/script-myanmar/misc/MANIFEST    |  3 --
 test/shaping/texts/in-tree/shaper-thai/MANIFEST    |  2 -
 .../texts/in-tree/shaper-thai/script-lao/MANIFEST  |  1 -
 .../in-tree/shaper-thai/script-lao/misc/MANIFEST   |  1 -
 .../texts/in-tree/shaper-thai/script-thai/MANIFEST |  1 -
 .../in-tree/shaper-thai/script-thai/misc/MANIFEST  |  4 --
 test/shaping/texts/in-tree/shaper-tibetan/MANIFEST |  1 -
 .../in-tree/shaper-tibetan/script-tibetan/MANIFEST |  1 -
 .../shaper-tibetan/script-tibetan/misc/MANIFEST    |  1 -
 test/shaping/texts/in-tree/shaper-use/MANIFEST     |  6 ---
 .../texts/in-tree/shaper-use/script-batak/MANIFEST |  1 -
 .../in-tree/shaper-use/script-buginese/MANIFEST    |  1 -
 .../texts/in-tree/shaper-use/script-cham/MANIFEST  |  1 -
 .../in-tree/shaper-use/script-kaithi/MANIFEST	    |  1 -
 .../in-tree/shaper-use/script-kharoshti/MANIFEST   |  1 -
 .../in-tree/shaper-use/script-tai-tham/MANIFEST    |  2 -
 126 files changed, 381 deletions(-)

commit 815bdd7700155efcffa9a4c3ca5bfc31833d0586
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Mon Feb 22 18:22:44 2016 +0900

    In cluster-level=0, group ZWJ/ZWNJ with previous cluster

    This better emulates Unicode grapheme clusters.

    Note that Uniscribe does NOT do this, but should be harmless with
    most clients,
    and improve fallback with clients that use HarfBuzz cluster as unit
    of fallback.

    Fixes https://github.com/behdad/harfbuzz/issues/217

 src/hb-ot-layout-private.hh			       | 6 ++++++
 src/hb-ot-shape.cc				       | 3 ++-
 test/shaping/tests/indic-joiner-candrabindu.tests     | 2 +-
 test/shaping/tests/mongolian-variation-selector.tests | 2 +-
 4 files changed, 10 insertions(+), 3 deletions(-)

commit 89137e325a19d62fb00979e1e8ab2ca59a2c1147
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Mon Feb 22 16:00:59 2016 +0900

    Minor

 src/hb-coretext.cc | 2 +-
 src/hb-ot-shape.cc | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 15063b12f7619d4f44981248e28f38c172d12e1f
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Mon Feb 22 15:56:29 2016 +0900

    [coretext] Move CTFont construction to face_data

 src/hb-coretext.cc | 66
 +++++++++++++++++++++++++-----------------------------
 1 file changed, 30 insertions(+), 36 deletions(-)

commit ba3d49d9a56932d341bf1916a30f322be665e3a6
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Mon Feb 22 15:50:12 2016 +0900

    [coretext] Move code around

 src/hb-coretext.cc | 70
 +++++++++++++++++++++++++++++++-----------------------
 1 file changed, 40 insertions(+), 30 deletions(-)

commit 90194efb8480d58c55b7a19962624c7aadbdca63
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Mon Feb 22 15:42:53 2016 +0900

    [coretext] Move code around

 src/hb-coretext.cc | 46 ++++++++++++++++++++++++++--------------------
 1 file changed, 26 insertions(+), 20 deletions(-)

commit ca539e37a4b71e585a267a288db1a3975cbb99fc
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Mon Feb 22 15:37:18 2016 +0900

    [build] git.mk fix for m4/gtk-doc.m4

 Makefile.am | 1 +
 1 file changed, 1 insertion(+)

commit 54788cb1ecc5a5ffd63d07cd1f0b07b2afa9a8ca
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Mon Feb 22 15:32:52 2016 +0900

    [win32] Install git.mk

 win32/Makefile.am | 2 ++
 1 file changed, 2 insertions(+)

commit 9a13ed453ef96822a47d6e6f58332b87f38d5c59
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Mon Feb 22 11:44:45 2016 +0900

    Make FixedVersion a template

 src/hb-open-file-private.hh	      | 4 ++--
 src/hb-open-type-private.hh	      | 9 +++++----
 src/hb-ot-head-table.hh	      | 4 ++--
 src/hb-ot-hhea-table.hh	      | 2 +-
 src/hb-ot-layout-gdef-table.hh       | 2 +-
 src/hb-ot-layout-gsubgpos-private.hh | 2 +-
 src/hb-ot-layout-jstf-table.hh       | 2 +-
 src/hb-ot-maxp-table.hh	      | 2 +-
 8 files changed, 14 insertions(+), 13 deletions(-)

commit 238b943e850ea1ab0093e12c74d2cd7c686f318e
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Mon Feb 22 15:31:22 2016 +0900

    [coretext] Fix leak!

 src/hb-coretext.cc | 1 +
 1 file changed, 1 insertion(+)

commit e561122856a50ed405d71cb1629317e7ae63f316
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Mon Feb 22 15:28:37 2016 +0900

    [coretext] Move code around

 src/hb-coretext.cc | 109
 ++++++++++++++++++++++++++++++-----------------------
 1 file changed, 62 insertions(+), 47 deletions(-)

commit 04c64431530a4a6d9ebd33674c4665a8e6d25bdd
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Mon Feb 22 15:12:27 2016 +0900

    [coretext] Ignore PPEM in font size selection

 src/hb-coretext.cc | 14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

commit 62c2711121fe78f373c15c0f53090b62b52d11c1
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Mon Feb 22 15:07:20 2016 +0900

    [coretext] Limit grapheme-cluster forming to cluster-level=0

 src/hb-coretext.cc | 1 +
 src/hb-ot-shape.cc | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

commit 061105ec443eb7350ffe217305f9d8902c179e2f
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Mon Feb 22 14:59:39 2016 +0900

    [coretext] Fix shaping with varying font size

    Fixes https://github.com/libass/libass/issues/212

 src/hb-coretext.cc | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 27847cab1264b4ce8342603f4626b4e0645979e4
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Fri Feb 19 15:56:50 2016 +0700

    1.2.0

 NEWS	      | 20 ++++++++++++++++++++
 configure.ac |  2 +-
 2 files changed, 21 insertions(+), 1 deletion(-)

commit c3731559042e1730e85d19574321ad850010f7de
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Fri Feb 19 15:13:07 2016 +0700

    [fuzzing] Add test for recent fix

    Test from https://github.com/behdad/harfbuzz/issues/223

    I forgot that we do run hb-fuzzer on tests in
    shaping/tests/fuzzed.tests.

 .../sha1sum/205edd09bd3d141cc9580f650109556cc28b22cb.ttf | Bin 0 ->
 1966 bytes
 test/shaping/fonts/sha1sum/MANIFEST			  |   1 +
 test/shaping/tests/fuzzed.tests			  |   1 +
 3 files changed, 2 insertions(+)

commit aa33cb72ab29c31e87f0cca9a0e72fe3a68247b7
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Fri Feb 19 15:12:24 2016 +0700

    [fuzzing] Make test runner actually work

 test/fuzzing/Makefile.am | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

commit 2735555c6b0c95db7dfc2b391f92a1a5c06084c4
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Fri Feb 19 15:12:16 2016 +0700

    [fuzzing] Add TODO item

 test/fuzzing/hb-fuzzer.cc | 1 +
 1 file changed, 1 insertion(+)

commit b87e36f6f119fac80b8fd55f3abae563c2c5b798
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Fri Feb 19 14:52:31 2016 +0700

    Avoid buffer->move_to() in case of buffer error

    Fixes https://github.com/behdad/harfbuzz/issues/223

    Right now we cannot test this because it has to be tested using
    hb-fuzzer.
    We should move all fuzzing tests from test/shaping/tests/fuzzed.tests
    to
    test/fuzzing/ and have its own test runner.  At that point, should add
    test from this issue as well.

 src/hb-buffer.cc		      | 2 ++
 src/hb-ot-layout-gsubgpos-private.hh | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

commit 7e76bbabbaa56af314abff8ddba8866c634919cd
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Fri Feb 19 14:43:39 2016 +0700

    [fuzzing] Make "make hb-fuzzer" build lib dependency

    Not going to do with util/, but is convenient here.

 test/fuzzing/Makefile.am | 3 +++
 1 file changed, 3 insertions(+)

commit 568a0c60e8695a6ad8a93ec60d55b137c48890cb
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Thu Feb 18 19:31:51 2016 +0700

    Remove pointless overflow check in pointer math

    Fixes https://github.com/behdad/harfbuzz/issues/227

 src/hb-blob.cc | 1 -
 1 file changed, 1 deletion(-)

commit aae2847099cbf05bf0668fbe526fc58736837c1b
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Thu Feb 18 17:06:25 2016 +0700

    Emoji skin tone modifiers need to be treated as combining marks

    Fixes https://github.com/behdad/harfbuzz/issues/169

 src/hb-ot-layout-private.hh | 15 ++++++++++++++-
 src/hb-unicode-private.hh   |	5 +++--
 2 files changed, 17 insertions(+), 3 deletions(-)

commit da41e48f0a1a6af6d44ef25185d2421a29bd4166
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Tue Feb 16 17:16:33 2016 +0700

    [USE] Zero mark advances by GDEF early

    This is what Microsoft's implementation does.  Marks that need advance
    need to add it back using 'dist' or other feature in GPOS.
    Update tests to
    match.

 src/hb-ot-shape-complex-use.cc				  |   2 +-
 test/shaping/fonts/sha1sum/MANIFEST			  |   1 +
 .../sha1sum/f518eb6f6b5eec2946c9fbbbde44e45d46f5e2ac.ttf | Bin 0 ->
 1356 bytes
 test/shaping/tests/context-matching.tests		  |   2 +-
 test/shaping/tests/use.tests				  |   2 ++
 5 files changed, 5 insertions(+), 2 deletions(-)

commit 86c68c7a2c971efe8e35b1f1bd99401dc8b688d2
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Tue Feb 16 16:07:20 2016 +0700

    [GPOS] Fix interaction of mark attachments and cursive chaining

    Fixes https://github.com/behdad/harfbuzz/issues/211

    What happens in that bug is that a mark is attached to base first,
    then a second mark is cursive-chained to the first mark.  This only
    "works" because it's in the Indic shaper where mark advances are
    not zeroed.

    Before, we didn't allow cursive to run on marks at all.  Fix that.
    We also where updating mark major offsets at the end of GPOS, such
    that changes in advance of base will not change the mark attachment
    position.  That was superior to the alternative (which is what
    Uniscribe
    does BTW), but made it hard to apply cursive to the mark after it
    was positioned.  We could track major-direction offset changes and
    apply that to cursive in the post process, but that's a much trickier
    thing to do than the fix here, which is to immediately apply the
    major-direction advance-width offsets...  Ie.:

    https://github.com/behdad/harfbuzz/issues/211#issuecomment-183194739

    If this breaks any fonts, the font should be fixed to do mark
    attachment
    after all the advances are set up first (kerning, etc).

    Finally, this, still doesn't make us match Uniscribe, for I explained
    in that bug.  Looks like Uniscribe applies minor-direction cursive
    adjustment immediate as well.  We don't, and we like it our way, at
    least for now.  Eg. the sequence in the test case does this:

    - The first subscript attaches with mark-to-base, moving in x only,
    - The second subscript attaches with cursive attachment to first
    subscript
      moving in x only,
    - A final context rule moves the first subscript up by 104 units.

    The way we do, the final shift-up, also shifts up the second subscript
    mark because it's cursively-attached.  Uniscribe doesn't.  We get:

    [ttaorya=0+1307|casubscriptorya=0@-242,104+-231|casubscriptnarroworya=0@20,104+507]

    while Uniscribe gets:

    [ttaorya=0+1307|casubscriptorya=0@-242,104+-211|casubscriptnarroworya=0+487]

    note the different y-offset of the last glyph.  In our view,
    after cursive,
    things move together, period.

 src/hb-ot-layout-gpos-table.hh			    |  31
 +++++++++++----------
 .../706c5d7b625f207bc0d874c67237aad6f1e9cd6f.ttf   | Bin 0 -> 3868 bytes
 test/shaping/fonts/sha1sum/MANIFEST		    |	1 +
 test/shaping/tests/cursive-positioning.tests	    |	1 +
 4 files changed, 18 insertions(+), 15 deletions(-)

commit 80c8855cfeffa028d74a25df884d0e5577c95c6c
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Fri Feb 12 12:50:17 2016 +0700

    Minor

 src/hb-common.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 6ab920224c32e38072a0bec5e84d4b0d58b74167
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Thu Feb 11 16:57:52 2016 +0700

    [GPOS] Minor

    No effect.

 src/hb-ot-layout-gpos-table.hh | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit cbc3a76c5a38ab24f72e80357377711bd3f54d56
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Thu Feb 11 16:48:13 2016 +0700

    [GPOS] Merge fixing of offsets for cursive and mark attachments

    Part of fixing https://github.com/behdad/harfbuzz/issues/211

 src/hb-buffer-private.hh	|  3 +-
 src/hb-ot-layout-gpos-table.hh | 73
 ++++++++++++++++++------------------------
 2 files changed, 33 insertions(+), 43 deletions(-)

commit 7d8d58ac81fe267e29ea68cdc6f4a4fa8c22d40f
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Thu Feb 11 16:34:28 2016 +0700

    [GPOS] Divide position_finish() into two phases, for advances
    and offsets

    Right now the position_finish_advances() is empty.	To be used for
    spacing attachments proposal later.

 src/hb-ot-layout-gpos-table.hh | 11 +++++++++--
 src/hb-ot-layout-gsub-table.hh |  6 ------
 src/hb-ot-layout-private.hh	| 19 +++++++++----------
 src/hb-ot-layout.cc		| 16 ++++++++--------
 src/hb-ot-shape.cc		|  7 +++----
 5 files changed, 29 insertions(+), 30 deletions(-)

commit 8474231567a08873cc5e0aa08fea60316a04c27e
Author: Behdad Esfahbod <behdad@behdad.org>
Date:	Thu Feb 11 16:27:41 2016 +0700

    [ot] Minor shuffling code around

 src/hb-ot-layout-gpos-table.hh |  2 --
 src/hb-ot-shape.cc		| 13 ++++++++-----
 2 files changed, 8 insertions(+), 7 deletions(-)

commit b0b11614e9fb9ecd1faae28b0ed71ac6bf5c1266
Author: Behdad Esfahbod <behdad@behdad.org>
