summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2015-06-19 06:22:42 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2015-06-19 06:22:42 +0000
commit94ae6322dc0624b995bb0fcfacfc1b4ac5deaabf (patch)
treefe42a9d7c6714c4952c068d036e0e84af8916171
parente8bdd30ccf389ecc4785cdd7fe52a5c2ae4496d5 (diff)
harfbuzz 0.9.41
git-svn-id: svn://tug.org/texlive/trunk@37610 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.40/src/hb-atomic-private.hh135
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41-PATCHES/ChangeLog (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40-PATCHES/ChangeLog)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41-PATCHES/TL-Changes (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40-PATCHES/TL-Changes)2
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/AUTHORS (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/AUTHORS)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/Android.mk (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/Android.mk)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/ChangeLog (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/ChangeLog)799
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/Makefile.am (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/Makefile.am)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/NEWS (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/NEWS)10
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/README (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/README)1
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/README.python (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/README.python)8
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/THANKS (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/THANKS)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/TODO (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/TODO)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.41/autogen.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/autogen.sh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/config.h.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/config.h.in)6
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/configure.ac (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/configure.ac)21
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/gtk-doc.make (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/gtk-doc.make)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/harfbuzz.doap (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/harfbuzz.doap)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/Makefile.am (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/Makefile.am)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.41/src/check-c-linkage-decls.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/check-c-linkage-decls.sh)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.41/src/check-defs.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/check-defs.sh)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.41/src/check-header-guards.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/check-header-guards.sh)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.41/src/check-includes.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/check-includes.sh)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.41/src/check-libstdc++.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/check-libstdc++.sh)6
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.41/src/check-static-inits.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/check-static-inits.sh)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.41/src/check-symbols.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/check-symbols.sh)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.41/src/gen-arabic-table.py (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/gen-arabic-table.py)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.41/src/gen-indic-table.py (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/gen-indic-table.py)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/harfbuzz-gobject.pc.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/harfbuzz-gobject.pc.in)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/harfbuzz-icu.pc.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/harfbuzz-icu.pc.in)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/harfbuzz.pc.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/harfbuzz.pc.in)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-atomic-private.hh164
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-blob.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-blob.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-blob.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-blob.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-buffer-deserialize-json.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-buffer-deserialize-json.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-buffer-deserialize-json.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-buffer-deserialize-json.rl)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-buffer-deserialize-text.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-buffer-deserialize-text.hh)4
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-buffer-deserialize-text.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-buffer-deserialize-text.rl)4
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-buffer-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-buffer-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-buffer-serialize.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-buffer-serialize.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-buffer.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-buffer.cc)53
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-buffer.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-buffer.h)4
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-cache-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-cache-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-common.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-common.cc)18
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-common.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-common.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-coretext.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-coretext.cc)11
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-coretext.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-coretext.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-deprecated.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-deprecated.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-face-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-face-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-face.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-face.cc)16
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-face.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-face.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-fallback-shape.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-fallback-shape.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-font-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-font-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-font.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-font.cc)20
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-font.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-font.h)4
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ft.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ft.cc)20
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ft.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ft.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-glib.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-glib.cc)3
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-glib.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-glib.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-gobject-enums.cc.tmpl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-gobject-enums.cc.tmpl)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-gobject-enums.h.tmpl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-gobject-enums.h.tmpl)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-gobject-structs.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-gobject-structs.cc)72
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-gobject-structs.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-gobject-structs.h)26
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-gobject.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-gobject.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-graphite2.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-graphite2.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-graphite2.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-graphite2.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-icu.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-icu.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-icu.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-icu.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-mutex-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-mutex-private.hh)10
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-object-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-object-private.hh)21
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-open-file-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-open-file-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-open-type-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-open-type-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-cmap-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-cmap-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-font.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-font.cc)10
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-font.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-font.h)4
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-head-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-head-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-hhea-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-hhea-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-hmtx-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-hmtx-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-layout-common-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-layout-common-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-layout-gdef-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-layout-gdef-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-layout-gpos-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-layout-gpos-table.hh)1
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-layout-gsub-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-layout-gsub-table.hh)1
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-layout-gsubgpos-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-layout-gsubgpos-private.hh)22
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-layout-jstf-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-layout-jstf-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-layout-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-layout-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-layout.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-layout.cc)30
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-layout.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-layout.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-map-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-map-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-map.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-map.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-maxp-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-maxp-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-name-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-name-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-arabic-fallback.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-arabic-fallback.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-arabic-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-arabic-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-arabic-win1256.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-arabic-win1256.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-arabic.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-arabic.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-default.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-default.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-hangul.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-hangul.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-hebrew.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-hebrew.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-indic-machine.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-indic-machine.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-indic-machine.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-indic-machine.rl)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-indic-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-indic-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-indic-table.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-indic-table.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-indic.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-indic.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-myanmar-machine.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-myanmar-machine.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-myanmar-machine.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-myanmar-machine.rl)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-myanmar.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-myanmar.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-private.hh)9
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-sea-machine.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-sea-machine.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-sea-machine.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-sea-machine.rl)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-sea.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-sea.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-thai.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-thai.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-tibetan.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-tibetan.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-fallback-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-fallback-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-fallback.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-fallback.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-normalize-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-normalize-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-normalize.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-normalize.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape.cc)6
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-tag.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-tag.cc)25
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-tag.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-tag.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-private.hh)13
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-set-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-set-private.hh)1
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-set.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-set.cc)52
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-set.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-set.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-shape-plan-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-shape-plan-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-shape-plan.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-shape-plan.cc)25
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-shape-plan.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-shape-plan.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-shape.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-shape.cc)78
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-shape.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-shape.h)3
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-shaper-impl-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-shaper-impl-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-shaper-list.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-shaper-list.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-shaper-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-shaper-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-shaper.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-shaper.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ucdn.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ucdn.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-unicode-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-unicode-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-unicode.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-unicode.cc)14
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-unicode.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-unicode.h)31
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-uniscribe.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-uniscribe.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-uniscribe.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-uniscribe.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-utf-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-utf-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-version.h.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-version.h.in)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-warning.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-warning.cc)22
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/main.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/main.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/test-buffer-serialize.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/test-buffer-serialize.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/test-size-params.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/test-size-params.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/test-would-substitute.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/test-would-substitute.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/test.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/test.cc)0
-rw-r--r--Build/source/libs/harfbuzz/version.ac2
154 files changed, 1413 insertions, 417 deletions
diff --git a/Build/source/libs/README b/Build/source/libs/README
index f7f514a938c..4486ae0818f 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.40 - checked 21mar15
+harfbuzz 0.9.41 - checked 19jun15
http://www.freedesktop.org/software/harfbuzz/release/
icu 55.1 (release) - checked 12apr15
diff --git a/Build/source/libs/harfbuzz/ChangeLog b/Build/source/libs/harfbuzz/ChangeLog
index d4e6631a4bc..fb0428b5e4f 100644
--- a/Build/source/libs/harfbuzz/ChangeLog
+++ b/Build/source/libs/harfbuzz/ChangeLog
@@ -1,3 +1,8 @@
+2015-06-19 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Import harfbuzz-0.9.41.
+ * version.ac: Adjust.
+
2015-03-21 Peter Breitenlohner <peb@mppmu.mpg.de>
Import harfbuzz-0.9.40.
diff --git a/Build/source/libs/harfbuzz/Makefile.in b/Build/source/libs/harfbuzz/Makefile.in
index 577a43a142b..732eae1b54b 100644
--- a/Build/source/libs/harfbuzz/Makefile.in
+++ b/Build/source/libs/harfbuzz/Makefile.in
@@ -460,7 +460,7 @@ am__DIST_COMMON = $(srcdir)/../../am/dist_hook.am \
$(top_srcdir)/../../build-aux/install-sh \
$(top_srcdir)/../../build-aux/missing \
$(top_srcdir)/../../build-aux/test-driver \
- $(top_srcdir)/harfbuzz-0.9.40/src/hb-version.h.in \
+ $(top_srcdir)/harfbuzz-0.9.41/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 \
@@ -785,7 +785,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.40/src/hb-version.h.in
+hb-version.h: $(top_builddir)/config.status $(top_srcdir)/harfbuzz-0.9.41/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 cd070547a69..6114cc619a9 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.40.
+# Generated by GNU Autoconf 2.69 for harfbuzz (TeX Live) 0.9.41.
#
# 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.40'
-PACKAGE_STRING='harfbuzz (TeX Live) 0.9.40'
+PACKAGE_VERSION='0.9.41'
+PACKAGE_STRING='harfbuzz (TeX Live) 0.9.41'
PACKAGE_BUGREPORT='tex-k@tug.org'
PACKAGE_URL=''
-ac_unique_file="harfbuzz-0.9.40/src/harfbuzz.pc.in"
+ac_unique_file="harfbuzz-0.9.41/src/harfbuzz.pc.in"
# Factoring default headers for most tests.
ac_includes_default="\
#include <stdio.h>
@@ -1312,7 +1312,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures harfbuzz (TeX Live) 0.9.40 to adapt to many kinds of systems.
+\`configure' configures harfbuzz (TeX Live) 0.9.41 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1383,7 +1383,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of harfbuzz (TeX Live) 0.9.40:";;
+ short | recursive ) echo "Configuration of harfbuzz (TeX Live) 0.9.41:";;
esac
cat <<\_ACEOF
@@ -1490,7 +1490,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-harfbuzz (TeX Live) configure 0.9.40
+harfbuzz (TeX Live) configure 0.9.41
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2080,7 +2080,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by harfbuzz (TeX Live) $as_me 0.9.40, which was
+It was created by harfbuzz (TeX Live) $as_me 0.9.41, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -4003,7 +4003,7 @@ fi
# Define the identity of the package.
PACKAGE='harfbuzz--tex-live-'
- VERSION='0.9.40'
+ VERSION='0.9.41'
cat >>confdefs.h <<_ACEOF
@@ -4206,8 +4206,8 @@ WARNING_CFLAGS=$kpse_cv_warning_cflags
HB_VERSION_MAJOR=0
HB_VERSION_MINOR=9
-HB_VERSION_MICRO=40
-HB_VERSION=0.9.40
+HB_VERSION_MICRO=41
+HB_VERSION=0.9.41
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
@@ -6310,14 +6310,14 @@ $as_echo "#define HAVE_INTEL_ATOMIC_PRIMITIVES 1" >>confdefs.h
fi
-HARFBUZZ_TREE=harfbuzz-0.9.40
+HARFBUZZ_TREE=harfbuzz-0.9.41
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.40/src/hb-version.h.in"
+ac_config_files="$ac_config_files Makefile include/Makefile hb-version.h:harfbuzz-0.9.41/src/hb-version.h.in"
cat >confcache <<\_ACEOF
@@ -6866,7 +6866,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by harfbuzz (TeX Live) $as_me 0.9.40, which was
+This file was extended by harfbuzz (TeX Live) $as_me 0.9.41, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -6932,7 +6932,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-harfbuzz (TeX Live) config.status 0.9.40
+harfbuzz (TeX Live) config.status 0.9.41
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -7065,7 +7065,7 @@ do
"config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
- "hb-version.h") CONFIG_FILES="$CONFIG_FILES hb-version.h:harfbuzz-0.9.40/src/hb-version.h.in" ;;
+ "hb-version.h") CONFIG_FILES="$CONFIG_FILES hb-version.h:harfbuzz-0.9.41/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.40/src/hb-atomic-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-atomic-private.hh
deleted file mode 100644
index e6738b7d9f6..00000000000
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-atomic-private.hh
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright © 2007 Chris Wilson
- * Copyright © 2009,2010 Red Hat, Inc.
- * Copyright © 2011,2012 Google, Inc.
- *
- * This is part of HarfBuzz, a text shaping library.
- *
- * Permission is hereby granted, without written agreement and without
- * license or royalty fees, to use, copy, modify, and distribute this
- * software and its documentation for any purpose, provided that the
- * above copyright notice and the following two paragraphs appear in
- * all copies of this software.
- *
- * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
- * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
- * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
- * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
- *
- * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
- * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
- * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
- *
- * Contributor(s):
- * Chris Wilson <chris@chris-wilson.co.uk>
- * Red Hat Author(s): Behdad Esfahbod
- * Google Author(s): Behdad Esfahbod
- */
-
-#ifndef HB_ATOMIC_PRIVATE_HH
-#define HB_ATOMIC_PRIVATE_HH
-
-#include "hb-private.hh"
-
-
-/* atomic_int */
-
-/* We need external help for these */
-
-#if 0
-
-
-#elif !defined(HB_NO_MT) && (defined(_WIN32) || defined(__CYGWIN__))
-
-#include <windows.h>
-
-/* MinGW has a convoluted history of supporting MemoryBarrier
- * properly. As such, define a function to wrap the whole
- * thing. */
-static inline void _HBMemoryBarrier (void) {
-#if !defined(MemoryBarrier)
- long dummy = 0;
- InterlockedExchange (&dummy, 1);
-#else
- MemoryBarrier ();
-#endif
-}
-
-typedef LONG hb_atomic_int_t;
-#define hb_atomic_int_add(AI, V) InterlockedExchangeAdd (&(AI), (V))
-
-#define hb_atomic_ptr_get(P) (_HBMemoryBarrier (), (void *) *(P))
-#define hb_atomic_ptr_cmpexch(P,O,N) (InterlockedCompareExchangePointer ((void **) (P), (void *) (N), (void *) (O)) == (void *) (O))
-
-
-#elif !defined(HB_NO_MT) && defined(__APPLE__)
-
-#include <libkern/OSAtomic.h>
-#ifdef __MAC_OS_X_MIN_REQUIRED
-#include <AvailabilityMacros.h>
-#elif defined(__IPHONE_OS_MIN_REQUIRED)
-#include <Availability.h>
-#endif
-
-typedef int32_t hb_atomic_int_t;
-#define hb_atomic_int_add(AI, V) (OSAtomicAdd32Barrier ((V), &(AI)) - (V))
-
-#define hb_atomic_ptr_get(P) (OSMemoryBarrier (), (void *) *(P))
-#if (MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_4 || __IPHONE_VERSION_MIN_REQUIRED >= 20100)
-#define hb_atomic_ptr_cmpexch(P,O,N) OSAtomicCompareAndSwapPtrBarrier ((void *) (O), (void *) (N), (void **) (P))
-#else
-#if __ppc64__ || __x86_64__ || __aarch64__
-#define hb_atomic_ptr_cmpexch(P,O,N) OSAtomicCompareAndSwap64Barrier ((int64_t) (O), (int64_t) (N), (int64_t*) (P))
-#else
-#define hb_atomic_ptr_cmpexch(P,O,N) OSAtomicCompareAndSwap32Barrier ((int32_t) (O), (int32_t) (N), (int32_t*) (P))
-#endif
-#endif
-
-
-#elif !defined(HB_NO_MT) && defined(HAVE_INTEL_ATOMIC_PRIMITIVES)
-
-typedef int hb_atomic_int_t;
-#define hb_atomic_int_add(AI, V) __sync_fetch_and_add (&(AI), (V))
-
-#define hb_atomic_ptr_get(P) (void *) (__sync_synchronize (), *(P))
-#define hb_atomic_ptr_cmpexch(P,O,N) __sync_bool_compare_and_swap ((P), (O), (N))
-
-
-#elif !defined(HB_NO_MT) && defined(HAVE_SOLARIS_ATOMIC_OPS)
-
-#include <atomic.h>
-#include <mbarrier.h>
-
-typedef unsigned int hb_atomic_int_t;
-#define hb_atomic_int_add(AI, V) ( ({__machine_rw_barrier ();}), atomic_add_int_nv (&(AI), (V)) - (V))
-
-#define hb_atomic_ptr_get(P) ( ({__machine_rw_barrier ();}), (void *) *(P))
-#define hb_atomic_ptr_cmpexch(P,O,N) ( ({__machine_rw_barrier ();}), atomic_cas_ptr ((void **) (P), (void *) (O), (void *) (N)) == (void *) (O) ? true : false)
-
-
-#elif !defined(HB_NO_MT)
-
-#define HB_ATOMIC_INT_NIL 1 /* Warn that fallback implementation is in use. */
-typedef volatile int hb_atomic_int_t;
-#define hb_atomic_int_add(AI, V) (((AI) += (V)) - (V))
-
-#define hb_atomic_ptr_get(P) ((void *) *(P))
-#define hb_atomic_ptr_cmpexch(P,O,N) (* (void * volatile *) (P) == (void *) (O) ? (* (void * volatile *) (P) = (void *) (N), true) : false)
-
-
-#else /* HB_NO_MT */
-
-typedef int hb_atomic_int_t;
-#define hb_atomic_int_add(AI, V) (((AI) += (V)) - (V))
-
-#define hb_atomic_ptr_get(P) ((void *) *(P))
-#define hb_atomic_ptr_cmpexch(P,O,N) (* (void **) (P) == (void *) (O) ? (* (void **) (P) = (void *) (N), true) : false)
-
-#endif
-
-/* TODO Add tracing. */
-
-#endif /* HB_ATOMIC_PRIVATE_HH */
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40-PATCHES/ChangeLog b/Build/source/libs/harfbuzz/harfbuzz-0.9.41-PATCHES/ChangeLog
index 62fff4f77ce..62fff4f77ce 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40-PATCHES/ChangeLog
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41-PATCHES/ChangeLog
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40-PATCHES/TL-Changes b/Build/source/libs/harfbuzz/harfbuzz-0.9.41-PATCHES/TL-Changes
index a7c083eef96..24dc4d4de47 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40-PATCHES/TL-Changes
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41-PATCHES/TL-Changes
@@ -1,4 +1,4 @@
-Changes applied to the harfbuzz-0.9.40/ tree as obtained from:
+Changes applied to the harfbuzz-0.9.41/ tree as obtained from:
http://www.freedesktop.org/software/harfbuzz/release/
Removed:
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/AUTHORS b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/AUTHORS
index 81cdc4cf37f..81cdc4cf37f 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/AUTHORS
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/AUTHORS
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/Android.mk b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/Android.mk
index 05525078516..05525078516 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/Android.mk
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/Android.mk
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/ChangeLog b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/ChangeLog
index 2ef17b23daa..bba5e5ebeb0 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/ChangeLog
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/ChangeLog
@@ -1,3 +1,764 @@
+commit cd042fc8c4a3984c3647cd22a27c34f00636f6e8
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Jun 18 10:55:13 2015 -0700
+
+ [util] Disable hb-fc-list for now
+
+ Until I figure out what to do about the API, and finalize
+ the tool.
+
+ util/Makefile.am | 28 ++++++++++++++--------------
+ 1 file changed, 14 insertions(+), 14 deletions(-)
+
+commit 351f68f4e01a107f62e4eb3458d7c7ae379939fb
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Jun 12 17:46:06 2015 -0700
+
+ [bindings] Fix hb_language_get_default() and hb_ot_tag_to_language()
+
+ Part of https://github.com/behdad/harfbuzz/issues/91
+
+ src/hb-common.cc | 2 +-
+ src/hb-ot-tag.cc | 9 +++++++++
+ 2 files changed, 10 insertions(+), 1 deletion(-)
+
+commit f0c80060763475aa34a18ecbef600b6811855cb6
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Jun 12 17:37:41 2015 -0700
+
+ [TravisCI] Hook up Coverity
+
+ First try...
+
+ .travis.yml | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+commit 8ac446908ca75bea989414a0f551a6da8885bf52
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Jun 12 17:29:05 2015 -0700
+
+ Add Coverity Scan badge
+
+ README | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit a5e4f6d6088f6ed37fb1d68d3682b8eb4c9b46fe
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jun 10 10:57:46 2015 -0700
+
+ Fix warnings: "member call on null pointer of type"
+
+ https://bugzilla.mozilla.org/show_bug.cgi?id=1167119
+
+ src/hb-private.hh | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 16dac7eccf04bb357e95a8e4c18c8418dcfb4030
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jun 3 12:07:46 2015 -0700
+
+ Fix build
+
+ util/options.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 8dacb7f8b46c70f22b70c78e0a8efc3309137650
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jun 3 11:53:42 2015 -0700
+
+ Add include check to hb-ot-font.h
+
+ src/hb-ot-font.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 37c8daf724add4a41a06385e571277d137dc2a2f
+Merge: f1b4430 01c3a88
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Jun 1 13:27:37 2015 -0700
+
+ Merge pull request #111 from brawer/since
+
+ Fix "Since:" tags
+
+commit 01c3a88543850c87483fd8671044df53b368c520
+Author: Sascha Brawer <sascha@brawer.ch>
+Date: Mon Jun 1 13:22:01 2015 +0200
+
+ Fix "Since:" tags
+
+ Based on data from http://upstream-tracker.org/versions/harfbuzz.html
+ Resolves #103
+
+ src/hb-buffer.cc | 32 +++++++++++++++++------------
+ src/hb-common.cc | 4 ++--
+ src/hb-face.cc | 12 +++++------
+ src/hb-font.cc | 14 ++++++-------
+ src/hb-font.h | 4 ++--
+ src/hb-ft.cc | 4 ++--
+ src/hb-glib.cc | 3 +++
+ src/hb-gobject-structs.h | 18 +++++++++++++++++
+ src/hb-ot-font.cc | 3 +++
+ src/hb-ot-layout.cc | 30 ++++++++++++++++++++++++++++
+ src/hb-ot-shape.cc | 6 ++++++
+ src/hb-set.cc | 52
+ ++++++++++++++++++++++++------------------------
+ src/hb-shape-plan.cc | 18 ++++++++---------
+ src/hb-shape.cc | 8 ++++----
+ src/hb-unicode.cc | 6 +++---
+ src/hb-unicode.h | 31 ++++++++++++++++++++++++++---
+ 16 files changed, 168 insertions(+), 77 deletions(-)
+
+commit f1b44303df0712b433e35e1e1e75115c353b279e
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu May 21 14:00:15 2015 -0700
+
+ Fix unary minus operator applied to unsigned int
+
+ Applying unary minus operator to unsigned int causes the following
+ warning on MSVS:
+
+ warning C4146: unary minus operator applied to unsigned type,
+ result still unsigned
+
+ Based on patch from Koji Ishi.
+
+ Fixes https://github.com/behdad/harfbuzz/pull/110
+
+ src/hb-ot-font.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 1ae6cdb365c15405500d4f50ec98016dde23a26b
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue May 19 17:42:30 2015 -0700
+
+ [gobject] Remove hb_language_t workarounds for g-i shortcomings
+
+ Using latest gobject-introspection, I don't seem to be having this
+ problem anymore:
+
+ https://bugzilla.gnome.org/show_bug.cgi?id=707656
+
+ Removing that kludge makes language_t behave more like the way I
+ expect it
+ in Python.
+
+ Also fixes:
+ https://github.com/behdad/harfbuzz/issues/91
+
+ src/hb-gobject-structs.cc | 1 -
+ src/hb-gobject-structs.h | 8 --------
+ 2 files changed, 9 deletions(-)
+
+commit ece434fa0fec6754e5164d881c1e967376729eca
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue May 19 17:20:58 2015 -0700
+
+ [gobject] Macroize value types
+
+ Fixes user_data_t
+
+ src/hb-gobject-structs.cc | 73
+ +++++++++++------------------------------------
+ 1 file changed, 17 insertions(+), 56 deletions(-)
+
+commit 9df099b4837df722e738675af318efcc9ac39a78
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon May 18 18:37:06 2015 -0700
+
+ [ft] Don't set *glyph in get_glyph() if glyph not found
+
+ src/hb-ft.cc | 16 ++++++++++------
+ 1 file changed, 10 insertions(+), 6 deletions(-)
+
+commit ff0f210519bcb0e44d4b986f7eef2004383cd344
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon May 18 14:16:28 2015 -0700
+
+ [util] Minor
+
+ util/ansi-print.cc | 26 +++++++++++++-------------
+ 1 file changed, 13 insertions(+), 13 deletions(-)
+
+commit fbecde3d5c5c6d5af315140e4966dc850388ad63
+Merge: 5801521 74139f9
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu May 7 10:46:42 2015 -0700
+
+ Merge pull request #105 from ebraminio/master
+
+ Fix Travis CI config to pass again
+
+commit 74139f9839f69ea3e7a1d17627f52fea6c06d58a
+Author: Ebrahim Byagowi <ebrahim@gnu.org>
+Date: Thu May 7 13:09:32 2015 +0000
+
+ Fix Travis CI config to pass again
+
+ .travis.yml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 58015215321a76d68df8e0d51039904a67291108
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed May 6 00:40:31 2015 -0700
+
+ Add note re OpenType 1.7 language tags
+
+ src/hb-ot-tag.cc | 15 ++++++++++-----
+ 1 file changed, 10 insertions(+), 5 deletions(-)
+
+commit f6266ad291d7686d5e110255ace5f2ff9e70bf38
+Author: Roozbeh Pournader <roozbeh@google.com>
+Date: Tue May 5 22:31:19 2015 -0700
+
+ [minor] Remove comment about Navajo OpenType code.
+
+ Apparently the code is already standardized:
+ https://www.microsoft.com/typography/otspec/languagetags.htm
+
+ src/hb-ot-tag.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 42b00118eae46a5183e885e89e0856f41361f57e
+Merge: c60f3c8 cfeb056
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue May 5 14:49:47 2015 -0700
+
+ Merge pull request #102 from roozbehp/master
+
+ Add OpenType language tag 'NAV ' for Navajo.
+
+commit c60f3c8e1156fe7328d42851013cca97333c3bf7
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon May 4 23:10:32 2015 -0700
+
+ [README.python] Add package name for gobject-introspection on Ubuntu
+
+ README.python | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+commit 82010a4bdb32248deb1337a3357dfae5b203c48d
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon May 4 23:09:51 2015 -0700
+
+ [travis] Comment out gobject-introspection again
+
+ Apparently the version on Travis is 1.32.0, while we require 1.34.0.
+
+ .travis.yml | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 8a254bdd29a99eb91b37e9e540179a1a01f77605
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon May 4 19:22:11 2015 -0700
+
+ [travis] Build with introspection enabled
+
+ .travis.yml | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit be66ec5373634234f221ace9cfed45d76b87f20e
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Apr 30 18:27:13 2015 -0400
+
+ Use TRUE/FALSE instead of true/false in docs
+
+ src/hb-shape.cc | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit d055e1fc781c123f38d321846937965ef794257e
+Author: Khaled Hosny <khaledhosny@eglug.org>
+Date: Wed Jan 8 02:28:55 2014 +0200
+
+ Some attempt into initial hb-shape documentation
+
+ Very anaemic, needs to descripe the format understood by
+ hb_feature_from_string() etc., but it is just start.
+
+ src/hb-shape.cc | 70
+ ++++++++++++++++++++++++++++++++++++++-------------------
+ src/hb-shape.h | 3 ---
+ 2 files changed, 47 insertions(+), 26 deletions(-)
+
+commit 81bedda58cfc15f1987aa1952290cf9d87b4d074
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Apr 30 13:04:16 2015 -0400
+
+ New API: hb_buffer_reverse_range()
+
+ src/hb-buffer.cc | 17 +++++++++++++++++
+ src/hb-buffer.h | 4 ++++
+ 2 files changed, 21 insertions(+)
+
+commit cfeb0562ebd8804dad731625153549eafeb78213
+Author: Roozbeh Pournader <roozbeh@google.com>
+Date: Wed Apr 29 09:32:42 2015 -0700
+
+ Add OpenType language tag 'NAV ' for Navajo.
+
+ The code is not standardized yet, but is used in some Google fonts.
+
+ src/hb-ot-tag.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit f724cc351640ee075a9867ef42df32cf5e0ef3b7
+Author: Jonathan Kew <jfkthame@gmail.com>
+Date: Thu Apr 23 12:45:02 2015 +0100
+
+ Don't apply Arabic shaping to vertical text.
+
+ src/hb-ot-shape-complex-private.hh | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+commit 97942420bbee1bc6953d5f805621066301fa17ca
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Apr 23 18:56:24 2015 -0700
+
+ Update check-libstdc++ for clang
+
+ src/check-libstdc++.sh | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 8f0a4d67143ccdef0b5a6ac99fb9b680c3a2f69c
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Apr 23 14:32:33 2015 -0700
+
+ [test] Ignor 'n' and 'i' in hb-unicode-encode
+
+ Allows accepting uniXXXX format.
+
+ test/shaping/hb_test_tools.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 39851ce84efd30f6d0570324ff8f3808a01b813b
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Apr 21 19:23:27 2015 -0700
+
+ [coretext] Oops; fix issue number for previous commit
+
+ src/hb-coretext.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 24f17afeafd40ff77177ed42c9007a0f34fcbb78
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Apr 21 19:21:32 2015 -0700
+
+ [coretext] Fix positioning with trailing whitespace
+
+ Fixes https://code.google.com/p/chromium/issues/detail?id=476913
+
+ src/hb-coretext.cc | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+commit dba482fc4458776ffebdeb2d34b970b4223fa8fd
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Apr 17 13:08:08 2015 -0700
+
+ [ot-font] Accept MS Symbol cmap if nothing else found
+
+ src/hb-ot-font.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 3029e8b59d1667dc6a53355be89a2b55d7089b88
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Apr 14 13:32:22 2015 -0700
+
+ Revert "Add MSVC pragma for UTF-8 source code"
+
+ This reverts commit 89cbd4d9533011fb5487caa99a0cd58923e7cf59.
+
+ See discussion:
+ https://bugzilla.gnome.org/show_bug.cgi?id=747772
+
+ src/hb-private.hh | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 820505a186ff60e4bae9d717fe4d7ab2390e6fef
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Apr 13 23:51:45 2015 -0700
+
+ Whitespace
+
+ util/options.cc | 18 +++++++++++-------
+ 1 file changed, 11 insertions(+), 7 deletions(-)
+
+commit 76d57331117be8e0c2d4a2aee8341969b62b6888
+Merge: 89cbd4d 9ee176e
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Apr 13 23:40:35 2015 -0700
+
+ Merge pull request #86 from cpfair/hb-shape-output-help-improvement
+
+ Improve hb-shape/hb-view's help text w.r.t. output options
+
+commit 89cbd4d9533011fb5487caa99a0cd58923e7cf59
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Apr 13 12:27:08 2015 -0700
+
+ Add MSVC pragma for UTF-8 source code
+
+ Not sure we have any right now; motivated by this:
+ https://bugzilla.gnome.org/show_bug.cgi?id=747772
+
+ src/hb-private.hh | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 713f99ff6138b4149d9fd382f9af3ace01ee0da5
+Merge: 1086f21 22524a5
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Apr 10 14:34:05 2015 -0700
+
+ Merge pull request #99 from khaledhosny/introspection-fixes2
+
+ More ntrospection fixes
+
+commit 22524a514f6609a2bc009b6035f6b5b932c719c7
+Author: Khaled Hosny <khaledhosny@eglug.org>
+Date: Fri Apr 10 18:14:45 2015 +0200
+
+ [bindings] Fix hb_buffer_get_segment_properties
+
+ Annotate the output parameter.
+
+ src/hb-buffer.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 1086f21e546e2435d9da6024fd6afa7a36ba3707
+Merge: 125cb08 fe97b65
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Apr 10 12:21:04 2015 -0700
+
+ Merge branch 'hb-fc'
+
+commit 125cb08345a7f27e565329d37093b1a60a41a403
+Merge: e8fd839 855a5d7
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Apr 10 12:19:57 2015 -0700
+
+ Merge pull request #98 from KonstantinRitt/WEC2013
+
+ Fix build on WEC2013
+
+commit 04f89e8f7dfdb882e8c98afb613cba3f1d02ed7d
+Author: Khaled Hosny <khaledhosny@eglug.org>
+Date: Fri Apr 10 17:49:01 2015 +0200
+
+ [bindings] Fix ownership of returned hb_language_t
+
+ It should not be freed by the caller.
+
+ src/hb-buffer.cc | 2 +-
+ src/hb-common.cc | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 855a5d7cb8f585bf66dd18cb480b8c3feef62480
+Author: Konstantin Ritt <ritt.ks@gmail.com>
+Date: Fri Apr 10 17:18:01 2015 +0400
+
+ Fix build on WEC2013
+
+ Based on patch from Björn Breitmeyer
+
+ src/hb-private.hh | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit fe97b65a54a416229e28b1c931e5e01ca19f31d3
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Aug 6 16:49:51 2014 -0400
+
+ [utils] Add hb-fc-list
+
+ This is a tool that lists all fonts that can render a given string.
+ It uses hb_shape() to do so, and as such is aware of HarfBuzz's
+ normalizer.
+
+ configure.ac | 19 +++++
+ util/Makefile.am | 15 ++++
+ util/hb-fc-list.c | 222
+ ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ util/hb-fc.cc | 149 ++++++++++++++++++++++++++++++++++++
+ util/hb-fc.h | 46 +++++++++++
+ 5 files changed, 451 insertions(+)
+
+commit eb0bf3ae6688b7e98a706df2ad2714c071d77e22
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Aug 6 15:36:41 2014 -0400
+
+ Relax inert checks
+
+ Previously, when creating an object from inert inputs (eg:
+ "hb_font_create(hb_face_get_empty())") we returned the inert
+ empty object. This is not helpful as there are legitimate
+ usecases to do that.
+
+ We now never return the inert object unless allocation failed.
+
+ Tests are revised to reflect.
+
+ src/hb-face.cc | 4 ++--
+ src/hb-font.cc | 4 +---
+ src/hb-shape-plan.cc | 7 +++++--
+ test/api/test-font.c | 10 +++++-----
+ test/api/test-object.c | 34 +++++++++++++++++-----------------
+ 5 files changed, 30 insertions(+), 29 deletions(-)
+
+commit e8fd83932a75cfbaa4638a757868915ebfac3c1f
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Apr 9 15:52:26 2015 -0700
+
+ [util/hb-view] Fix rendering with all combinations of negative scales
+
+ util/view-cairo.cc | 90
+ ++++++++++++++++++++++++++++--------------------------
+ util/view-cairo.hh | 2 --
+ 2 files changed, 47 insertions(+), 45 deletions(-)
+
+commit 69d5af93169ea2d87276b65d43c889a359d5d81e
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Apr 9 15:17:16 2015 -0700
+
+ [util] Minor
+
+ util/view-cairo.cc | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+commit a664810e38b479e05ea32cac263cb5730629f9d8
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Apr 9 15:04:42 2015 -0700
+
+ [util] Accept comma as well as space when separating components
+ of args
+
+ Applies to --font-size and --margin.
+
+ Hopefully the scanf usage here doesn't have compatibility issues
+ (star being counted in the return value, etc).
+
+ util/options.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 9c974360febcfd67247107352425fe8590d9d452
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Apr 9 12:04:14 2015 -0700
+
+ Minor rename
+
+ src/hb-atomic-private.hh | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit f3b170bdd970e31e9dbfed94c07c3cda41269aed
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Apr 8 16:26:24 2015 -0700
+
+ Minor
+
+ src/hb-common.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 2958f2c147fc6327175b51a4eaca694263e34ac9
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Apr 8 16:26:16 2015 -0700
+
+ Fixup
+
+ src/hb-atomic-private.hh | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit b931e0b0ceeab0e4819d9c4b838c1a1eb87b52e4
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Apr 8 14:39:00 2015 -0700
+
+ Fix warnings
+
+ Part of https://github.com/behdad/harfbuzz/pull/68
+
+ src/hb-ot-font.cc | 4 ++--
+ src/hb-ot-layout-gsubgpos-private.hh | 22 +++++++++++-----------
+ 2 files changed, 13 insertions(+), 13 deletions(-)
+
+commit cdcdfe61b97a0a48ccf834b6d924d187da9609be
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Apr 8 13:25:04 2015 -0700
+
+ Err, instead of warn, if mutex / atomic / unicode funcs are missing
+
+ Hopefully this results in fewer badly built HarfBuzz integrations.
+
+ src/hb-unicode.cc | 8 ++++----
+ src/hb-warning.cc | 22 ++++++++--------------
+ 2 files changed, 12 insertions(+), 18 deletions(-)
+
+commit fc3c59a1d746c5280f6216a94fdc1be3e826051f
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Apr 8 13:03:27 2015 -0700
+
+ Fix unused var warnings
+
+ src/hb-ot-layout-gpos-table.hh | 1 -
+ src/hb-ot-layout-gsub-table.hh | 1 -
+ 2 files changed, 2 deletions(-)
+
+commit 3f174cd020b7762fae96f20ce14fc9e9abec748f
+Author: Konstantin Ritt <ritt.ks@gmail.com>
+Date: Sat Mar 28 00:49:33 2015 +0400
+
+ Minor refactoring to the atomics implementation
+
+ s/atomic_int/atomic_int_impl/ and s/atomic_ptr/atomic_ptr_impl/
+ to bring it in par with hb_mutex_impl_t, then re-introduce
+ hb_atomic_int_t as a wrapper around hb_atomic_int_impl_t.
+
+ In hb_reference_count_t, make it clear the non-atomic get and set
+ are intentional due to nature of the cases they are used in
+ (comparison to -1 and the debug output/tracing).
+
+ src/hb-atomic-private.hh | 86
+ +++++++++++++++++++++++++++++++-----------------
+ src/hb-mutex-private.hh | 4 ++-
+ src/hb-object-private.hh | 21 ++++++------
+ 3 files changed, 69 insertions(+), 42 deletions(-)
+
+commit 24930d544ee9e247e4cf6a5f6d5207ba9d7a3ddc
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Apr 8 12:52:06 2015 -0700
+
+ Minor
+
+ src/hb-mutex-private.hh | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 45a8b46f478d4aa63ae5df74b6bb28ebdd7521ac
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Apr 8 12:49:38 2015 -0700
+
+ Allow implementing atomic and mutex ops in config
+
+ Motivated by
+ https://github.com/behdad/harfbuzz/pull/92
+
+ src/hb-atomic-private.hh | 6 +++++-
+ src/hb-mutex-private.hh | 7 ++++++-
+ 2 files changed, 11 insertions(+), 2 deletions(-)
+
+commit 3fe4e92bc5ff09d84c6763cedf06ce80d15a5fb2
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Apr 8 12:49:23 2015 -0700
+
+ Minor
+
+ src/hb-set-private.hh | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 9868749abe468130d89c80a2501847a83acb4579
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Apr 6 14:51:31 2015 -0700
+
+ [test] Use /usr/bin/env python instead of /usr/bin/python
+
+ Bug 76494 - #!/usr/bin/python in testsuite
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=76494
+
+ test/shaping/hb-diff | 2 +-
+ test/shaping/hb-diff-colorize | 2 +-
+ test/shaping/hb-diff-filter-failures | 2 +-
+ test/shaping/hb-diff-ngrams | 2 +-
+ test/shaping/hb-diff-stat | 2 +-
+ test/shaping/hb-manifest-read | 2 +-
+ test/shaping/hb-manifest-update | 2 +-
+ test/shaping/hb-unicode-decode | 2 +-
+ test/shaping/hb-unicode-encode | 2 +-
+ test/shaping/hb-unicode-prettyname | 2 +-
+ test/shaping/hb_test_tools.py | 2 +-
+ 11 files changed, 11 insertions(+), 11 deletions(-)
+
+commit bfcddd32a674dd19fca1bf521e95466a0eec5179
+Merge: ce01ad7 363ceec
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Mon Apr 6 14:41:32 2015 -0700
+
+ Merge pull request #93 from ebraminio/archpy3
+
+ Make hb_test_tools.py compatible with python 3
+
+commit ce01ad7c2f5a259030f4dbec746f85522aa9c3f9
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Apr 1 11:05:59 2015 -0700
+
+ MSVC 2015 supports snprintf and not _snprintf
+
+ src/hb-private.hh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 560718862f0bd994b62361652d6fd558c4182e2a
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Apr 1 11:04:33 2015 -0700
+
+ Move WinCE define to better place
+
+ src/hb-private.hh | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit 363ceec3fb0c9566db5a59da31e508f69dea1e92
+Author: Ebrahim Byagowi <ebrahim@gnu.org>
+Date: Mon Mar 30 03:27:14 2015 +0430
+
+ Make hb_test_tools.py compatible with python 3
+
+ On ArchLinux, /usr/bin/python is linked to python 3 so
+ HarfBuzz `make check` is broken there.
+
+ This makes hb_test_tools.py compatible with python 3 while
+ no breaking it on python 2.
+
+ test/shaping/hb_test_tools.py | 44
+ ++++++++++++++++++++++++-------------------
+ 1 file changed, 25 insertions(+), 19 deletions(-)
+
+commit aee685086c8fde6f6c4590e483a177c19f222540
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Mar 26 14:13:53 2015 -0400
+
+ Fix VC++ /analyze warnings
+
+ out\debug\hb-buffer-deserialize-text.rl(47) : warning C6001: Using
+ uninitialized memory 'pos'.
+
+ src/hb-buffer-deserialize-text.rl | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 8886ab430ca68539cb318e175647e9f6973718b0
+Merge: e3671b8 a394bb6
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sun Mar 22 16:18:57 2015 -0400
+
+ Merge pull request #90 from khaledhosny/introspection-fixes
+
+ [bindings] Fix *_from_string functions
+
+commit a394bb66707184c995fe2d08c80e98220e6ec0b0
+Author: Khaled Hosny <khaledhosny@eglug.org>
+Date: Sun Mar 22 20:29:10 2015 +0200
+
+ [bindings] Fix *_from_string functions
+
+ Without the element-type they will be getting garbage, at least with
+ Python.
+
+ src/hb-common.cc | 8 ++++----
+ src/hb-font.cc | 2 +-
+ src/hb-shape.cc | 2 +-
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+commit e3671b8f8bb339e8a563a9da9cd5069073200fec
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Mar 20 18:03:02 2015 -0400
+
+ 0.9.40
+
+ NEWS | 8 ++++++++
+ configure.ac | 2 +-
+ 2 files changed, 9 insertions(+), 1 deletion(-)
+
commit 9e401f6890f2bea1d11914bca436c2230f8d0f1b
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Fri Mar 20 16:08:38 2015 -0400
@@ -576,6 +1337,44 @@ Date: Wed Feb 25 15:34:34 2015 -0800
Fix build with MSVC on CE
+commit 9ee176ee978e6668c4faf00028811ce70979122e
+Author: Collin Fair <cpf@cpfx.ca>
+Date: Sat Feb 14 09:59:44 2015 -0500
+
+ Stop hb-shape docs leaking into hb-view
+
+ util/options.cc | 15 ++++++++-------
+ 1 file changed, 8 insertions(+), 7 deletions(-)
+
+commit 952b8dbdf61da9b4814e09ad3c1b9b76483bef5c
+Author: Collin Fair <cpf@cpfx.ca>
+Date: Sat Feb 14 09:44:00 2015 -0500
+
+ 'All' of the above, not 'each'
+
+ util/options.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 9e867b64467c46eea5cc9b1d5a9404a1221bbbfc
+Author: Collin Fair <cpf@cpfx.ca>
+Date: Sat Feb 14 09:32:04 2015 -0500
+
+ Remove reference to --help-output-content in --help-output (as
+ --help-output-format's options aren't available in hb-view)
+
+ util/options.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 1d55ffeb66381889f11ebb9039ca4ec2ca5efbab
+Author: Collin Fair <cpf@cpfx.ca>
+Date: Sat Feb 14 09:29:35 2015 -0500
+
+ Add serialization syntax documentation. Clarify naming and wording
+ in --help-output/--help-format
+
+ util/options.cc | 30 ++++++++++++++++--------------
+ 1 file changed, 16 insertions(+), 14 deletions(-)
+
commit 9768e651be0561f07d6f38c3ed8bc5ee04882990
Author: Konstantin Ritt <ritt.ks@gmail.com>
Date: Sat Feb 14 00:58:51 2015 +0400
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/Makefile.am b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/Makefile.am
index 47aeb97768e..47aeb97768e 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/Makefile.am
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/Makefile.am
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/NEWS b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/NEWS
index c4950e26209..d985427dd1b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/NEWS
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/NEWS
@@ -1,3 +1,13 @@
+Overview of changes leading to 0.9.41
+Thursday, June 18, 2015
+=====================================
+
+- Fix hb-coretext with trailing whitespace in right-to-left.
+- New API: hb_buffer_reverse_range().
+- Allow implementing atomic ops in config.h.
+- Fix hb_language_t in language bindings.
+- Misc fixes.
+
Overview of changes leading to 0.9.40
Friday, March 20, 2015
=====================================
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/README b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/README
index d34bc74f997..dea10688f3f 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/README
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/README
@@ -1,5 +1,6 @@
[![Build Status](https://travis-ci.org/behdad/harfbuzz.svg)](https://travis-ci.org/behdad/harfbuzz)
[![Coverage Status](https://img.shields.io/coveralls/behdad/harfbuzz.svg)](https://coveralls.io/r/behdad/harfbuzz)
+[![Coverity Scan](https://img.shields.io/coverity/scan/5450.svg)](https://scan.coverity.com/projects/5450)
This is HarfBuzz, a text shaping library.
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/README.python b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/README.python
index eabdf5bbb56..cd312649dbc 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/README.python
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/README.python
@@ -1,6 +1,10 @@
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:
+you have latest version of gobject-introspection available. On Ubuntu,
+you can install that this way:
+
+ sudo apt-get install libgirepository1.0-dev
+
+And then run autogen.sh (if building from git), and then:
./configure --with-gobject --enable-introspection
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/THANKS b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/THANKS
index 940cfde5c39..940cfde5c39 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/THANKS
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/THANKS
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/TODO b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/TODO
index e1aa39c4c01..e1aa39c4c01 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/TODO
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/TODO
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/autogen.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/autogen.sh
index ff1b0c0c99b..ff1b0c0c99b 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/autogen.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/autogen.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/config.h.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/config.h.in
index 35395c36138..8937bd644d6 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/config.h.in
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/config.h.in
@@ -21,6 +21,9 @@
/* Have simple TrueType Layout backend */
#undef HAVE_FALLBACK
+/* Have fontconfig library */
+#undef HAVE_FONTCONFIG
+
/* Have FreeType 2 library */
#undef HAVE_FREETYPE
@@ -114,7 +117,8 @@
/* Define to 1 if you have the <windows.h> header file. */
#undef HAVE_WINDOWS_H
-/* Define to the sub-directory where libtool stores uninstalled libraries. */
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+ */
#undef LT_OBJDIR
/* Define to the address where bug reports for this package should be sent. */
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/configure.ac b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/configure.ac
index 5baad1fc7c2..4d2bbf81e58 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/configure.ac
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/configure.ac
@@ -1,6 +1,6 @@
AC_PREREQ([2.64])
AC_INIT([HarfBuzz],
- [0.9.40],
+ [0.9.41],
[http://bugs.freedesktop.org/enter_bug.cgi?product=harfbuzz],
[harfbuzz],
[http://harfbuzz.org/])
@@ -235,6 +235,24 @@ AM_CONDITIONAL(HAVE_CAIRO_FT, $have_cairo_ft)
dnl ==========================================================================
+AC_ARG_WITH(fontconfig,
+ [AS_HELP_STRING([--with-fontconfig=@<:@yes/no/auto@:>@],
+ [Use fontconfig @<:@default=auto@:>@])],,
+ [with_fontconfig=auto])
+have_fontconfig=false
+if test "x$with_fontconfig" = "xyes" -o "x$with_fontconfig" = "xauto"; then
+ PKG_CHECK_MODULES(FONTCONFIG, fontconfig, have_fontconfig=true, :)
+fi
+if test "x$with_fontconfig" = "xyes" -a "x$have_fontconfig" != "xtrue"; then
+ AC_MSG_ERROR([fontconfig support requested but not found])
+fi
+if $have_fontconfig; then
+ AC_DEFINE(HAVE_FONTCONFIG, 1, [Have fontconfig library])
+fi
+AM_CONDITIONAL(HAVE_FONTCONFIG, $have_fontconfig)
+
+dnl ==========================================================================
+
AC_ARG_WITH(icu,
[AS_HELP_STRING([--with-icu=@<:@yes/no/auto@:>@],
[Use ICU @<:@default=auto@:>@])],,
@@ -438,6 +456,7 @@ Font callbacks (the more the better):
Tools used for command-line utilities:
Cairo: ${have_cairo}
+ Fontconfig: ${have_fontconfig}
Additional shapers (the more the better):
Graphite2: ${have_graphite2}
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/gtk-doc.make b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/gtk-doc.make
index e7916563d75..e7916563d75 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/gtk-doc.make
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/gtk-doc.make
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/harfbuzz.doap b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/harfbuzz.doap
index d2896ebefa8..d2896ebefa8 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/harfbuzz.doap
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/harfbuzz.doap
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/Makefile.am b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/Makefile.am
index c99967f6904..c99967f6904 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/Makefile.am
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/Makefile.am
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/check-c-linkage-decls.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/check-c-linkage-decls.sh
index b10310f5384..b10310f5384 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/check-c-linkage-decls.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/check-c-linkage-decls.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/check-defs.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/check-defs.sh
index 65a24670e48..65a24670e48 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/check-defs.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/check-defs.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/check-header-guards.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/check-header-guards.sh
index 9a3302c7f87..9a3302c7f87 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/check-header-guards.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/check-header-guards.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/check-includes.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/check-includes.sh
index 902f2357e2a..902f2357e2a 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/check-includes.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/check-includes.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/check-libstdc++.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/check-libstdc++.sh
index 27deb42dc97..b541828bcd9 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/check-libstdc++.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/check-libstdc++.sh
@@ -19,9 +19,9 @@ for suffix in so dylib; do
so=.libs/libharfbuzz.$suffix
if ! test -f "$so"; then continue; fi
- echo "Checking that we are not linking to libstdc++"
- if ldd $so | grep 'libstdc[+][+]'; then
- echo "Ouch, linked to libstdc++"
+ echo "Checking that we are not linking to libstdc++ or libc++"
+ if ldd $so | grep 'libstdc[+][+]\|libc[+][+]'; then
+ echo "Ouch, linked to libstdc++ or libc++"
stat=1
fi
tested=true
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/check-static-inits.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/check-static-inits.sh
index 1446fa73405..1446fa73405 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/check-static-inits.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/check-static-inits.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/check-symbols.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/check-symbols.sh
index b2bf43fcea5..b2bf43fcea5 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/check-symbols.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/check-symbols.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/gen-arabic-table.py b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/gen-arabic-table.py
index 308435f991e..308435f991e 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/gen-arabic-table.py
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/gen-arabic-table.py
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/gen-indic-table.py b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/gen-indic-table.py
index f5716bda789..f5716bda789 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/gen-indic-table.py
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/gen-indic-table.py
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/harfbuzz-gobject.pc.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/harfbuzz-gobject.pc.in
index 70083601901..70083601901 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/harfbuzz-gobject.pc.in
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/harfbuzz-gobject.pc.in
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/harfbuzz-icu.pc.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/harfbuzz-icu.pc.in
index 949869a3563..949869a3563 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/harfbuzz-icu.pc.in
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/harfbuzz-icu.pc.in
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/harfbuzz.pc.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/harfbuzz.pc.in
index 7f27bbbdef0..7f27bbbdef0 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/harfbuzz.pc.in
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/harfbuzz.pc.in
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-atomic-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-atomic-private.hh
new file mode 100644
index 00000000000..8179571ad2d
--- /dev/null
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-atomic-private.hh
@@ -0,0 +1,164 @@
+/*
+ * Copyright © 2007 Chris Wilson
+ * Copyright © 2009,2010 Red Hat, Inc.
+ * Copyright © 2011,2012 Google, Inc.
+ *
+ * This is part of HarfBuzz, a text shaping library.
+ *
+ * Permission is hereby granted, without written agreement and without
+ * license or royalty fees, to use, copy, modify, and distribute this
+ * software and its documentation for any purpose, provided that the
+ * above copyright notice and the following two paragraphs appear in
+ * all copies of this software.
+ *
+ * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
+ * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
+ * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ *
+ * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
+ * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
+ * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+ *
+ * Contributor(s):
+ * Chris Wilson <chris@chris-wilson.co.uk>
+ * Red Hat Author(s): Behdad Esfahbod
+ * Google Author(s): Behdad Esfahbod
+ */
+
+#ifndef HB_ATOMIC_PRIVATE_HH
+#define HB_ATOMIC_PRIVATE_HH
+
+#include "hb-private.hh"
+
+
+/* atomic_int */
+
+/* We need external help for these */
+
+#if defined(hb_atomic_int_impl_add) \
+ && defined(hb_atomic_ptr_impl_get) \
+ && defined(hb_atomic_ptr_impl_cmpexch)
+
+/* Defined externally, i.e. in config.h; must have typedef'ed hb_atomic_int_impl_t as well. */
+
+
+#elif !defined(HB_NO_MT) && (defined(_WIN32) || defined(__CYGWIN__))
+
+#include <windows.h>
+
+/* MinGW has a convoluted history of supporting MemoryBarrier
+ * properly. As such, define a function to wrap the whole
+ * thing. */
+static inline void _HBMemoryBarrier (void) {
+#if !defined(MemoryBarrier)
+ long dummy = 0;
+ InterlockedExchange (&dummy, 1);
+#else
+ MemoryBarrier ();
+#endif
+}
+
+typedef LONG hb_atomic_int_impl_t;
+#define HB_ATOMIC_INT_IMPL_INIT(V) (V)
+#define hb_atomic_int_impl_add(AI, V) InterlockedExchangeAdd (&(AI), (V))
+
+#define hb_atomic_ptr_impl_get(P) (_HBMemoryBarrier (), (void *) *(P))
+#define hb_atomic_ptr_impl_cmpexch(P,O,N) (InterlockedCompareExchangePointer ((void **) (P), (void *) (N), (void *) (O)) == (void *) (O))
+
+
+#elif !defined(HB_NO_MT) && defined(__APPLE__)
+
+#include <libkern/OSAtomic.h>
+#ifdef __MAC_OS_X_MIN_REQUIRED
+#include <AvailabilityMacros.h>
+#elif defined(__IPHONE_OS_MIN_REQUIRED)
+#include <Availability.h>
+#endif
+
+
+typedef int32_t hb_atomic_int_impl_t;
+#define HB_ATOMIC_INT_IMPL_INIT(V) (V)
+#define hb_atomic_int_impl_add(AI, V) (OSAtomicAdd32Barrier ((V), &(AI)) - (V))
+
+#define hb_atomic_ptr_impl_get(P) (OSMemoryBarrier (), (void *) *(P))
+#if (MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_4 || __IPHONE_VERSION_MIN_REQUIRED >= 20100)
+#define hb_atomic_ptr_impl_cmpexch(P,O,N) OSAtomicCompareAndSwapPtrBarrier ((void *) (O), (void *) (N), (void **) (P))
+#else
+#if __ppc64__ || __x86_64__ || __aarch64__
+#define hb_atomic_ptr_impl_cmpexch(P,O,N) OSAtomicCompareAndSwap64Barrier ((int64_t) (O), (int64_t) (N), (int64_t*) (P))
+#else
+#define hb_atomic_ptr_impl_cmpexch(P,O,N) OSAtomicCompareAndSwap32Barrier ((int32_t) (O), (int32_t) (N), (int32_t*) (P))
+#endif
+#endif
+
+
+#elif !defined(HB_NO_MT) && defined(HAVE_INTEL_ATOMIC_PRIMITIVES)
+
+typedef int hb_atomic_int_impl_t;
+#define HB_ATOMIC_INT_IMPL_INIT(V) (V)
+#define hb_atomic_int_impl_add(AI, V) __sync_fetch_and_add (&(AI), (V))
+
+#define hb_atomic_ptr_impl_get(P) (void *) (__sync_synchronize (), *(P))
+#define hb_atomic_ptr_impl_cmpexch(P,O,N) __sync_bool_compare_and_swap ((P), (O), (N))
+
+
+#elif !defined(HB_NO_MT) && defined(HAVE_SOLARIS_ATOMIC_OPS)
+
+#include <atomic.h>
+#include <mbarrier.h>
+
+typedef unsigned int hb_atomic_int_impl_t;
+#define HB_ATOMIC_INT_IMPL_INIT(V) (V)
+#define hb_atomic_int_impl_add(AI, V) ( ({__machine_rw_barrier ();}), atomic_add_int_nv (&(AI), (V)) - (V))
+
+#define hb_atomic_ptr_impl_get(P) ( ({__machine_rw_barrier ();}), (void *) *(P))
+#define hb_atomic_ptr_impl_cmpexch(P,O,N) ( ({__machine_rw_barrier ();}), atomic_cas_ptr ((void **) (P), (void *) (O), (void *) (N)) == (void *) (O) ? true : false)
+
+
+#elif !defined(HB_NO_MT)
+
+#define HB_ATOMIC_INT_NIL 1 /* Warn that fallback implementation is in use. */
+
+typedef volatile int hb_atomic_int_impl_t;
+#define HB_ATOMIC_INT_IMPL_INIT(V) (V)
+#define hb_atomic_int_impl_add(AI, V) (((AI) += (V)) - (V))
+
+#define hb_atomic_ptr_impl_get(P) ((void *) *(P))
+#define hb_atomic_ptr_impl_cmpexch(P,O,N) (* (void * volatile *) (P) == (void *) (O) ? (* (void * volatile *) (P) = (void *) (N), true) : false)
+
+
+#else /* HB_NO_MT */
+
+typedef int hb_atomic_int_impl_t;
+#define HB_ATOMIC_INT_IMPL_INIT(V) (V)
+#define hb_atomic_int_impl_add(AI, V) (((AI) += (V)) - (V))
+
+#define hb_atomic_ptr_impl_get(P) ((void *) *(P))
+#define hb_atomic_ptr_impl_cmpexch(P,O,N) (* (void **) (P) == (void *) (O) ? (* (void **) (P) = (void *) (N), true) : false)
+
+
+#endif
+
+
+#define HB_ATOMIC_INT_INIT(V) {HB_ATOMIC_INT_IMPL_INIT(V)}
+
+struct hb_atomic_int_t
+{
+ hb_atomic_int_impl_t v;
+
+ inline void set_unsafe (int v_) { v = v_; }
+ inline int get_unsafe (void) const { return v; }
+ inline int inc (void) { return hb_atomic_int_impl_add (const_cast<hb_atomic_int_impl_t &> (v), 1); }
+ inline int dec (void) { return hb_atomic_int_impl_add (const_cast<hb_atomic_int_impl_t &> (v), -1); }
+};
+
+
+#define hb_atomic_ptr_get(P) hb_atomic_ptr_impl_get(P)
+#define hb_atomic_ptr_cmpexch(P,O,N) hb_atomic_ptr_impl_cmpexch((P),(O),(N))
+
+
+#endif /* HB_ATOMIC_PRIVATE_HH */
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-blob.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-blob.cc
index 8759a252a57..8759a252a57 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-blob.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-blob.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-blob.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-blob.h
index b2419abfd2a..b2419abfd2a 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-blob.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-blob.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-buffer-deserialize-json.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-buffer-deserialize-json.hh
index 3f626bda40d..3f626bda40d 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-buffer-deserialize-json.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-buffer-deserialize-json.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-buffer-deserialize-json.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-buffer-deserialize-json.rl
index 91b350f5ac0..91b350f5ac0 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-buffer-deserialize-json.rl
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-buffer-deserialize-json.rl
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-buffer-deserialize-text.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-buffer-deserialize-text.hh
index 7a46ab278be..d2d8daae7ed 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-buffer-deserialize-text.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-buffer-deserialize-text.hh
@@ -336,8 +336,8 @@ _hb_buffer_deserialize_glyphs_text (hb_buffer_t *buffer,
const char *eof = pe, *tok = NULL;
int cs;
- hb_glyph_info_t info;
- hb_glyph_position_t pos;
+ hb_glyph_info_t info = {0};
+ hb_glyph_position_t pos = {0};
#line 343 "hb-buffer-deserialize-text.hh"
{
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-buffer-deserialize-text.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-buffer-deserialize-text.rl
index 8856580fbe3..8a682f7378a 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-buffer-deserialize-text.rl
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-buffer-deserialize-text.rl
@@ -111,8 +111,8 @@ _hb_buffer_deserialize_glyphs_text (hb_buffer_t *buffer,
const char *eof = pe, *tok = NULL;
int cs;
- hb_glyph_info_t info;
- hb_glyph_position_t pos;
+ hb_glyph_info_t info = {0};
+ hb_glyph_position_t pos = {0};
%%{
write init;
write exec;
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-buffer-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-buffer-private.hh
index 069f9255811..069f9255811 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-buffer-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-buffer-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-buffer-serialize.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-buffer-serialize.cc
index 406d69db758..406d69db758 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-buffer-serialize.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-buffer-serialize.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-buffer.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-buffer.cc
index b9fe263ce53..e13ee4a45a7 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-buffer.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-buffer.cc
@@ -36,6 +36,9 @@
#endif
+/**
+ * Since: 0.9.7
+ **/
hb_bool_t
hb_segment_properties_equal (const hb_segment_properties_t *a,
const hb_segment_properties_t *b)
@@ -48,6 +51,9 @@ hb_segment_properties_equal (const hb_segment_properties_t *a,
}
+/**
+ * Since: 0.9.7
+ **/
unsigned int
hb_segment_properties_hash (const hb_segment_properties_t *p)
{
@@ -804,7 +810,7 @@ hb_buffer_get_user_data (hb_buffer_t *buffer,
*
*
*
- * Since: 1.0
+ * Since: 0.9.5
**/
void
hb_buffer_set_content_type (hb_buffer_t *buffer,
@@ -821,7 +827,7 @@ hb_buffer_set_content_type (hb_buffer_t *buffer,
*
* Return value:
*
- * Since: 1.0
+ * Since: 0.9.5
**/
hb_buffer_content_type_t
hb_buffer_get_content_type (hb_buffer_t *buffer)
@@ -967,7 +973,7 @@ hb_buffer_set_language (hb_buffer_t *buffer,
*
*
*
- * Return value:
+ * Return value: (transfer none):
*
* Since: 1.0
**/
@@ -984,7 +990,7 @@ hb_buffer_get_language (hb_buffer_t *buffer)
*
*
*
- * Since: 1.0
+ * Since: 0.9.7
**/
void
hb_buffer_set_segment_properties (hb_buffer_t *buffer,
@@ -999,11 +1005,11 @@ hb_buffer_set_segment_properties (hb_buffer_t *buffer,
/**
* hb_buffer_get_segment_properties:
* @buffer: a buffer.
- * @props:
+ * @props: (out):
*
*
*
- * Since: 1.0
+ * Since: 0.9.7
**/
void
hb_buffer_get_segment_properties (hb_buffer_t *buffer,
@@ -1020,7 +1026,7 @@ hb_buffer_get_segment_properties (hb_buffer_t *buffer,
*
*
*
- * Since: 1.0
+ * Since: 0.9.7
**/
void
hb_buffer_set_flags (hb_buffer_t *buffer,
@@ -1040,7 +1046,7 @@ hb_buffer_set_flags (hb_buffer_t *buffer,
*
* Return value:
*
- * Since: 1.0
+ * Since: 0.9.7
**/
hb_buffer_flags_t
hb_buffer_get_flags (hb_buffer_t *buffer)
@@ -1056,7 +1062,7 @@ hb_buffer_get_flags (hb_buffer_t *buffer)
*
*
*
- * Since: 1.0
+ * Since: 0.9.31
**/
void
hb_buffer_set_replacement_codepoint (hb_buffer_t *buffer,
@@ -1076,7 +1082,7 @@ hb_buffer_set_replacement_codepoint (hb_buffer_t *buffer,
*
* Return value:
*
- * Since: 1.0
+ * Since: 0.9.31
**/
hb_codepoint_t
hb_buffer_get_replacement_codepoint (hb_buffer_t *buffer)
@@ -1105,7 +1111,7 @@ hb_buffer_reset (hb_buffer_t *buffer)
*
*
*
- * Since: 1.0
+ * Since: 0.9.11
**/
void
hb_buffer_clear_contents (hb_buffer_t *buffer)
@@ -1283,6 +1289,23 @@ hb_buffer_reverse (hb_buffer_t *buffer)
}
/**
+ * hb_buffer_reverse_range:
+ * @buffer: a buffer.
+ * @start: start index.
+ * @end: end index.
+ *
+ * Reverses buffer contents between start to end.
+ *
+ * Since: 1.0
+ **/
+void
+hb_buffer_reverse_range (hb_buffer_t *buffer,
+ unsigned int start, unsigned int end)
+{
+ buffer->reverse_range (start, end);
+}
+
+/**
* hb_buffer_reverse_clusters:
* @buffer: a buffer.
*
@@ -1320,7 +1343,7 @@ hb_buffer_reverse_clusters (hb_buffer_t *buffer)
* hb_language_get_default(). This may change in the future by
* taking buffer script into consideration when choosing a language.
*
- * Since: 1.0
+ * Since: 0.9.7
**/
void
hb_buffer_guess_segment_properties (hb_buffer_t *buffer)
@@ -1473,7 +1496,7 @@ hb_buffer_add_utf32 (hb_buffer_t *buffer,
*
*
*
- * Since: 1.0
+ * Since: 0.9.39
**/
void
hb_buffer_add_latin1 (hb_buffer_t *buffer,
@@ -1495,7 +1518,7 @@ hb_buffer_add_latin1 (hb_buffer_t *buffer,
*
*
*
- * Since: 1.0
+ * Since: 0.9.31
**/
void
hb_buffer_add_codepoints (hb_buffer_t *buffer,
@@ -1569,7 +1592,7 @@ normalize_glyphs_cluster (hb_buffer_t *buffer,
*
*
*
- * Since: 1.0
+ * Since: 0.9.2
**/
void
hb_buffer_normalize_glyphs (hb_buffer_t *buffer)
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-buffer.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-buffer.h
index e5b46d867a4..520141b8adc 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-buffer.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-buffer.h
@@ -222,6 +222,10 @@ void
hb_buffer_reverse (hb_buffer_t *buffer);
void
+hb_buffer_reverse_range (hb_buffer_t *buffer,
+ unsigned int start, unsigned int end);
+
+void
hb_buffer_reverse_clusters (hb_buffer_t *buffer);
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-cache-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-cache-private.hh
index 19b70b7e395..19b70b7e395 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-cache-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-cache-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-common.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-common.cc
index 05a1f9ce19d..21d3b411712 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-common.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-common.cc
@@ -57,7 +57,7 @@ _hb_options_init (void)
/**
* hb_tag_from_string:
- * @str: (array length=len):
+ * @str: (array length=len) (element-type uint8_t):
* @len:
*
*
@@ -92,7 +92,7 @@ hb_tag_from_string (const char *str, int len)
*
*
*
- * Since: 1.0
+ * Since: 0.9.5
**/
void
hb_tag_to_string (hb_tag_t tag, char *buf)
@@ -115,7 +115,7 @@ const char direction_strings[][4] = {
/**
* hb_direction_from_string:
- * @str: (array length=len):
+ * @str: (array length=len) (element-type uint8_t):
* @len:
*
*
@@ -179,7 +179,7 @@ static const char canon_map[256] = {
'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 0, 0, 0, 0, 0
};
-static hb_bool_t
+static bool
lang_equal (hb_language_t v1,
const void *v2)
{
@@ -281,12 +281,12 @@ retry:
/**
* hb_language_from_string:
- * @str: (array length=len):
+ * @str: (array length=len) (element-type uint8_t):
* @len:
*
*
*
- * Return value:
+ * Return value: (transfer none):
*
* Since: 1.0
**/
@@ -334,7 +334,7 @@ hb_language_to_string (hb_language_t language)
*
*
*
- * Return value:
+ * Return value: (transfer none):
*
* Since: 1.0
**/
@@ -401,7 +401,7 @@ hb_script_from_iso15924_tag (hb_tag_t tag)
/**
* hb_script_from_string:
- * @s: (array length=len):
+ * @s: (array length=len) (element-type uint8_t):
* @len:
*
*
@@ -579,7 +579,7 @@ hb_version_string (void)
*
* Return value:
*
- * Since: 1.0
+ * Since: 0.9.30
**/
hb_bool_t
hb_version_atleast (unsigned int major,
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-common.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-common.h
index b6ce3f724de..b6ce3f724de 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-common.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-common.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-coretext.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-coretext.cc
index 4a451752879..0b710c2b7d3 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-coretext.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-coretext.cc
@@ -788,6 +788,17 @@ retry:
buffer->len = 0;
uint32_t status_and = ~0, status_or = 0;
double advances_so_far = 0;
+ /* For right-to-left runs, CoreText returns the glyphs positioned such that
+ * any trailing whitespace is to the left of (0,0). Adjust coordinate system
+ * to fix for that. Test with any RTL string with trailing spaces.
+ * https://code.google.com/p/chromium/issues/detail?id=469028
+ */
+ if (HB_DIRECTION_IS_BACKWARD (buffer->props.direction))
+ {
+ advances_so_far -= CTLineGetTrailingWhitespaceWidth (line);
+ if (HB_DIRECTION_IS_VERTICAL (buffer->props.direction))
+ advances_so_far = -advances_so_far;
+ }
const CFRange range_all = CFRangeMake (0, 0);
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-coretext.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-coretext.h
index 25267bc9784..25267bc9784 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-coretext.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-coretext.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-deprecated.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-deprecated.h
index 30ae4b1caf7..30ae4b1caf7 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-deprecated.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-deprecated.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-face-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-face-private.hh
index c4266fff4f0..c4266fff4f0 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-face-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-face-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-face.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-face.cc
index 9348af7bf8e..96ea1da46b0 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-face.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-face.cc
@@ -165,8 +165,8 @@ hb_face_create (hb_blob_t *blob,
{
hb_face_t *face;
- if (unlikely (!blob || !hb_blob_get_length (blob)))
- return hb_face_get_empty ();
+ if (unlikely (!blob))
+ blob = hb_blob_get_empty ();
hb_face_for_data_closure_t *closure = _hb_face_for_data_closure_create (OT::Sanitizer<OT::OpenTypeFontFile>::sanitize (hb_blob_reference (blob)), index);
@@ -347,7 +347,7 @@ hb_face_reference_table (hb_face_t *face,
*
* Return value: (transfer full):
*
- * Since: 1.0
+ * Since: 0.9.2
**/
hb_blob_t *
hb_face_reference_blob (hb_face_t *face)
@@ -362,7 +362,7 @@ hb_face_reference_blob (hb_face_t *face)
*
*
*
- * Since: 1.0
+ * Since: 0.9.2
**/
void
hb_face_set_index (hb_face_t *face,
@@ -382,7 +382,7 @@ hb_face_set_index (hb_face_t *face,
*
* Return value:
*
- * Since: 1.0
+ * Since: 0.9.2
**/
unsigned int
hb_face_get_index (hb_face_t *face)
@@ -397,7 +397,7 @@ hb_face_get_index (hb_face_t *face)
*
*
*
- * Since: 1.0
+ * Since: 0.9.2
**/
void
hb_face_set_upem (hb_face_t *face,
@@ -441,7 +441,7 @@ hb_face_t::load_upem (void) const
*
*
*
- * Since: 1.0
+ * Since: 0.9.7
**/
void
hb_face_set_glyph_count (hb_face_t *face,
@@ -461,7 +461,7 @@ hb_face_set_glyph_count (hb_face_t *face,
*
* Return value:
*
- * Since: 1.0
+ * Since: 0.9.7
**/
unsigned int
hb_face_get_glyph_count (hb_face_t *face)
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-face.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-face.h
index f682c468de5..f682c468de5 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-face.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-face.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-fallback-shape.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-fallback-shape.cc
index 9d061a9e845..9d061a9e845 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-fallback-shape.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-fallback-shape.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-font-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-font-private.hh
index 33bbf7143a2..33bbf7143a2 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-font-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-font-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-font.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-font.cc
index 4364ca72fb0..0cfba837a27 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-font.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-font.cc
@@ -604,7 +604,7 @@ hb_font_get_glyph_contour_point (hb_font_t *font,
*
* Return value:
*
- * Since: 1.0
+ * Since: 0.9.2
**/
hb_bool_t
hb_font_get_glyph_name (hb_font_t *font,
@@ -625,7 +625,7 @@ hb_font_get_glyph_name (hb_font_t *font,
*
* Return value:
*
- * Since: 1.0
+ * Since: 0.9.2
**/
hb_bool_t
hb_font_get_glyph_from_name (hb_font_t *font,
@@ -800,7 +800,7 @@ hb_font_get_glyph_contour_point_for_origin (hb_font_t *font,
*
*
*
- * Since: 1.0
+ * Since: 0.9.2
**/
void
hb_font_glyph_to_string (hb_font_t *font,
@@ -814,7 +814,7 @@ hb_font_glyph_to_string (hb_font_t *font,
/**
* hb_font_glyph_from_string:
* @font: a font.
- * @s: (array length=len):
+ * @s: (array length=len) (element-type uint8_t):
* @len:
* @glyph: (out):
*
@@ -822,7 +822,7 @@ hb_font_glyph_to_string (hb_font_t *font,
*
* Return value:
*
- * Since: 1.0
+ * Since: 0.9.2
**/
hb_bool_t
hb_font_glyph_from_string (hb_font_t *font,
@@ -854,8 +854,6 @@ hb_font_create (hb_face_t *face)
if (unlikely (!face))
face = hb_face_get_empty ();
- if (unlikely (hb_object_is_inert (face)))
- return hb_font_get_empty ();
if (!(font = hb_object_create<hb_font_t> ()))
return hb_font_get_empty ();
@@ -880,7 +878,7 @@ hb_font_t *
hb_font_create_sub_font (hb_font_t *parent)
{
if (unlikely (!parent))
- return hb_font_get_empty ();
+ parent = hb_font_get_empty ();
hb_font_t *font = hb_font_create (parent->face);
@@ -1080,7 +1078,7 @@ hb_font_get_parent (hb_font_t *font)
*
* Return value: (transfer none):
*
- * Since: 1.0
+ * Since: 0.9.2
**/
hb_face_t *
hb_font_get_face (hb_font_t *font)
@@ -1098,7 +1096,7 @@ hb_font_get_face (hb_font_t *font)
*
*
*
- * Since: 1.0
+ * Since: 0.9.2
**/
void
hb_font_set_funcs (hb_font_t *font,
@@ -1133,7 +1131,7 @@ hb_font_set_funcs (hb_font_t *font,
*
*
*
- * Since: 1.0
+ * Since: 0.9.2
**/
void
hb_font_set_funcs_data (hb_font_t *font,
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-font.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-font.h
index 7273db43eda..cf22589ec65 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-font.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-font.h
@@ -292,7 +292,7 @@ hb_font_funcs_set_glyph_contour_point_func (hb_font_funcs_t *ffuncs,
*
*
*
- * Since: 1.0
+ * Since: 0.9.2
**/
void
hb_font_funcs_set_glyph_name_func (hb_font_funcs_t *ffuncs,
@@ -308,7 +308,7 @@ hb_font_funcs_set_glyph_name_func (hb_font_funcs_t *ffuncs,
*
*
*
- * Since: 1.0
+ * Since: 0.9.2
**/
void
hb_font_funcs_set_glyph_from_name_func (hb_font_funcs_t *ffuncs,
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ft.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ft.cc
index 322f93a8efc..468742cfd05 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ft.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ft.cc
@@ -75,15 +75,19 @@ hb_ft_get_glyph (hb_font_t *font HB_UNUSED,
void *user_data HB_UNUSED)
{
+ unsigned int g;
FT_Face ft_face = (FT_Face) font_data;
- if (unlikely (variation_selector)) {
- *glyph = FT_Face_GetCharVariantIndex (ft_face, unicode, variation_selector);
- return *glyph != 0;
- }
+ if (likely (!variation_selector))
+ g = FT_Get_Char_Index (ft_face, unicode);
+ else
+ g = FT_Face_GetCharVariantIndex (ft_face, unicode, variation_selector);
- *glyph = FT_Get_Char_Index (ft_face, unicode);
- return *glyph != 0;
+ if (unlikely (!g))
+ return false;
+
+ *glyph = g;
+ return true;
}
static hb_position_t
@@ -377,7 +381,7 @@ hb_ft_face_create (FT_Face ft_face,
*
*
* Return value: (transfer full):
- * Since: 1.0
+ * Since: 0.9.38
**/
hb_face_t *
hb_ft_face_create_referenced (FT_Face ft_face)
@@ -464,7 +468,7 @@ hb_ft_font_create (FT_Face ft_face,
*
*
* Return value: (transfer full):
- * Since: 1.0
+ * Since: 0.9.38
**/
hb_font_t *
hb_ft_font_create_referenced (FT_Face ft_face)
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ft.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ft.h
index 92f4b361441..92f4b361441 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ft.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ft.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-glib.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-glib.cc
index 61dff5e3d6f..7dbd83d2962 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-glib.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-glib.cc
@@ -382,6 +382,9 @@ hb_glib_get_unicode_funcs (void)
return const_cast<hb_unicode_funcs_t *> (&_hb_glib_unicode_funcs);
}
+/**
+ * Since: 0.9.38
+ **/
hb_blob_t *
hb_glib_blob_create (GBytes *gbytes)
{
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-glib.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-glib.h
index 1a8f42ea529..1a8f42ea529 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-glib.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-glib.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-gobject-enums.cc.tmpl b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-gobject-enums.cc.tmpl
index ca458a3846c..ca458a3846c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-gobject-enums.cc.tmpl
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-gobject-enums.cc.tmpl
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-gobject-enums.h.tmpl b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-gobject-enums.h.tmpl
index 6ecda06c2a6..6ecda06c2a6 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-gobject-enums.h.tmpl
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-gobject-enums.h.tmpl
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-gobject-structs.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-gobject-structs.cc
index 2451b66291b..6bd63368b65 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-gobject-structs.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-gobject-structs.cc
@@ -54,6 +54,17 @@ hb_gobject_##name##_get_type (void) \
#define HB_DEFINE_OBJECT_TYPE(name) \
HB_DEFINE_BOXED_TYPE (name, hb_##name##_reference, hb_##name##_destroy);
+#define HB_DEFINE_VALUE_TYPE(name) \
+ static hb_##name##_t *_hb_##name##_reference (const hb_##name##_t *l) \
+ { \
+ hb_##name##_t *c = (hb_##name##_t *) calloc (1, sizeof (hb_##name##_t)); \
+ if (unlikely (!c)) return NULL; \
+ *c = *l; \
+ return c; \
+ } \
+ static void _hb_##name##_destroy (hb_##name##_t *l) { free (l); } \
+ HB_DEFINE_BOXED_TYPE (name, _hb_##name##_reference, _hb_##name##_destroy);
+
HB_DEFINE_OBJECT_TYPE (buffer)
HB_DEFINE_OBJECT_TYPE (blob)
HB_DEFINE_OBJECT_TYPE (face)
@@ -62,59 +73,8 @@ HB_DEFINE_OBJECT_TYPE (font_funcs)
HB_DEFINE_OBJECT_TYPE (set)
HB_DEFINE_OBJECT_TYPE (shape_plan)
HB_DEFINE_OBJECT_TYPE (unicode_funcs)
-
-
-static hb_feature_t *feature_reference (hb_feature_t *g)
-{
- hb_feature_t *c = (hb_feature_t *) calloc (1, sizeof (hb_feature_t));
- if (unlikely (!c)) return NULL;
- *c = *g;
- return c;
-}
-static void feature_destroy (hb_feature_t *g) { free (g); }
-HB_DEFINE_BOXED_TYPE (feature, feature_reference, feature_destroy)
-
-static hb_glyph_info_t *glyph_info_reference (hb_glyph_info_t *g)
-{
- hb_glyph_info_t *c = (hb_glyph_info_t *) calloc (1, sizeof (hb_glyph_info_t));
- if (unlikely (!c)) return NULL;
- *c = *g;
- return c;
-}
-static void glyph_info_destroy (hb_glyph_info_t *g) { free (g); }
-HB_DEFINE_BOXED_TYPE (glyph_info, glyph_info_reference, glyph_info_destroy)
-
-static hb_glyph_position_t *glyph_position_reference (hb_glyph_position_t *g)
-{
- hb_glyph_position_t *c = (hb_glyph_position_t *) calloc (1, sizeof (hb_glyph_position_t));
- if (unlikely (!c)) return NULL;
- *c = *g;
- return c;
-}
-static void glyph_position_destroy (hb_glyph_position_t *g) { free (g); }
-HB_DEFINE_BOXED_TYPE (glyph_position, glyph_position_reference, glyph_position_destroy)
-
-static hb_segment_properties_t *segment_properties_reference (hb_segment_properties_t *g)
-{
- hb_segment_properties_t *c = (hb_segment_properties_t *) calloc (1, sizeof (hb_segment_properties_t));
- if (unlikely (!c)) return NULL;
- *c = *g;
- return c;
-}
-static void segment_properties_destroy (hb_segment_properties_t *g) { free (g); }
-HB_DEFINE_BOXED_TYPE (segment_properties, segment_properties_reference, segment_properties_destroy)
-
-static hb_user_data_key_t user_data_key_reference (hb_user_data_key_t l) { return l; }
-static void user_data_key_destroy (hb_user_data_key_t l) { }
-HB_DEFINE_BOXED_TYPE (user_data_key, user_data_key_reference, user_data_key_destroy)
-
-
-static hb_language_t *language_reference (hb_language_t *l)
-{
- hb_language_t *c = (hb_language_t *) calloc (1, sizeof (hb_language_t));
- if (unlikely (!c)) return NULL;
- *c = *l;
- return c;
-}
-static void language_destroy (hb_language_t *l) { free (l); }
-HB_DEFINE_BOXED_TYPE (language, language_reference, language_destroy)
+HB_DEFINE_VALUE_TYPE (feature)
+HB_DEFINE_VALUE_TYPE (glyph_info)
+HB_DEFINE_VALUE_TYPE (glyph_position)
+HB_DEFINE_VALUE_TYPE (segment_properties)
+HB_DEFINE_VALUE_TYPE (user_data_key)
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-gobject-structs.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-gobject-structs.h
index 4a88d569e8d..0a0387dce31 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-gobject-structs.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-gobject-structs.h
@@ -40,18 +40,33 @@ HB_BEGIN_DECLS
/* Object types */
+/**
+ * Since: 0.9.2
+ **/
GType hb_gobject_blob_get_type (void);
#define HB_GOBJECT_TYPE_BLOB (hb_gobject_blob_get_type ())
+/**
+ * Since: 0.9.2
+ **/
GType hb_gobject_buffer_get_type (void);
#define HB_GOBJECT_TYPE_BUFFER (hb_gobject_buffer_get_type ())
+/**
+ * Since: 0.9.2
+ **/
GType hb_gobject_face_get_type (void);
#define HB_GOBJECT_TYPE_FACE (hb_gobject_face_get_type ())
+/**
+ * Since: 0.9.2
+ **/
GType hb_gobject_font_get_type (void);
#define HB_GOBJECT_TYPE_FONT (hb_gobject_font_get_type ())
+/**
+ * Since: 0.9.2
+ **/
GType hb_gobject_font_funcs_get_type (void);
#define HB_GOBJECT_TYPE_FONT_FUNCS (hb_gobject_font_funcs_get_type ())
@@ -61,6 +76,9 @@ GType hb_gobject_set_get_type (void);
GType hb_gobject_shape_plan_get_type (void);
#define HB_GOBJECT_TYPE_SHAPE_PLAN (hb_gobject_shape_plan_get_type ())
+/**
+ * Since: 0.9.2
+ **/
GType hb_gobject_unicode_funcs_get_type (void);
#define HB_GOBJECT_TYPE_UNICODE_FUNCS (hb_gobject_unicode_funcs_get_type ())
@@ -81,14 +99,6 @@ GType hb_gobject_segment_properties_get_type (void);
GType hb_gobject_user_data_key_get_type (void);
#define HB_GOBJECT_TYPE_USER_DATA_KEY (hb_gobject_user_data_key_get_type ())
-/* Currently gobject-introspection doesn't understand that hb_language_t
- * can be passed by-value. As such we box it up. May remove in the
- * future.
- *
- * https://bugzilla.gnome.org/show_bug.cgi?id=707656
- */
-GType hb_gobject_language_get_type (void);
-#define HB_GOBJECT_TYPE_LANGUAGE (hb_gobject_language_get_type ())
HB_END_DECLS
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-gobject.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-gobject.h
index ea1bd25df82..ea1bd25df82 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-gobject.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-gobject.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-graphite2.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-graphite2.cc
index 807c3308771..807c3308771 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-graphite2.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-graphite2.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-graphite2.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-graphite2.h
index 3eae54acbd8..3eae54acbd8 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-graphite2.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-graphite2.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-icu.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-icu.cc
index 24cec9d7266..24cec9d7266 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-icu.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-icu.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-icu.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-icu.h
index f2f35f0f2ce..f2f35f0f2ce 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-icu.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-icu.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-mutex-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-mutex-private.hh
index a8ea39ccfd9..ed2703571c1 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-mutex-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-mutex-private.hh
@@ -39,7 +39,13 @@
/* We need external help for these */
-#if 0
+#if defined(HB_MUTEX_IMPL_INIT) \
+ && defined(hb_mutex_impl_init) \
+ && defined(hb_mutex_impl_lock) \
+ && defined(hb_mutex_impl_unlock) \
+ && defined(hb_mutex_impl_finish)
+
+/* Defined externally, i.e. in config.h; must have typedef'ed hb_mutex_impl_t as well. */
#elif !defined(HB_NO_MT) && (defined(_WIN32) || defined(__CYGWIN__))
@@ -113,10 +119,12 @@ typedef int hb_mutex_impl_t;
#define hb_mutex_impl_unlock(M) HB_STMT_START {} HB_STMT_END
#define hb_mutex_impl_finish(M) HB_STMT_START {} HB_STMT_END
+
#endif
#define HB_MUTEX_INIT {HB_MUTEX_IMPL_INIT}
+
struct hb_mutex_t
{
/* TODO Add tracing. */
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-object-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-object-private.hh
index 7bd0f1624b5..635d62dc1ae 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-object-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-object-private.hh
@@ -47,19 +47,20 @@
/* reference_count */
-#define HB_REFERENCE_COUNT_INVALID_VALUE ((hb_atomic_int_t) -1)
-#define HB_REFERENCE_COUNT_INVALID {HB_REFERENCE_COUNT_INVALID_VALUE}
+#define HB_REFERENCE_COUNT_INVALID_VALUE -1
+#define HB_REFERENCE_COUNT_INIT {HB_ATOMIC_INT_INIT(HB_REFERENCE_COUNT_INVALID_VALUE)}
+
struct hb_reference_count_t
{
hb_atomic_int_t ref_count;
- inline void init (int v) { ref_count = v; }
- inline int inc (void) { return hb_atomic_int_add (const_cast<hb_atomic_int_t &> (ref_count), 1); }
- inline int dec (void) { return hb_atomic_int_add (const_cast<hb_atomic_int_t &> (ref_count), -1); }
- inline void finish (void) { ref_count = HB_REFERENCE_COUNT_INVALID_VALUE; }
-
- inline bool is_invalid (void) const { return ref_count == HB_REFERENCE_COUNT_INVALID_VALUE; }
+ inline void init (int v) { ref_count.set_unsafe (v); }
+ inline int get_unsafe (void) const { return ref_count.get_unsafe (); }
+ inline int inc (void) { return ref_count.inc (); }
+ inline int dec (void) { return ref_count.dec (); }
+ inline void finish (void) { ref_count.set_unsafe (HB_REFERENCE_COUNT_INVALID_VALUE); }
+ inline bool is_invalid (void) const { return ref_count.get_unsafe () == HB_REFERENCE_COUNT_INVALID_VALUE; }
};
@@ -102,7 +103,7 @@ struct hb_object_header_t
hb_reference_count_t ref_count;
hb_user_data_array_t user_data;
-#define HB_OBJECT_HEADER_STATIC {HB_REFERENCE_COUNT_INVALID, HB_USER_DATA_ARRAY_INIT}
+#define HB_OBJECT_HEADER_STATIC {HB_REFERENCE_COUNT_INIT, HB_USER_DATA_ARRAY_INIT}
private:
ASSERT_POD ();
@@ -117,7 +118,7 @@ static inline void hb_object_trace (const Type *obj, const char *function)
DEBUG_MSG (OBJECT, (void *) obj,
"%s refcount=%d",
function,
- obj ? obj->header.ref_count.ref_count : 0);
+ obj ? obj->header.ref_count.get_unsafe () : 0);
}
template <typename Type>
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-open-file-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-open-file-private.hh
index 178bc7ccb85..178bc7ccb85 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-open-file-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-open-file-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-open-type-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-open-type-private.hh
index 75a0f568d11..75a0f568d11 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-open-type-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-open-type-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-cmap-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-cmap-table.hh
index 04823125538..04823125538 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-cmap-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-cmap-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-font.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-font.cc
index 2af2f54a759..df6514dd31f 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-font.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-font.cc
@@ -45,9 +45,9 @@ struct hb_ot_face_metrics_accelerator_t
inline void init (hb_face_t *face,
hb_tag_t _hea_tag, hb_tag_t _mtx_tag,
- unsigned int default_advance)
+ unsigned int default_advance_)
{
- this->default_advance = default_advance;
+ this->default_advance = default_advance_;
this->num_metrics = face->get_num_glyphs ();
hb_blob_t *_hea_blob = OT::Sanitizer<OT::_hea>::sanitize (face->reference_table (_hea_tag));
@@ -114,6 +114,7 @@ struct hb_ot_face_cmap_accelerator_t
if (!subtable) subtable = cmap->find_subtable (0, 2);
if (!subtable) subtable = cmap->find_subtable (0, 1);
if (!subtable) subtable = cmap->find_subtable (0, 0);
+ if (!subtable) subtable = cmap->find_subtable (3, 0);
/* Meh. */
if (!subtable) subtable = &OT::Null(OT::CmapSubtable);
@@ -219,7 +220,7 @@ hb_ot_get_glyph_v_advance (hb_font_t *font HB_UNUSED,
void *user_data HB_UNUSED)
{
const hb_ot_font_t *ot_font = (const hb_ot_font_t *) font_data;
- return font->em_scale_y (-ot_font->v_metrics.get_advance (glyph));
+ return font->em_scale_y (-(int) ot_font->v_metrics.get_advance (glyph));
}
static hb_bool_t
@@ -334,6 +335,9 @@ _hb_ot_get_font_funcs (void)
}
+/**
+ * Since: 0.9.28
+ **/
void
hb_ot_font_set_funcs (hb_font_t *font)
{
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-font.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-font.h
index 7a8c04ac33d..b9947a16bc8 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-font.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-font.h
@@ -24,6 +24,10 @@
* Google Author(s): Behdad Esfahbod, Roozbeh Pournader
*/
+#ifndef HB_OT_H_IN
+#error "Include <hb-ot.h> instead."
+#endif
+
#ifndef HB_OT_FONT_H
#define HB_OT_FONT_H
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-head-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-head-table.hh
index 268f133408c..268f133408c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-head-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-head-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-hhea-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-hhea-table.hh
index 992fe552021..992fe552021 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-hhea-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-hhea-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-hmtx-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-hmtx-table.hh
index a0e3855a849..a0e3855a849 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-hmtx-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-hmtx-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-layout-common-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-layout-common-private.hh
index 3db7f57ab42..3db7f57ab42 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-layout-common-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-layout-common-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-layout-gdef-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-layout-gdef-table.hh
index 7a6c04d1700..7a6c04d1700 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-layout-gdef-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-layout-gdef-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-layout-gpos-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-layout-gpos-table.hh
index d88f7876e0a..69609d06cbe 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-layout-gpos-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-layout-gpos-table.hh
@@ -1450,7 +1450,6 @@ struct PosLookup : Lookup
{
TRACE_SANITIZE (this);
if (unlikely (!Lookup::sanitize (c))) return TRACE_RETURN (false);
- const OffsetArrayOf<PosLookupSubTable> &list = get_subtables<PosLookupSubTable> ();
return TRACE_RETURN (dispatch (c));
}
};
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-layout-gsub-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-layout-gsub-table.hh
index ebe4c9ec4e4..ad1339dc64d 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-layout-gsub-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-layout-gsub-table.hh
@@ -1222,7 +1222,6 @@ struct SubstLookup : Lookup
{
TRACE_SANITIZE (this);
if (unlikely (!Lookup::sanitize (c))) return TRACE_RETURN (false);
- const OffsetArrayOf<SubstLookupSubTable> &list = get_subtables<SubstLookupSubTable> ();
if (unlikely (!dispatch (c))) return TRACE_RETURN (false);
if (unlikely (get_type () == SubstLookupSubTable::Extension))
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-layout-gsubgpos-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-layout-gsubgpos-private.hh
index cbc6840bc86..842be880d7a 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-layout-gsubgpos-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-layout-gsubgpos-private.hh
@@ -516,39 +516,39 @@ struct hb_apply_context_t
inline bool
match_properties_mark (hb_codepoint_t glyph,
unsigned int glyph_props,
- unsigned int lookup_props) const
+ unsigned int match_props) const
{
/* If using mark filtering sets, the high short of
- * lookup_props has the set index.
+ * match_props has the set index.
*/
- if (lookup_props & LookupFlag::UseMarkFilteringSet)
- return gdef.mark_set_covers (lookup_props >> 16, glyph);
+ if (match_props & LookupFlag::UseMarkFilteringSet)
+ return gdef.mark_set_covers (match_props >> 16, glyph);
- /* The second byte of lookup_props has the meaning
+ /* The second byte of match_props has the meaning
* "ignore marks of attachment type different than
* the attachment type specified."
*/
- if (lookup_props & LookupFlag::MarkAttachmentType)
- return (lookup_props & LookupFlag::MarkAttachmentType) == (glyph_props & LookupFlag::MarkAttachmentType);
+ if (match_props & LookupFlag::MarkAttachmentType)
+ return (match_props & LookupFlag::MarkAttachmentType) == (glyph_props & LookupFlag::MarkAttachmentType);
return true;
}
inline bool
check_glyph_property (const hb_glyph_info_t *info,
- unsigned int lookup_props) const
+ unsigned int match_props) const
{
hb_codepoint_t glyph = info->codepoint;
unsigned int glyph_props = _hb_glyph_info_get_glyph_props (info);
/* Not covered, if, for example, glyph class is ligature and
- * lookup_props includes LookupFlags::IgnoreLigatures
+ * match_props includes LookupFlags::IgnoreLigatures
*/
- if (glyph_props & lookup_props & LookupFlag::IgnoreFlags)
+ if (glyph_props & match_props & LookupFlag::IgnoreFlags)
return false;
if (unlikely (glyph_props & HB_OT_LAYOUT_GLYPH_PROPS_MARK))
- return match_properties_mark (glyph, glyph_props, lookup_props);
+ return match_properties_mark (glyph, glyph_props, match_props);
return true;
}
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-layout-jstf-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-layout-jstf-table.hh
index 739dfd91067..739dfd91067 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-layout-jstf-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-layout-jstf-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-layout-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-layout-private.hh
index 47fecd216d3..47fecd216d3 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-layout-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-layout-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-layout.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-layout.cc
index b1e69e89f4c..05ea0603cd3 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-layout.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-layout.cc
@@ -128,6 +128,9 @@ hb_ot_layout_has_glyph_classes (hb_face_t *face)
return _get_gdef (face).has_glyph_classes ();
}
+/**
+ * Since: 0.9.7
+ **/
hb_ot_layout_glyph_class_t
hb_ot_layout_get_glyph_class (hb_face_t *face,
hb_codepoint_t glyph)
@@ -135,6 +138,9 @@ hb_ot_layout_get_glyph_class (hb_face_t *face,
return (hb_ot_layout_glyph_class_t) _get_gdef (face).get_glyph_class (glyph);
}
+/**
+ * Since: 0.9.7
+ **/
void
hb_ot_layout_get_glyphs_in_class (hb_face_t *face,
hb_ot_layout_glyph_class_t klass,
@@ -335,6 +341,9 @@ hb_ot_layout_language_get_required_feature_index (hb_face_t *face,
NULL);
}
+/**
+ * Since: 0.9.30
+ **/
hb_bool_t
hb_ot_layout_language_get_required_feature (hb_face_t *face,
hb_tag_t table_tag,
@@ -419,6 +428,9 @@ hb_ot_layout_language_find_feature (hb_face_t *face,
return false;
}
+/**
+ * Since: 0.9.7
+ **/
unsigned int
hb_ot_layout_feature_get_lookups (hb_face_t *face,
hb_tag_t table_tag,
@@ -433,6 +445,9 @@ hb_ot_layout_feature_get_lookups (hb_face_t *face,
return f.get_lookup_indexes (start_offset, lookup_count, lookup_indexes);
}
+/**
+ * Since: 0.9.22
+ **/
unsigned int
hb_ot_layout_table_get_lookup_count (hb_face_t *face,
hb_tag_t table_tag)
@@ -590,6 +605,9 @@ _hb_ot_layout_collect_lookups_languages (hb_face_t *face,
}
}
+/**
+ * Since: 0.9.8
+ **/
void
hb_ot_layout_collect_lookups (hb_face_t *face,
hb_tag_t table_tag,
@@ -631,6 +649,9 @@ hb_ot_layout_collect_lookups (hb_face_t *face,
}
}
+/**
+ * Since: 0.9.7
+ **/
void
hb_ot_layout_lookup_collect_glyphs (hb_face_t *face,
hb_tag_t table_tag,
@@ -676,6 +697,9 @@ hb_ot_layout_has_substitution (hb_face_t *face)
return &_get_gsub (face) != &OT::Null(OT::GSUB);
}
+/**
+ * Since: 0.9.7
+ **/
hb_bool_t
hb_ot_layout_lookup_would_substitute (hb_face_t *face,
unsigned int lookup_index,
@@ -714,6 +738,9 @@ hb_ot_layout_substitute_finish (hb_font_t *font, hb_buffer_t *buffer)
OT::GSUB::substitute_finish (font, buffer);
}
+/**
+ * Since: 0.9.7
+ **/
void
hb_ot_layout_lookup_substitute_closure (hb_face_t *face,
unsigned int lookup_index,
@@ -748,6 +775,9 @@ hb_ot_layout_position_finish (hb_font_t *font, hb_buffer_t *buffer)
OT::GPOS::position_finish (font, buffer);
}
+/**
+ * Since: 0.9.8
+ **/
hb_bool_t
hb_ot_layout_get_size_params (hb_face_t *face,
unsigned int *design_size, /* OUT. May be NULL */
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-layout.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-layout.h
index 949678ac422..949678ac422 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-layout.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-layout.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-map-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-map-private.hh
index 86b7e9fafea..86b7e9fafea 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-map-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-map-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-map.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-map.cc
index 4985eb22b20..4985eb22b20 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-map.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-map.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-maxp-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-maxp-table.hh
index 0d9a0fa1d87..0d9a0fa1d87 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-maxp-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-maxp-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-name-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-name-table.hh
index 21450c61382..21450c61382 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-name-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-name-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-arabic-fallback.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-arabic-fallback.hh
index a77f24ec849..a77f24ec849 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-arabic-fallback.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-arabic-fallback.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-arabic-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-arabic-table.hh
index 17100497ecb..17100497ecb 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-arabic-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-arabic-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-arabic-win1256.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-arabic-win1256.hh
index 8edd3ba8027..8edd3ba8027 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-arabic-win1256.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-arabic-win1256.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-arabic.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-arabic.cc
index ae908641271..ae908641271 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-arabic.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-arabic.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-default.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-default.cc
index f7f097eedaa..f7f097eedaa 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-default.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-default.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-hangul.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-hangul.cc
index 6ac18b08bff..6ac18b08bff 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-hangul.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-hangul.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-hebrew.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-hebrew.cc
index c7b7a5eba6a..c7b7a5eba6a 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-hebrew.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-hebrew.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-indic-machine.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-indic-machine.hh
index f652d4fda73..f652d4fda73 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-indic-machine.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-indic-machine.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-indic-machine.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-indic-machine.rl
index 694b235d1d1..694b235d1d1 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-indic-machine.rl
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-indic-machine.rl
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-indic-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-indic-private.hh
index d8dfc6507d9..d8dfc6507d9 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-indic-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-indic-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-indic-table.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-indic-table.cc
index 2e159a12b00..2e159a12b00 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-indic-table.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-indic-table.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-indic.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-indic.cc
index 7723600410a..7723600410a 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-indic.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-indic.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-myanmar-machine.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-myanmar-machine.hh
index 29fdf9a1aef..29fdf9a1aef 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-myanmar-machine.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-myanmar-machine.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-myanmar-machine.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-myanmar-machine.rl
index 9649a916f02..9649a916f02 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-myanmar-machine.rl
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-myanmar-machine.rl
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-myanmar.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-myanmar.cc
index d016380cc63..d016380cc63 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-myanmar.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-myanmar.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-private.hh
index e268933ce4c..4dc4f58d728 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-private.hh
@@ -179,9 +179,12 @@ hb_ot_shape_complex_categorize (const hb_ot_shape_planner_t *planner)
case HB_SCRIPT_PSALTER_PAHLAVI:
/* For Arabic script, use the Arabic shaper even if no OT script tag was found.
- * This is because we do fallback shaping for Arabic script (and not others). */
- if (planner->map.chosen_script[0] != HB_OT_TAG_DEFAULT_SCRIPT ||
- planner->props.script == HB_SCRIPT_ARABIC)
+ * This is because we do fallback shaping for Arabic script (and not others).
+ * But note that Arabic shaping is applicable only to horizontal layout; for
+ * vertical text, just use the generic shaper instead. */
+ if ((planner->map.chosen_script[0] != HB_OT_TAG_DEFAULT_SCRIPT ||
+ planner->props.script == HB_SCRIPT_ARABIC) &&
+ HB_DIRECTION_IS_HORIZONTAL(planner->props.direction))
return &_hb_ot_complex_shaper_arabic;
else
return &_hb_ot_complex_shaper_default;
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-sea-machine.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-sea-machine.hh
index 15b862f5a13..15b862f5a13 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-sea-machine.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-sea-machine.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-sea-machine.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-sea-machine.rl
index 46140fc4d5f..46140fc4d5f 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-sea-machine.rl
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-sea-machine.rl
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-sea.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-sea.cc
index f08b7ccb9f4..f08b7ccb9f4 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-sea.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-sea.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-thai.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-thai.cc
index feb7fc7a148..feb7fc7a148 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-thai.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-thai.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-tibetan.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-tibetan.cc
index 01465a426f8..01465a426f8 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-complex-tibetan.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-complex-tibetan.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-fallback-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-fallback-private.hh
index ec653513f1b..ec653513f1b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-fallback-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-fallback-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-fallback.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-fallback.cc
index 53274b502a5..53274b502a5 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-fallback.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-fallback.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-normalize-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-normalize-private.hh
index c744e26451d..c744e26451d 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-normalize-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-normalize-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-normalize.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-normalize.cc
index 8cc64af0144..8cc64af0144 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-normalize.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-normalize.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-private.hh
index 54ac2c3cf7c..54ac2c3cf7c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape.cc
index 07adb04f678..5fb0e053745 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape.cc
@@ -736,6 +736,9 @@ _hb_ot_shape (hb_shape_plan_t *shape_plan,
}
+/**
+ * Since: 0.9.7
+ **/
void
hb_ot_shape_plan_collect_lookups (hb_shape_plan_t *shape_plan,
hb_tag_t table_tag,
@@ -766,6 +769,9 @@ add_char (hb_font_t *font,
}
+/**
+ * Since: 0.9.2
+ **/
void
hb_ot_shape_glyphs_closure (hb_font_t *font,
hb_buffer_t *buffer,
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape.h
index 1402f54acc5..1402f54acc5 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-shape.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-shape.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-tag.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-tag.cc
index 878dd79b62c..61c38b19626 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-tag.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-tag.cc
@@ -175,6 +175,11 @@ typedef struct {
*
* Some items still missing. Those are commented out at the end.
* Keep sorted for bsearch.
+ *
+ * Updated as of 2015-05-06: OT1.7 on MS website has some newer
+ * items that we don't have here, eg. Zazaki. This is the new
+ * items in OpenType 1.7 (red items), most of which we have:
+ * http://www.microsoft.com/typography/otspec170/languagetags.htm
*/
static const LangTag ot_languages[] = {
@@ -217,9 +222,9 @@ static const LangTag ot_languages[] = {
{"bci", HB_TAG('B','A','U',' ')}, /* Baoulé */
{"bcl", HB_TAG('B','I','K',' ')}, /* Central Bikol */
{"bcq", HB_TAG('B','C','H',' ')}, /* Bench */
- {"be", HB_TAG('B','E','L',' ')}, /* Belarusian */
+ {"be", HB_TAG('B','E','L',' ')}, /* Belarusian */
{"bem", HB_TAG('B','E','M',' ')}, /* Bemba (Zambia) */
- {"ber", HB_TAG('B','E','R',' ')}, /* Berber [family] */
+ {"ber", HB_TAG('B','E','R',' ')}, /* Berber [family] */
{"bfq", HB_TAG('B','A','D',' ')}, /* Badaga */
{"bft", HB_TAG('B','L','T',' ')}, /* Balti */
{"bfy", HB_TAG('B','A','G',' ')}, /* Baghelkhandi */
@@ -346,9 +351,9 @@ static const LangTag ot_languages[] = {
{"gv", HB_TAG('M','N','X',' ')}, /* Manx */
{"ha", HB_TAG('H','A','U',' ')}, /* Hausa */
{"har", HB_TAG('H','R','I',' ')}, /* Harari */
- {"haw", HB_TAG('H','A','W',' ')}, /* Hawaiian */
- {"hay", HB_TAG('H','A','Y',' ')}, /* Haya */
- {"haz", HB_TAG('H','A','Z',' ')}, /* Hazaragi */
+ {"haw", HB_TAG('H','A','W',' ')}, /* Hawaiian */
+ {"hay", HB_TAG('H','A','Y',' ')}, /* Haya */
+ {"haz", HB_TAG('H','A','Z',' ')}, /* Hazaragi */
{"he", HB_TAG('I','W','R',' ')}, /* Hebrew */
{"hz", HB_TAG('H','E','R',' ')}, /* Herero */
{"hi", HB_TAG('H','I','N',' ')}, /* Hindi */
@@ -542,6 +547,7 @@ static const LangTag ot_languages[] = {
{"nr", HB_TAG('N','D','B',' ')}, /* [South] Ndebele */
{"nsk", HB_TAG('N','A','S',' ')}, /* Naskapi */
{"nso", HB_TAG('S','O','T',' ')}, /* [Northern] Sotho */
+ {"nv", HB_TAG('N','A','V',' ')}, /* Navajo */
{"ny", HB_TAG('C','H','I',' ')}, /* Chewa/Chichwa/Nyanja */
{"nym", HB_TAG('N','Y','M',' ')}, /* Nyamwezi */
{"nyn", HB_TAG('N','K','L',' ')}, /* Nyankole */
@@ -864,6 +870,15 @@ hb_ot_tag_from_language (hb_language_t language)
return HB_OT_TAG_DEFAULT_LANGUAGE;
}
+/**
+ * hb_ot_tag_to_language:
+ *
+ *
+ *
+ * Return value: (transfer none):
+ *
+ * Since: 1.0
+ **/
hb_language_t
hb_ot_tag_to_language (hb_tag_t tag)
{
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-tag.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-tag.h
index 1bf12ab3c09..1bf12ab3c09 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot-tag.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot-tag.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot.h
index 47c92a58e4b..47c92a58e4b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ot.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ot.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-private.hh
index 06b24a80f8d..45afc20b1f0 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-private.hh
@@ -121,16 +121,17 @@
# if defined(_WIN32_WCE)
/* Some things not defined on Windows CE. */
+# define strdup _strdup
# define getenv(Name) NULL
-# define setlocale(Category, Locale) "C"
+# if _WIN32_WCE < 0x800
+# define setlocale(Category, Locale) "C"
static int errno = 0; /* Use something better? */
+# endif
# elif defined(WINAPI_FAMILY) && (WINAPI_FAMILY==WINAPI_FAMILY_PC_APP || WINAPI_FAMILY==WINAPI_FAMILY_PHONE_APP)
# define getenv(Name) NULL
# endif
-# if (defined(__WIN32__) && !defined(__WINE__)) || defined(_MSC_VER)
+# if defined(_MSC_VER) && _MSC_VER < 1900
# define snprintf _snprintf
- /* Windows CE only has _strdup, while rest of Windows has both. */
-# define strdup _strdup
# endif
#endif
@@ -246,8 +247,8 @@ ASSERT_STATIC (sizeof (hb_var_int_t) == 4);
/* Void! */
struct _hb_void_t {};
-typedef const _hb_void_t &hb_void_t;
-#define HB_VOID (* (const _hb_void_t *) NULL)
+typedef const _hb_void_t *hb_void_t;
+#define HB_VOID ((const _hb_void_t *) NULL)
/* Return the number of 1 bits in mask. */
static inline HB_CONST_FUNC unsigned int
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-set-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-set-private.hh
index acba4e946b6..bba40151736 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-set-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-set-private.hh
@@ -354,7 +354,6 @@ struct hb_frozen_set_t
return;
unsigned int min = set.get_min ();
const elt_t &min_elt = set.elt (min);
- const elt_t &max_elt = set.elt (max);
start = min & ~MASK;
count = max - start + 1;
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-set.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-set.cc
index 59a0af46ed4..cb7fcdbf64c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-set.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-set.cc
@@ -35,7 +35,7 @@
*
* Return value: (transfer full):
*
- * Since: 1.0
+ * Since: 0.9.2
**/
hb_set_t *
hb_set_create (void)
@@ -55,7 +55,7 @@ hb_set_create (void)
*
* Return value: (transfer full):
*
- * Since: 1.0
+ * Since: 0.9.2
**/
hb_set_t *
hb_set_get_empty (void)
@@ -76,7 +76,7 @@ hb_set_get_empty (void)
*
* Return value: (transfer full):
*
- * Since: 1.0
+ * Since: 0.9.2
**/
hb_set_t *
hb_set_reference (hb_set_t *set)
@@ -88,7 +88,7 @@ hb_set_reference (hb_set_t *set)
* hb_set_destroy: (skip)
* @set: a set.
*
- * Since: 1.0
+ * Since: 0.9.2
**/
void
hb_set_destroy (hb_set_t *set)
@@ -110,7 +110,7 @@ hb_set_destroy (hb_set_t *set)
*
* Return value:
*
- * Since: 1.0
+ * Since: 0.9.2
**/
hb_bool_t
hb_set_set_user_data (hb_set_t *set,
@@ -129,7 +129,7 @@ hb_set_set_user_data (hb_set_t *set,
*
* Return value: (transfer none):
*
- * Since: 1.0
+ * Since: 0.9.2
**/
void *
hb_set_get_user_data (hb_set_t *set,
@@ -147,7 +147,7 @@ hb_set_get_user_data (hb_set_t *set,
*
* Return value:
*
- * Since: 1.0
+ * Since: 0.9.2
**/
hb_bool_t
hb_set_allocation_successful (const hb_set_t *set HB_UNUSED)
@@ -161,7 +161,7 @@ hb_set_allocation_successful (const hb_set_t *set HB_UNUSED)
*
*
*
- * Since: 1.0
+ * Since: 0.9.2
**/
void
hb_set_clear (hb_set_t *set)
@@ -177,7 +177,7 @@ hb_set_clear (hb_set_t *set)
*
* Return value:
*
- * Since: 1.0
+ * Since: 0.9.7
**/
hb_bool_t
hb_set_is_empty (const hb_set_t *set)
@@ -194,7 +194,7 @@ hb_set_is_empty (const hb_set_t *set)
*
* Return value:
*
- * Since: 1.0
+ * Since: 0.9.2
**/
hb_bool_t
hb_set_has (const hb_set_t *set,
@@ -210,7 +210,7 @@ hb_set_has (const hb_set_t *set,
*
*
*
- * Since: 1.0
+ * Since: 0.9.2
**/
void
hb_set_add (hb_set_t *set,
@@ -227,7 +227,7 @@ hb_set_add (hb_set_t *set,
*
*
*
- * Since: 1.0
+ * Since: 0.9.7
**/
void
hb_set_add_range (hb_set_t *set,
@@ -244,7 +244,7 @@ hb_set_add_range (hb_set_t *set,
*
*
*
- * Since: 1.0
+ * Since: 0.9.2
**/
void
hb_set_del (hb_set_t *set,
@@ -261,7 +261,7 @@ hb_set_del (hb_set_t *set,
*
*
*
- * Since: 1.0
+ * Since: 0.9.7
**/
void
hb_set_del_range (hb_set_t *set,
@@ -280,7 +280,7 @@ hb_set_del_range (hb_set_t *set,
*
* Return value:
*
- * Since: 1.0
+ * Since: 0.9.7
**/
hb_bool_t
hb_set_is_equal (const hb_set_t *set,
@@ -296,7 +296,7 @@ hb_set_is_equal (const hb_set_t *set,
*
*
*
- * Since: 1.0
+ * Since: 0.9.2
**/
void
hb_set_set (hb_set_t *set,
@@ -312,7 +312,7 @@ hb_set_set (hb_set_t *set,
*
*
*
- * Since: 1.0
+ * Since: 0.9.2
**/
void
hb_set_union (hb_set_t *set,
@@ -328,7 +328,7 @@ hb_set_union (hb_set_t *set,
*
*
*
- * Since: 1.0
+ * Since: 0.9.2
**/
void
hb_set_intersect (hb_set_t *set,
@@ -344,7 +344,7 @@ hb_set_intersect (hb_set_t *set,
*
*
*
- * Since: 1.0
+ * Since: 0.9.2
**/
void
hb_set_subtract (hb_set_t *set,
@@ -360,7 +360,7 @@ hb_set_subtract (hb_set_t *set,
*
*
*
- * Since: 1.0
+ * Since: 0.9.2
**/
void
hb_set_symmetric_difference (hb_set_t *set,
@@ -375,7 +375,7 @@ hb_set_symmetric_difference (hb_set_t *set,
*
*
*
- * Since: 1.0
+ * Since: 0.9.10
**/
void
hb_set_invert (hb_set_t *set)
@@ -391,7 +391,7 @@ hb_set_invert (hb_set_t *set)
*
* Return value: set population.
*
- * Since: 1.0
+ * Since: 0.9.7
**/
unsigned int
hb_set_get_population (const hb_set_t *set)
@@ -407,7 +407,7 @@ hb_set_get_population (const hb_set_t *set)
*
* Return value: minimum of the set, or %HB_SET_VALUE_INVALID if set is empty.
*
- * Since: 1.0
+ * Since: 0.9.7
**/
hb_codepoint_t
hb_set_get_min (const hb_set_t *set)
@@ -423,7 +423,7 @@ hb_set_get_min (const hb_set_t *set)
*
* Return value: minimum of the set, or %HB_SET_VALUE_INVALID if set is empty.
*
- * Since: 1.0
+ * Since: 0.9.7
**/
hb_codepoint_t
hb_set_get_max (const hb_set_t *set)
@@ -440,7 +440,7 @@ hb_set_get_max (const hb_set_t *set)
*
* Return value: whether there was a next value.
*
- * Since: 1.0
+ * Since: 0.9.2
**/
hb_bool_t
hb_set_next (const hb_set_t *set,
@@ -460,7 +460,7 @@ hb_set_next (const hb_set_t *set,
*
* Return value: whether there was a next range.
*
- * Since: 1.0
+ * Since: 0.9.7
**/
hb_bool_t
hb_set_next_range (const hb_set_t *set,
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-set.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-set.h
index bafdae96333..bafdae96333 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-set.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-set.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-shape-plan-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-shape-plan-private.hh
index 607da5e7791..607da5e7791 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-shape-plan-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-shape-plan-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-shape-plan.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-shape-plan.cc
index 2166173f9e5..d2f293d69de 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-shape-plan.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-shape-plan.cc
@@ -106,7 +106,7 @@ hb_shape_plan_plan (hb_shape_plan_t *shape_plan,
*
* Return value: (transfer full):
*
- * Since: 1.0
+ * Since: 0.9.7
**/
hb_shape_plan_t *
hb_shape_plan_create (hb_face_t *face,
@@ -126,7 +126,7 @@ hb_shape_plan_create (hb_face_t *face,
if (unlikely (!face))
face = hb_face_get_empty ();
- if (unlikely (!props || hb_object_is_inert (face)))
+ if (unlikely (!props))
return hb_shape_plan_get_empty ();
if (num_user_features && !(features = (hb_feature_t *) malloc (num_user_features * sizeof (hb_feature_t))))
return hb_shape_plan_get_empty ();
@@ -158,7 +158,7 @@ hb_shape_plan_create (hb_face_t *face,
*
* Return value: (transfer full):
*
- * Since: 1.0
+ * Since: 0.9.7
**/
hb_shape_plan_t *
hb_shape_plan_get_empty (void)
@@ -194,7 +194,7 @@ hb_shape_plan_get_empty (void)
*
* Return value: (transfer full):
*
- * Since: 1.0
+ * Since: 0.9.7
**/
hb_shape_plan_t *
hb_shape_plan_reference (hb_shape_plan_t *shape_plan)
@@ -208,7 +208,7 @@ hb_shape_plan_reference (hb_shape_plan_t *shape_plan)
*
*
*
- * Since: 1.0
+ * Since: 0.9.7
**/
void
hb_shape_plan_destroy (hb_shape_plan_t *shape_plan)
@@ -236,7 +236,7 @@ hb_shape_plan_destroy (hb_shape_plan_t *shape_plan)
*
* Return value:
*
- * Since: 1.0
+ * Since: 0.9.7
**/
hb_bool_t
hb_shape_plan_set_user_data (hb_shape_plan_t *shape_plan,
@@ -257,7 +257,7 @@ hb_shape_plan_set_user_data (hb_shape_plan_t *shape_plan,
*
* Return value: (transfer none):
*
- * Since: 1.0
+ * Since: 0.9.7
**/
void *
hb_shape_plan_get_user_data (hb_shape_plan_t *shape_plan,
@@ -279,7 +279,7 @@ hb_shape_plan_get_user_data (hb_shape_plan_t *shape_plan,
*
* Return value:
*
- * Since: 1.0
+ * Since: 0.9.7
**/
hb_bool_t
hb_shape_plan_execute (hb_shape_plan_t *shape_plan,
@@ -294,7 +294,6 @@ hb_shape_plan_execute (hb_shape_plan_t *shape_plan,
shape_plan->shaper_func);
if (unlikely (hb_object_is_inert (shape_plan) ||
- hb_object_is_inert (font) ||
hb_object_is_inert (buffer)))
return false;
@@ -396,7 +395,7 @@ hb_non_global_user_features_present (const hb_feature_t *user_features,
*
* Return value: (transfer full):
*
- * Since: 1.0
+ * Since: 0.9.7
**/
hb_shape_plan_t *
hb_shape_plan_create_cached (hb_face_t *face,
@@ -453,6 +452,10 @@ retry:
hb_shape_plan_t *shape_plan = hb_shape_plan_create (face, props, user_features, num_user_features, shaper_list);
+ /* Don't add to the cache if face is inert. */
+ if (unlikely (hb_object_is_inert (face)))
+ return shape_plan;
+
/* Don't add the plan to the cache if there were user features with non-global ranges */
if (hb_non_global_user_features_present (user_features, num_user_features))
@@ -483,7 +486,7 @@ retry:
*
* Return value: (transfer none):
*
- * Since: 1.0
+ * Since: 0.9.7
**/
const char *
hb_shape_plan_get_shaper (hb_shape_plan_t *shape_plan)
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-shape-plan.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-shape-plan.h
index 8f54552f90b..8f54552f90b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-shape-plan.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-shape-plan.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-shape.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-shape.cc
index 9a59c085568..5ddde5ad59d 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-shape.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-shape.cc
@@ -33,6 +33,17 @@
#include "hb-buffer-private.hh"
#include "hb-font-private.hh"
+/**
+ * SECTION:hb-shape
+ * @title: Shaping
+ * @short_description: Conversion of text strings into positioned glyphs
+ * @include: hb.h
+ *
+ * Shaping is the central operation of HarfBuzz. Shaping operates on buffers,
+ * which are sequences of Unicode characters that use the same font and have
+ * the same text direction, script and language. After shaping the buffer
+ * contains the output glyphs and their positions.
+ **/
static bool
parse_space (const char **pp, const char *end)
@@ -198,15 +209,16 @@ parse_one_feature (const char **pp, const char *end, hb_feature_t *feature)
/**
* hb_feature_from_string:
- * @str: (array length=len):
- * @len:
- * @feature: (out) (optional):
+ * @str: (array length=len) (element-type uint8_t): a string to parse
+ * @len: length of @str, or -1 if string is nul-terminated
+ * @feature: (out): the #hb_feature_t to initialize with the parsed values
*
- *
+ * Parses a string into a #hb_feature_t. If @len is -1 then @str is
+ * %NULL-terminated.
*
- * Return value:
+ * Return value: %TRUE if @str is successfully parsed, %FALSE otherwise
*
- * Since: 1.0
+ * Since: 0.9.5
**/
hb_bool_t
hb_feature_from_string (const char *str, int len,
@@ -231,13 +243,15 @@ hb_feature_from_string (const char *str, int len,
/**
* hb_feature_to_string:
- * @feature:
- * @buf: (array length=size):
- * @size:
+ * @feature: an #hb_feature_t to convert
+ * @buf: (array length=size) (out): output string
+ * @size: the allocated size of @buf
*
- *
+ * Converts a #hb_feature_t into a %NULL-terminated string in the format
+ * understood by hb_feature_from_string(). The client in responsible for
+ * allocating big enough size for @buf, 128 bytes is more than enough.
*
- * Since: 1.0
+ * Since: 0.9.5
**/
void
hb_feature_to_string (hb_feature_t *feature,
@@ -290,11 +304,12 @@ void free_static_shaper_list (void)
/**
* hb_shape_list_shapers:
*
- *
+ * Retrieves the list of shapers supported by HarfBuzz.
*
- * Return value: (transfer none):
+ * Return value: (transfer none) (array zero-terminated=1): an array of
+ * constant strings
*
- * Since: 1.0
+ * Since: 0.9.2
**/
const char **
hb_shape_list_shapers (void)
@@ -333,17 +348,21 @@ retry:
/**
* hb_shape_full:
- * @font: a font.
- * @buffer: a buffer.
- * @features: (array length=num_features):
- * @num_features:
- * @shaper_list: (array zero-terminated=1):
+ * @font: an #hb_font_t to use for shaping
+ * @buffer: an #hb_buffer_t to shape
+ * @features: (array length=num_features) (allow-none): an array of user
+ * specified #hb_feature_t or %NULL
+ * @num_features: the length of @features array
+ * @shaper_list: (array zero-terminated=1) (allow-none): a %NULL-terminated
+ * array of shapers to use or %NULL
*
- *
+ * See hb_shape() for details. If @shaper_list is not %NULL, the specified
+ * shapers will be used in the given order, otherwise the default shapers list
+ * will be used.
*
- * Return value:
+ * Return value: %FALSE if all shapers failed, %TRUE otherwise
*
- * Since: 1.0
+ * Since: 0.9.2
**/
hb_bool_t
hb_shape_full (hb_font_t *font,
@@ -368,12 +387,17 @@ hb_shape_full (hb_font_t *font,
/**
* hb_shape:
- * @font: a font.
- * @buffer: a buffer.
- * @features: (array length=num_features):
- * @num_features:
+ * @font: an #hb_font_t to use for shaping
+ * @buffer: an #hb_buffer_t to shape
+ * @features: (array length=num_features) (allow-none): an array of user
+ * specified #hb_feature_t or %NULL
+ * @num_features: the length of @features array
+ *
+ * Shapes @buffer using @font turning its Unicode characters content to
+ * positioned glyphs. If @features is not %NULL, it will be used to control the
+ * features applied during shaping.
*
- *
+ * Return value: %FALSE if all shapers failed, %TRUE otherwise
*
* Since: 1.0
**/
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-shape.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-shape.h
index 10a35cb517e..b665509a0dd 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-shape.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-shape.h
@@ -47,13 +47,10 @@ typedef struct hb_feature_t {
unsigned int end;
} hb_feature_t;
-/* len=-1 means str is NUL-terminated */
hb_bool_t
hb_feature_from_string (const char *str, int len,
hb_feature_t *feature);
-/* Something like 128 bytes is more than enough.
- * nul-terminates. */
void
hb_feature_to_string (hb_feature_t *feature,
char *buf, unsigned int size);
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-shaper-impl-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-shaper-impl-private.hh
index 7844081e95b..7844081e95b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-shaper-impl-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-shaper-impl-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-shaper-list.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-shaper-list.hh
index 6c537d49215..6c537d49215 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-shaper-list.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-shaper-list.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-shaper-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-shaper-private.hh
index d1d1146dad2..d1d1146dad2 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-shaper-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-shaper-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-shaper.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-shaper.cc
index 580b95c84b4..580b95c84b4 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-shaper.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-shaper.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ucdn.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ucdn.cc
index 5b53821f923..5b53821f923 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-ucdn.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-ucdn.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-unicode-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-unicode-private.hh
index a2c59da274a..a2c59da274a 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-unicode-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-unicode-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-unicode.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-unicode.cc
index fc19006d3eb..cf2032fd63c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-unicode.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-unicode.cc
@@ -147,11 +147,11 @@ hb_unicode_funcs_get_default (void)
#if !defined(HB_NO_UNICODE_FUNCS) && defined(HB_UNICODE_FUNCS_NIL)
#ifdef _MSC_VER
-#pragma message("Could not find any Unicode functions implementation, you have to provide your own")
-#pragma message("To suppress this warnings, define HB_NO_UNICODE_FUNCS")
+#pragma error("Could not find any Unicode functions implementation, you have to provide your own.")
+#pragma error("Consider building hb-ucdn.c. If you absolutely want to build without any, check the code.")
#else
-#warning "Could not find any Unicode functions implementation, you have to provide your own"
-#warning "To suppress this warning, define HB_NO_UNICODE_FUNCS"
+#error "Could not find any Unicode functions implementation, you have to provide your own"
+#error "Consider building hb-ucdn.c. If you absolutely want to build without any, check the code."
#endif
#endif
@@ -400,7 +400,7 @@ HB_UNICODE_FUNCS_IMPLEMENT_CALLBACKS_SIMPLE
*
* Return value:
*
- * Since: 1.0
+ * Since: 0.9.2
**/
hb_bool_t
hb_unicode_compose (hb_unicode_funcs_t *ufuncs,
@@ -422,7 +422,7 @@ hb_unicode_compose (hb_unicode_funcs_t *ufuncs,
*
* Return value:
*
- * Since: 1.0
+ * Since: 0.9.2
**/
hb_bool_t
hb_unicode_decompose (hb_unicode_funcs_t *ufuncs,
@@ -443,7 +443,7 @@ hb_unicode_decompose (hb_unicode_funcs_t *ufuncs,
*
* Return value:
*
- * Since: 1.0
+ * Since: 0.9.2
**/
unsigned int
hb_unicode_decompose_compatibility (hb_unicode_funcs_t *ufuncs,
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-unicode.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-unicode.h
index 1c4e097b92d..bf1796dcafd 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-unicode.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-unicode.h
@@ -363,7 +363,7 @@ hb_unicode_funcs_set_script_func (hb_unicode_funcs_t *ufuncs,
*
*
*
- * Since: 1.0
+ * Since: 0.9.2
**/
void
hb_unicode_funcs_set_compose_func (hb_unicode_funcs_t *ufuncs,
@@ -379,7 +379,7 @@ hb_unicode_funcs_set_compose_func (hb_unicode_funcs_t *ufuncs,
*
*
*
- * Since: 1.0
+ * Since: 0.9.2
**/
void
hb_unicode_funcs_set_decompose_func (hb_unicode_funcs_t *ufuncs,
@@ -395,7 +395,7 @@ hb_unicode_funcs_set_decompose_func (hb_unicode_funcs_t *ufuncs,
*
*
*
- * Since: 1.0
+ * Since: 0.9.2
**/
void
hb_unicode_funcs_set_decompose_compatibility_func (hb_unicode_funcs_t *ufuncs,
@@ -404,37 +404,62 @@ hb_unicode_funcs_set_decompose_compatibility_func (hb_unicode_funcs_t *ufuncs,
/* accessors */
+/**
+ * Since: 0.9.2
+ **/
hb_unicode_combining_class_t
hb_unicode_combining_class (hb_unicode_funcs_t *ufuncs,
hb_codepoint_t unicode);
+/**
+ * Since: 0.9.2
+ **/
unsigned int
hb_unicode_eastasian_width (hb_unicode_funcs_t *ufuncs,
hb_codepoint_t unicode);
+/**
+ * Since: 0.9.2
+ **/
hb_unicode_general_category_t
hb_unicode_general_category (hb_unicode_funcs_t *ufuncs,
hb_codepoint_t unicode);
+/**
+ * Since: 0.9.2
+ **/
hb_codepoint_t
hb_unicode_mirroring (hb_unicode_funcs_t *ufuncs,
hb_codepoint_t unicode);
+/**
+ * Since: 0.9.2
+ **/
hb_script_t
hb_unicode_script (hb_unicode_funcs_t *ufuncs,
hb_codepoint_t unicode);
+/**
+ * Since: 0.9.2
+ **/
hb_bool_t
hb_unicode_compose (hb_unicode_funcs_t *ufuncs,
hb_codepoint_t a,
hb_codepoint_t b,
hb_codepoint_t *ab);
+
+/**
+ * Since: 0.9.2
+ **/
hb_bool_t
hb_unicode_decompose (hb_unicode_funcs_t *ufuncs,
hb_codepoint_t ab,
hb_codepoint_t *a,
hb_codepoint_t *b);
+/**
+ * Since: 0.9.2
+ **/
unsigned int
hb_unicode_decompose_compatibility (hb_unicode_funcs_t *ufuncs,
hb_codepoint_t u,
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-uniscribe.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-uniscribe.cc
index e7bcad2ea86..e7bcad2ea86 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-uniscribe.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-uniscribe.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-uniscribe.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-uniscribe.h
index 001ab38ea87..001ab38ea87 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-uniscribe.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-uniscribe.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-utf-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-utf-private.hh
index 14d3c2e369b..14d3c2e369b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-utf-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-utf-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-version.h.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-version.h.in
index 2517160d18b..2517160d18b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-version.h.in
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-version.h.in
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-warning.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-warning.cc
index e0f88e2d4ad..e69fff234cd 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb-warning.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb-warning.cc
@@ -30,26 +30,20 @@
#if defined(HB_ATOMIC_INT_NIL)
#ifdef _MSC_VER
-#pragma message("Could not find any system to define atomic_int macros, library may NOT be thread-safe")
+#pragma error("Could not find any system to define atomic_int macros, library WILL NOT be thread-safe")
+#pragma error("Check hb-atomic-private.hh for possible resolutions.")
#else
-#warning "Could not find any system to define atomic_int macros, library may NOT be thread-safe"
+#error "Could not find any system to define atomic_int macros, library WILL NOT be thread-safe"
+#error "Check hb-atomic-private.hh for possible resolutions."
#endif
#endif
#if defined(HB_MUTEX_IMPL_NIL)
#ifdef _MSC_VER
-#pragma message("Could not find any system to define mutex macros, library may NOT be thread-safe")
+#pragma error("Could not find any system to define mutex macros, library WILL NOT be thread-safe")
+#pragma error("Check hb-mutex-private.hh for possible resolutions.")
#else
-#warning "Could not find any system to define mutex macros, library may NOT be thread-safe"
+#error "Could not find any system to define mutex macros, library WILL NOT be thread-safe"
+#error "Check hb-mutex-private.hh for possible resolutions."
#endif
#endif
-
-#if defined(HB_ATOMIC_INT_NIL) || defined(HB_MUTEX_IMPL_NIL)
-#ifdef _MSC_VER
-#pragma message("To suppress these warnings, define HB_NO_MT")
-#else
-#warning "To suppress these warnings, define HB_NO_MT"
-#endif
-#endif
-
-
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb.h
index c5a938a3818..c5a938a3818 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/hb.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/hb.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/main.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/main.cc
index f9708cc948e..f9708cc948e 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/main.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/main.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/test-buffer-serialize.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/test-buffer-serialize.cc
index 18c46e9524b..18c46e9524b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/test-buffer-serialize.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/test-buffer-serialize.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/test-size-params.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/test-size-params.cc
index 35d9e3c8e25..35d9e3c8e25 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/test-size-params.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/test-size-params.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/test-would-substitute.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/test-would-substitute.cc
index 8ea87cdf397..8ea87cdf397 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/test-would-substitute.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/test-would-substitute.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/test.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/test.cc
index a8fe046f34c..a8fe046f34c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.40/src/test.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.41/src/test.cc
diff --git a/Build/source/libs/harfbuzz/version.ac b/Build/source/libs/harfbuzz/version.ac
index 36995bc9eca..e733dc142da 100644
--- a/Build/source/libs/harfbuzz/version.ac
+++ b/Build/source/libs/harfbuzz/version.ac
@@ -8,4 +8,4 @@ dnl
dnl --------------------------------------------------------
dnl
dnl m4-include this file to define the current harfbuzz version
-m4_define([harfbuzz_version], [0.9.40])
+m4_define([harfbuzz_version], [0.9.41])