summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2015-01-26 09:10:11 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2015-01-26 09:10:11 +0000
commit5264c5cf0cf85b9067aa5080fd37f183e2b56f8f (patch)
tree1eb36e5c28b2b27aff8d068b538d8a07c128c89c
parent07350467bf91c4d40312c91f30ab2cf0773bdb5b (diff)
harfbuzz 0.9.38
git-svn-id: svn://tug.org/texlive/trunk@36147 c570f23f-e606-0410-a88d-b1316a301751
-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-0.9.37/src/hb-ft.h62
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38-PATCHES/ChangeLog (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37-PATCHES/ChangeLog)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38-PATCHES/TL-Changes (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37-PATCHES/TL-Changes)2
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/AUTHORS (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/AUTHORS)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/Android.mk (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/Android.mk)3
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/ChangeLog (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/ChangeLog)460
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/Makefile.am (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/Makefile.am)1
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/NEWS (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/NEWS)23
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/README (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/README)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/README.python26
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/THANKS (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/THANKS)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/TODO (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/TODO)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.38/autogen.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/autogen.sh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/config.h.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/config.h.in)3
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/configure.ac (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/configure.ac)14
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/gtk-doc.make (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/gtk-doc.make)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/harfbuzz.doap (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/harfbuzz.doap)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/Makefile.am (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/Makefile.am)3
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.38/src/check-c-linkage-decls.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-c-linkage-decls.sh)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.38/src/check-defs.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-defs.sh)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.38/src/check-header-guards.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-header-guards.sh)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.38/src/check-includes.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-includes.sh)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.38/src/check-libstdc++.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-libstdc++.sh)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.38/src/check-static-inits.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-static-inits.sh)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.38/src/check-symbols.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-symbols.sh)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.38/src/gen-arabic-table.py (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/gen-arabic-table.py)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.38/src/gen-indic-table.py (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/gen-indic-table.py)2
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/harfbuzz-gobject.pc.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/harfbuzz-gobject.pc.in)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/harfbuzz-icu.pc.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/harfbuzz-icu.pc.in)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/harfbuzz.pc.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/harfbuzz.pc.in)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-atomic-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-atomic-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-blob.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-blob.cc)9
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-blob.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-blob.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-buffer-deserialize-json.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-deserialize-json.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-buffer-deserialize-json.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-deserialize-json.rl)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-buffer-deserialize-text.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-deserialize-text.hh)72
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-buffer-deserialize-text.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-deserialize-text.rl)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-buffer-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-buffer-serialize.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-serialize.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-buffer.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer.cc)2
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-buffer.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-cache-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-cache-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-common.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-common.cc)4
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-common.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-common.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-coretext.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-coretext.cc)40
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-coretext.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-coretext.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-deprecated.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-deprecated.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-face-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-face-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-face.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-face.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-face.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-face.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-fallback-shape.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-fallback-shape.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-font-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-font-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-font.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-font.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-font.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-font.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ft.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ft.cc)65
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ft.h119
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-glib.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-glib.cc)11
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-glib.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-glib.h)3
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-gobject-enums.cc.tmpl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-gobject-enums.cc.tmpl)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-gobject-enums.h.tmpl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-gobject-enums.h.tmpl)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-gobject-structs.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-gobject-structs.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-gobject-structs.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-gobject-structs.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-gobject.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-gobject.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-graphite2.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-graphite2.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-graphite2.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-graphite2.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-icu.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-icu.cc)4
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-icu.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-icu.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-mutex-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-mutex-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-object-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-object-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-open-file-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-open-file-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-open-type-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-open-type-private.hh)1
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-cmap-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-cmap-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-font.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-font.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-font.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-font.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-head-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-head-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-hhea-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-hhea-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-hmtx-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-hmtx-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-layout-common-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-layout-gdef-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-gdef-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-layout-gpos-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-gpos-table.hh)21
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-layout-gsub-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-gsub-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-layout-gsubgpos-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-gsubgpos-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-layout-jstf-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-jstf-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-layout-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-private.hh)3
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-layout.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout.cc)4
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-layout.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-map-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-map-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-map.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-map.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-maxp-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-maxp-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-name-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-name-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-arabic-fallback.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-arabic-fallback.hh)2
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-arabic-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-arabic-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-arabic-win1256.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-arabic-win1256.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-arabic.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-arabic.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-default.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-default.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-hangul.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-hangul.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-hebrew.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-hebrew.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-indic-machine.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-indic-machine.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-indic-machine.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-indic-machine.rl)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-indic-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-indic-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-indic-table.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-indic-table.cc)36
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-indic.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-indic.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-myanmar-machine.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-myanmar-machine.hh)38
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-myanmar-machine.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-myanmar-machine.rl)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-myanmar.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-myanmar.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-private.hh)2
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-sea-machine.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-sea-machine.hh)34
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-sea-machine.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-sea-machine.rl)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-sea.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-sea.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-thai.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-thai.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-tibetan.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-tibetan.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-fallback-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-fallback-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-fallback.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-fallback.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-normalize-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-normalize-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-normalize.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-normalize.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-tag.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-tag.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-tag.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-tag.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-set-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-set-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-set.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-set.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-set.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-set.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-shape-plan-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shape-plan-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-shape-plan.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shape-plan.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-shape-plan.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shape-plan.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-shape.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shape.cc)6
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-shape.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shape.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-shaper-impl-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shaper-impl-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-shaper-list.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shaper-list.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-shaper-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shaper-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-shaper.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shaper.cc)4
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ucdn.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ucdn.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-unicode-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-unicode-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-unicode.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-unicode.cc)2
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-unicode.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-unicode.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-uniscribe.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-uniscribe.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-uniscribe.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-uniscribe.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-utf-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-utf-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-version.h.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-version.h.in)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-warning.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-warning.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/main.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/main.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/test-buffer-serialize.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/test-buffer-serialize.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/test-size-params.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/test-size-params.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/test-would-substitute.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/test-would-substitute.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/test.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/test.cc)0
-rw-r--r--Build/source/libs/harfbuzz/version.ac4
154 files changed, 893 insertions, 235 deletions
diff --git a/Build/source/libs/README b/Build/source/libs/README
index 51d8d7f058e..10e6094eeb8 100644
--- a/Build/source/libs/README
+++ b/Build/source/libs/README
@@ -24,7 +24,7 @@ gmp 6.0.0 - checked 25mar14
graphite2 1.2.4 - checked 2dec13
http://sourceforge.net/projects/silgraphite/files/graphite2/
-harfbuzz 0.9.37 - checked 18dec14
+harfbuzz 0.9.38 - checked 26jan15
http://www.freedesktop.org/software/harfbuzz/release/
icu 54.1 (release) - checked 2oct14
diff --git a/Build/source/libs/harfbuzz/ChangeLog b/Build/source/libs/harfbuzz/ChangeLog
index 016cf665012..1c262190793 100644
--- a/Build/source/libs/harfbuzz/ChangeLog
+++ b/Build/source/libs/harfbuzz/ChangeLog
@@ -1,3 +1,8 @@
+2015-01-26 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Import harfbuzz-0.9.38.
+ * version.ac: Adjust.
+
2014-12-18 Peter Breitenlohner <peb@mppmu.mpg.de>
Import harfbuzz-0.9.37.
diff --git a/Build/source/libs/harfbuzz/Makefile.in b/Build/source/libs/harfbuzz/Makefile.in
index 5f4678dc268..22235c2c973 100644
--- a/Build/source/libs/harfbuzz/Makefile.in
+++ b/Build/source/libs/harfbuzz/Makefile.in
@@ -461,7 +461,7 @@ am__DIST_COMMON = $(srcdir)/../../am/rebuild.am \
$(top_srcdir)/../../build-aux/install-sh \
$(top_srcdir)/../../build-aux/missing \
$(top_srcdir)/../../build-aux/test-driver \
- $(top_srcdir)/harfbuzz-0.9.37/src/hb-version.h.in \
+ $(top_srcdir)/harfbuzz-0.9.38/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 \
@@ -787,7 +787,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-0.9.37/src/hb-version.h.in
+hb-version.h: $(top_builddir)/config.status $(top_srcdir)/harfbuzz-0.9.38/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 e917bc12479..2c5ea8d869e 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) 0.9.37.
+# Generated by GNU Autoconf 2.69 for harfbuzz (TeX Live) 0.9.38.
#
# 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='0.9.37'
-PACKAGE_STRING='harfbuzz (TeX Live) 0.9.37'
+PACKAGE_VERSION='0.9.38'
+PACKAGE_STRING='harfbuzz (TeX Live) 0.9.38'
PACKAGE_BUGREPORT='tex-k@tug.org'
PACKAGE_URL=''
-ac_unique_file="harfbuzz-0.9.37/src/harfbuzz.pc.in"
+ac_unique_file="harfbuzz-0.9.38/src/harfbuzz.pc.in"
# Factoring default headers for most tests.
ac_includes_default="\
#include <stdio.h>
@@ -1325,7 +1325,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) 0.9.37 to adapt to many kinds of systems.
+\`configure' configures harfbuzz (TeX Live) 0.9.38 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1396,7 +1396,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of harfbuzz (TeX Live) 0.9.37:";;
+ short | recursive ) echo "Configuration of harfbuzz (TeX Live) 0.9.38:";;
esac
cat <<\_ACEOF
@@ -1509,7 +1509,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-harfbuzz (TeX Live) configure 0.9.37
+harfbuzz (TeX Live) configure 0.9.38
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2099,7 +2099,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 0.9.37, which was
+It was created by harfbuzz (TeX Live) $as_me 0.9.38, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -4022,7 +4022,7 @@ fi
# Define the identity of the package.
PACKAGE='harfbuzz--tex-live-'
- VERSION='0.9.37'
+ VERSION='0.9.38'
cat >>confdefs.h <<_ACEOF
@@ -4225,8 +4225,8 @@ WARNING_CFLAGS=$kpse_cv_warning_cflags
HB_VERSION_MAJOR=0
HB_VERSION_MINOR=9
-HB_VERSION_MICRO=37
-HB_VERSION=0.9.37
+HB_VERSION_MICRO=38
+HB_VERSION=0.9.38
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
@@ -6642,14 +6642,14 @@ $as_echo "#define HAVE_INTEL_ATOMIC_PRIMITIVES 1" >>confdefs.h
fi
-HARFBUZZ_TREE=harfbuzz-0.9.37
+HARFBUZZ_TREE=harfbuzz-0.9.38
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-0.9.37/src/hb-version.h.in"
+ac_config_files="$ac_config_files Makefile include/Makefile hb-version.h:harfbuzz-0.9.38/src/hb-version.h.in"
cat >confcache <<\_ACEOF
@@ -7198,7 +7198,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 0.9.37, which was
+This file was extended by harfbuzz (TeX Live) $as_me 0.9.38, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -7264,7 +7264,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 0.9.37
+harfbuzz (TeX Live) config.status 0.9.38
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -7397,7 +7397,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-0.9.37/src/hb-version.h.in" ;;
+ "hb-version.h") CONFIG_FILES="$CONFIG_FILES hb-version.h:harfbuzz-0.9.38/src/hb-version.h.in" ;;
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
esac
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ft.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ft.h
deleted file mode 100644
index 696251e143f..00000000000
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ft.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright © 2009 Red Hat, 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.
- *
- * Red Hat Author(s): Behdad Esfahbod
- */
-
-#ifndef HB_FT_H
-#define HB_FT_H
-
-#include "hb.h"
-
-#include <ft2build.h>
-#include FT_FREETYPE_H
-
-HB_BEGIN_DECLS
-
-/* Note: FreeType is not thread-safe. Hence, these functions are not either. */
-
-hb_face_t *
-hb_ft_face_create (FT_Face ft_face,
- hb_destroy_func_t destroy);
-
-hb_face_t *
-hb_ft_face_create_cached (FT_Face ft_face);
-
-hb_font_t *
-hb_ft_font_create (FT_Face ft_face,
- hb_destroy_func_t destroy);
-
-
-
-/* Makes an hb_font_t use FreeType internally to implement font functions. */
-void
-hb_ft_font_set_funcs (hb_font_t *font);
-
-FT_Face
-hb_ft_font_get_face (hb_font_t *font);
-
-
-HB_END_DECLS
-
-#endif /* HB_FT_H */
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37-PATCHES/ChangeLog b/Build/source/libs/harfbuzz/harfbuzz-0.9.38-PATCHES/ChangeLog
index 62fff4f77ce..62fff4f77ce 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37-PATCHES/ChangeLog
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38-PATCHES/ChangeLog
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37-PATCHES/TL-Changes b/Build/source/libs/harfbuzz/harfbuzz-0.9.38-PATCHES/TL-Changes
index 00982ef523f..de06d232879 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37-PATCHES/TL-Changes
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38-PATCHES/TL-Changes
@@ -1,4 +1,4 @@
-Changes applied to the harfbuzz-0.9.37/ tree as obtained from:
+Changes applied to the harfbuzz-0.9.38/ tree as obtained from:
http://www.freedesktop.org/software/harfbuzz/release/
Removed:
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/AUTHORS b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/AUTHORS
index 81cdc4cf37f..81cdc4cf37f 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/AUTHORS
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/AUTHORS
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/Android.mk b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/Android.mk
index 07dfa5b1d87..05525078516 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/Android.mk
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/Android.mk
@@ -99,8 +99,7 @@ LOCAL_SHARED_LIBRARIES := \
libutils \
liblog
LOCAL_C_INCLUDES += \
- $(LOCAL_PATH)/src \
- external/icu/icu4c/source/common
+ $(LOCAL_PATH)/src
LOCAL_CFLAGS += -DHB_NO_MT -DHAVE_OT -DHAVE_ICU -DHAVE_ICU_BUILTIN
LOCAL_MODULE:= libharfbuzz_ng
include $(BUILD_SHARED_LIBRARY)
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/ChangeLog b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/ChangeLog
index 28b88ab4438..f56dd06baea 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/ChangeLog
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/ChangeLog
@@ -1,3 +1,463 @@
+commit a319d0777b746a2bbe5cd5a206172f1580da3379
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Jan 23 12:44:24 2015 -0800
+
+ [ft] Handle negative x_scale / y_scale
+
+ src/hb-ft.cc | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+commit b0b38bb892473d9a65e06dd3b4713da39f92bef9
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jan 21 19:19:33 2015 -0800
+
+ [coretext] Fix positioning of notdef
+
+ src/hb-coretext.cc | 19 ++++++++++---------
+ 1 file changed, 10 insertions(+), 9 deletions(-)
+
+commit 70622e5089c01ea16fd9deed11cb39d43145c121
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jan 21 18:50:57 2015 -0800
+
+ [coretext] Fix scaling
+
+ Before we were not accounting for possible differences in x_scale and
+ y_scale, as well as the signs of those. All should be in good shape
+ now.
+
+ src/hb-coretext.cc | 26 +++++++++++++++++++-------
+ 1 file changed, 19 insertions(+), 7 deletions(-)
+
+commit 221ba02b0816584a02471037edae7cec9c1b8acc
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jan 21 16:42:09 2015 -0800
+
+ [coretext] Use vertical advance for notdef in vertical direction
+
+ src/hb-coretext.cc | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+commit 7988da24c507ee310772f72cc5bcfd3c0a1187a0
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jan 21 18:33:50 2015 -0800
+
+ Add convenience make target "make lib" in src/
+
+ src/Makefile.am | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 31d48dd919e3b4a0bec5ede384f76db9b44f4d71
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jan 21 01:57:44 2015 -0800
+
+ Add README.python
+
+ README.python | 26 ++++++++++++++++++++++++++
+ 1 file changed, 26 insertions(+)
+
+commit ca1c2813dd0b082a8c418bd3edd3f6cba97bd5f0
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jan 21 01:51:48 2015 -0800
+
+ [bindings] Add README.python
+
+ Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit cd4eb96abb90a84b42e9b288e39bad759e4411a0
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Jan 20 12:30:45 2015 -0800
+
+ [util] Add --font-size to hb-shape
+
+ Also makes hb-view to use 8 bits of subpixel precision and shape at
+ requested size, instead of always shaping at upem and scaling results.
+
+ util/hb-ot-shape-closure.cc | 2 +-
+ util/hb-shape.cc | 2 +-
+ util/hb-view.cc | 5 ++++-
+ util/helper-cairo.cc | 16 ++++++++--------
+ util/helper-cairo.hh | 5 ++---
+ util/main-font-text.hh | 4 ++--
+ util/options.cc | 44
+ +++++++++++++++++++++++++++++++++++++++++---
+ util/options.hh | 16 ++++++++++++----
+ util/view-cairo.cc | 2 +-
+ util/view-cairo.hh | 8 ++++----
+ 10 files changed, 76 insertions(+), 28 deletions(-)
+
+commit 5789ca69d7464bab5fa0c5bdf404f3afaa490faf
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Jan 9 14:22:01 2015 -0800
+
+ [util] Minor
+
+ util/options.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 67dfa8c7c2f2e9040a9c60c680f739ada4a35fb5
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Jan 19 17:00:31 2015 -0800
+
+ When matching second glyph of kerning pairs, use bsearch
+
+ Roboto has glyphs (like 'F') that have 200 kerning pairs.
+ Add a handcoded bsearch instead of previous linear search.
+
+ This doesn't show much speedup though, apparently we spend the
+ bulk of the time somewhere before here.
+
+ src/hb-ot-layout-gpos-table.hh | 21 ++++++++++++++++-----
+ 1 file changed, 16 insertions(+), 5 deletions(-)
+
+commit e9f5c65be027eb7759ab819e267e24dff3b017b6
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Jan 19 14:42:11 2015 -0800
+
+ [bindings] Minor
+
+ src/sample.py | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 3704628d1f124234324b5f2bdd5fdd61c14c7801
+Merge: 1aaa7d6 5eb939d
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Jan 19 16:15:00 2015 -0800
+
+ Merge pull request #77 from roozbehp/master
+
+ Change New Tai Lue shaping engine from SEA to default
+
+commit 5eb939ddfe9ef217da2e48d7d0f1f4b7501714ad
+Author: Roozbeh Pournader <roozbeh@google.com>
+Date: Sun Jan 18 14:30:08 2015 -0800
+
+ Change New Tai Lue shaping engine from SEA to default
+
+ This is to reflect the UTC decision to change the encoding model of
+ New Tai Lue from logical to visual to be similar to Thai, Lao, and
+ Tai Viet: http://www.unicode.org/L2/L2014/14250.htm#141-C26
+
+ The visual encoding is already the current practice of encoding New
+ Tai Lue on the web anyway:
+ http://www.unicode.org/L2/L2014/14195-newtailue.txt
+
+ Fixes behdad/harfbuzz#66.
+
+ src/hb-ot-shape-complex-private.hh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 1aaa7d6799b42b392dd191d3c12011721ef99e74
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sat Jan 17 20:16:56 2015 -0800
+
+ [indic] Fix out-of-bounds access
+
+ src/gen-indic-table.py | 2 +-
+ src/hb-ot-shape-complex-indic-table.cc | 36
+ +++++++++++++++++-----------------
+ 2 files changed, 19 insertions(+), 19 deletions(-)
+
+commit 238d6a38f2ceb7d8dceec9365a823f032b3b9f7d
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jan 7 10:51:44 2015 -0800
+
+ [bindings] Update sample.py
+
+ src/sample.py | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+commit 2cd5323531dcd800549b2cb1cb51d708e72ab2d8
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Jan 6 19:16:38 2015 -0800
+
+ [bindings] Use hb_glib_blob_create() in sample
+
+ hb_blob_create() is considered C-only API.
+
+ src/hb-blob.cc | 8 ++++----
+ src/sample.py | 19 +++++++++----------
+ 2 files changed, 13 insertions(+), 14 deletions(-)
+
+commit 0ef179e2dc040c13497af847b8c1cec846dbdbf9
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Jan 6 16:58:33 2015 -0800
+
+ [glib] Add hb_glib_blob_create() that takes GBytes
+
+ src/hb-glib.cc | 11 +++++++++++
+ src/hb-glib.h | 3 +++
+ 2 files changed, 14 insertions(+)
+
+commit b91904a40da6287f84bc79de60674fa57232ec09
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Jan 6 15:43:14 2015 -0800
+
+ [bindings] Replace deprecated allow-none with optional and nullable
+
+ src/hb-blob.cc | 4 ++--
+ src/hb-shape.cc | 2 +-
+ src/hb-unicode.cc | 2 +-
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+commit 81a31f3eff44a85bb2160d51156a01a18f0a97df
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Jan 6 15:37:31 2015 -0800
+
+ [bindings] Make sample Python 2/3 compatible
+
+ src/sample.py | 15 ++++++++++++++-
+ 1 file changed, 14 insertions(+), 1 deletion(-)
+
+commit b632e7997d9cb6e4782cab6d8c62e8e5edaa4cb0
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Jan 6 14:05:26 2015 -0800
+
+ Fix up gobject-introspection a bit
+
+ Minimal shaping works now!
+
+ src/hb-blob.cc | 6 +++---
+ src/hb-buffer.cc | 2 +-
+ src/sample.py | 34 ++++++++++++++++++++++++++++------
+ 3 files changed, 32 insertions(+), 10 deletions(-)
+
+commit 3d1a666a8629a8502a2bcf23ab943e2b39a0da92
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Jan 5 14:43:13 2015 -0800
+
+ Remove hardcoded ICU include paths.
+
+ ICU exports them using LOCAL_EXPORT_C_INCLUDE_DIRS.
+
+ https://android-review.googlesource.com/#/c/121311/
+
+ Android.mk | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit 8cb41cb9508eb1bb6319e92f900cfe5e8a131be3
+Merge: 365c03f fb85d61
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Jan 4 20:32:18 2015 -0800
+
+ Merge pull request #76 from cpeterso/cpeterso/Wunused-function
+
+ Add #ifdef HB_USE_ATEXIT to fix -Wunused-function warnings
+
+commit fb85d618f5883458bacf0ecb0894772291a2d738
+Author: Chris Peterson <cpeterson@mozilla.com>
+Date: Sun Jan 4 19:31:10 2015 -0800
+
+ Add #ifdef HB_USE_ATEXIT to fix -Wunused-function warnings
+
+ src/hb-common.cc | 2 +-
+ src/hb-ft.cc | 4 +++-
+ src/hb-shape.cc | 4 +++-
+ src/hb-shaper.cc | 4 +++-
+ 4 files changed, 10 insertions(+), 4 deletions(-)
+
+commit 365c03fc2bcdb4098314a0e123c46018fb882586
+Merge: c36c4a9 d1897a9
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sat Jan 3 21:55:30 2015 -0800
+
+ Merge pull request #75 from cpeterso/cpeterso/Wunused-value
+
+ Fix hb_atomic_ptr_cmpexch -Wunused-value warnings
+
+commit d1897a98d8da40cffb57c07099a9a93cfeaacc36
+Author: Chris Peterson <cpeterson@mozilla.com>
+Date: Sat Jan 3 19:46:19 2015 -0800
+
+ Fix hb_atomic_ptr_cmpexch -Wunused-value warnings
+
+ src/hb-common.cc | 2 +-
+ src/hb-icu.cc | 4 +---
+ 2 files changed, 2 insertions(+), 4 deletions(-)
+
+commit c36c4a9924609df648e62e47fa017b19b844fd98
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Jan 2 14:09:23 2015 -0800
+
+ Add missing va_end()
+
+ Fixes https://github.com/behdad/harfbuzz/pull/74
+
+ util/options.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit f34aaba8687a20794835e2dc878c52d1b53e6f85
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Dec 28 18:56:15 2014 -0800
+
+ [ft] Don't set font ppem
+
+ For discussion see:
+
+ http://lists.freedesktop.org/archives/harfbuzz/2012-April/001905.html
+
+ Over time we have had added NO_HINTING all over the place in hb-ft.
+ Finish it off.
+ Not setting ppem on hb-font disables get_contour_point() calls which
+ is good anyway.
+
+ See comments in the commit.
+
+ src/hb-ft.cc | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+commit 350f3a02ce225e5d78db8ac96de1351ff9f96dd5
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Dec 28 17:44:26 2014 -0800
+
+ [ft] Add hb_ft_face_create_referenced() and
+ hb_ft_font_create_referenced()
+
+ When I originally wrote hb-ft, FreeType objects did not support
+ reference
+ counting. As such, hb_ft_face_create() and hb_ft_font_create() had a
+ "destroy" callback and client was responsible for making sure
+ FT_Face is
+ kept around as long as the hb-font/face are alive.
+
+ However, since this was not clearly documented, some clienets didn't
+ correctly did that. In particular, some clients assumed that
+ it's safe
+ to destroy FT_Face and then hb_face_t. This, indeed, used to work,
+ until
+ 45fd9424c723f115ca98995b8f8a25185a6fc71d, which make face destroy
+ access
+ font tables.
+
+ Now, I fixed that issue in 395b35903e052aecc97d0807e4f813c64c0d2b0b
+ since
+ the access was not needed, but the problem remains that not all
+ clients
+ handle this correctly. See:
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=86300
+
+ Fortunately, FT_Reference_Face() was added to FreeType in 2010,
+ and so we
+ can use it now. Originally I wanted to change hb_ft_face_create() and
+ hb_ft_font_create() to reference the face if destroy==NULL was
+ passed in.
+ That would improve pretty much all clients, with little undesired
+ effects.
+ Except that FreeType itself, when compiled with HarfBuzz support,
+ calls
+ hb_ft_font_create() with destroy==NULL and saves the resulting
+ hb-font on
+ the ft-face (why does it not free it immediately?). Making hb-face
+ reference ft-face causes a cycling reference there. At least,
+ that's my
+ current understanding.
+
+ At any rate, a cleaner approach, even if it means all clients will
+ need a
+ change, is to introduce brand new API. Which this commit does.
+
+ Some comments added to hb-ft.h, hoping to make future clients
+ make better
+ choices.
+
+ Fixes https://bugs.freedesktop.org/show_bug.cgi?id=75299
+
+ configure.ac | 4 ++--
+ src/hb-ft.cc | 32 ++++++++++++++++++++++++++++++++
+ src/hb-ft.h | 59
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ 3 files changed, 92 insertions(+), 3 deletions(-)
+
+commit 9a3b74884b2e41c7040611030f4336f13d18fd3e
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Dec 28 17:27:39 2014 -0800
+
+ Remove redundant check for FT_Face_GetCharVariantIndex
+
+ We require FreeType >= 2.8.3. This symbol was introduced earlier
+ than that.
+
+ configure.ac | 9 +--------
+ src/hb-ft.cc | 2 --
+ 2 files changed, 1 insertion(+), 10 deletions(-)
+
+commit 1226b2e930aa456cc05bbe621c96f4286a95cff6
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Dec 28 17:04:23 2014 -0800
+
+ Fix FreeType version check
+
+ configure.ac | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit affacf2f37db767ab8df7f2db6cd9e0e9b0a2b8a
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Dec 28 16:20:31 2014 -0800
+
+ [ft] Open blob in READONLY mode
+
+ HB_MEMORY_MODE_READONLY_MAY_MAKE_WRITABLE is deprecated and fairly
+ useless now.
+
+ src/hb-ft.cc | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+commit 395b35903e052aecc97d0807e4f813c64c0d2b0b
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Dec 28 16:03:26 2014 -0800
+
+ Avoid accessing layout tables at face destruction
+
+ "Fixes" https://bugs.freedesktop.org/show_bug.cgi?id=86300
+
+ Based on discussion someone else who had a similar issue, most
+ probably
+ the user is releasing FT_Face before destructing hb_face_t /
+ hb_font_t.
+ While that's a client bug, and while we can (and should) use FreeType
+ refcounting to help avoid that, it happens that we were accessing
+ the table when we didn't really have to. Avoid that.
+
+ src/hb-ot-layout-private.hh | 3 +--
+ src/hb-ot-layout.cc | 4 ++--
+ src/hb-ot-shape-complex-arabic-fallback.hh | 2 +-
+ 3 files changed, 4 insertions(+), 5 deletions(-)
+
+commit 7d5e7613ced3dd39d05df83ca7e8952cbecd68f6
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Dec 18 18:22:21 2014 -0800
+
+ Fail blob creation if length overflows or is too large
+
+ Fail if blob start plus length overflows; or if blob length
+ is greater than 2GB. It takes a while for fonts to get to that
+ size. In the mean time, it protects against bugs like this:
+
+ http://www.icu-project.org/trac/ticket/11450
+
+ Also avoids some weird issues with 32bit vs 64bit systems
+ as we accept length as unsigned int. As such, a length of
+ -1 will cause overflow on 32bit machines, but happily
+ accepted on a 64bit machine. Avoid that.
+
+ src/hb-blob.cc | 5 ++++-
+ test/api/test-blob.c | 3 +++
+ 2 files changed, 7 insertions(+), 1 deletion(-)
+
+commit d5a5052098b0aa79ff55c235e61a9db477c4120f
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Dec 18 18:09:41 2014 -0800
+
+ Assert that blob length doesn't overflow address.
+
+ This will crash now, if blob was created with wrong length.
+ Check for that coming next commit.
+
+ src/hb-open-type-private.hh | 1 +
+ 1 file changed, 1 insertion(+)
+
commit 66e37409b3bc1eddc86704ae26d9176677ce6aa6
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Wed Dec 17 12:09:17 2014 -0800
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/Makefile.am b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/Makefile.am
index fa8711403d5..58afd9b923c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/Makefile.am
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/Makefile.am
@@ -10,6 +10,7 @@ EXTRA_DIST = \
autogen.sh \
harfbuzz.doap \
Android.mk \
+ README.python \
$(NULL)
MAINTAINERCLEANFILES = \
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/NEWS b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/NEWS
index e3b69d39734..3a33bdf5cb5 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/NEWS
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/NEWS
@@ -1,3 +1,26 @@
+Overview of changes leading to 0.9.38
+Friday, January 23, 2015
+=====================================
+
+- Fix minor out-of-bounds access in Indic shaper.
+- Change New Tai Lue shaping engine from South-East Asian to default,
+ reflecting change in Unicode encoding model.
+- Add hb-shape --font-size. Can take up to two numbers for separate
+ x / y size.
+- Fix CoreText and FreeType scale issues with negative scales.
+- Reject blobs larger than 2GB. This might break some icu-le-hb clients
+ that need security fixes. See:
+ http://www.icu-project.org/trac/ticket/11450
+- Avoid accessing font tables during face destruction, in casce rogue
+ clients released face data already.
+- Fix up gobject-introspection a bit. Python bindings kinda working.
+ See README.python.
+- Misc fixes.
+- API additions:
+ hb_ft_face_create_referenced()
+ hb_ft_font_create_referenced()
+
+
Overview of changes leading to 0.9.37
Wednesday, December 17, 2014
=====================================
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/README b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/README
index d34bc74f997..d34bc74f997 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/README
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/README
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.38/README.python b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/README.python
new file mode 100644
index 00000000000..eabdf5bbb56
--- /dev/null
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/README.python
@@ -0,0 +1,26 @@
+To enable HarfBuzz bindings for Python among other languages, make sure
+you have latest version of gobject-introspection compiled, and then
+run autogen.sh (if building from git), and then:
+
+ ./configure --with-gobject --enable-introspection
+
+Make sure that gobject-introspection is enabled then in the final report.
+
+Compile and install.
+
+Make sure you have the installation lib dir in LD_LIBRARY_PATH, as needed
+for the linker to find the library.
+
+Then make sure you also have GI_TYPELIB_PATH pointing to the resulting
+$prefix/lib/girepository-* directory.
+
+Make sure you have pygobject installed. Then check that the following
+import works in your Python interpretter:
+
+ from gi.repository import HarfBuzz
+
+If it does, you are ready to call HarfBuzz from Python! Congratulations.
+See src/sample.py.
+
+The Python API will change. Let us know on the mailing list if you are
+using it, and send lots of feedback.
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/THANKS b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/THANKS
index 940cfde5c39..940cfde5c39 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/THANKS
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/THANKS
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/TODO b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/TODO
index e1aa39c4c01..e1aa39c4c01 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/TODO
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/TODO
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/autogen.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/autogen.sh
index a267f297b06..a267f297b06 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/autogen.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/autogen.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/config.h.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/config.h.in
index 491e7f428ef..35395c36138 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/config.h.in
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/config.h.in
@@ -24,9 +24,6 @@
/* Have FreeType 2 library */
#undef HAVE_FREETYPE
-/* Define to 1 if you have the `FT_Face_GetCharVariantIndex' function. */
-#undef HAVE_FT_FACE_GETCHARVARIANTINDEX
-
/* Define to 1 if you have the `getpagesize' function. */
#undef HAVE_GETPAGESIZE
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/configure.ac b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/configure.ac
index ec4174848ce..3e42d95b4b9 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/configure.ac
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/configure.ac
@@ -1,6 +1,6 @@
AC_PREREQ([2.64])
AC_INIT([HarfBuzz],
- [0.9.37],
+ [0.9.38],
[http://bugs.freedesktop.org/enter_bug.cgi?product=harfbuzz],
[harfbuzz],
[http://harfbuzz.org/])
@@ -285,7 +285,7 @@ if test "x$with_graphite2" = "xyes" -a "x$have_graphite2" != "xtrue"; then
AC_MSG_ERROR([graphite2 support requested but libgraphite2 not found])
fi
if $have_graphite2; then
- AC_DEFINE(HAVE_GRAPHITE2, 1, [Have Graphite2 library])
+ AC_DEFINE(HAVE_GRAPHITE2, 1, [Have Graphite2 library])
fi
AM_CONDITIONAL(HAVE_GRAPHITE2, $have_graphite2)
@@ -297,20 +297,14 @@ AC_ARG_WITH(freetype,
[with_freetype=auto])
have_freetype=false
if test "x$with_freetype" = "xyes" -o "x$with_freetype" = "xauto"; then
- PKG_CHECK_MODULES(FREETYPE, freetype2 >= 2.3.8, have_freetype=true, :)
+ # See freetype/docs/VERSION.DLL; 12.0.6 means freetype-2.4.2
+ PKG_CHECK_MODULES(FREETYPE, freetype2 >= 12.0.6, have_freetype=true, :)
fi
if test "x$with_freetype" = "xyes" -a "x$have_freetype" != "xtrue"; then
AC_MSG_ERROR([FreeType support requested but libfreetype2 not found])
fi
if $have_freetype; then
AC_DEFINE(HAVE_FREETYPE, 1, [Have FreeType 2 library])
- _save_libs="$LIBS"
- _save_cflags="$CFLAGS"
- LIBS="$LIBS $FREETYPE_LIBS"
- CFLAGS="$CFLAGS $FREETYPE_CFLAGS"
- AC_CHECK_FUNCS(FT_Face_GetCharVariantIndex)
- LIBS="$_save_libs"
- CFLAGS="$_save_cflags"
fi
AM_CONDITIONAL(HAVE_FREETYPE, $have_freetype)
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/gtk-doc.make b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/gtk-doc.make
index e7916563d75..e7916563d75 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/gtk-doc.make
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/gtk-doc.make
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/harfbuzz.doap b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/harfbuzz.doap
index d2896ebefa8..d2896ebefa8 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/harfbuzz.doap
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/harfbuzz.doap
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/Makefile.am b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/Makefile.am
index 71614a4fac9..c99967f6904 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/Makefile.am
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/Makefile.am
@@ -13,6 +13,9 @@ DISTCHECK_CONFIGURE_FLAGS = --enable-introspection
# The following warning options are useful for debugging: -Wpadded
#AM_CXXFLAGS =
+# Convenience targets:
+lib: libharfbuzz.la
+
lib_LTLIBRARIES = libharfbuzz.la
HBCFLAGS =
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-c-linkage-decls.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/check-c-linkage-decls.sh
index b10310f5384..b10310f5384 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-c-linkage-decls.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/check-c-linkage-decls.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-defs.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/check-defs.sh
index 65a24670e48..65a24670e48 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-defs.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/check-defs.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-header-guards.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/check-header-guards.sh
index 9a3302c7f87..9a3302c7f87 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-header-guards.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/check-header-guards.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-includes.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/check-includes.sh
index 902f2357e2a..902f2357e2a 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-includes.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/check-includes.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-libstdc++.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/check-libstdc++.sh
index 27deb42dc97..27deb42dc97 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-libstdc++.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/check-libstdc++.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-static-inits.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/check-static-inits.sh
index 1446fa73405..1446fa73405 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-static-inits.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/check-static-inits.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-symbols.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/check-symbols.sh
index b2bf43fcea5..b2bf43fcea5 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/check-symbols.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/check-symbols.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/gen-arabic-table.py b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/gen-arabic-table.py
index 308435f991e..308435f991e 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/gen-arabic-table.py
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/gen-arabic-table.py
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/gen-indic-table.py b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/gen-indic-table.py
index 4fb76f445c6..f5716bda789 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/gen-indic-table.py
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/gen-indic-table.py
@@ -209,7 +209,7 @@ for p in sorted(pages):
for (start,end) in zip (starts, ends):
if p not in [start>>page_bits, end>>page_bits]: continue
offset = "indic_offset_0x%04xu" % start
- print " if (hb_in_range (u, 0x%04Xu, 0x%04Xu)) return indic_table[u - 0x%04Xu + %s];" % (start, end, start, offset)
+ print " if (hb_in_range (u, 0x%04Xu, 0x%04Xu)) return indic_table[u - 0x%04Xu + %s];" % (start, end-1, start, offset)
for u,d in singles.items ():
if p != u>>page_bits: continue
print " if (unlikely (u == 0x%04Xu)) return _(%s,%s);" % (u, short[0][d[0]], short[1][d[1]])
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/harfbuzz-gobject.pc.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/harfbuzz-gobject.pc.in
index 70083601901..70083601901 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/harfbuzz-gobject.pc.in
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/harfbuzz-gobject.pc.in
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/harfbuzz-icu.pc.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/harfbuzz-icu.pc.in
index 949869a3563..949869a3563 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/harfbuzz-icu.pc.in
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/harfbuzz-icu.pc.in
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/harfbuzz.pc.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/harfbuzz.pc.in
index 7f27bbbdef0..7f27bbbdef0 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/harfbuzz.pc.in
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/harfbuzz.pc.in
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-atomic-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-atomic-private.hh
index e6738b7d9f6..e6738b7d9f6 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-atomic-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-atomic-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-blob.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-blob.cc
index b82b4b2a3a3..8759a252a57 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-blob.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-blob.cc
@@ -78,8 +78,8 @@ _hb_blob_destroy_user_data (hb_blob_t *blob)
}
/**
- * hb_blob_create: (Xconstructor)
- * @data: (array length=length) (closure user_data) (destroy destroy) (scope notified) (transfer none): Pointer to blob data.
+ * hb_blob_create: (skip)
+ * @data: Pointer to blob data.
* @length: Length of @data in bytes.
* @mode: Memory mode for @data.
* @user_data: Data parameter to pass to @destroy.
@@ -102,7 +102,10 @@ hb_blob_create (const char *data,
{
hb_blob_t *blob;
- if (!length || !(blob = hb_object_create<hb_blob_t> ())) {
+ if (!length ||
+ length >= 1u << 31 ||
+ data + length < data /* overflows */ ||
+ !(blob = hb_object_create<hb_blob_t> ())) {
if (destroy)
destroy (user_data);
return hb_blob_get_empty ();
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-blob.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-blob.h
index b2419abfd2a..b2419abfd2a 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-blob.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-blob.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-deserialize-json.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-buffer-deserialize-json.hh
index 3f626bda40d..3f626bda40d 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-deserialize-json.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-buffer-deserialize-json.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-deserialize-json.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-buffer-deserialize-json.rl
index 91b350f5ac0..91b350f5ac0 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-deserialize-json.rl
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-buffer-deserialize-json.rl
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-deserialize-text.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-buffer-deserialize-text.hh
index 803efbd23b7..7a46ab278be 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-deserialize-text.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-buffer-deserialize-text.hh
@@ -1,5 +1,5 @@
-#line 1 "../../src/hb-buffer-deserialize-text.rl"
+#line 1 "hb-buffer-deserialize-text.rl"
/*
* Copyright © 2013 Google, Inc.
*
@@ -32,7 +32,7 @@
#include "hb-private.hh"
-#line 36 "../../src/hb-buffer-deserialize-text.hh"
+#line 36 "hb-buffer-deserialize-text.hh"
static const unsigned char _deserialize_text_trans_keys[] = {
0u, 0u, 9u, 122u, 45u, 57u, 48u, 57u, 45u, 57u, 48u, 57u, 48u, 57u, 45u, 57u,
48u, 57u, 44u, 44u, 45u, 57u, 48u, 57u, 44u, 57u, 9u, 124u, 9u, 124u, 0u, 0u,
@@ -312,7 +312,7 @@ static const int deserialize_text_error = 0;
static const int deserialize_text_en_main = 1;
-#line 91 "../../src/hb-buffer-deserialize-text.rl"
+#line 91 "hb-buffer-deserialize-text.rl"
static hb_bool_t
@@ -339,12 +339,12 @@ _hb_buffer_deserialize_glyphs_text (hb_buffer_t *buffer,
hb_glyph_info_t info;
hb_glyph_position_t pos;
-#line 343 "../../src/hb-buffer-deserialize-text.hh"
+#line 343 "hb-buffer-deserialize-text.hh"
{
cs = deserialize_text_start;
}
-#line 348 "../../src/hb-buffer-deserialize-text.hh"
+#line 348 "hb-buffer-deserialize-text.hh"
{
int _slen;
int _trans;
@@ -370,13 +370,13 @@ _resume:
switch ( _deserialize_text_trans_actions[_trans] ) {
case 2:
-#line 51 "../../src/hb-buffer-deserialize-text.rl"
+#line 51 "hb-buffer-deserialize-text.rl"
{
tok = p;
}
break;
case 5:
-#line 55 "../../src/hb-buffer-deserialize-text.rl"
+#line 55 "hb-buffer-deserialize-text.rl"
{
if (!hb_font_glyph_from_string (font,
tok, p - tok,
@@ -385,41 +385,41 @@ _resume:
}
break;
case 10:
-#line 62 "../../src/hb-buffer-deserialize-text.rl"
+#line 62 "hb-buffer-deserialize-text.rl"
{ if (!parse_uint (tok, p, &info.cluster )) return false; }
break;
case 3:
-#line 63 "../../src/hb-buffer-deserialize-text.rl"
+#line 63 "hb-buffer-deserialize-text.rl"
{ if (!parse_int (tok, p, &pos.x_offset )) return false; }
break;
case 12:
-#line 64 "../../src/hb-buffer-deserialize-text.rl"
+#line 64 "hb-buffer-deserialize-text.rl"
{ if (!parse_int (tok, p, &pos.y_offset )) return false; }
break;
case 7:
-#line 65 "../../src/hb-buffer-deserialize-text.rl"
+#line 65 "hb-buffer-deserialize-text.rl"
{ if (!parse_int (tok, p, &pos.x_advance)) return false; }
break;
case 1:
-#line 38 "../../src/hb-buffer-deserialize-text.rl"
+#line 38 "hb-buffer-deserialize-text.rl"
{
memset (&info, 0, sizeof (info));
memset (&pos , 0, sizeof (pos ));
}
-#line 51 "../../src/hb-buffer-deserialize-text.rl"
+#line 51 "hb-buffer-deserialize-text.rl"
{
tok = p;
}
break;
case 4:
-#line 55 "../../src/hb-buffer-deserialize-text.rl"
+#line 55 "hb-buffer-deserialize-text.rl"
{
if (!hb_font_glyph_from_string (font,
tok, p - tok,
&info.codepoint))
return false;
}
-#line 43 "../../src/hb-buffer-deserialize-text.rl"
+#line 43 "hb-buffer-deserialize-text.rl"
{
buffer->add_info (info);
if (buffer->in_error)
@@ -429,9 +429,9 @@ _resume:
}
break;
case 9:
-#line 62 "../../src/hb-buffer-deserialize-text.rl"
+#line 62 "hb-buffer-deserialize-text.rl"
{ if (!parse_uint (tok, p, &info.cluster )) return false; }
-#line 43 "../../src/hb-buffer-deserialize-text.rl"
+#line 43 "hb-buffer-deserialize-text.rl"
{
buffer->add_info (info);
if (buffer->in_error)
@@ -441,9 +441,9 @@ _resume:
}
break;
case 11:
-#line 64 "../../src/hb-buffer-deserialize-text.rl"
+#line 64 "hb-buffer-deserialize-text.rl"
{ if (!parse_int (tok, p, &pos.y_offset )) return false; }
-#line 43 "../../src/hb-buffer-deserialize-text.rl"
+#line 43 "hb-buffer-deserialize-text.rl"
{
buffer->add_info (info);
if (buffer->in_error)
@@ -453,9 +453,9 @@ _resume:
}
break;
case 6:
-#line 65 "../../src/hb-buffer-deserialize-text.rl"
+#line 65 "hb-buffer-deserialize-text.rl"
{ if (!parse_int (tok, p, &pos.x_advance)) return false; }
-#line 43 "../../src/hb-buffer-deserialize-text.rl"
+#line 43 "hb-buffer-deserialize-text.rl"
{
buffer->add_info (info);
if (buffer->in_error)
@@ -465,9 +465,9 @@ _resume:
}
break;
case 8:
-#line 66 "../../src/hb-buffer-deserialize-text.rl"
+#line 66 "hb-buffer-deserialize-text.rl"
{ if (!parse_int (tok, p, &pos.y_advance)) return false; }
-#line 43 "../../src/hb-buffer-deserialize-text.rl"
+#line 43 "hb-buffer-deserialize-text.rl"
{
buffer->add_info (info);
if (buffer->in_error)
@@ -476,7 +476,7 @@ _resume:
*end_ptr = p;
}
break;
-#line 480 "../../src/hb-buffer-deserialize-text.hh"
+#line 480 "hb-buffer-deserialize-text.hh"
}
_again:
@@ -489,14 +489,14 @@ _again:
{
switch ( _deserialize_text_eof_actions[cs] ) {
case 4:
-#line 55 "../../src/hb-buffer-deserialize-text.rl"
+#line 55 "hb-buffer-deserialize-text.rl"
{
if (!hb_font_glyph_from_string (font,
tok, p - tok,
&info.codepoint))
return false;
}
-#line 43 "../../src/hb-buffer-deserialize-text.rl"
+#line 43 "hb-buffer-deserialize-text.rl"
{
buffer->add_info (info);
if (buffer->in_error)
@@ -506,9 +506,9 @@ _again:
}
break;
case 9:
-#line 62 "../../src/hb-buffer-deserialize-text.rl"
+#line 62 "hb-buffer-deserialize-text.rl"
{ if (!parse_uint (tok, p, &info.cluster )) return false; }
-#line 43 "../../src/hb-buffer-deserialize-text.rl"
+#line 43 "hb-buffer-deserialize-text.rl"
{
buffer->add_info (info);
if (buffer->in_error)
@@ -518,9 +518,9 @@ _again:
}
break;
case 11:
-#line 64 "../../src/hb-buffer-deserialize-text.rl"
+#line 64 "hb-buffer-deserialize-text.rl"
{ if (!parse_int (tok, p, &pos.y_offset )) return false; }
-#line 43 "../../src/hb-buffer-deserialize-text.rl"
+#line 43 "hb-buffer-deserialize-text.rl"
{
buffer->add_info (info);
if (buffer->in_error)
@@ -530,9 +530,9 @@ _again:
}
break;
case 6:
-#line 65 "../../src/hb-buffer-deserialize-text.rl"
+#line 65 "hb-buffer-deserialize-text.rl"
{ if (!parse_int (tok, p, &pos.x_advance)) return false; }
-#line 43 "../../src/hb-buffer-deserialize-text.rl"
+#line 43 "hb-buffer-deserialize-text.rl"
{
buffer->add_info (info);
if (buffer->in_error)
@@ -542,9 +542,9 @@ _again:
}
break;
case 8:
-#line 66 "../../src/hb-buffer-deserialize-text.rl"
+#line 66 "hb-buffer-deserialize-text.rl"
{ if (!parse_int (tok, p, &pos.y_advance)) return false; }
-#line 43 "../../src/hb-buffer-deserialize-text.rl"
+#line 43 "hb-buffer-deserialize-text.rl"
{
buffer->add_info (info);
if (buffer->in_error)
@@ -553,14 +553,14 @@ _again:
*end_ptr = p;
}
break;
-#line 557 "../../src/hb-buffer-deserialize-text.hh"
+#line 557 "hb-buffer-deserialize-text.hh"
}
}
_out: {}
}
-#line 119 "../../src/hb-buffer-deserialize-text.rl"
+#line 119 "hb-buffer-deserialize-text.rl"
*end_ptr = p;
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-deserialize-text.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-buffer-deserialize-text.rl
index 8856580fbe3..8856580fbe3 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-deserialize-text.rl
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-buffer-deserialize-text.rl
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-buffer-private.hh
index 069f9255811..069f9255811 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-buffer-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-serialize.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-buffer-serialize.cc
index 406d69db758..406d69db758 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer-serialize.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-buffer-serialize.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-buffer.cc
index 74ae273eeca..7bf232d7603 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-buffer.cc
@@ -1400,7 +1400,7 @@ hb_buffer_add_utf (hb_buffer_t *buffer,
/**
* hb_buffer_add_utf8:
* @buffer: a buffer.
- * @text: (array length=text_length):
+ * @text: (array length=text_length) (element-type uint8_t):
* @text_length:
* @item_offset:
* @item_length:
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-buffer.h
index 7b0c9204688..7b0c9204688 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-buffer.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-buffer.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-cache-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-cache-private.hh
index 19b70b7e395..19b70b7e395 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-cache-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-cache-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-common.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-common.cc
index a6a51447941..8837cefbf7d 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-common.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-common.cc
@@ -235,7 +235,7 @@ struct hb_language_item_t {
static hb_language_item_t *langs;
#ifdef HB_USE_ATEXIT
-static inline
+static
void free_langs (void)
{
while (langs) {
@@ -345,7 +345,7 @@ hb_language_get_default (void)
hb_language_t language = (hb_language_t) hb_atomic_ptr_get (&default_language);
if (unlikely (language == HB_LANGUAGE_INVALID)) {
language = hb_language_from_string (setlocale (LC_CTYPE, NULL), -1);
- hb_atomic_ptr_cmpexch (&default_language, HB_LANGUAGE_INVALID, language);
+ (void) hb_atomic_ptr_cmpexch (&default_language, HB_LANGUAGE_INVALID, language);
}
return default_language;
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-common.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-common.h
index b6ce3f724de..b6ce3f724de 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-common.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-common.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-coretext.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-coretext.cc
index 11629cc18ce..16e069d4948 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-coretext.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-coretext.cc
@@ -140,6 +140,7 @@ hb_coretext_face_get_cg_font (hb_face_t *face)
struct hb_coretext_shaper_font_data_t {
CTFontRef ct_font;
+ CGFloat x_mult, y_mult; /* From CT space to HB space. */
};
hb_coretext_shaper_font_data_t *
@@ -154,7 +155,17 @@ _hb_coretext_shaper_font_data_create (hb_font_t *font)
hb_face_t *face = font->face;
hb_coretext_shaper_face_data_t *face_data = HB_SHAPER_DATA_GET (face);
- data->ct_font = CTFontCreateWithGraphicsFont (face_data, font->y_scale, NULL, NULL);
+ /* Choose a CoreText font size and calculate multipliers to convert to HarfBuzz space. */
+ CGFloat font_size = 36.; /* Default... */
+ /* No idea if the following is even a good idea. */
+ if (font->y_ppem)
+ font_size = font->y_ppem;
+
+ if (font_size < 0)
+ font_size = -font_size;
+ data->x_mult = (CGFloat) font->x_scale / font_size;
+ data->y_mult = (CGFloat) font->y_scale / font_size;
+ data->ct_font = CTFontCreateWithGraphicsFont (face_data, font_size, NULL, NULL);
if (unlikely (!data->ct_font)) {
DEBUG_MSG (CORETEXT, font, "Font CTFontCreateWithGraphicsFont() failed");
free (data);
@@ -860,8 +871,14 @@ retry:
goto resize_and_retry;
hb_glyph_info_t *info = buffer->info + buffer->len;
- CGGlyph notdef = 0;
- double advance = CTFontGetAdvancesForGlyphs (font_data->ct_font, kCTFontHorizontalOrientation, &notdef, NULL, 1);
+ hb_codepoint_t notdef = 0;
+ hb_direction_t dir = buffer->props.direction;
+ hb_position_t x_advance, y_advance, x_offset, y_offset;
+ hb_font_get_glyph_advance_for_direction (font, notdef, dir, &x_advance, &y_advance);
+ hb_font_get_glyph_origin_for_direction (font, notdef, dir, &x_offset, &y_offset);
+ hb_position_t advance = x_advance + y_advance;
+ x_offset = -x_offset;
+ y_offset = -y_offset;
unsigned int old_len = buffer->len;
for (CFIndex j = range.location; j < range.location + range.length; j++)
@@ -880,8 +897,8 @@ retry:
info->cluster = log_clusters[j];
info->mask = advance;
- info->var1.u32 = 0;
- info->var2.u32 = 0;
+ info->var1.u32 = x_offset;
+ info->var2.u32 = y_offset;
info++;
buffer->len++;
@@ -951,14 +968,15 @@ retry:
double run_advance = CTRunGetTypographicBounds (run, range_all, NULL, NULL, NULL);
DEBUG_MSG (CORETEXT, run, "Run advance: %g", run_advance);
hb_glyph_info_t *info = run_info;
+ CGFloat x_mult = font_data->x_mult, y_mult = font_data->y_mult;
if (HB_DIRECTION_IS_HORIZONTAL (buffer->props.direction))
{
for (unsigned int j = 0; j < num_glyphs; j++)
{
double advance = (j + 1 < num_glyphs ? positions[j + 1].x : positions[0].x + run_advance) - positions[j].x;
- info->mask = advance;
- info->var1.u32 = positions[0].x; /* Yes, zero. */
- info->var2.u32 = positions[j].y;
+ info->mask = advance * x_mult;
+ info->var1.u32 = positions[0].x * x_mult; /* Yes, zero. */
+ info->var2.u32 = positions[j].y * y_mult;
info++;
}
}
@@ -968,9 +986,9 @@ retry:
for (unsigned int j = 0; j < num_glyphs; j++)
{
double advance = (j + 1 < num_glyphs ? positions[j + 1].y : positions[0].y + run_advance) - positions[j].y;
- info->mask = advance;
- info->var1.u32 = positions[j].x;
- info->var2.u32 = positions[0].y; /* Yes, zero. */
+ info->mask = advance * y_mult;
+ info->var1.u32 = positions[j].x * x_mult;
+ info->var2.u32 = positions[0].y * y_mult; /* Yes, zero. */
info++;
}
}
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-coretext.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-coretext.h
index 25267bc9784..25267bc9784 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-coretext.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-coretext.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-deprecated.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-deprecated.h
index 30ae4b1caf7..30ae4b1caf7 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-deprecated.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-deprecated.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-face-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-face-private.hh
index c4266fff4f0..c4266fff4f0 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-face-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-face-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-face.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-face.cc
index 9348af7bf8e..9348af7bf8e 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-face.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-face.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-face.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-face.h
index f682c468de5..f682c468de5 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-face.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-face.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-fallback-shape.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-fallback-shape.cc
index 9d061a9e845..9d061a9e845 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-fallback-shape.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-fallback-shape.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-font-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-font-private.hh
index 33bbf7143a2..33bbf7143a2 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-font-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-font-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-font.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-font.cc
index 4364ca72fb0..4364ca72fb0 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-font.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-font.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-font.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-font.h
index 7273db43eda..7273db43eda 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-font.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-font.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ft.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ft.cc
index c42d484c48b..f57f566f6f9 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ft.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ft.cc
@@ -51,6 +51,13 @@
* In particular, FT_Get_Advance() without the NO_HINTING flag seems to be
* buggy.
*
+ * FreeType works in 26.6 mode. Clients can decide to use that mode, and everything
+ * would work fine. However, we also abuse this API for performing in font-space,
+ * but don't pass the correct flags to FreeType. We just abuse the no-hinting mode
+ * for that, such that no rounding etc happens. As such, we don't set ppem, and
+ * pass NO_HINTING around. This seems to work best, until we go ahead and add a full
+ * load_flags API.
+ *
* - We don't handle / allow for emboldening / obliqueing.
*
* - In the future, we should add constructors to create fonts in font space?
@@ -70,12 +77,10 @@ hb_ft_get_glyph (hb_font_t *font HB_UNUSED,
{
FT_Face ft_face = (FT_Face) font_data;
-#ifdef HAVE_FT_FACE_GETCHARVARIANTINDEX
if (unlikely (variation_selector)) {
*glyph = FT_Face_GetCharVariantIndex (ft_face, unicode, variation_selector);
return *glyph != 0;
}
-#endif
*glyph = FT_Get_Char_Index (ft_face, unicode);
return *glyph != 0;
@@ -94,6 +99,9 @@ hb_ft_get_glyph_h_advance (hb_font_t *font HB_UNUSED,
if (unlikely (FT_Get_Advance (ft_face, glyph, load_flags, &v)))
return 0;
+ if (font->x_scale < 0)
+ v = -v;
+
return (v + (1<<9)) >> 10;
}
@@ -340,11 +348,7 @@ hb_ft_face_create (FT_Face ft_face,
blob = hb_blob_create ((const char *) ft_face->stream->base,
(unsigned int) ft_face->stream->size,
- /* TODO: We assume that it's mmap()'ed, but FreeType code
- * suggests that there are cases we reach here but font is
- * not mmapped. For example, when mmap() fails. No idea
- * how to deal with it better here. */
- HB_MEMORY_MODE_READONLY_MAY_MAKE_WRITABLE,
+ HB_MEMORY_MODE_READONLY,
ft_face, destroy);
face = hb_face_create (blob, ft_face->face_index);
hb_blob_destroy (blob);
@@ -358,6 +362,22 @@ hb_ft_face_create (FT_Face ft_face,
return face;
}
+/**
+ * hb_ft_face_create_referenced:
+ * @ft_face:
+ *
+ *
+ *
+ * Return value: (transfer full):
+ * Since: 1.0
+ **/
+hb_face_t *
+hb_ft_face_create_referenced (FT_Face ft_face)
+{
+ FT_Reference_Face (ft_face);
+ return hb_ft_face_create (ft_face, (hb_destroy_func_t) FT_Done_Face);
+}
+
static void
hb_ft_face_finalize (FT_Face ft_face)
{
@@ -420,23 +440,43 @@ hb_ft_font_create (FT_Face ft_face,
hb_font_set_scale (font,
(int) (((uint64_t) ft_face->size->metrics.x_scale * (uint64_t) ft_face->units_per_EM + (1<<15)) >> 16),
(int) (((uint64_t) ft_face->size->metrics.y_scale * (uint64_t) ft_face->units_per_EM + (1<<15)) >> 16));
+#if 0 /* hb-ft works in no-hinting model */
hb_font_set_ppem (font,
ft_face->size->metrics.x_ppem,
ft_face->size->metrics.y_ppem);
+#endif
return font;
}
+/**
+ * hb_ft_font_create_referenced:
+ * @ft_face:
+ *
+ *
+ *
+ * Return value: (transfer full):
+ * Since: 1.0
+ **/
+hb_font_t *
+hb_ft_font_create_referenced (FT_Face ft_face)
+{
+ FT_Reference_Face (ft_face);
+ return hb_ft_font_create (ft_face, (hb_destroy_func_t) FT_Done_Face);
+}
+
/* Thread-safe, lock-free, FT_Library */
static FT_Library ft_library;
-static inline
+#ifdef HB_USE_ATEXIT
+static
void free_ft_library (void)
{
FT_Done_FreeType (ft_library);
}
+#endif
static FT_Library
get_ft_library (void)
@@ -493,14 +533,19 @@ hb_ft_font_set_funcs (hb_font_t *font)
FT_Select_Charmap (ft_face, FT_ENCODING_UNICODE);
- assert (font->y_scale >= 0);
FT_Set_Char_Size (ft_face,
- font->x_scale, font->y_scale,
+ abs (font->x_scale), abs (font->y_scale),
0, 0);
#if 0
font->x_ppem * 72 * 64 / font->x_scale,
font->y_ppem * 72 * 64 / font->y_scale);
#endif
+ if (font->x_scale < 0 || font->y_scale < 0)
+ {
+ FT_Matrix matrix = { font->x_scale < 0 ? -1 : +1, 0,
+ 0, font->y_scale < 0 ? -1 : +1};
+ FT_Set_Transform (ft_face, &matrix, NULL);
+ }
ft_face->generic.data = blob;
ft_face->generic.finalizer = (FT_Generic_Finalizer) _release_blob;
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ft.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ft.h
new file mode 100644
index 00000000000..92f4b361441
--- /dev/null
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ft.h
@@ -0,0 +1,119 @@
+/*
+ * Copyright © 2009 Red Hat, 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.
+ *
+ * Red Hat Author(s): Behdad Esfahbod
+ */
+
+#ifndef HB_FT_H
+#define HB_FT_H
+
+#include "hb.h"
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+
+HB_BEGIN_DECLS
+
+/*
+ * Note: FreeType is not thread-safe.
+ * Hence, these functions are not either.
+ */
+
+/*
+ * hb-face from ft-face.
+ */
+
+/* This one creates a new hb-face for given ft-face.
+ * When the returned hb-face is destroyed, the destroy
+ * callback is called (if not NULL), with the ft-face passed
+ * to it.
+ *
+ * The client is responsible to make sure that ft-face is
+ * destroyed after hb-face is destroyed.
+ *
+ * Most often you don't want this function. You should use either
+ * hb_ft_face_create_cached(), or hb_ft_face_create_referenced().
+ * In particular, if you are going to pass NULL as destroy, you
+ * probably should use (the more recent) hb_ft_face_create_referenced()
+ * instead.
+ */
+hb_face_t *
+hb_ft_face_create (FT_Face ft_face,
+ hb_destroy_func_t destroy);
+
+/* This version is like hb_ft_face_create(), except that it caches
+ * the hb-face using the generic pointer of the ft-face. This means
+ * that subsequent calls to this function with the same ft-face will
+ * return the same hb-face (correctly referenced).
+ *
+ * Client is still responsible for making sure that ft-face is destroyed
+ * after hb-face is.
+ */
+hb_face_t *
+hb_ft_face_create_cached (FT_Face ft_face);
+
+/* This version is like hb_ft_face_create(), except that it calls
+ * FT_Reference_Face() on ft-face, as such keeping ft-face alive
+ * as long as the hb-face is.
+ *
+ * This is the most convenient version to use. Use it unless you have
+ * very good reasons not to.
+ */
+hb_face_t *
+hb_ft_face_create_referenced (FT_Face ft_face);
+
+
+/*
+ * hb-font from ft-face.
+ */
+
+/*
+ * Note:
+ *
+ * Set face size on ft-face before creating hb-font from it.
+ * Otherwise hb-ft would NOT pick up the font size correctly.
+ */
+
+/* See notes on hb_ft_face_create(). Same issues re lifecycle-management
+ * apply here. Use hb_ft_font_create_referenced() if you can. */
+hb_font_t *
+hb_ft_font_create (FT_Face ft_face,
+ hb_destroy_func_t destroy);
+
+/* See notes on hb_ft_face_create_referenced() re lifecycle-management
+ * issues. */
+hb_font_t *
+hb_ft_font_create_referenced (FT_Face ft_face);
+
+
+/* Makes an hb_font_t use FreeType internally to implement font functions. */
+void
+hb_ft_font_set_funcs (hb_font_t *font);
+
+FT_Face
+hb_ft_font_get_face (hb_font_t *font);
+
+
+HB_END_DECLS
+
+#endif /* HB_FT_H */
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-glib.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-glib.cc
index af43cab7113..61dff5e3d6f 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-glib.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-glib.cc
@@ -382,3 +382,14 @@ hb_glib_get_unicode_funcs (void)
return const_cast<hb_unicode_funcs_t *> (&_hb_glib_unicode_funcs);
}
+hb_blob_t *
+hb_glib_blob_create (GBytes *gbytes)
+{
+ gsize size = 0;
+ gconstpointer data = g_bytes_get_data (gbytes, &size);
+ return hb_blob_create ((const char *) data,
+ size,
+ HB_MEMORY_MODE_READONLY,
+ g_bytes_ref (gbytes),
+ (hb_destroy_func_t) g_bytes_unref);
+}
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-glib.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-glib.h
index 63a9d3366c5..1a8f42ea529 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-glib.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-glib.h
@@ -46,6 +46,9 @@ hb_glib_script_from_script (hb_script_t script);
hb_unicode_funcs_t *
hb_glib_get_unicode_funcs (void);
+hb_blob_t *
+hb_glib_blob_create (GBytes *gbytes);
+
HB_END_DECLS
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-gobject-enums.cc.tmpl b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-gobject-enums.cc.tmpl
index ca458a3846c..ca458a3846c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-gobject-enums.cc.tmpl
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-gobject-enums.cc.tmpl
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-gobject-enums.h.tmpl b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-gobject-enums.h.tmpl
index 6ecda06c2a6..6ecda06c2a6 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-gobject-enums.h.tmpl
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-gobject-enums.h.tmpl
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-gobject-structs.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-gobject-structs.cc
index 2451b66291b..2451b66291b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-gobject-structs.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-gobject-structs.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-gobject-structs.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-gobject-structs.h
index 4a88d569e8d..4a88d569e8d 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-gobject-structs.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-gobject-structs.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-gobject.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-gobject.h
index ea1bd25df82..ea1bd25df82 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-gobject.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-gobject.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-graphite2.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-graphite2.cc
index 807c3308771..807c3308771 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-graphite2.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-graphite2.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-graphite2.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-graphite2.h
index 3eae54acbd8..3eae54acbd8 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-graphite2.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-graphite2.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-icu.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-icu.cc
index 86c8b5cc5a2..24cec9d7266 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-icu.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-icu.cc
@@ -363,10 +363,8 @@ hb_icu_get_unicode_funcs (void)
if (!hb_atomic_ptr_get (&normalizer)) {
UErrorCode icu_err = U_ZERO_ERROR;
/* We ignore failure in getNFCInstace(). */
- hb_atomic_ptr_cmpexch (&normalizer, NULL, unorm2_getNFCInstance (&icu_err));
+ (void) hb_atomic_ptr_cmpexch (&normalizer, NULL, unorm2_getNFCInstance (&icu_err));
}
#endif
return const_cast<hb_unicode_funcs_t *> (&_hb_icu_unicode_funcs);
}
-
-
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-icu.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-icu.h
index f2f35f0f2ce..f2f35f0f2ce 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-icu.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-icu.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-mutex-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-mutex-private.hh
index 62812019585..62812019585 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-mutex-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-mutex-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-object-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-object-private.hh
index 7bd0f1624b5..7bd0f1624b5 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-object-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-object-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-open-file-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-open-file-private.hh
index 7500c32f156..7500c32f156 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-open-file-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-open-file-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-open-type-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-open-type-private.hh
index 5616f04deec..477d9e28b2c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-open-type-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-open-type-private.hh
@@ -194,6 +194,7 @@ struct hb_sanitize_context_t
{
this->start = hb_blob_get_data (this->blob, NULL);
this->end = this->start + hb_blob_get_length (this->blob);
+ assert (this->start <= this->end); /* Must not overflow. */
this->edit_count = 0;
this->debug_depth = 0;
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-cmap-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-cmap-table.hh
index d53141157d0..d53141157d0 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-cmap-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-cmap-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-font.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-font.cc
index 2af2f54a759..2af2f54a759 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-font.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-font.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-font.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-font.h
index 7a8c04ac33d..7a8c04ac33d 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-font.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-font.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-head-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-head-table.hh
index ec4e8c9d453..ec4e8c9d453 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-head-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-head-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-hhea-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-hhea-table.hh
index edc0e29cbfb..edc0e29cbfb 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-hhea-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-hhea-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-hmtx-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-hmtx-table.hh
index 317854ce7f8..317854ce7f8 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-hmtx-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-hmtx-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-layout-common-private.hh
index abd063c8961..abd063c8961 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-common-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-layout-common-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-gdef-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-layout-gdef-table.hh
index 84a5e797c63..84a5e797c63 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-gdef-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-layout-gdef-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-gpos-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-layout-gpos-table.hh
index 4255f5a8aea..f7fef5273ae 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-gpos-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-layout-gpos-table.hh
@@ -602,12 +602,24 @@ struct PairSet
unsigned int len2 = valueFormats[1].get_len ();
unsigned int record_size = USHORT::static_size * (1 + len1 + len2);
- const PairValueRecord *record = CastP<PairValueRecord> (arrayZ);
+ const PairValueRecord *record_array = CastP<PairValueRecord> (arrayZ);
unsigned int count = len;
- for (unsigned int i = 0; i < count; i++)
+
+ /* Hand-coded bsearch. */
+ if (unlikely (!count))
+ return TRACE_RETURN (false);
+ hb_codepoint_t x = buffer->info[pos].codepoint;
+ int min = 0, max = (int) count - 1;
+ while (min <= max)
{
- /* TODO bsearch */
- if (buffer->info[pos].codepoint == record->secondGlyph)
+ int mid = (min + max) / 2;
+ const PairValueRecord *record = &StructAtOffset<PairValueRecord> (record_array, record_size * mid);
+ hb_codepoint_t mid_x = record->secondGlyph;
+ if (x < mid_x)
+ max = mid - 1;
+ else if (x > mid_x)
+ min = mid + 1;
+ else
{
valueFormats[0].apply_value (c->font, c->direction, this,
&record->values[0], buffer->cur_pos());
@@ -618,7 +630,6 @@ struct PairSet
buffer->idx = pos;
return TRACE_RETURN (true);
}
- record = &StructAtOffset<PairValueRecord> (record, record_size);
}
return TRACE_RETURN (false);
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-gsub-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-layout-gsub-table.hh
index 5d67be0ec0f..5d67be0ec0f 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-gsub-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-layout-gsub-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-gsubgpos-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-layout-gsubgpos-private.hh
index 57fc1e05f76..57fc1e05f76 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-gsubgpos-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-layout-gsubgpos-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-jstf-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-layout-jstf-table.hh
index 67a6df5b421..67a6df5b421 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-jstf-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-layout-jstf-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-layout-private.hh
index ae7daa6dbc9..3f7c858d1cf 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-layout-private.hh
@@ -126,8 +126,7 @@ struct hb_ot_layout_lookup_accelerator_t
lookup.add_coverage (&digest);
}
- template <typename TLookup>
- inline void fini (const TLookup &lookup HB_UNUSED)
+ inline void fini (void)
{
}
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-layout.cc
index 661d90ea0d6..602b94ecd6c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-layout.cc
@@ -84,9 +84,9 @@ void
_hb_ot_layout_destroy (hb_ot_layout_t *layout)
{
for (unsigned int i = 0; i < layout->gsub_lookup_count; i++)
- layout->gsub_accels[i].fini (layout->gsub->get_lookup (i));
+ layout->gsub_accels[i].fini ();
for (unsigned int i = 0; i < layout->gpos_lookup_count; i++)
- layout->gpos_accels[i].fini (layout->gpos->get_lookup (i));
+ layout->gpos_accels[i].fini ();
free (layout->gsub_accels);
free (layout->gpos_accels);
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-layout.h
index 949678ac422..949678ac422 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-layout.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-layout.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-map-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-map-private.hh
index 86b7e9fafea..86b7e9fafea 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-map-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-map-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-map.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-map.cc
index 4985eb22b20..4985eb22b20 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-map.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-map.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-maxp-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-maxp-table.hh
index b1f832852d3..b1f832852d3 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-maxp-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-maxp-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-name-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-name-table.hh
index 31d9fac7e29..31d9fac7e29 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-name-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-name-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-arabic-fallback.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-arabic-fallback.hh
index dc659e084c5..a77f24ec849 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-arabic-fallback.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-arabic-fallback.hh
@@ -327,7 +327,7 @@ arabic_fallback_plan_destroy (arabic_fallback_plan_t *fallback_plan)
for (unsigned int i = 0; i < fallback_plan->num_lookups; i++)
if (fallback_plan->lookup_array[i])
{
- fallback_plan->accel_array[i].fini (fallback_plan->lookup_array[i]);
+ fallback_plan->accel_array[i].fini ();
if (fallback_plan->free_lookups)
free (fallback_plan->lookup_array[i]);
}
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-arabic-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-arabic-table.hh
index 17100497ecb..17100497ecb 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-arabic-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-arabic-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-arabic-win1256.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-arabic-win1256.hh
index 3a20b507d4e..3a20b507d4e 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-arabic-win1256.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-arabic-win1256.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-arabic.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-arabic.cc
index ae908641271..ae908641271 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-arabic.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-arabic.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-default.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-default.cc
index f7f097eedaa..f7f097eedaa 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-default.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-default.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-hangul.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-hangul.cc
index 6ac18b08bff..6ac18b08bff 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-hangul.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-hangul.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-hebrew.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-hebrew.cc
index c7b7a5eba6a..c7b7a5eba6a 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-hebrew.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-hebrew.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-indic-machine.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-indic-machine.hh
index f652d4fda73..f652d4fda73 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-indic-machine.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-indic-machine.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-indic-machine.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-indic-machine.rl
index 694b235d1d1..694b235d1d1 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-indic-machine.rl
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-indic-machine.rl
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-indic-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-indic-private.hh
index d8dfc6507d9..d8dfc6507d9 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-indic-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-indic-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-indic-table.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-indic-table.cc
index f58380e0c8a..2e159a12b00 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-indic-table.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-indic-table.cc
@@ -861,41 +861,41 @@ hb_indic_get_categories (hb_codepoint_t u)
switch (u >> 12)
{
case 0x0u:
- if (hb_in_range (u, 0x0028u, 0x0040u)) return indic_table[u - 0x0028u + indic_offset_0x0028u];
- if (hb_in_range (u, 0x00D0u, 0x00D8u)) return indic_table[u - 0x00D0u + indic_offset_0x00d0u];
- if (hb_in_range (u, 0x0900u, 0x0DF8u)) return indic_table[u - 0x0900u + indic_offset_0x0900u];
+ if (hb_in_range (u, 0x0028u, 0x003Fu)) return indic_table[u - 0x0028u + indic_offset_0x0028u];
+ if (hb_in_range (u, 0x00D0u, 0x00D7u)) return indic_table[u - 0x00D0u + indic_offset_0x00d0u];
+ if (hb_in_range (u, 0x0900u, 0x0DF7u)) return indic_table[u - 0x0900u + indic_offset_0x0900u];
if (unlikely (u == 0x00A0u)) return _(CP,x);
break;
case 0x1u:
- if (hb_in_range (u, 0x1000u, 0x10A0u)) return indic_table[u - 0x1000u + indic_offset_0x1000u];
- if (hb_in_range (u, 0x1700u, 0x17F0u)) return indic_table[u - 0x1700u + indic_offset_0x1700u];
- if (hb_in_range (u, 0x1900u, 0x1AA0u)) return indic_table[u - 0x1900u + indic_offset_0x1900u];
- if (hb_in_range (u, 0x1B00u, 0x1C50u)) return indic_table[u - 0x1B00u + indic_offset_0x1b00u];
- if (hb_in_range (u, 0x1CD0u, 0x1CF8u)) return indic_table[u - 0x1CD0u + indic_offset_0x1cd0u];
+ if (hb_in_range (u, 0x1000u, 0x109Fu)) return indic_table[u - 0x1000u + indic_offset_0x1000u];
+ if (hb_in_range (u, 0x1700u, 0x17EFu)) return indic_table[u - 0x1700u + indic_offset_0x1700u];
+ if (hb_in_range (u, 0x1900u, 0x1A9Fu)) return indic_table[u - 0x1900u + indic_offset_0x1900u];
+ if (hb_in_range (u, 0x1B00u, 0x1C4Fu)) return indic_table[u - 0x1B00u + indic_offset_0x1b00u];
+ if (hb_in_range (u, 0x1CD0u, 0x1CF7u)) return indic_table[u - 0x1CD0u + indic_offset_0x1cd0u];
break;
case 0x2u:
- if (hb_in_range (u, 0x2008u, 0x2018u)) return indic_table[u - 0x2008u + indic_offset_0x2008u];
+ if (hb_in_range (u, 0x2008u, 0x2017u)) return indic_table[u - 0x2008u + indic_offset_0x2008u];
if (unlikely (u == 0x25CCu)) return _(CP,x);
break;
case 0xAu:
- if (hb_in_range (u, 0xA800u, 0xAAF8u)) return indic_table[u - 0xA800u + indic_offset_0xa800u];
- if (hb_in_range (u, 0xABC0u, 0xAC00u)) return indic_table[u - 0xABC0u + indic_offset_0xabc0u];
+ if (hb_in_range (u, 0xA800u, 0xAAF7u)) return indic_table[u - 0xA800u + indic_offset_0xa800u];
+ if (hb_in_range (u, 0xABC0u, 0xABFFu)) return indic_table[u - 0xABC0u + indic_offset_0xabc0u];
break;
case 0x10u:
- if (hb_in_range (u, 0x10A00u, 0x10A48u)) return indic_table[u - 0x10A00u + indic_offset_0x10a00u];
+ if (hb_in_range (u, 0x10A00u, 0x10A47u)) return indic_table[u - 0x10A00u + indic_offset_0x10a00u];
break;
case 0x11u:
- if (hb_in_range (u, 0x11000u, 0x110C0u)) return indic_table[u - 0x11000u + indic_offset_0x11000u];
- if (hb_in_range (u, 0x11100u, 0x11238u)) return indic_table[u - 0x11100u + indic_offset_0x11100u];
- if (hb_in_range (u, 0x112B0u, 0x11378u)) return indic_table[u - 0x112B0u + indic_offset_0x112b0u];
- if (hb_in_range (u, 0x11480u, 0x114E0u)) return indic_table[u - 0x11480u + indic_offset_0x11480u];
- if (hb_in_range (u, 0x11580u, 0x115C8u)) return indic_table[u - 0x11580u + indic_offset_0x11580u];
- if (hb_in_range (u, 0x11600u, 0x116D0u)) return indic_table[u - 0x11600u + indic_offset_0x11600u];
+ if (hb_in_range (u, 0x11000u, 0x110BFu)) return indic_table[u - 0x11000u + indic_offset_0x11000u];
+ if (hb_in_range (u, 0x11100u, 0x11237u)) return indic_table[u - 0x11100u + indic_offset_0x11100u];
+ if (hb_in_range (u, 0x112B0u, 0x11377u)) return indic_table[u - 0x112B0u + indic_offset_0x112b0u];
+ if (hb_in_range (u, 0x11480u, 0x114DFu)) return indic_table[u - 0x11480u + indic_offset_0x11480u];
+ if (hb_in_range (u, 0x11580u, 0x115C7u)) return indic_table[u - 0x11580u + indic_offset_0x11580u];
+ if (hb_in_range (u, 0x11600u, 0x116CFu)) return indic_table[u - 0x11600u + indic_offset_0x11600u];
break;
default:
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-indic.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-indic.cc
index 7723600410a..7723600410a 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-indic.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-indic.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-myanmar-machine.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-myanmar-machine.hh
index 83ade212235..29fdf9a1aef 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-myanmar-machine.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-myanmar-machine.hh
@@ -1,5 +1,5 @@
-#line 1 "../../src/hb-ot-shape-complex-myanmar-machine.rl"
+#line 1 "hb-ot-shape-complex-myanmar-machine.rl"
/*
* Copyright © 2011,2012 Google, Inc.
*
@@ -32,7 +32,7 @@
#include "hb-private.hh"
-#line 36 "../../src/hb-ot-shape-complex-myanmar-machine.hh"
+#line 36 "hb-ot-shape-complex-myanmar-machine.hh"
static const unsigned char _myanmar_syllable_machine_trans_keys[] = {
1u, 31u, 3u, 30u, 5u, 29u, 5u, 8u, 5u, 29u, 3u, 25u, 5u, 25u, 5u, 25u,
3u, 29u, 3u, 29u, 3u, 29u, 3u, 29u, 1u, 16u, 3u, 29u, 3u, 29u, 3u, 29u,
@@ -261,11 +261,11 @@ static const int myanmar_syllable_machine_error = -1;
static const int myanmar_syllable_machine_en_main = 0;
-#line 36 "../../src/hb-ot-shape-complex-myanmar-machine.rl"
+#line 36 "hb-ot-shape-complex-myanmar-machine.rl"
-#line 93 "../../src/hb-ot-shape-complex-myanmar-machine.rl"
+#line 93 "hb-ot-shape-complex-myanmar-machine.rl"
#define found_syllable(syllable_type) \
@@ -285,7 +285,7 @@ find_syllables (hb_buffer_t *buffer)
int cs;
hb_glyph_info_t *info = buffer->info;
-#line 289 "../../src/hb-ot-shape-complex-myanmar-machine.hh"
+#line 289 "hb-ot-shape-complex-myanmar-machine.hh"
{
cs = myanmar_syllable_machine_start;
ts = 0;
@@ -293,7 +293,7 @@ find_syllables (hb_buffer_t *buffer)
act = 0;
}
-#line 114 "../../src/hb-ot-shape-complex-myanmar-machine.rl"
+#line 114 "hb-ot-shape-complex-myanmar-machine.rl"
p = 0;
@@ -302,7 +302,7 @@ find_syllables (hb_buffer_t *buffer)
unsigned int last = 0;
unsigned int syllable_serial = 1;
-#line 306 "../../src/hb-ot-shape-complex-myanmar-machine.hh"
+#line 306 "hb-ot-shape-complex-myanmar-machine.hh"
{
int _slen;
int _trans;
@@ -316,7 +316,7 @@ _resume:
#line 1 "NONE"
{ts = p;}
break;
-#line 320 "../../src/hb-ot-shape-complex-myanmar-machine.hh"
+#line 320 "hb-ot-shape-complex-myanmar-machine.hh"
}
_keys = _myanmar_syllable_machine_trans_keys + (cs<<1);
@@ -335,38 +335,38 @@ _eof_trans:
switch ( _myanmar_syllable_machine_trans_actions[_trans] ) {
case 7:
-#line 85 "../../src/hb-ot-shape-complex-myanmar-machine.rl"
+#line 85 "hb-ot-shape-complex-myanmar-machine.rl"
{te = p+1;{ found_syllable (consonant_syllable); }}
break;
case 5:
-#line 86 "../../src/hb-ot-shape-complex-myanmar-machine.rl"
+#line 86 "hb-ot-shape-complex-myanmar-machine.rl"
{te = p+1;{ found_syllable (non_myanmar_cluster); }}
break;
case 10:
-#line 87 "../../src/hb-ot-shape-complex-myanmar-machine.rl"
+#line 87 "hb-ot-shape-complex-myanmar-machine.rl"
{te = p+1;{ found_syllable (punctuation_cluster); }}
break;
case 4:
-#line 88 "../../src/hb-ot-shape-complex-myanmar-machine.rl"
+#line 88 "hb-ot-shape-complex-myanmar-machine.rl"
{te = p+1;{ found_syllable (broken_cluster); }}
break;
case 3:
-#line 89 "../../src/hb-ot-shape-complex-myanmar-machine.rl"
+#line 89 "hb-ot-shape-complex-myanmar-machine.rl"
{te = p+1;{ found_syllable (non_myanmar_cluster); }}
break;
case 6:
-#line 85 "../../src/hb-ot-shape-complex-myanmar-machine.rl"
+#line 85 "hb-ot-shape-complex-myanmar-machine.rl"
{te = p;p--;{ found_syllable (consonant_syllable); }}
break;
case 8:
-#line 88 "../../src/hb-ot-shape-complex-myanmar-machine.rl"
+#line 88 "hb-ot-shape-complex-myanmar-machine.rl"
{te = p;p--;{ found_syllable (broken_cluster); }}
break;
case 9:
-#line 89 "../../src/hb-ot-shape-complex-myanmar-machine.rl"
+#line 89 "hb-ot-shape-complex-myanmar-machine.rl"
{te = p;p--;{ found_syllable (non_myanmar_cluster); }}
break;
-#line 370 "../../src/hb-ot-shape-complex-myanmar-machine.hh"
+#line 370 "hb-ot-shape-complex-myanmar-machine.hh"
}
_again:
@@ -375,7 +375,7 @@ _again:
#line 1 "NONE"
{ts = 0;}
break;
-#line 379 "../../src/hb-ot-shape-complex-myanmar-machine.hh"
+#line 379 "hb-ot-shape-complex-myanmar-machine.hh"
}
if ( ++p != pe )
@@ -391,7 +391,7 @@ _again:
}
-#line 123 "../../src/hb-ot-shape-complex-myanmar-machine.rl"
+#line 123 "hb-ot-shape-complex-myanmar-machine.rl"
}
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-myanmar-machine.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-myanmar-machine.rl
index 9649a916f02..9649a916f02 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-myanmar-machine.rl
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-myanmar-machine.rl
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-myanmar.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-myanmar.cc
index d016380cc63..d016380cc63 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-myanmar.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-myanmar.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-private.hh
index 9a7afcbd7b1..e268933ce4c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-private.hh
@@ -259,6 +259,7 @@ hb_ot_shape_complex_categorize (const hb_ot_shape_planner_t *planner)
/* Unicode-4.1 additions */
case HB_SCRIPT_KHAROSHTHI:
+ case HB_SCRIPT_NEW_TAI_LUE:
case HB_SCRIPT_SYLOTI_NAGRI:
/* Unicode-5.1 additions */
@@ -339,7 +340,6 @@ hb_ot_shape_complex_categorize (const hb_ot_shape_planner_t *planner)
/* Unicode-4.1 additions */
case HB_SCRIPT_BUGINESE:
- case HB_SCRIPT_NEW_TAI_LUE:
/* Unicode-5.1 additions */
case HB_SCRIPT_CHAM:
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-sea-machine.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-sea-machine.hh
index 789e4d60e1d..15b862f5a13 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-sea-machine.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-sea-machine.hh
@@ -1,5 +1,5 @@
-#line 1 "../../src/hb-ot-shape-complex-sea-machine.rl"
+#line 1 "hb-ot-shape-complex-sea-machine.rl"
/*
* Copyright © 2011,2012,2013 Google, Inc.
*
@@ -32,7 +32,7 @@
#include "hb-private.hh"
-#line 36 "../../src/hb-ot-shape-complex-sea-machine.hh"
+#line 36 "hb-ot-shape-complex-sea-machine.hh"
static const unsigned char _sea_syllable_machine_trans_keys[] = {
1u, 1u, 1u, 1u, 1u, 29u, 3u, 29u, 3u, 29u, 1u, 1u, 0
};
@@ -89,11 +89,11 @@ static const int sea_syllable_machine_error = -1;
static const int sea_syllable_machine_en_main = 2;
-#line 36 "../../src/hb-ot-shape-complex-sea-machine.rl"
+#line 36 "hb-ot-shape-complex-sea-machine.rl"
-#line 67 "../../src/hb-ot-shape-complex-sea-machine.rl"
+#line 67 "hb-ot-shape-complex-sea-machine.rl"
#define found_syllable(syllable_type) \
@@ -113,7 +113,7 @@ find_syllables (hb_buffer_t *buffer)
int cs;
hb_glyph_info_t *info = buffer->info;
-#line 117 "../../src/hb-ot-shape-complex-sea-machine.hh"
+#line 117 "hb-ot-shape-complex-sea-machine.hh"
{
cs = sea_syllable_machine_start;
ts = 0;
@@ -121,7 +121,7 @@ find_syllables (hb_buffer_t *buffer)
act = 0;
}
-#line 88 "../../src/hb-ot-shape-complex-sea-machine.rl"
+#line 88 "hb-ot-shape-complex-sea-machine.rl"
p = 0;
@@ -130,7 +130,7 @@ find_syllables (hb_buffer_t *buffer)
unsigned int last = 0;
unsigned int syllable_serial = 1;
-#line 134 "../../src/hb-ot-shape-complex-sea-machine.hh"
+#line 134 "hb-ot-shape-complex-sea-machine.hh"
{
int _slen;
int _trans;
@@ -144,7 +144,7 @@ _resume:
#line 1 "NONE"
{ts = p;}
break;
-#line 148 "../../src/hb-ot-shape-complex-sea-machine.hh"
+#line 148 "hb-ot-shape-complex-sea-machine.hh"
}
_keys = _sea_syllable_machine_trans_keys + (cs<<1);
@@ -167,30 +167,30 @@ _eof_trans:
{te = p+1;}
break;
case 6:
-#line 63 "../../src/hb-ot-shape-complex-sea-machine.rl"
+#line 63 "hb-ot-shape-complex-sea-machine.rl"
{te = p+1;{ found_syllable (non_sea_cluster); }}
break;
case 7:
-#line 61 "../../src/hb-ot-shape-complex-sea-machine.rl"
+#line 61 "hb-ot-shape-complex-sea-machine.rl"
{te = p;p--;{ found_syllable (consonant_syllable); }}
break;
case 8:
-#line 62 "../../src/hb-ot-shape-complex-sea-machine.rl"
+#line 62 "hb-ot-shape-complex-sea-machine.rl"
{te = p;p--;{ found_syllable (broken_cluster); }}
break;
case 9:
-#line 63 "../../src/hb-ot-shape-complex-sea-machine.rl"
+#line 63 "hb-ot-shape-complex-sea-machine.rl"
{te = p;p--;{ found_syllable (non_sea_cluster); }}
break;
case 1:
-#line 61 "../../src/hb-ot-shape-complex-sea-machine.rl"
+#line 61 "hb-ot-shape-complex-sea-machine.rl"
{{p = ((te))-1;}{ found_syllable (consonant_syllable); }}
break;
case 3:
-#line 62 "../../src/hb-ot-shape-complex-sea-machine.rl"
+#line 62 "hb-ot-shape-complex-sea-machine.rl"
{{p = ((te))-1;}{ found_syllable (broken_cluster); }}
break;
-#line 194 "../../src/hb-ot-shape-complex-sea-machine.hh"
+#line 194 "hb-ot-shape-complex-sea-machine.hh"
}
_again:
@@ -199,7 +199,7 @@ _again:
#line 1 "NONE"
{ts = 0;}
break;
-#line 203 "../../src/hb-ot-shape-complex-sea-machine.hh"
+#line 203 "hb-ot-shape-complex-sea-machine.hh"
}
if ( ++p != pe )
@@ -215,7 +215,7 @@ _again:
}
-#line 97 "../../src/hb-ot-shape-complex-sea-machine.rl"
+#line 97 "hb-ot-shape-complex-sea-machine.rl"
}
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-sea-machine.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-sea-machine.rl
index 46140fc4d5f..46140fc4d5f 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-sea-machine.rl
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-sea-machine.rl
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-sea.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-sea.cc
index f08b7ccb9f4..f08b7ccb9f4 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-sea.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-sea.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-thai.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-thai.cc
index feb7fc7a148..feb7fc7a148 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-thai.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-thai.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-tibetan.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-tibetan.cc
index 01465a426f8..01465a426f8 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-complex-tibetan.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-complex-tibetan.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-fallback-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-fallback-private.hh
index ec653513f1b..ec653513f1b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-fallback-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-fallback-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-fallback.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-fallback.cc
index 80d7da82f38..80d7da82f38 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-fallback.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-fallback.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-normalize-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-normalize-private.hh
index c744e26451d..c744e26451d 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-normalize-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-normalize-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-normalize.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-normalize.cc
index 4287253aed1..4287253aed1 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-normalize.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-normalize.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-private.hh
index 54ac2c3cf7c..54ac2c3cf7c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape.cc
index a0b503ab0f2..a0b503ab0f2 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape.h
index 1402f54acc5..1402f54acc5 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-shape.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-shape.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-tag.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-tag.cc
index 878dd79b62c..878dd79b62c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-tag.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-tag.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-tag.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-tag.h
index 1bf12ab3c09..1bf12ab3c09 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot-tag.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot-tag.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot.h
index 47c92a58e4b..47c92a58e4b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ot.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ot.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-private.hh
index c92cdec5164..c92cdec5164 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-set-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-set-private.hh
index 59e8f4559f5..59e8f4559f5 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-set-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-set-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-set.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-set.cc
index 59a0af46ed4..59a0af46ed4 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-set.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-set.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-set.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-set.h
index bafdae96333..bafdae96333 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-set.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-set.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shape-plan-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-shape-plan-private.hh
index 607da5e7791..607da5e7791 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shape-plan-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-shape-plan-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shape-plan.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-shape-plan.cc
index 2166173f9e5..2166173f9e5 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shape-plan.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-shape-plan.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shape-plan.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-shape-plan.h
index 8f54552f90b..8f54552f90b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shape-plan.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-shape-plan.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shape.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-shape.cc
index 74747f88b89..9a59c085568 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shape.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-shape.cc
@@ -200,7 +200,7 @@ parse_one_feature (const char **pp, const char *end, hb_feature_t *feature)
* hb_feature_from_string:
* @str: (array length=len):
* @len:
- * @feature: (out) (allow-none):
+ * @feature: (out) (optional):
*
*
*
@@ -279,11 +279,13 @@ hb_feature_to_string (hb_feature_t *feature,
static const char **static_shaper_list;
-static inline
+#ifdef HB_USE_ATEXIT
+static
void free_static_shaper_list (void)
{
free (static_shaper_list);
}
+#endif
/**
* hb_shape_list_shapers:
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shape.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-shape.h
index 10a35cb517e..10a35cb517e 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shape.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-shape.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shaper-impl-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-shaper-impl-private.hh
index 7844081e95b..7844081e95b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shaper-impl-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-shaper-impl-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shaper-list.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-shaper-list.hh
index 6c537d49215..6c537d49215 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shaper-list.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-shaper-list.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shaper-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-shaper-private.hh
index 29c4493943d..29c4493943d 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shaper-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-shaper-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shaper.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-shaper.cc
index 6ae26013821..580b95c84b4 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-shaper.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-shaper.cc
@@ -40,12 +40,14 @@ static const hb_shaper_pair_t all_shapers[] = {
static const hb_shaper_pair_t *static_shapers;
-static inline
+#ifdef HB_USE_ATEXIT
+static
void free_static_shapers (void)
{
if (unlikely (static_shapers != all_shapers))
free ((void *) static_shapers);
}
+#endif
const hb_shaper_pair_t *
_hb_shapers_get (void)
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ucdn.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ucdn.cc
index 5b53821f923..5b53821f923 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-ucdn.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-ucdn.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-unicode-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-unicode-private.hh
index a2c59da274a..a2c59da274a 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-unicode-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-unicode-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-unicode.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-unicode.cc
index d59dfb24572..fc19006d3eb 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-unicode.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-unicode.cc
@@ -157,7 +157,7 @@ hb_unicode_funcs_get_default (void)
/**
* hb_unicode_funcs_create: (Xconstructor)
- * @parent: (allow-none):
+ * @parent: (nullable):
*
*
*
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-unicode.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-unicode.h
index 1c4e097b92d..1c4e097b92d 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-unicode.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-unicode.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-uniscribe.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-uniscribe.cc
index e7bcad2ea86..e7bcad2ea86 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-uniscribe.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-uniscribe.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-uniscribe.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-uniscribe.h
index 001ab38ea87..001ab38ea87 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-uniscribe.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-uniscribe.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-utf-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-utf-private.hh
index 0b798a05c30..0b798a05c30 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-utf-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-utf-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-version.h.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-version.h.in
index 2517160d18b..2517160d18b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-version.h.in
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-version.h.in
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-warning.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-warning.cc
index e0f88e2d4ad..e0f88e2d4ad 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb-warning.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb-warning.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb.h
index c5a938a3818..c5a938a3818 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/hb.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/hb.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/main.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/main.cc
index f9708cc948e..f9708cc948e 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/main.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/main.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/test-buffer-serialize.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/test-buffer-serialize.cc
index 18c46e9524b..18c46e9524b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/test-buffer-serialize.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/test-buffer-serialize.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/test-size-params.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/test-size-params.cc
index 35d9e3c8e25..35d9e3c8e25 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/test-size-params.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/test-size-params.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/test-would-substitute.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/test-would-substitute.cc
index 8ea87cdf397..8ea87cdf397 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/test-would-substitute.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/test-would-substitute.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/test.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/test.cc
index a8fe046f34c..a8fe046f34c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.37/src/test.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.38/src/test.cc
diff --git a/Build/source/libs/harfbuzz/version.ac b/Build/source/libs/harfbuzz/version.ac
index 4f44a863def..c4c27f9ba56 100644
--- a/Build/source/libs/harfbuzz/version.ac
+++ b/Build/source/libs/harfbuzz/version.ac
@@ -1,5 +1,5 @@
dnl
-dnl Copyright (C) 2012-2014 Peter Breitenlohner <tex-live@tug.org>
+dnl Copyright (C) 2012-2015 Peter Breitenlohner <tex-live@tug.org>
dnl
dnl This file is free software; the copyright holder
dnl gives unlimited permission to copy and/or distribute it,
@@ -8,4 +8,4 @@ dnl
dnl --------------------------------------------------------
dnl
dnl m4-include this file to define the current harfbuzz version
-m4_define([harfbuzz_version], [0.9.37])
+m4_define([harfbuzz_version], [0.9.38])