summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2015-09-02 06:57:51 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2015-09-02 06:57:51 +0000
commitd67729aa4d5897be113d62b655d4b63173a918fa (patch)
tree820d15f96ef722d1b1ad79c2962d27cbc6befd17 /Build
parentd2b12940352e1761a74d89bdd3c8eebee49b1d04 (diff)
harfbuzz 1.0.3
git-svn-id: svn://tug.org/texlive/trunk@38273 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r--Build/source/libs/README2
-rw-r--r--Build/source/libs/harfbuzz/ChangeLog5
-rw-r--r--Build/source/libs/harfbuzz/Makefile.in4
-rwxr-xr-xBuild/source/libs/harfbuzz/configure32
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3-PATCHES/ChangeLog (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2-PATCHES/ChangeLog)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3-PATCHES/TL-Changes (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2-PATCHES/TL-Changes)2
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/AUTHORS (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/AUTHORS)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/Android.mk (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/Android.mk)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/ChangeLog (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/ChangeLog)437
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/Makefile.am (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/Makefile.am)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/NEWS (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/NEWS)11
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/README (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/README)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/README.python (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/README.python)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/THANKS (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/THANKS)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/TODO (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/TODO)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-1.0.3/autogen.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/autogen.sh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/config.h.in (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/config.h.in)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/configure.ac (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/configure.ac)5
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/gtk-doc.make (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/gtk-doc.make)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/harfbuzz.doap (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/harfbuzz.doap)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/Makefile.am (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/Makefile.am)1
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-1.0.3/src/check-c-linkage-decls.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/check-c-linkage-decls.sh)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-1.0.3/src/check-defs.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/check-defs.sh)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-1.0.3/src/check-header-guards.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/check-header-guards.sh)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-1.0.3/src/check-includes.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/check-includes.sh)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-1.0.3/src/check-libstdc++.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/check-libstdc++.sh)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-1.0.3/src/check-static-inits.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/check-static-inits.sh)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-1.0.3/src/check-symbols.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/check-symbols.sh)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-1.0.3/src/gen-arabic-table.py (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/gen-arabic-table.py)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-1.0.3/src/gen-indic-table.py (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/gen-indic-table.py)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-1.0.3/src/gen-use-table.py (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/gen-use-table.py)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/harfbuzz-gobject.pc.in (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/harfbuzz-gobject.pc.in)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/harfbuzz-icu.pc.in (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/harfbuzz-icu.pc.in)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/harfbuzz.pc.in (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/harfbuzz.pc.in)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-atomic-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-atomic-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-blob.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-blob.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-blob.h (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-blob.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-buffer-deserialize-json.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-buffer-deserialize-json.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-buffer-deserialize-json.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-buffer-deserialize-json.rl)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-buffer-deserialize-text.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-buffer-deserialize-text.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-buffer-deserialize-text.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-buffer-deserialize-text.rl)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-buffer-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-buffer-private.hh)2
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-buffer-serialize.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-buffer-serialize.cc)17
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-buffer.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-buffer.cc)25
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-buffer.h (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-buffer.h)3
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-cache-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-cache-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-common.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-common.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-common.h (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-common.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-coretext.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-coretext.cc)20
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-coretext.h (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-coretext.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-deprecated.h (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-deprecated.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-face-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-face-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-face.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-face.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-face.h (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-face.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-fallback-shape.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-fallback-shape.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-font-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-font-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-font.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-font.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-font.h (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-font.h)9
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ft.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ft.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ft.h (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ft.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-glib.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-glib.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-glib.h (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-glib.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-gobject-enums.cc.tmpl (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-gobject-enums.cc.tmpl)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-gobject-enums.h.tmpl (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-gobject-enums.h.tmpl)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-gobject-structs.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-gobject-structs.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-gobject-structs.h (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-gobject-structs.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-gobject.h (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-gobject.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-graphite2.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-graphite2.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-graphite2.h (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-graphite2.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-icu.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-icu.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-icu.h (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-icu.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-mutex-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-mutex-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-object-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-object-private.hh)21
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-open-file-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-open-file-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-open-type-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-open-type-private.hh)16
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-cmap-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-cmap-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-font.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-font.cc)90
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-font.h (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-font.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-glyf-table.hh104
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-head-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-head-table.hh)3
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-hhea-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-hhea-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-hmtx-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-hmtx-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-layout-common-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-layout-common-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-layout-gdef-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-layout-gdef-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-layout-gpos-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-layout-gpos-table.hh)70
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-layout-gsub-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-layout-gsub-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-layout-gsubgpos-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-layout-gsubgpos-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-layout-jstf-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-layout-jstf-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-layout-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-layout-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-layout.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-layout.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-layout.h (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-layout.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-map-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-map-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-map.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-map.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-maxp-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-maxp-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-name-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-name-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-arabic-fallback.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-arabic-fallback.hh)6
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-arabic-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-arabic-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-arabic-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-arabic-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-arabic-win1256.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-arabic-win1256.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-arabic.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-arabic.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-default.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-default.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-hangul.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-hangul.cc)2
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-hebrew.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-hebrew.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-indic-machine.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-indic-machine.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-indic-machine.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-indic-machine.rl)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-indic-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-indic-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-indic-table.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-indic-table.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-indic.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-indic.cc)23
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-myanmar-machine.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-myanmar-machine.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-myanmar-machine.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-myanmar-machine.rl)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-myanmar.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-myanmar.cc)3
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-thai.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-thai.cc)2
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-tibetan.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-tibetan.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-use-machine.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-use-machine.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-use-machine.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-use-machine.rl)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-use-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-use-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-use-table.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-use-table.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-use.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-use.cc)4
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-fallback-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-fallback-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-fallback.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-fallback.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-normalize-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-normalize-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-normalize.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-normalize.cc)6
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape.cc)5
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape.h (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-tag.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-tag.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-tag.h (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-tag.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot.h (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-private.hh)54
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-set-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-set-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-set.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-set.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-set.h (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-set.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-shape-plan-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-shape-plan-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-shape-plan.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-shape-plan.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-shape-plan.h (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-shape-plan.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-shape.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-shape.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-shape.h (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-shape.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-shaper-impl-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-shaper-impl-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-shaper-list.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-shaper-list.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-shaper-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-shaper-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-shaper.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-shaper.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ucdn.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ucdn.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-unicode-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-unicode-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-unicode.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-unicode.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-unicode.h (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-unicode.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-uniscribe.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-uniscribe.cc)8
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-uniscribe.h (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-uniscribe.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-utf-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-utf-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-version.h.in (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-version.h.in)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-warning.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-warning.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb.h (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/main.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/main.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/test-buffer-serialize.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/test-buffer-serialize.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/test-size-params.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/test-size-params.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/test-would-substitute.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/test-would-substitute.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/test.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/test.cc)0
-rw-r--r--Build/source/libs/harfbuzz/version.ac2
158 files changed, 874 insertions, 120 deletions
diff --git a/Build/source/libs/README b/Build/source/libs/README
index 5b8fc80a7e6..a342ad5a524 100644
--- a/Build/source/libs/README
+++ b/Build/source/libs/README
@@ -24,7 +24,7 @@ gmp 6.0.0 - checked 25mar14
graphite2 1.3.1 - checked 31aug15
http://sourceforge.net/projects/silgraphite/files/graphite2/
-harfbuzz 1.0.2 - checked 20aug15
+harfbuzz 1.0.3 - checked 2sep15
http://www.freedesktop.org/software/harfbuzz/release/
icu 55.1 (release) - checked 12apr15
diff --git a/Build/source/libs/harfbuzz/ChangeLog b/Build/source/libs/harfbuzz/ChangeLog
index 41666954e8b..136ac91e7a9 100644
--- a/Build/source/libs/harfbuzz/ChangeLog
+++ b/Build/source/libs/harfbuzz/ChangeLog
@@ -1,3 +1,8 @@
+2015-09-02 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Import harfbuzz-1.0.3.
+ * version.ac: Adjust.
+
2015-08-20 Peter Breitenlohner <peb@mppmu.mpg.de>
Import harfbuzz-1.0.2.
diff --git a/Build/source/libs/harfbuzz/Makefile.in b/Build/source/libs/harfbuzz/Makefile.in
index 47607d0b573..67d0ce6c754 100644
--- a/Build/source/libs/harfbuzz/Makefile.in
+++ b/Build/source/libs/harfbuzz/Makefile.in
@@ -461,7 +461,7 @@ am__DIST_COMMON = $(srcdir)/../../am/dist_hook.am \
$(top_srcdir)/../../build-aux/install-sh \
$(top_srcdir)/../../build-aux/missing \
$(top_srcdir)/../../build-aux/test-driver \
- $(top_srcdir)/harfbuzz-1.0.2/src/hb-version.h.in \
+ $(top_srcdir)/harfbuzz-1.0.3/src/hb-version.h.in \
../../build-aux/compile ../../build-aux/config.guess \
../../build-aux/config.sub ../../build-aux/depcomp \
../../build-aux/install-sh ../../build-aux/ltmain.sh \
@@ -789,7 +789,7 @@ $(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
distclean-hdr:
-rm -f config.h stamp-h1
-hb-version.h: $(top_builddir)/config.status $(top_srcdir)/harfbuzz-1.0.2/src/hb-version.h.in
+hb-version.h: $(top_builddir)/config.status $(top_srcdir)/harfbuzz-1.0.3/src/hb-version.h.in
cd $(top_builddir) && $(SHELL) ./config.status $@
clean-noinstLIBRARIES:
diff --git a/Build/source/libs/harfbuzz/configure b/Build/source/libs/harfbuzz/configure
index 26d2ad28283..034a96ecd8c 100755
--- a/Build/source/libs/harfbuzz/configure
+++ b/Build/source/libs/harfbuzz/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for harfbuzz (TeX Live) 1.0.2.
+# Generated by GNU Autoconf 2.69 for harfbuzz (TeX Live) 1.0.3.
#
# Report bugs to <tex-k@tug.org>.
#
@@ -580,12 +580,12 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='harfbuzz (TeX Live)'
PACKAGE_TARNAME='harfbuzz--tex-live-'
-PACKAGE_VERSION='1.0.2'
-PACKAGE_STRING='harfbuzz (TeX Live) 1.0.2'
+PACKAGE_VERSION='1.0.3'
+PACKAGE_STRING='harfbuzz (TeX Live) 1.0.3'
PACKAGE_BUGREPORT='tex-k@tug.org'
PACKAGE_URL=''
-ac_unique_file="harfbuzz-1.0.2/src/harfbuzz.pc.in"
+ac_unique_file="harfbuzz-1.0.3/src/harfbuzz.pc.in"
# Factoring default headers for most tests.
ac_includes_default="\
#include <stdio.h>
@@ -1312,7 +1312,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures harfbuzz (TeX Live) 1.0.2 to adapt to many kinds of systems.
+\`configure' configures harfbuzz (TeX Live) 1.0.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1383,7 +1383,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of harfbuzz (TeX Live) 1.0.2:";;
+ short | recursive ) echo "Configuration of harfbuzz (TeX Live) 1.0.3:";;
esac
cat <<\_ACEOF
@@ -1490,7 +1490,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-harfbuzz (TeX Live) configure 1.0.2
+harfbuzz (TeX Live) configure 1.0.3
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2080,7 +2080,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by harfbuzz (TeX Live) $as_me 1.0.2, which was
+It was created by harfbuzz (TeX Live) $as_me 1.0.3, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -4003,7 +4003,7 @@ fi
# Define the identity of the package.
PACKAGE='harfbuzz--tex-live-'
- VERSION='1.0.2'
+ VERSION='1.0.3'
cat >>confdefs.h <<_ACEOF
@@ -4206,8 +4206,8 @@ WARNING_CFLAGS=$kpse_cv_warning_cflags
HB_VERSION_MAJOR=1
HB_VERSION_MINOR=0
-HB_VERSION_MICRO=2
-HB_VERSION=1.0.2
+HB_VERSION_MICRO=3
+HB_VERSION=1.0.3
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
@@ -6310,14 +6310,14 @@ $as_echo "#define HAVE_INTEL_ATOMIC_PRIMITIVES 1" >>confdefs.h
fi
-HARFBUZZ_TREE=harfbuzz-1.0.2
+HARFBUZZ_TREE=harfbuzz-1.0.3
if test -f $srcdir/$HARFBUZZ_TREE/src/hb-version.h; then
as_fn_error $? "Sorry, you must remove the file $HARFBUZZ_TREE/src/hb-version.h" "$LINENO" 5
fi
-ac_config_files="$ac_config_files Makefile include/Makefile hb-version.h:harfbuzz-1.0.2/src/hb-version.h.in"
+ac_config_files="$ac_config_files Makefile include/Makefile hb-version.h:harfbuzz-1.0.3/src/hb-version.h.in"
cat >confcache <<\_ACEOF
@@ -6866,7 +6866,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by harfbuzz (TeX Live) $as_me 1.0.2, which was
+This file was extended by harfbuzz (TeX Live) $as_me 1.0.3, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -6932,7 +6932,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-harfbuzz (TeX Live) config.status 1.0.2
+harfbuzz (TeX Live) config.status 1.0.3
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -7065,7 +7065,7 @@ do
"config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
- "hb-version.h") CONFIG_FILES="$CONFIG_FILES hb-version.h:harfbuzz-1.0.2/src/hb-version.h.in" ;;
+ "hb-version.h") CONFIG_FILES="$CONFIG_FILES hb-version.h:harfbuzz-1.0.3/src/hb-version.h.in" ;;
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
esac
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2-PATCHES/ChangeLog b/Build/source/libs/harfbuzz/harfbuzz-1.0.3-PATCHES/ChangeLog
index 62fff4f77ce..62fff4f77ce 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2-PATCHES/ChangeLog
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3-PATCHES/ChangeLog
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2-PATCHES/TL-Changes b/Build/source/libs/harfbuzz/harfbuzz-1.0.3-PATCHES/TL-Changes
index 7113c1bde37..29e430c87e1 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2-PATCHES/TL-Changes
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3-PATCHES/TL-Changes
@@ -1,4 +1,4 @@
-Changes applied to the harfbuzz-1.0.2/ tree as obtained from:
+Changes applied to the harfbuzz-1.0.3/ tree as obtained from:
http://www.freedesktop.org/software/harfbuzz/release/
Removed:
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/AUTHORS b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/AUTHORS
index 81cdc4cf37f..81cdc4cf37f 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/AUTHORS
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/AUTHORS
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/Android.mk b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/Android.mk
index 2c266221d85..2c266221d85 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/Android.mk
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/Android.mk
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/ChangeLog b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/ChangeLog
index 47286d1d599..dc4b594effc 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/ChangeLog
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/ChangeLog
@@ -1,3 +1,440 @@
+commit 5828c45d7a816ccd0a7f10a665ea3cf8cfd63b05
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Sep 1 16:26:35 2015 +0100
+
+ [indic] Add comments to merge_clusters calls
+
+ src/hb-ot-shape-complex-indic.cc | 21 ++++++++++++++++-----
+ 1 file changed, 16 insertions(+), 5 deletions(-)
+
+commit bdc8215949a7add742cc800b4fdea6acaa37d152
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Sep 1 16:24:54 2015 +0100
+
+ [thai] Respect cluster-level > 0
+
+ src/hb-ot-shape-complex-thai.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 5b31fe383ead726ec77062501ed3bb24c02842b3
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Sep 1 16:24:34 2015 +0100
+
+ [use] Merge /before/ reordering
+
+ src/hb-ot-shape-complex-use.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 0d438f89bd9422c66838c776eb4aa867de0a2ad8
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Sep 1 16:24:13 2015 +0100
+
+ [hangul] Merge /before/ reordering
+
+ src/hb-ot-shape-complex-hangul.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit f883de664fc4bfe01e30c89e07e31dc113f906d9
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Sep 1 16:23:40 2015 +0100
+
+ [OT] Merge /before/ reordering
+
+ src/hb-ot-shape.cc | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit c403d6320074455a5e8e48902c0ac4ee9685e33d
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Sep 1 16:15:25 2015 +0100
+
+ [myanmar] Use buffer->sort() to sort cluster
+
+ This can possibly produce more granular clusters.
+
+ src/hb-ot-shape-complex-myanmar.cc | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit e995d33c10a4bd9404699d01bddb2b69d811e9ed
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Sep 1 16:13:32 2015 +0100
+
+ [OT] Merge clusters when reordering marks for normalization
+
+ Fixes https://bugzilla.gnome.org/show_bug.cgi?id=541608
+ and cluster test.
+
+ src/hb-buffer-private.hh | 2 ++
+ src/hb-buffer.cc | 21 +++++++++++++++++++++
+ src/hb-ot-shape-normalize.cc | 2 +-
+ 3 files changed, 24 insertions(+), 1 deletion(-)
+
+commit b6d7d161a87b5dde710924e5c557d39c302f5630
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Sep 1 16:12:44 2015 +0100
+
+ [tests] Add Hebrew test for normalization under cluster-level=1
+
+ Currently fails.
+ https://bugzilla.gnome.org/show_bug.cgi?id=541608
+
+ .../sha1sum/43ef465752be9af900745f72fe29cb853a1401a5.ttf | Bin 0 ->
+ 4272 bytes
+ test/shaping/fonts/sha1sum/MANIFEST | 1 +
+ test/shaping/tests/cluster.tests | 1 +
+ 3 files changed, 2 insertions(+)
+
+commit 93099748e39740a3f6f003c83d9dec1d21660ce8
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Sep 1 16:11:27 2015 +0100
+
+ Minor
+
+ src/hb-private.hh | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+commit 85846b3de7491b6a07fed6a2c0c6c1b09943b249
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Sep 1 15:07:52 2015 +0100
+
+ Use insertion-sort instead of bubble-sort
+
+ Needed for upcoming merge-clusters fix.
+
+ src/hb-buffer.cc | 4 +--
+ src/hb-ot-shape-complex-arabic-fallback.hh | 6 ++--
+ src/hb-ot-shape-complex-indic.cc | 2 +-
+ src/hb-ot-shape-complex-myanmar.cc | 2 +-
+ src/hb-ot-shape-normalize.cc | 6 ++--
+ src/hb-private.hh | 56
+ +++++++++++++-----------------
+ 6 files changed, 34 insertions(+), 42 deletions(-)
+
+commit fad2674874591b4a1df822603144c8864f5364c1
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Sep 1 14:45:46 2015 +0100
+
+ Minor
+
+ test/Makefile.am | 4 ++++
+ test/api/Makefile.am | 4 ++++
+ test/shaping/Makefile.am | 4 ++++
+ 3 files changed, 12 insertions(+)
+
+commit 23e4fac6de913201f263a73e13d3c1fab31d1bdd
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Aug 31 19:41:01 2015 +0100
+
+ Update git.mk from upstream
+
+ git.mk | 17 ++++++++++++++++-
+ 1 file changed, 16 insertions(+), 1 deletion(-)
+
+commit 5783e05f81bbf6debf2618c8994d6852630d9847
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Aug 31 19:18:10 2015 +0100
+
+ [docs] Move docs/reference/ contents into docs/
+
+ configure.ac | 3 +-
+ docs/Makefile.am | 117 +++++++-
+ docs/harfbuzz-docs.xml | 78 ++++++
+ docs/harfbuzz-overrides.txt | 0
+ docs/harfbuzz-sections.txt | 498
+ ++++++++++++++++++++++++++++++++++
+ docs/reference/Makefile.am | 118 --------
+ docs/reference/harfbuzz-docs.xml | 78 ------
+ docs/reference/harfbuzz-overrides.txt | 0
+ docs/reference/harfbuzz-sections.txt | 498
+ ----------------------------------
+ docs/reference/usermanual-ch01.xml | 115 --------
+ docs/reference/usermanual-ch02.xml | 183 -------------
+ docs/reference/usermanual-ch03.xml | 77 ------
+ docs/reference/usermanual-ch04.xml | 18 --
+ docs/reference/usermanual-ch05.xml | 13 -
+ docs/reference/usermanual-ch06.xml | 8 -
+ docs/reference/version.xml.in | 1 -
+ docs/usermanual-ch01.xml | 115 ++++++++
+ docs/usermanual-ch02.xml | 183 +++++++++++++
+ docs/usermanual-ch03.xml | 77 ++++++
+ docs/usermanual-ch04.xml | 18 ++
+ docs/usermanual-ch05.xml | 13 +
+ docs/usermanual-ch06.xml | 8 +
+ docs/version.xml.in | 1 +
+ 23 files changed, 1108 insertions(+), 1112 deletions(-)
+
+commit cd5e3a13a6e0b6606d3a421f8cd44cdfb8314907
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Aug 31 19:16:41 2015 +0100
+
+ [docs] Fix out-of-tree build
+
+ docs/reference/Makefile.am | 9 +-
+ docs/reference/harfbuzz-docs.xml | 12 +--
+ docs/reference/usermanual-ch01.xml | 115 +++++++++++++++++++++++
+ docs/reference/usermanual-ch02.xml | 183
+ +++++++++++++++++++++++++++++++++++++
+ docs/reference/usermanual-ch03.xml | 77 ++++++++++++++++
+ docs/reference/usermanual-ch04.xml | 18 ++++
+ docs/reference/usermanual-ch05.xml | 13 +++
+ docs/reference/usermanual-ch06.xml | 8 ++
+ docs/usermanual-ch01.xml | 115 -----------------------
+ docs/usermanual-ch02.xml | 183
+ -------------------------------------
+ docs/usermanual-ch03.xml | 77 ----------------
+ docs/usermanual-ch04.xml | 18 ----
+ docs/usermanual-ch05.xml | 13 ---
+ docs/usermanual-ch06.xml | 8 --
+ 14 files changed, 428 insertions(+), 421 deletions(-)
+
+commit 3899795fa3c3e058e3885ec7a6638f0597a752cc
+Merge: d205965 01e16e8
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Aug 31 10:46:01 2015 +0100
+
+ Merge pull request #131 from simoncozens/docs
+
+ Use gtk-doc to build user's manual as well as reference
+
+commit 01e16e88f50b65b82dcb84773f532f18a351319f
+Author: Simon Cozens <simon@simon-cozens.org>
+Date: Mon Aug 31 10:40:17 2015 +0100
+
+ Combine user / reference information into gtk-doc generated manual.
+
+ docs/reference/harfbuzz-docs.xml | 91
+ +++++++++++++++++++++++-----------------
+ 1 file changed, 52 insertions(+), 39 deletions(-)
+
+commit 11a07c4729174e1d4af028103ecb0a351e4c2707
+Author: Simon Cozens <simon@simon-cozens.org>
+Date: Mon Aug 31 10:39:10 2015 +0100
+
+ Correct tag hierarchy, to allow for table-of-contents entries.
+
+ docs/usermanual-ch01.xml | 12 ++++++------
+ docs/usermanual-ch02.xml | 8 ++++----
+ docs/usermanual-ch03.xml | 24 ++++++++++++------------
+ docs/usermanual-ch04.xml | 16 ++++++++--------
+ docs/usermanual-ch05.xml | 12 ++++++------
+ 5 files changed, 36 insertions(+), 36 deletions(-)
+
+commit 387d6af428ddd5d4f211fe5748412011013a3826
+Author: Simon Cozens <simon@simon-cozens.org>
+Date: Mon Aug 31 10:31:09 2015 +0100
+
+ Missing tag (oops).
+
+ docs/usermanual-ch02.xml | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit d205965286798af4b7ad07e1eafa58288bee4bdb
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Aug 31 10:12:05 2015 +0100
+
+ [docs] Fix typo
+
+ docs/usermanual-ch03.xml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit c424b41705b50055c7f92b268cf78a2680af73af
+Merge: 31594b9 5470e74
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Aug 31 09:53:16 2015 +0100
+
+ Merge pull request #129 from simoncozens/docs
+
+ First two chapters. More to follow.
+
+commit 31594b98af0c9181982c77d8d3803753007f8fd4
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Aug 30 17:33:04 2015 +0100
+
+ [test] Fix test-object
+
+ See previous commit.
+
+ test/api/test-object.c | 4 ----
+ 1 file changed, 4 deletions(-)
+
+commit 326b5ebf5748f547e4eb7388d66b79fe23130e2a
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Aug 30 17:29:21 2015 +0100
+
+ Poison freed objects such that double-free is detected
+
+ Previously we were setting refcount of freed objects to the inert
+ value, which
+ was harmful because it caused further destroy()s of the freed object
+ to NOT
+ call free() and hence hide the bug. Indeed, after eb0bf3ae6688b7
+ test-object
+ was double-free'ing objects and this was never caught on Linux.
+ It only was
+ caught as crashing on Mac.
+
+ Now we poison refcount upon freeing and check that it's valid
+ whenever reading
+ it. Makes test-object fail now.
+
+ src/hb-object-private.hh | 21 ++++++++++++++++-----
+ 1 file changed, 16 insertions(+), 5 deletions(-)
+
+commit 5470e744dd264c2dc33437a68d20bcf7c5ffb905
+Author: Simon Cozens <simon@simon-cozens.org>
+Date: Sat Aug 29 08:21:18 2015 +0100
+
+ Current state and skeleton outline
+
+ docs/usermanual-ch03.xml | 77
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ docs/usermanual-ch04.xml | 18 +++++++++++
+ docs/usermanual-ch05.xml | 13 ++++++++
+ docs/usermanual-ch06.xml | 8 +++++
+ 4 files changed, 116 insertions(+)
+
+commit 6578575cc8aeb05341f2053039acfcd735707674
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Aug 25 20:24:59 2015 +0100
+
+ [GPOS] Fix cursive connection with mix of RTL and non-RTL lookups
+
+ See thread "Issue with cursive attachment" started by Khaled.
+ Turned out fixing this wasn't as bad as I had assumed. I like the
+ new code better; we now have a theoretical model of cursive
+ connections that is easier to reason about.
+
+ src/hb-ot-layout-gpos-table.hh | 34 ++++++++++++++++++++++++++++++++++
+ 1 file changed, 34 insertions(+)
+
+commit 7368da67244ea53195cd9b95a5c57485df695732
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Aug 25 20:28:39 2015 +0100
+
+ [test] Add test for cursive-positioning with mixed directions
+
+ Fails now. Fix coming. See thread "Issue with cursive attachment"
+ started by Khaled. Test fonts were made by modifying test font
+ from Khaled to add more anchors.
+
+ test/shaping/Makefile.am | 1 +
+ .../sha1sum/298c9e1d955f10f6f72c6915c3c6ff9bf9695cec.ttf | Bin 0 ->
+ 2520 bytes
+ test/shaping/fonts/sha1sum/MANIFEST | 2 ++
+ .../sha1sum/c4e48b0886ef460f532fb49f00047ec92c432ec0.ttf | Bin 0 ->
+ 2512 bytes
+ test/shaping/tests/MANIFEST | 1 +
+ test/shaping/tests/cursive-positioning.tests | 2 ++
+ 6 files changed, 6 insertions(+)
+
+commit f0807654da160bd7ceb9aff5b8338ec0b643171c
+Author: Simon Cozens <simon@simon-cozens.org>
+Date: Tue Aug 25 19:57:15 2015 +0100
+
+ First two chapters. More to follow.
+
+ docs/usermanual-ch01.xml | 115 ++++++++++++++++++++++++++++++
+ docs/usermanual-ch02.xml | 182
+ +++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 297 insertions(+)
+
+commit 58f2a73fb95af42e264a91cdef7bb5a89e965601
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Aug 25 18:55:34 2015 +0100
+
+ [GPOS] Rewrite cursive attachment slightly differently
+
+ In anticipation for upcoming fix for bug reported by
+ Khaled in thread "Issue with cursive attachment".
+
+ src/hb-ot-layout-gpos-table.hh | 36 ++++++++++++++++++++++++------------
+ 1 file changed, 24 insertions(+), 12 deletions(-)
+
+commit fdd1770e006ca2d2973c049177ceda87a575e07f
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Aug 24 13:49:55 2015 +0100
+
+ Add API/cmdline to show glyph extents when serializing buffer
+
+ New API: HB_BUFFER_SERIALIZE_FLAG_GLYPH_EXTENTS
+
+ hb-shape now accepts --show-extents.
+
+ Patch from Simon Cozens.
+
+ src/hb-buffer-serialize.cc | 17 +++++++++++++++++
+ src/hb-buffer.h | 3 ++-
+ util/hb-shape.cc | 2 ++
+ util/options.cc | 1 +
+ util/options.hh | 2 ++
+ 5 files changed, 24 insertions(+), 1 deletion(-)
+
+commit 2cee5b68a07b99214ef9428fe5d03e7b378a558f
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Aug 24 13:45:12 2015 +0100
+
+ [ot-font] Fix short-offset calculation
+
+ src/hb-ot-font.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit b50fcfa82994f93568a54dd1eb7fd327f6db5586
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Aug 23 14:42:20 2015 +0100
+
+ [ot-font] Implement glyph_extents() for TrueType fonts
+
+ This brings ot-fonts into almost-complete shape and mostly in par with
+ ft font.
+
+ src/Makefile.am | 1 +
+ src/hb-font.h | 9 +++--
+ src/hb-ot-font.cc | 90 +++++++++++++++++++++++++++++++++++++++--
+ src/hb-ot-glyf-table.hh | 104
+ ++++++++++++++++++++++++++++++++++++++++++++++++
+ src/hb-ot-head-table.hh | 3 +-
+ 5 files changed, 198 insertions(+), 9 deletions(-)
+
+commit 0299b45000b5047c0b9bf0fe51f3b8b68a7982f8
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Aug 21 12:44:36 2015 +0100
+
+ Make BYTE a real type
+
+ src/hb-open-type-private.hh | 16 +++++++++++++++-
+ 1 file changed, 15 insertions(+), 1 deletion(-)
+
+commit ed6962c795ae7c54aaee9ed5667fa65ccf7412bf
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Aug 20 15:39:53 2015 +0100
+
+ [coretext] Use i32 instead of u32 as well
+
+ Shouldn't cause *any* functional changes, but is more correct.
+
+ src/hb-coretext.cc | 20 ++++++++++----------
+ 1 file changed, 10 insertions(+), 10 deletions(-)
+
+commit 163c435f1807c138da9f74f09d29d913eb9e29e9
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Aug 20 15:39:06 2015 +0100
+
+ [uniscribe] Fix negative offsets
+
+ Ouch!
+
+ src/hb-uniscribe.cc | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 789b89ef7130ffe5f22c571fc3cb4e6d35456654
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Aug 19 13:39:57 2015 +0100
+
+ 1.0.2
+
+ NEWS | 13 +++++++++++++
+ configure.ac | 2 +-
+ 2 files changed, 14 insertions(+), 1 deletion(-)
+
commit 958c268fa3a520666436e77a2111a3b564a36d96
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Aug 19 13:22:12 2015 +0100
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/Makefile.am b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/Makefile.am
index 47aeb97768e..47aeb97768e 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/Makefile.am
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/Makefile.am
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/NEWS b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/NEWS
index 67bef7f62e9..1656488f979 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/NEWS
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/NEWS
@@ -1,3 +1,14 @@
+Overview of changes leading to 1.0.3
+Tuesday, September 1, 2015
+====================================
+
+- Start of user documentation, from Simon Cozens!
+- Implement glyph_extents() for TrueType fonts in hb-ot-font.
+- Improve GPOS cursive attachments with conflicting lookups.
+- More fixes for cluster-level = 1.
+- Uniscribe positioning fix.
+
+
Overview of changes leading to 1.0.2
Wednesday, August 19, 2015
====================================
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/README b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/README
index dea10688f3f..dea10688f3f 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/README
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/README
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/README.python b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/README.python
index cd312649dbc..cd312649dbc 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/README.python
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/README.python
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/THANKS b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/THANKS
index 940cfde5c39..940cfde5c39 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/THANKS
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/THANKS
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/TODO b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/TODO
index e1aa39c4c01..e1aa39c4c01 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/TODO
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/TODO
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/autogen.sh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/autogen.sh
index ff1b0c0c99b..ff1b0c0c99b 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/autogen.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/autogen.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/config.h.in b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/config.h.in
index 8937bd644d6..8937bd644d6 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/config.h.in
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/config.h.in
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/configure.ac b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/configure.ac
index a73fe6201b9..45bb689ec6e 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/configure.ac
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/configure.ac
@@ -1,6 +1,6 @@
AC_PREREQ([2.64])
AC_INIT([HarfBuzz],
- [1.0.2],
+ [1.0.3],
[http://bugs.freedesktop.org/enter_bug.cgi?product=harfbuzz],
[harfbuzz],
[http://harfbuzz.org/])
@@ -442,8 +442,7 @@ test/Makefile
test/api/Makefile
test/shaping/Makefile
docs/Makefile
-docs/reference/Makefile
-docs/reference/version.xml
+docs/version.xml
])
AC_OUTPUT
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/gtk-doc.make b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/gtk-doc.make
index e7916563d75..e7916563d75 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/gtk-doc.make
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/gtk-doc.make
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/harfbuzz.doap b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/harfbuzz.doap
index d2896ebefa8..d2896ebefa8 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/harfbuzz.doap
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/harfbuzz.doap
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/Makefile.am b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/Makefile.am
index 856aae6a3d5..5699782529c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/Makefile.am
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/Makefile.am
@@ -41,6 +41,7 @@ HBSOURCES = \
hb-open-file-private.hh \
hb-open-type-private.hh \
hb-ot-cmap-table.hh \
+ hb-ot-glyf-table.hh \
hb-ot-head-table.hh \
hb-ot-hhea-table.hh \
hb-ot-hmtx-table.hh \
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/check-c-linkage-decls.sh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/check-c-linkage-decls.sh
index b10310f5384..b10310f5384 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/check-c-linkage-decls.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/check-c-linkage-decls.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/check-defs.sh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/check-defs.sh
index 65a24670e48..65a24670e48 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/check-defs.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/check-defs.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/check-header-guards.sh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/check-header-guards.sh
index 9a3302c7f87..9a3302c7f87 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/check-header-guards.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/check-header-guards.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/check-includes.sh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/check-includes.sh
index 902f2357e2a..902f2357e2a 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/check-includes.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/check-includes.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/check-libstdc++.sh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/check-libstdc++.sh
index b541828bcd9..b541828bcd9 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/check-libstdc++.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/check-libstdc++.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/check-static-inits.sh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/check-static-inits.sh
index 1446fa73405..1446fa73405 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/check-static-inits.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/check-static-inits.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/check-symbols.sh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/check-symbols.sh
index b2bf43fcea5..b2bf43fcea5 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/check-symbols.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/check-symbols.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/gen-arabic-table.py b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/gen-arabic-table.py
index 308435f991e..308435f991e 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/gen-arabic-table.py
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/gen-arabic-table.py
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/gen-indic-table.py b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/gen-indic-table.py
index f5716bda789..f5716bda789 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/gen-indic-table.py
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/gen-indic-table.py
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/gen-use-table.py b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/gen-use-table.py
index be04e4ba4c5..be04e4ba4c5 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/gen-use-table.py
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/gen-use-table.py
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/harfbuzz-gobject.pc.in b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/harfbuzz-gobject.pc.in
index 70083601901..70083601901 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/harfbuzz-gobject.pc.in
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/harfbuzz-gobject.pc.in
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/harfbuzz-icu.pc.in b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/harfbuzz-icu.pc.in
index 949869a3563..949869a3563 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/harfbuzz-icu.pc.in
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/harfbuzz-icu.pc.in
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/harfbuzz.pc.in b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/harfbuzz.pc.in
index b3e124aa8c3..b3e124aa8c3 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/harfbuzz.pc.in
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/harfbuzz.pc.in
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-atomic-private.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-atomic-private.hh
index 8179571ad2d..8179571ad2d 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-atomic-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-atomic-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-blob.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-blob.cc
index 8759a252a57..8759a252a57 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-blob.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-blob.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-blob.h b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-blob.h
index b2419abfd2a..b2419abfd2a 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-blob.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-blob.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-buffer-deserialize-json.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-buffer-deserialize-json.hh
index 3f626bda40d..3f626bda40d 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-buffer-deserialize-json.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-buffer-deserialize-json.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-buffer-deserialize-json.rl b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-buffer-deserialize-json.rl
index 91b350f5ac0..91b350f5ac0 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-buffer-deserialize-json.rl
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-buffer-deserialize-json.rl
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-buffer-deserialize-text.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-buffer-deserialize-text.hh
index d2d8daae7ed..d2d8daae7ed 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-buffer-deserialize-text.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-buffer-deserialize-text.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-buffer-deserialize-text.rl b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-buffer-deserialize-text.rl
index 8a682f7378a..8a682f7378a 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-buffer-deserialize-text.rl
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-buffer-deserialize-text.rl
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-buffer-private.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-buffer-private.hh
index 9aa5e7d7e1f..7fed7386b0e 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-buffer-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-buffer-private.hh
@@ -201,6 +201,8 @@ struct hb_buffer_t {
HB_INTERNAL scratch_buffer_t *get_scratch_buffer (unsigned int *size);
inline void clear_context (unsigned int side) { context_len[side] = 0; }
+
+ HB_INTERNAL void sort (unsigned int start, unsigned int end, int(*compar)(const hb_glyph_info_t *, const hb_glyph_info_t *));
};
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-buffer-serialize.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-buffer-serialize.cc
index 8a22224a5a2..81f75aec338 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-buffer-serialize.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-buffer-serialize.cc
@@ -145,6 +145,16 @@ _hb_buffer_serialize_glyphs_json (hb_buffer_t *buffer,
pos[i].x_advance, pos[i].y_advance);
}
+ if (flags & HB_BUFFER_SERIALIZE_FLAG_GLYPH_EXTENTS)
+ {
+ hb_glyph_extents_t extents;
+ hb_font_get_glyph_extents(font, info[i].codepoint, &extents);
+ p += MAX (0, snprintf (p, ARRAY_LENGTH (b) - (p - b), ",\"xb\":%d,\"yb\":%d",
+ extents.x_bearing, extents.y_bearing));
+ p += MAX (0, snprintf (p, ARRAY_LENGTH (b) - (p - b), ",\"w\":%d,\"h\":%d",
+ extents.width, extents.height));
+ }
+
*p++ = '}';
unsigned int l = p - b;
@@ -210,6 +220,13 @@ _hb_buffer_serialize_glyphs_text (hb_buffer_t *buffer,
p += MAX (0, snprintf (p, ARRAY_LENGTH (b) - (p - b), ",%d", pos[i].y_advance));
}
+ if (flags & HB_BUFFER_SERIALIZE_FLAG_GLYPH_EXTENTS)
+ {
+ hb_glyph_extents_t extents;
+ hb_font_get_glyph_extents(font, info[i].codepoint, &extents);
+ p += MAX (0, snprintf (p, ARRAY_LENGTH (b) - (p - b), "<%d,%d,%d,%d>", extents.x_bearing, extents.y_bearing, extents.width, extents.height));
+ }
+
unsigned int l = p - b;
if (buf_size > l)
{
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-buffer.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-buffer.cc
index 03fe8e1348b..420da8203ed 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-buffer.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-buffer.cc
@@ -1636,7 +1636,7 @@ normalize_glyphs_cluster (hb_buffer_t *buffer,
pos[end - 1].x_advance = total_x_advance;
pos[end - 1].y_advance = total_y_advance;
- hb_bubble_sort (buffer->info + start, end - start - 1, compare_info_codepoint, buffer->pos + start);
+ hb_stable_sort (buffer->info + start, end - start - 1, compare_info_codepoint, buffer->pos + start);
} else {
/* Transfer all cluster advance to the first glyph. */
pos[start].x_advance += total_x_advance;
@@ -1645,7 +1645,7 @@ normalize_glyphs_cluster (hb_buffer_t *buffer,
pos[i].x_offset -= total_x_advance;
pos[i].y_offset -= total_y_advance;
}
- hb_bubble_sort (buffer->info + start + 1, end - start - 1, compare_info_codepoint, buffer->pos + start + 1);
+ hb_stable_sort (buffer->info + start + 1, end - start - 1, compare_info_codepoint, buffer->pos + start + 1);
}
}
@@ -1678,3 +1678,24 @@ hb_buffer_normalize_glyphs (hb_buffer_t *buffer)
}
normalize_glyphs_cluster (buffer, start, end, backward);
}
+
+void
+hb_buffer_t::sort (unsigned int start, unsigned int end, int(*compar)(const hb_glyph_info_t *, const hb_glyph_info_t *))
+{
+ assert (!have_positions);
+ for (unsigned int i = start + 1; i < end; i++)
+ {
+ unsigned int j = i;
+ while (j > start && compar (&info[j - 1], &info[i]) > 0)
+ j--;
+ if (i == j)
+ continue;
+ /* Move item i to occupy place for item j, shift what's in between. */
+ merge_clusters (j, i + 1);
+ {
+ hb_glyph_info_t t = info[i];
+ memmove (&info[j + 1], &info[j], (i - j) * sizeof (hb_glyph_info_t));
+ info[j] = t;
+ }
+ }
+}
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-buffer.h b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-buffer.h
index 4b285bbb3d6..1cfe13c0f5b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-buffer.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-buffer.h
@@ -323,7 +323,8 @@ typedef enum { /*< flags >*/
HB_BUFFER_SERIALIZE_FLAG_DEFAULT = 0x00000000u,
HB_BUFFER_SERIALIZE_FLAG_NO_CLUSTERS = 0x00000001u,
HB_BUFFER_SERIALIZE_FLAG_NO_POSITIONS = 0x00000002u,
- HB_BUFFER_SERIALIZE_FLAG_NO_GLYPH_NAMES = 0x00000004u
+ HB_BUFFER_SERIALIZE_FLAG_NO_GLYPH_NAMES = 0x00000004u,
+ HB_BUFFER_SERIALIZE_FLAG_GLYPH_EXTENTS = 0x00000008u
} hb_buffer_serialize_flags_t;
typedef enum {
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-cache-private.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-cache-private.hh
index 19b70b7e395..19b70b7e395 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-cache-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-cache-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-common.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-common.cc
index d510c9be4f6..d510c9be4f6 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-common.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-common.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-common.h b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-common.h
index d160be5ca75..d160be5ca75 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-common.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-common.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-coretext.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-coretext.cc
index b0df2f4b8e6..a9664ee6829 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-coretext.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-coretext.cc
@@ -916,8 +916,8 @@ retry:
info->cluster = log_clusters[j];
info->mask = advance;
- info->var1.u32 = x_offset;
- info->var2.u32 = y_offset;
+ info->var1.i32 = x_offset;
+ info->var2.i32 = y_offset;
info++;
buffer->len++;
@@ -1003,8 +1003,8 @@ retry:
else /* last glyph */
advance = run_advance - (positions[j].x - positions[0].x);
info->mask = advance * x_mult;
- info->var1.u32 = x_offset;
- info->var2.u32 = positions[j].y * y_mult;
+ info->var1.i32 = x_offset;
+ info->var2.i32 = positions[j].y * y_mult;
info++;
}
}
@@ -1019,8 +1019,8 @@ retry:
else /* last glyph */
advance = run_advance - (positions[j].y - positions[0].y);
info->mask = advance * y_mult;
- info->var1.u32 = positions[j].x * x_mult;
- info->var2.u32 = y_offset;
+ info->var1.i32 = positions[j].x * x_mult;
+ info->var2.i32 = y_offset;
info++;
}
}
@@ -1059,16 +1059,16 @@ retry:
for (unsigned int i = 0; i < count; i++)
{
pos->x_advance = info->mask;
- pos->x_offset = info->var1.u32;
- pos->y_offset = info->var2.u32;
+ pos->x_offset = info->var1.i32;
+ pos->y_offset = info->var2.i32;
info++, pos++;
}
else
for (unsigned int i = 0; i < count; i++)
{
pos->y_advance = info->mask;
- pos->x_offset = info->var1.u32;
- pos->y_offset = info->var2.u32;
+ pos->x_offset = info->var1.i32;
+ pos->y_offset = info->var2.i32;
info++, pos++;
}
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-coretext.h b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-coretext.h
index 25267bc9784..25267bc9784 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-coretext.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-coretext.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-deprecated.h b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-deprecated.h
index 30ae4b1caf7..30ae4b1caf7 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-deprecated.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-deprecated.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-face-private.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-face-private.hh
index c4266fff4f0..c4266fff4f0 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-face-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-face-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-face.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-face.cc
index 96ea1da46b0..96ea1da46b0 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-face.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-face.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-face.h b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-face.h
index f682c468de5..f682c468de5 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-face.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-face.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-fallback-shape.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-fallback-shape.cc
index 9d061a9e845..9d061a9e845 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-fallback-shape.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-fallback-shape.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-font-private.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-font-private.hh
index 33bbf7143a2..33bbf7143a2 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-font-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-font-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-font.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-font.cc
index 0cfba837a27..0cfba837a27 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-font.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-font.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-font.h b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-font.h
index cf22589ec65..5d28b8f434b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-font.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-font.h
@@ -80,12 +80,13 @@ hb_font_funcs_is_immutable (hb_font_funcs_t *ffuncs);
/* glyph extents */
+/* Note that height is negative in coordinate systems that grow up. */
typedef struct hb_glyph_extents_t
{
- hb_position_t x_bearing;
- hb_position_t y_bearing;
- hb_position_t width;
- hb_position_t height;
+ hb_position_t x_bearing; /* left side of glyph from origin. */
+ hb_position_t y_bearing; /* top side of glyph from origin. */
+ hb_position_t width; /* distance from left to right side. */
+ hb_position_t height; /* distance from top to bottom side. */
} hb_glyph_extents_t;
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ft.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ft.cc
index 468742cfd05..468742cfd05 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ft.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ft.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ft.h b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ft.h
index 92f4b361441..92f4b361441 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ft.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ft.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-glib.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-glib.cc
index 7dbd83d2962..7dbd83d2962 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-glib.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-glib.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-glib.h b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-glib.h
index 1a8f42ea529..1a8f42ea529 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-glib.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-glib.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-gobject-enums.cc.tmpl b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-gobject-enums.cc.tmpl
index ca458a3846c..ca458a3846c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-gobject-enums.cc.tmpl
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-gobject-enums.cc.tmpl
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-gobject-enums.h.tmpl b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-gobject-enums.h.tmpl
index 6ecda06c2a6..6ecda06c2a6 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-gobject-enums.h.tmpl
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-gobject-enums.h.tmpl
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-gobject-structs.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-gobject-structs.cc
index 6bd63368b65..6bd63368b65 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-gobject-structs.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-gobject-structs.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-gobject-structs.h b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-gobject-structs.h
index 0a0387dce31..0a0387dce31 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-gobject-structs.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-gobject-structs.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-gobject.h b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-gobject.h
index ea1bd25df82..ea1bd25df82 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-gobject.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-gobject.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-graphite2.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-graphite2.cc
index 626b84f4e98..626b84f4e98 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-graphite2.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-graphite2.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-graphite2.h b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-graphite2.h
index 3eae54acbd8..3eae54acbd8 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-graphite2.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-graphite2.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-icu.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-icu.cc
index 24cec9d7266..24cec9d7266 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-icu.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-icu.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-icu.h b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-icu.h
index f2f35f0f2ce..f2f35f0f2ce 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-icu.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-icu.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-mutex-private.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-mutex-private.hh
index ed2703571c1..ed2703571c1 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-mutex-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-mutex-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-object-private.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-object-private.hh
index 635d62dc1ae..6b73ff92d09 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-object-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-object-private.hh
@@ -47,8 +47,9 @@
/* reference_count */
-#define HB_REFERENCE_COUNT_INVALID_VALUE -1
-#define HB_REFERENCE_COUNT_INIT {HB_ATOMIC_INT_INIT(HB_REFERENCE_COUNT_INVALID_VALUE)}
+#define HB_REFERENCE_COUNT_INERT_VALUE -1
+#define HB_REFERENCE_COUNT_POISON_VALUE -0x0000DEAD
+#define HB_REFERENCE_COUNT_INIT {HB_ATOMIC_INT_INIT(HB_REFERENCE_COUNT_INERT_VALUE)}
struct hb_reference_count_t
{
@@ -58,9 +59,10 @@ struct hb_reference_count_t
inline int get_unsafe (void) const { return ref_count.get_unsafe (); }
inline int inc (void) { return ref_count.inc (); }
inline int dec (void) { return ref_count.dec (); }
- inline void finish (void) { ref_count.set_unsafe (HB_REFERENCE_COUNT_INVALID_VALUE); }
+ inline void finish (void) { ref_count.set_unsafe (HB_REFERENCE_COUNT_POISON_VALUE); }
- inline bool is_invalid (void) const { return ref_count.get_unsafe () == HB_REFERENCE_COUNT_INVALID_VALUE; }
+ inline bool is_inert (void) const { return ref_count.get_unsafe () == HB_REFERENCE_COUNT_INERT_VALUE; }
+ inline bool is_valid (void) const { return ref_count.get_unsafe () > 0; }
};
@@ -142,7 +144,12 @@ static inline void hb_object_init (Type *obj)
template <typename Type>
static inline bool hb_object_is_inert (const Type *obj)
{
- return unlikely (obj->header.ref_count.is_invalid ());
+ return unlikely (obj->header.ref_count.is_inert ());
+}
+template <typename Type>
+static inline bool hb_object_is_valid (const Type *obj)
+{
+ return likely (obj->header.ref_count.is_valid ());
}
template <typename Type>
static inline Type *hb_object_reference (Type *obj)
@@ -150,6 +157,7 @@ static inline Type *hb_object_reference (Type *obj)
hb_object_trace (obj, HB_FUNC);
if (unlikely (!obj || hb_object_is_inert (obj)))
return obj;
+ assert (hb_object_is_valid (obj));
obj->header.ref_count.inc ();
return obj;
}
@@ -159,6 +167,7 @@ static inline bool hb_object_destroy (Type *obj)
hb_object_trace (obj, HB_FUNC);
if (unlikely (!obj || hb_object_is_inert (obj)))
return false;
+ assert (hb_object_is_valid (obj));
if (obj->header.ref_count.dec () != 1)
return false;
@@ -175,6 +184,7 @@ static inline bool hb_object_set_user_data (Type *obj,
{
if (unlikely (!obj || hb_object_is_inert (obj)))
return false;
+ assert (hb_object_is_valid (obj));
return obj->header.user_data.set (key, data, destroy, replace);
}
@@ -184,6 +194,7 @@ static inline void *hb_object_get_user_data (Type *obj,
{
if (unlikely (!obj || hb_object_is_inert (obj)))
return NULL;
+ assert (hb_object_is_valid (obj));
return obj->header.user_data.get (key);
}
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-open-file-private.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-open-file-private.hh
index 178bc7ccb85..178bc7ccb85 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-open-file-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-open-file-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-open-type-private.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-open-type-private.hh
index 75a0f568d11..294889a8398 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-open-type-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-open-type-private.hh
@@ -536,6 +536,20 @@ struct Supplier
template <typename Type, int Bytes> struct BEInt;
template <typename Type>
+struct BEInt<Type, 1>
+{
+ public:
+ inline void set (Type V)
+ {
+ v = V;
+ }
+ inline operator Type (void) const
+ {
+ return v;
+ }
+ private: uint8_t v;
+};
+template <typename Type>
struct BEInt<Type, 2>
{
public:
@@ -618,7 +632,7 @@ struct IntType
DEFINE_SIZE_STATIC (Size);
};
-typedef uint8_t BYTE; /* 8-bit unsigned integer. */
+typedef IntType<uint8_t , 1> BYTE; /* 8-bit unsigned integer. */
typedef IntType<uint16_t, 2> USHORT; /* 16-bit unsigned integer. */
typedef IntType<int16_t, 2> SHORT; /* 16-bit signed integer. */
typedef IntType<uint32_t, 4> ULONG; /* 32-bit unsigned integer. */
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-cmap-table.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-cmap-table.hh
index 04823125538..04823125538 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-cmap-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-cmap-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-font.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-font.cc
index df6514dd31f..9cde8389833 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-font.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-font.cc
@@ -31,6 +31,8 @@
#include "hb-font-private.hh"
#include "hb-ot-cmap-table.hh"
+#include "hb-ot-glyf-table.hh"
+#include "hb-ot-head-table.hh"
#include "hb-ot-hhea-table.hh"
#include "hb-ot-hmtx-table.hh"
@@ -76,8 +78,8 @@ struct hb_ot_face_metrics_accelerator_t
if (unlikely (glyph >= this->num_metrics))
{
/* If this->num_metrics is zero, it means we don't have the metrics table
- * for this direction: return one EM. Otherwise, it means that the glyph
- * index is out of bound: return zero. */
+ * for this direction: return default advance. Otherwise, it means that the
+ * glyph index is out of bound: return zero. */
if (this->num_metrics)
return 0;
else
@@ -91,6 +93,79 @@ struct hb_ot_face_metrics_accelerator_t
}
};
+struct hb_ot_face_glyf_accelerator_t
+{
+ bool short_offset;
+ unsigned int num_glyphs;
+ const OT::loca *loca;
+ const OT::glyf *glyf;
+ hb_blob_t *loca_blob;
+ hb_blob_t *glyf_blob;
+ unsigned int glyf_len;
+
+ inline void init (hb_face_t *face)
+ {
+ hb_blob_t *head_blob = OT::Sanitizer<OT::head>::sanitize (face->reference_table (HB_OT_TAG_head));
+ const OT::head *head = OT::Sanitizer<OT::head>::lock_instance (head_blob);
+ if ((unsigned int) head->indexToLocFormat > 1 || head->glyphDataFormat != 0)
+ {
+ /* Unknown format. Leave num_glyphs=0, that takes care of disabling us. */
+ hb_blob_destroy (head_blob);
+ return;
+ }
+ this->short_offset = 0 == head->indexToLocFormat;
+ hb_blob_destroy (head_blob);
+
+ this->loca_blob = OT::Sanitizer<OT::loca>::sanitize (face->reference_table (HB_OT_TAG_loca));
+ this->loca = OT::Sanitizer<OT::loca>::lock_instance (this->loca_blob);
+ this->glyf_blob = OT::Sanitizer<OT::glyf>::sanitize (face->reference_table (HB_OT_TAG_glyf));
+ this->glyf = OT::Sanitizer<OT::glyf>::lock_instance (this->glyf_blob);
+
+ this->num_glyphs = MAX (1u, hb_blob_get_length (this->loca_blob) / (this->short_offset ? 2 : 4)) - 1;
+ this->glyf_len = hb_blob_get_length (this->glyf_blob);
+ }
+
+ inline void fini (void)
+ {
+ hb_blob_destroy (this->loca_blob);
+ hb_blob_destroy (this->glyf_blob);
+ }
+
+ inline bool get_extents (hb_codepoint_t glyph,
+ hb_glyph_extents_t *extents) const
+ {
+ if (unlikely (glyph >= this->num_glyphs))
+ return false;
+
+ unsigned int start_offset, end_offset;
+ if (this->short_offset)
+ {
+ start_offset = 2 * this->loca->u.shortsZ[glyph];
+ end_offset = 2 * this->loca->u.shortsZ[glyph + 1];
+ }
+ else
+ {
+ start_offset = this->loca->u.longsZ[glyph];
+ end_offset = this->loca->u.longsZ[glyph + 1];
+ }
+
+ if (start_offset > end_offset || end_offset > this->glyf_len)
+ return false;
+
+ if (end_offset - start_offset < OT::glyfGlyphHeader::static_size)
+ return true; /* Empty glyph; zero extents. */
+
+ const OT::glyfGlyphHeader &glyph_header = OT::StructAtOffset<OT::glyfGlyphHeader> (this->glyf, start_offset);
+
+ extents->x_bearing = MIN (glyph_header.xMin, glyph_header.xMax);
+ extents->y_bearing = MAX (glyph_header.yMin, glyph_header.yMax);
+ extents->width = MAX (glyph_header.xMin, glyph_header.xMax) - extents->x_bearing;
+ extents->height = MIN (glyph_header.yMin, glyph_header.yMax) - extents->y_bearing;
+
+ return true;
+ }
+};
+
struct hb_ot_face_cmap_accelerator_t
{
const OT::CmapSubtable *table;
@@ -158,6 +233,7 @@ struct hb_ot_font_t
hb_ot_face_cmap_accelerator_t cmap;
hb_ot_face_metrics_accelerator_t h_metrics;
hb_ot_face_metrics_accelerator_t v_metrics;
+ hb_ot_face_glyf_accelerator_t glyf;
};
@@ -175,6 +251,7 @@ _hb_ot_font_create (hb_font_t *font)
ot_font->cmap.init (face);
ot_font->h_metrics.init (face, HB_OT_TAG_hhea, HB_OT_TAG_hmtx, upem>>1);
ot_font->v_metrics.init (face, HB_OT_TAG_vhea, HB_OT_TAG_vmtx, upem); /* TODO Can we do this lazily? */
+ ot_font->glyf.init (face);
return ot_font;
}
@@ -276,8 +353,13 @@ hb_ot_get_glyph_extents (hb_font_t *font HB_UNUSED,
hb_glyph_extents_t *extents,
void *user_data HB_UNUSED)
{
- /* TODO */
- return false;
+ const hb_ot_font_t *ot_font = (const hb_ot_font_t *) font_data;
+ bool ret = ot_font->glyf.get_extents (glyph, extents);
+ extents->x_bearing = font->em_scale_x (extents->x_bearing);
+ extents->y_bearing = font->em_scale_y (extents->y_bearing);
+ extents->width = font->em_scale_x (extents->width);
+ extents->height = font->em_scale_y (extents->height);
+ return ret;
}
static hb_bool_t
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-font.h b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-font.h
index b9947a16bc8..b9947a16bc8 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-font.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-font.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-glyf-table.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-glyf-table.hh
new file mode 100644
index 00000000000..40b54fdee4c
--- /dev/null
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-glyf-table.hh
@@ -0,0 +1,104 @@
+/*
+ * Copyright © 2015 Google, Inc.
+ *
+ * This is part of HarfBuzz, a text shaping library.
+ *
+ * Permission is hereby granted, without written agreement and without
+ * license or royalty fees, to use, copy, modify, and distribute this
+ * software and its documentation for any purpose, provided that the
+ * above copyright notice and the following two paragraphs appear in
+ * all copies of this software.
+ *
+ * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
+ * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
+ * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ *
+ * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
+ * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
+ * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+ *
+ * Google Author(s): Behdad Esfahbod
+ */
+
+#ifndef HB_OT_GLYF_TABLE_HH
+#define HB_OT_GLYF_TABLE_HH
+
+#include "hb-open-type-private.hh"
+
+
+namespace OT {
+
+
+/*
+ * loca -- Index to Location
+ */
+
+#define HB_OT_TAG_loca HB_TAG('l','o','c','a')
+
+
+struct loca
+{
+ static const hb_tag_t tableTag = HB_OT_TAG_loca;
+
+ inline bool sanitize (hb_sanitize_context_t *c) const
+ {
+ TRACE_SANITIZE (this);
+ return TRACE_RETURN (true);
+ }
+
+ public:
+ union {
+ USHORT shortsZ[VAR]; /* Location offset divided by 2. */
+ ULONG longsZ[VAR]; /* Location offset. */
+ } u;
+ DEFINE_SIZE_ARRAY (0, u.longsZ);
+};
+
+
+/*
+ * glyf -- TrueType Glyph Data
+ */
+
+#define HB_OT_TAG_glyf HB_TAG('g','l','y','f')
+
+
+struct glyf
+{
+ static const hb_tag_t tableTag = HB_OT_TAG_glyf;
+
+ inline bool sanitize (hb_sanitize_context_t *c) const
+ {
+ TRACE_SANITIZE (this);
+ /* We don't check for anything specific here. The users of the
+ * struct do all the hard work... */
+ return TRACE_RETURN (true);
+ }
+
+ public:
+ BYTE dataX[VAR]; /* Glyphs data. */
+
+ DEFINE_SIZE_ARRAY (0, dataX);
+};
+
+struct glyfGlyphHeader
+{
+ SHORT numberOfContours; /* If the number of contours is
+ * greater than or equal to zero,
+ * this is a simple glyph; if negative,
+ * this is a composite glyph. */
+ SHORT xMin; /* Minimum x for coordinate data. */
+ SHORT yMin; /* Minimum y for coordinate data. */
+ SHORT xMax; /* Maximum x for coordinate data. */
+ SHORT yMax; /* Maximum y for coordinate data. */
+
+ DEFINE_SIZE_STATIC (10);
+};
+
+} /* namespace OT */
+
+
+#endif /* HB_OT_GLYF_TABLE_HH */
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-head-table.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-head-table.hh
index 268f133408c..157961cf960 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-head-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-head-table.hh
@@ -138,9 +138,10 @@ struct head
* 2: Like 1 but also contains neutrals;
* -1: Only strongly right to left;
* -2: Like -1 but also contains neutrals. */
+ public:
SHORT indexToLocFormat; /* 0 for short offsets, 1 for long. */
SHORT glyphDataFormat; /* 0 for current format. */
- public:
+
DEFINE_SIZE_STATIC (54);
};
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-hhea-table.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-hhea-table.hh
index 992fe552021..992fe552021 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-hhea-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-hhea-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-hmtx-table.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-hmtx-table.hh
index a0e3855a849..a0e3855a849 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-hmtx-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-hmtx-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-layout-common-private.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-layout-common-private.hh
index 3db7f57ab42..3db7f57ab42 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-layout-common-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-layout-common-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-layout-gdef-table.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-layout-gdef-table.hh
index 7a6c04d1700..7a6c04d1700 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-layout-gdef-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-layout-gdef-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-layout-gpos-table.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-layout-gpos-table.hh
index da9506c7665..996f8b59b99 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-layout-gpos-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-layout-gpos-table.hh
@@ -883,6 +883,9 @@ struct EntryExitRecord
DEFINE_SIZE_STATIC (4);
};
+static void
+reverse_cursive_minor_offset (hb_glyph_position_t *pos, unsigned int i, hb_direction_t direction, unsigned int new_parent);
+
struct CursivePosFormat1
{
inline void collect_glyphs (hb_collect_glyphs_context_t *c) const
@@ -960,20 +963,39 @@ struct CursivePosFormat1
}
/* Cross-direction adjustment */
- if (c->lookup_props & LookupFlag::RightToLeft) {
- pos[i].cursive_chain() = j - i;
- if (likely (HB_DIRECTION_IS_HORIZONTAL (c->direction)))
- pos[i].y_offset = entry_y - exit_y;
- else
- pos[i].x_offset = entry_x - exit_x;
- } else {
- pos[j].cursive_chain() = i - j;
- if (likely (HB_DIRECTION_IS_HORIZONTAL (c->direction)))
- pos[j].y_offset = exit_y - entry_y;
- else
- pos[j].x_offset = exit_x - entry_x;
+
+ /* We attach child to parent (think graph theory and rooted trees whereas
+ * the root stays on baseline and each node aligns itself against its
+ * parent.
+ *
+ * Optimize things for the case of RightToLeft, as that's most common in
+ * Arabinc. */
+ unsigned int child = i;
+ unsigned int parent = j;
+ hb_position_t x_offset = entry_x - exit_x;
+ hb_position_t y_offset = entry_y - exit_y;
+ if (!(c->lookup_props & LookupFlag::RightToLeft))
+ {
+ unsigned int k = child;
+ child = parent;
+ parent = k;
+ x_offset = -x_offset;
+ y_offset = -y_offset;
}
+ /* If child was already connected to someone else, walk through its old
+ * chain and reverse the link direction, such that the whole tree of its
+ * previous connection now attaches to new parent. Watch out for case
+ * where new parent is on the path from old chain...
+ */
+ reverse_cursive_minor_offset (pos, child, c->direction, parent);
+
+ pos[child].cursive_chain() = parent - child;
+ if (likely (HB_DIRECTION_IS_HORIZONTAL (c->direction)))
+ pos[child].y_offset = y_offset;
+ else
+ pos[child].x_offset = x_offset;
+
buffer->idx = j;
return TRACE_RETURN (true);
}
@@ -1483,6 +1505,30 @@ struct GPOS : GSUBGPOS
static void
+reverse_cursive_minor_offset (hb_glyph_position_t *pos, unsigned int i, hb_direction_t direction, unsigned int new_parent)
+{
+ unsigned int j = pos[i].cursive_chain();
+ if (likely (!j))
+ return;
+
+ j += i;
+
+ pos[i].cursive_chain() = 0;
+
+ /* Stop if we see new parent in the chain. */
+ if (j == new_parent)
+ return;
+
+ reverse_cursive_minor_offset (pos, j, direction, new_parent);
+
+ if (HB_DIRECTION_IS_HORIZONTAL (direction))
+ pos[j].y_offset = -pos[i].y_offset;
+ else
+ pos[j].x_offset = -pos[i].x_offset;
+
+ pos[j].cursive_chain() = i - j;
+}
+static void
fix_cursive_minor_offset (hb_glyph_position_t *pos, unsigned int i, hb_direction_t direction)
{
unsigned int j = pos[i].cursive_chain();
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-layout-gsub-table.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-layout-gsub-table.hh
index ff204847017..ff204847017 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-layout-gsub-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-layout-gsub-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-layout-gsubgpos-private.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-layout-gsubgpos-private.hh
index 3e74dfeee70..3e74dfeee70 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-layout-gsubgpos-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-layout-gsubgpos-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-layout-jstf-table.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-layout-jstf-table.hh
index 739dfd91067..739dfd91067 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-layout-jstf-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-layout-jstf-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-layout-private.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-layout-private.hh
index d168e27f534..d168e27f534 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-layout-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-layout-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-layout.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-layout.cc
index 39d007d6764..39d007d6764 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-layout.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-layout.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-layout.h b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-layout.h
index 949678ac422..949678ac422 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-layout.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-layout.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-map-private.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-map-private.hh
index f9538af1831..f9538af1831 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-map-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-map-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-map.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-map.cc
index 95bd04ee8e2..95bd04ee8e2 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-map.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-map.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-maxp-table.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-maxp-table.hh
index 0d9a0fa1d87..0d9a0fa1d87 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-maxp-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-maxp-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-name-table.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-name-table.hh
index 21450c61382..21450c61382 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-name-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-name-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-arabic-fallback.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-arabic-fallback.hh
index a77f24ec849..d97d2852105 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-arabic-fallback.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-arabic-fallback.hh
@@ -75,9 +75,9 @@ arabic_fallback_synthesize_lookup_single (const hb_ot_shape_plan_t *plan HB_UNUS
if (!num_glyphs)
return NULL;
- /* Bubble-sort!
+ /* Bubble-sort or something equally good!
* May not be good-enough for presidential candidate interviews, but good-enough for us... */
- hb_bubble_sort (&glyphs[0], num_glyphs, OT::GlyphID::cmp, &substitutes[0]);
+ hb_stable_sort (&glyphs[0], num_glyphs, OT::GlyphID::cmp, &substitutes[0]);
OT::Supplier<OT::GlyphID> glyphs_supplier (glyphs, num_glyphs);
OT::Supplier<OT::GlyphID> substitutes_supplier (substitutes, num_glyphs);
@@ -126,7 +126,7 @@ arabic_fallback_synthesize_lookup_ligature (const hb_ot_shape_plan_t *plan HB_UN
first_glyphs_indirection[num_first_glyphs] = first_glyph_idx;
num_first_glyphs++;
}
- hb_bubble_sort (&first_glyphs[0], num_first_glyphs, OT::GlyphID::cmp, &first_glyphs_indirection[0]);
+ hb_stable_sort (&first_glyphs[0], num_first_glyphs, OT::GlyphID::cmp, &first_glyphs_indirection[0]);
/* Now that the first-glyphs are sorted, walk again, populate ligatures. */
for (unsigned int i = 0; i < num_first_glyphs; i++)
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-arabic-private.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-arabic-private.hh
index fcedc7d7420..fcedc7d7420 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-arabic-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-arabic-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-arabic-table.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-arabic-table.hh
index 80d50443546..80d50443546 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-arabic-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-arabic-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-arabic-win1256.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-arabic-win1256.hh
index e70c48f427c..e70c48f427c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-arabic-win1256.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-arabic-win1256.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-arabic.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-arabic.cc
index cde02e0a567..cde02e0a567 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-arabic.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-arabic.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-default.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-default.cc
index f7f097eedaa..f7f097eedaa 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-default.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-default.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-hangul.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-hangul.cc
index 763dbf00d08..1fa79ce6d42 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-hangul.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-hangul.cc
@@ -205,11 +205,11 @@ preprocess_text_hangul (const hb_ot_shape_plan_t *plan,
buffer->next_glyph ();
if (!is_zero_width_char (font, u))
{
+ buffer->merge_out_clusters (start, end + 1);
hb_glyph_info_t *info = buffer->out_info;
hb_glyph_info_t tone = info[end];
memmove (&info[start + 1], &info[start], (end - start) * sizeof (hb_glyph_info_t));
info[start] = tone;
- buffer->merge_out_clusters (start, end + 1);
}
}
else
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-hebrew.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-hebrew.cc
index c7b7a5eba6a..c7b7a5eba6a 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-hebrew.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-hebrew.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-indic-machine.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-indic-machine.hh
index f652d4fda73..f652d4fda73 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-indic-machine.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-indic-machine.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-indic-machine.rl b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-indic-machine.rl
index 694b235d1d1..694b235d1d1 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-indic-machine.rl
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-indic-machine.rl
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-indic-private.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-indic-private.hh
index 559ebe49867..559ebe49867 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-indic-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-indic-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-indic-table.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-indic-table.cc
index 2e159a12b00..2e159a12b00 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-indic-table.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-indic-table.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-indic.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-indic.cc
index b7f3d5c66e7..00526f3df4f 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-indic.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-indic.cc
@@ -1012,7 +1012,7 @@ initial_reordering_consonant_syllable (const hb_ot_shape_plan_t *plan,
info[i].syllable() = i - start;
/* Sit tight, rock 'n roll! */
- hb_bubble_sort (info + start, end - start, compare_indic_order);
+ hb_stable_sort (info + start, end - start, compare_indic_order);
/* Find base again */
base = end;
for (unsigned int i = start; i < end; i++)
@@ -1025,7 +1025,11 @@ initial_reordering_consonant_syllable (const hb_ot_shape_plan_t *plan,
* around like crazy. In old-spec mode, we move halants around, so in
* that case merge all clusters after base. Otherwise, check the sort
* order and merge as needed.
- * For pre-base stuff, we handle cluster issues in final reordering. */
+ * For pre-base stuff, we handle cluster issues in final reordering.
+ *
+ * We could use buffer->sort() for this, if there was no special
+ * reordering of pre-base stuff happening later...
+ */
if (indic_plan->is_old_spec || end - base > 127)
buffer->merge_clusters (base, end);
else
@@ -1404,12 +1408,17 @@ final_reordering_syllable (const hb_ot_shape_plan_t *plan,
if (info[i - 1].indic_position () == POS_PRE_M)
{
unsigned int old_pos = i - 1;
+ if (old_pos < base && base <= new_pos) /* Shouldn't actually happen. */
+ base--;
+
hb_glyph_info_t tmp = info[old_pos];
memmove (&info[old_pos], &info[old_pos + 1], (new_pos - old_pos) * sizeof (info[0]));
info[new_pos] = tmp;
- if (old_pos < base && base <= new_pos) /* Shouldn't actually happen. */
- base--;
+
+ /* Note: this merge_clusters() is intentionally *after* the reordering.
+ * Indic matra reordering is special and tricky... */
buffer->merge_clusters (new_pos, MIN (end, base + 1));
+
new_pos--;
}
} else {
@@ -1562,12 +1571,12 @@ final_reordering_syllable (const hb_ot_shape_plan_t *plan,
reph_move:
{
- buffer->merge_clusters (start, new_reph_pos + 1);
-
/* Move */
+ buffer->merge_clusters (start, new_reph_pos + 1);
hb_glyph_info_t reph = info[start];
memmove (&info[start], &info[start + 1], (new_reph_pos - start) * sizeof (info[0]));
info[new_reph_pos] = reph;
+
if (start < base && base <= new_reph_pos)
base--;
}
@@ -1640,10 +1649,12 @@ final_reordering_syllable (const hb_ot_shape_plan_t *plan,
{
unsigned int old_pos = i;
+
buffer->merge_clusters (new_pos, old_pos + 1);
hb_glyph_info_t tmp = info[old_pos];
memmove (&info[new_pos + 1], &info[new_pos], (old_pos - new_pos) * sizeof (info[0]));
info[new_pos] = tmp;
+
if (new_pos <= base && base < old_pos)
base++;
}
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-myanmar-machine.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-myanmar-machine.hh
index 29fdf9a1aef..29fdf9a1aef 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-myanmar-machine.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-myanmar-machine.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-myanmar-machine.rl b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-myanmar-machine.rl
index 9649a916f02..9649a916f02 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-myanmar-machine.rl
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-myanmar-machine.rl
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-myanmar.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-myanmar.cc
index 7e3ab01d525..30a53c7e35d 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-myanmar.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-myanmar.cc
@@ -391,9 +391,8 @@ initial_reordering_consonant_syllable (hb_buffer_t *buffer,
}
}
- buffer->merge_clusters (start, end);
/* Sit tight, rock 'n roll! */
- hb_bubble_sort (info + start, end - start, compare_myanmar_order);
+ buffer->sort (start, end, compare_myanmar_order);
}
static void
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-private.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-private.hh
index 8d03dee51f1..8d03dee51f1 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-thai.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-thai.cc
index feb7fc7a148..d4ede209f4b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-thai.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-thai.cc
@@ -353,7 +353,7 @@ preprocess_text_thai (const hb_ot_shape_plan_t *plan,
{
/* Since we decomposed, and NIKHAHIT is combining, merge clusters with the
* previous cluster. */
- if (start)
+ if (start && buffer->cluster_level == HB_BUFFER_CLUSTER_LEVEL_MONOTONE_GRAPHEMES)
buffer->merge_out_clusters (start - 1, end);
}
}
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-tibetan.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-tibetan.cc
index 01465a426f8..01465a426f8 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-tibetan.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-tibetan.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-use-machine.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-use-machine.hh
index ced9d97f28f..ced9d97f28f 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-use-machine.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-use-machine.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-use-machine.rl b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-use-machine.rl
index b8242bab1e7..b8242bab1e7 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-use-machine.rl
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-use-machine.rl
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-use-private.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-use-private.hh
index a1437362119..a1437362119 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-use-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-use-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-use-table.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-use-table.cc
index 6cd1c5db75f..6cd1c5db75f 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-use-table.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-use-table.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-use.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-use.cc
index 41eb43ffb69..4b15deedd48 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-complex-use.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-complex-use.cc
@@ -436,10 +436,10 @@ reorder_syllable (hb_buffer_t *buffer, unsigned int start, unsigned int end)
if (info[i].use_category() == USE_H)
i--;
+ buffer->merge_clusters (start, i + 1);
hb_glyph_info_t t = info[start];
memmove (&info[start], &info[start + 1], (i - start) * sizeof (info[0]));
info[i] = t;
- buffer->merge_clusters (start, i + 1);
break;
}
@@ -464,10 +464,10 @@ reorder_syllable (hb_buffer_t *buffer, unsigned int start, unsigned int end)
0 == _hb_glyph_info_get_lig_comp (&info[i]) &&
j < i)
{
+ buffer->merge_clusters (j, i + 1);
hb_glyph_info_t t = info[i];
memmove (&info[j + 1], &info[j], (i - j) * sizeof (info[0]));
info[j] = t;
- buffer->merge_clusters (j, i + 1);
}
}
}
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-fallback-private.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-fallback-private.hh
index ec653513f1b..ec653513f1b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-fallback-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-fallback-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-fallback.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-fallback.cc
index 748372d01fe..748372d01fe 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-fallback.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-fallback.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-normalize-private.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-normalize-private.hh
index c744e26451d..c744e26451d 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-normalize-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-normalize-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-normalize.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-normalize.cc
index 111b5908f17..a706461326a 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-normalize.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-normalize.cc
@@ -344,15 +344,13 @@ _hb_ot_shape_normalize (const hb_ot_shape_plan_t *plan,
if (_hb_glyph_info_get_modified_combining_class (&buffer->info[end]) == 0)
break;
- /* We are going to do a bubble-sort. Only do this if the
- * sequence is short. Doing it on long sequences can result
- * in an O(n^2) DoS. */
+ /* We are going to do a O(n^2). Only do this if the sequence is short. */
if (end - i > 10) {
i = end;
continue;
}
- hb_bubble_sort (buffer->info + i, end - i, compare_combining_class);
+ buffer->sort (i, end, compare_combining_class);
i = end;
}
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-private.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-private.hh
index 54ac2c3cf7c..54ac2c3cf7c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape.cc
index e24f7a837f7..40332d69f12 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape.cc
@@ -302,15 +302,16 @@ hb_ensure_native_direction (hb_buffer_t *buffer)
{
if (likely (!HB_UNICODE_GENERAL_CATEGORY_IS_MARK (_hb_glyph_info_get_general_category (&info[i]))))
{
- buffer->reverse_range (base, i);
if (buffer->cluster_level == HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS)
buffer->merge_clusters (base, i);
+ buffer->reverse_range (base, i);
+
base = i;
}
}
- buffer->reverse_range (base, count);
if (buffer->cluster_level == HB_BUFFER_CLUSTER_LEVEL_MONOTONE_CHARACTERS)
buffer->merge_clusters (base, count);
+ buffer->reverse_range (base, count);
buffer->reverse ();
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape.h b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape.h
index 1402f54acc5..1402f54acc5 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-shape.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-shape.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-tag.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-tag.cc
index 61c38b19626..61c38b19626 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-tag.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-tag.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-tag.h b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-tag.h
index 1bf12ab3c09..1bf12ab3c09 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot-tag.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot-tag.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot.h b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot.h
index 47c92a58e4b..47c92a58e4b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ot.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ot.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-private.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-private.hh
index 8112934324d..c0810294689 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-private.hh
@@ -855,42 +855,34 @@ hb_in_ranges (T u, T lo1, T hi1, T lo2, T hi2, T lo3, T hi3)
template <typename T, typename T2> static inline void
-hb_bubble_sort (T *array, unsigned int len, int(*compar)(const T *, const T *), T2 *array2)
+hb_stable_sort (T *array, unsigned int len, int(*compar)(const T *, const T *), T2 *array2)
{
- if (unlikely (!len))
- return;
-
- unsigned int k = len - 1;
- do {
- unsigned int new_k = 0;
-
- for (unsigned int j = 0; j < k; j++)
- if (compar (&array[j], &array[j+1]) > 0)
- {
- {
- T t;
- t = array[j];
- array[j] = array[j + 1];
- array[j + 1] = t;
- }
- if (array2)
- {
- T2 t;
- t = array2[j];
- array2[j] = array2[j + 1];
- array2[j + 1] = t;
- }
-
- new_k = j;
- }
- k = new_k;
- } while (k);
+ for (unsigned int i = 1; i < len; i++)
+ {
+ unsigned int j = i;
+ while (j && compar (&array[j - 1], &array[i]) > 0)
+ j--;
+ if (i == j)
+ continue;
+ /* Move item i to occupy place for item j, shift what's in between. */
+ {
+ T t = array[i];
+ memmove (&array[j + 1], &array[j], (i - j) * sizeof (T));
+ array[j] = t;
+ }
+ if (array2)
+ {
+ T2 t = array2[i];
+ memmove (&array2[j + 1], &array2[j], (i - j) * sizeof (T2));
+ array2[j] = t;
+ }
+ }
}
template <typename T> static inline void
-hb_bubble_sort (T *array, unsigned int len, int(*compar)(const T *, const T *))
+hb_stable_sort (T *array, unsigned int len, int(*compar)(const T *, const T *))
{
- hb_bubble_sort (array, len, compar, (int *) NULL);
+ hb_stable_sort (array, len, compar, (int *) NULL);
}
static inline hb_bool_t
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-set-private.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-set-private.hh
index 3c302b1daf6..3c302b1daf6 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-set-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-set-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-set.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-set.cc
index cb7fcdbf64c..cb7fcdbf64c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-set.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-set.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-set.h b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-set.h
index bafdae96333..bafdae96333 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-set.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-set.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-shape-plan-private.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-shape-plan-private.hh
index 607da5e7791..607da5e7791 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-shape-plan-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-shape-plan-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-shape-plan.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-shape-plan.cc
index d2f293d69de..d2f293d69de 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-shape-plan.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-shape-plan.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-shape-plan.h b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-shape-plan.h
index 8f54552f90b..8f54552f90b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-shape-plan.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-shape-plan.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-shape.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-shape.cc
index 5ddde5ad59d..5ddde5ad59d 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-shape.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-shape.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-shape.h b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-shape.h
index b665509a0dd..b665509a0dd 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-shape.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-shape.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-shaper-impl-private.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-shaper-impl-private.hh
index 7844081e95b..7844081e95b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-shaper-impl-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-shaper-impl-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-shaper-list.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-shaper-list.hh
index 6c537d49215..6c537d49215 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-shaper-list.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-shaper-list.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-shaper-private.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-shaper-private.hh
index d1d1146dad2..d1d1146dad2 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-shaper-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-shaper-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-shaper.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-shaper.cc
index 580b95c84b4..580b95c84b4 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-shaper.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-shaper.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ucdn.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ucdn.cc
index b4a58332445..b4a58332445 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-ucdn.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-ucdn.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-unicode-private.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-unicode-private.hh
index 968bca5567d..968bca5567d 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-unicode-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-unicode-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-unicode.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-unicode.cc
index 6b32faf667f..6b32faf667f 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-unicode.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-unicode.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-unicode.h b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-unicode.h
index bf1796dcafd..bf1796dcafd 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-unicode.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-unicode.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-uniscribe.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-uniscribe.cc
index 3a08c747a1d..01be0cc846b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-uniscribe.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-uniscribe.cc
@@ -1006,8 +1006,8 @@ retry:
/* The rest is crap. Let's store position info there for now. */
info->mask = advances[i];
- info->var1.u32 = offsets[i].du;
- info->var2.u32 = offsets[i].dv;
+ info->var1.i32 = offsets[i].du;
+ info->var2.i32 = offsets[i].dv;
}
/* Set glyph positions */
@@ -1020,8 +1020,8 @@ retry:
/* TODO vertical */
pos->x_advance = x_mult * info->mask;
- pos->x_offset = x_mult * (backward ? -info->var1.u32 : info->var1.u32);
- pos->y_offset = y_mult * info->var2.u32;
+ pos->x_offset = x_mult * (backward ? -info->var1.i32 : info->var1.i32);
+ pos->y_offset = y_mult * info->var2.i32;
}
if (backward)
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-uniscribe.h b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-uniscribe.h
index 001ab38ea87..001ab38ea87 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-uniscribe.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-uniscribe.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-utf-private.hh b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-utf-private.hh
index 14d3c2e369b..14d3c2e369b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-utf-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-utf-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-version.h.in b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-version.h.in
index 2517160d18b..2517160d18b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-version.h.in
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-version.h.in
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-warning.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-warning.cc
index 8f322bcb10d..8f322bcb10d 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb-warning.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb-warning.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb.h b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb.h
index c5a938a3818..c5a938a3818 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/hb.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/hb.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/main.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/main.cc
index f9708cc948e..f9708cc948e 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/main.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/main.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/test-buffer-serialize.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/test-buffer-serialize.cc
index 18c46e9524b..18c46e9524b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/test-buffer-serialize.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/test-buffer-serialize.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/test-size-params.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/test-size-params.cc
index 35d9e3c8e25..35d9e3c8e25 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/test-size-params.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/test-size-params.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/test-would-substitute.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/test-would-substitute.cc
index 8ea87cdf397..8ea87cdf397 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/test-would-substitute.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/test-would-substitute.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/test.cc b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/test.cc
index a8fe046f34c..a8fe046f34c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-1.0.2/src/test.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-1.0.3/src/test.cc
diff --git a/Build/source/libs/harfbuzz/version.ac b/Build/source/libs/harfbuzz/version.ac
index f733789c08d..f55976e9d7a 100644
--- a/Build/source/libs/harfbuzz/version.ac
+++ b/Build/source/libs/harfbuzz/version.ac
@@ -8,4 +8,4 @@ dnl
dnl --------------------------------------------------------
dnl
dnl m4-include this file to define the current harfbuzz version
-m4_define([harfbuzz_version], [1.0.2])
+m4_define([harfbuzz_version], [1.0.3])