summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2014-08-03 12:38:18 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2014-08-03 12:38:18 +0000
commit763e0cee93b0e0a397fbe9f62e549a2e6ecf8022 (patch)
treefa75aa4d7ecd2cfe24196ed1cc8dee5c94b2ade7 /Build
parent9b1a7933abd546e9e473f267cf90293445d7e048 (diff)
harfbuzz 0.9.34
git-svn-id: svn://tug.org/texlive/trunk@34807 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r--Build/source/libs/README2
-rw-r--r--Build/source/libs/harfbuzz/ChangeLog5
-rw-r--r--Build/source/libs/harfbuzz/Makefile.in4
-rwxr-xr-xBuild/source/libs/harfbuzz/configure32
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34-PATCHES/ChangeLog (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33-PATCHES/ChangeLog)5
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34-PATCHES/TL-Changes (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33-PATCHES/TL-Changes)2
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/AUTHORS (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/AUTHORS)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/Android.mk (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/Android.mk)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/ChangeLog (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/ChangeLog)471
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/Makefile.am (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/Makefile.am)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/NEWS (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/NEWS)53
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/README (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/README)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/THANKS (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/THANKS)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/TODO (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/TODO)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.34/autogen.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/autogen.sh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/config.h.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/config.h.in)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/configure.ac (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/configure.ac)2
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/gtk-doc.make (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/gtk-doc.make)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/harfbuzz.doap (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/harfbuzz.doap)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/Makefile.am (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/Makefile.am)2
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-c-linkage-decls.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/check-c-linkage-decls.sh)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-defs.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/check-defs.sh)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-header-guards.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/check-header-guards.sh)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-includes.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/check-includes.sh)2
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-libstdc++.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/check-libstdc++.sh)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-static-inits.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/check-static-inits.sh)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-symbols.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/check-symbols.sh)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.34/src/gen-arabic-table.py (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/gen-arabic-table.py)0
-rwxr-xr-xBuild/source/libs/harfbuzz/harfbuzz-0.9.34/src/gen-indic-table.py (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/gen-indic-table.py)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/harfbuzz-gobject.pc.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/harfbuzz-gobject.pc.in)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/harfbuzz-icu.pc.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/harfbuzz-icu.pc.in)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/harfbuzz.pc.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/harfbuzz.pc.in)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-atomic-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-atomic-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-blob.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-blob.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-blob.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-blob.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-deserialize-json.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-buffer-deserialize-json.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-deserialize-json.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-buffer-deserialize-json.rl)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-deserialize-text.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-buffer-deserialize-text.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-deserialize-text.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-buffer-deserialize-text.rl)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-buffer-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-serialize.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-buffer-serialize.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-buffer.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-buffer.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-cache-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-cache-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-common.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-common.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-common.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-common.h)2
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-coretext.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-coretext.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-coretext.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-coretext.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-deprecated.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-deprecated.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-face-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-face-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-face.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-face.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-face.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-face.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-fallback-shape.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-fallback-shape.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-font-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-font-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-font.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-font.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-font.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-font.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ft.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ft.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ft.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ft.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-glib.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-glib.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-glib.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-glib.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-gobject-enums.cc.tmpl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-gobject-enums.cc.tmpl)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-gobject-enums.h.tmpl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-gobject-enums.h.tmpl)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-gobject-structs.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-gobject-structs.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-gobject-structs.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-gobject-structs.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-gobject.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-gobject.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-graphite2.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-graphite2.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-graphite2.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-graphite2.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-icu.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-icu.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-icu.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-icu.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-mutex-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-mutex-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-object-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-object-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-open-file-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-open-file-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-open-type-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-open-type-private.hh)2
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-cmap-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-cmap-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-font.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-font.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-font.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-font.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-head-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-head-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-hhea-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-hhea-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-hmtx-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-hmtx-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-common-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-layout-common-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-gdef-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-layout-gdef-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-gpos-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-layout-gpos-table.hh)4
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-gsub-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-layout-gsub-table.hh)2
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-gsubgpos-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-layout-gsubgpos-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-jstf-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-layout-jstf-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-layout-private.hh)17
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-layout.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-layout.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-map-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-map-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-map.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-map.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-maxp-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-maxp-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-name-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-name-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-arabic-fallback.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-arabic-fallback.hh)146
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-arabic-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-arabic-table.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-arabic-win1256.hh321
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-arabic.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-arabic.cc)40
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-default.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-default.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-hangul.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-hangul.cc)11
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-hebrew.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-hebrew.cc)2
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-indic-machine.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-indic-machine.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-indic-machine.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-indic-machine.rl)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-indic-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-indic-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-indic-table.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-indic-table.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-indic.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-indic.cc)29
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-myanmar-machine.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-myanmar-machine.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-myanmar-machine.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-myanmar-machine.rl)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-myanmar.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-myanmar.cc)18
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-private.hh)5
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-sea-machine.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-sea-machine.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-sea-machine.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-sea-machine.rl)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-sea.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-sea.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-thai.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-thai.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-tibetan.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-tibetan.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-fallback-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-fallback-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-fallback.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-fallback.cc)2
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-normalize-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-normalize-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-normalize.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-normalize.cc)2
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape.cc)8
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-tag.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-tag.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-tag.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-tag.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-private.hh)2
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-set-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-set-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-set.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-set.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-set.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-set.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shape-plan-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-shape-plan-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shape-plan.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-shape-plan.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shape-plan.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-shape-plan.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shape.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-shape.cc)102
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shape.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-shape.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shaper-impl-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-shaper-impl-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shaper-list.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-shaper-list.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shaper-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-shaper-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shaper.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-shaper.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ucdn.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ucdn.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-unicode-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-unicode-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-unicode.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-unicode.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-unicode.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-unicode.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-uniscribe.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-uniscribe.cc)1
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-uniscribe.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-uniscribe.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-utf-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-utf-private.hh)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-version.h.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-version.h.in)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-warning.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-warning.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb.h)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/main.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/main.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/test-buffer-serialize.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/test-buffer-serialize.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/test-size-params.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/test-size-params.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/test-would-substitute.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/test-would-substitute.cc)0
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/test.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/test.cc)0
-rw-r--r--Build/source/libs/harfbuzz/version.ac2
152 files changed, 1186 insertions, 112 deletions
diff --git a/Build/source/libs/README b/Build/source/libs/README
index 87b41f17453..6ee43d27487 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.33 - checked 23jul14
+harfbuzz 0.9.34 - checked 3aug14
http://www.freedesktop.org/software/harfbuzz/release/
icu 53.1 (release) - checked 3apr14
diff --git a/Build/source/libs/harfbuzz/ChangeLog b/Build/source/libs/harfbuzz/ChangeLog
index efac0e3f7ba..7ba76e7d8d4 100644
--- a/Build/source/libs/harfbuzz/ChangeLog
+++ b/Build/source/libs/harfbuzz/ChangeLog
@@ -1,3 +1,8 @@
+2014-08-033 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Import harfbuzz-0.9.34.
+ * version.ac: Adjust.
+
2014-07-23 Peter Breitenlohner <peb@mppmu.mpg.de>
Import harfbuzz-0.9.33.
diff --git a/Build/source/libs/harfbuzz/Makefile.in b/Build/source/libs/harfbuzz/Makefile.in
index 84254cad0d6..90513435f2a 100644
--- a/Build/source/libs/harfbuzz/Makefile.in
+++ b/Build/source/libs/harfbuzz/Makefile.in
@@ -83,7 +83,7 @@ DIST_COMMON = $(srcdir)/../../am/reconfig.am \
$(srcdir)/../../am/rebuild.am $(srcdir)/Makefile.in \
$(srcdir)/Makefile.am $(top_srcdir)/configure \
$(am__configure_deps) $(srcdir)/config.h.in \
- $(top_srcdir)/harfbuzz-0.9.33/src/hb-version.h.in \
+ $(top_srcdir)/harfbuzz-0.9.34/src/hb-version.h.in \
$(am__dist_check_SCRIPTS_DIST) \
$(top_srcdir)/../../build-aux/depcomp \
$(top_srcdir)/../../build-aux/test-driver ChangeLog \
@@ -778,7 +778,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.33/src/hb-version.h.in
+hb-version.h: $(top_builddir)/config.status $(top_srcdir)/harfbuzz-0.9.34/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 6fa3a187cef..5008f2c542b 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.33.
+# Generated by GNU Autoconf 2.69 for harfbuzz (TeX Live) 0.9.34.
#
# 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.33'
-PACKAGE_STRING='harfbuzz (TeX Live) 0.9.33'
+PACKAGE_VERSION='0.9.34'
+PACKAGE_STRING='harfbuzz (TeX Live) 0.9.34'
PACKAGE_BUGREPORT='tex-k@tug.org'
PACKAGE_URL=''
-ac_unique_file="harfbuzz-0.9.33/src/harfbuzz.pc.in"
+ac_unique_file="harfbuzz-0.9.34/src/harfbuzz.pc.in"
# Factoring default headers for most tests.
ac_includes_default="\
#include <stdio.h>
@@ -1325,7 +1325,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures harfbuzz (TeX Live) 0.9.33 to adapt to many kinds of systems.
+\`configure' configures harfbuzz (TeX Live) 0.9.34 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1396,7 +1396,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of harfbuzz (TeX Live) 0.9.33:";;
+ short | recursive ) echo "Configuration of harfbuzz (TeX Live) 0.9.34:";;
esac
cat <<\_ACEOF
@@ -1509,7 +1509,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-harfbuzz (TeX Live) configure 0.9.33
+harfbuzz (TeX Live) configure 0.9.34
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2099,7 +2099,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by harfbuzz (TeX Live) $as_me 0.9.33, which was
+It was created by harfbuzz (TeX Live) $as_me 0.9.34, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -4022,7 +4022,7 @@ fi
# Define the identity of the package.
PACKAGE='harfbuzz--tex-live-'
- VERSION='0.9.33'
+ VERSION='0.9.34'
cat >>confdefs.h <<_ACEOF
@@ -4224,8 +4224,8 @@ WARNING_CFLAGS=$kpse_cv_warning_cflags
HB_VERSION_MAJOR=0
HB_VERSION_MINOR=9
-HB_VERSION_MICRO=33
-HB_VERSION=0.9.33
+HB_VERSION_MICRO=34
+HB_VERSION=0.9.34
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
@@ -6641,14 +6641,14 @@ $as_echo "#define HAVE_INTEL_ATOMIC_PRIMITIVES 1" >>confdefs.h
fi
-HARFBUZZ_TREE=harfbuzz-0.9.33
+HARFBUZZ_TREE=harfbuzz-0.9.34
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.33/src/hb-version.h.in"
+ac_config_files="$ac_config_files Makefile include/Makefile hb-version.h:harfbuzz-0.9.34/src/hb-version.h.in"
cat >confcache <<\_ACEOF
@@ -7197,7 +7197,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.33, which was
+This file was extended by harfbuzz (TeX Live) $as_me 0.9.34, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -7263,7 +7263,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.33
+harfbuzz (TeX Live) config.status 0.9.34
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -7396,7 +7396,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.33/src/hb-version.h.in" ;;
+ "hb-version.h") CONFIG_FILES="$CONFIG_FILES hb-version.h:harfbuzz-0.9.34/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.33-PATCHES/ChangeLog b/Build/source/libs/harfbuzz/harfbuzz-0.9.34-PATCHES/ChangeLog
index fba6721d2b5..912ab925730 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33-PATCHES/ChangeLog
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34-PATCHES/ChangeLog
@@ -1,3 +1,8 @@
+2014-08-03 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Imported harfbuzz-0.9.34 source tree from:
+ http://www.freedesktop.org/software/harfbuzz/release/
+
2014-07-23 Peter Breitenlohner <peb@mppmu.mpg.de>
Imported harfbuzz-0.9.33 source tree from:
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33-PATCHES/TL-Changes b/Build/source/libs/harfbuzz/harfbuzz-0.9.34-PATCHES/TL-Changes
index 9c3ae4e7bf8..47e9ba389d5 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33-PATCHES/TL-Changes
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34-PATCHES/TL-Changes
@@ -1,4 +1,4 @@
-Changes applied to the harfbuzz-0.9.33/ tree as obtained from:
+Changes applied to the harfbuzz-0.9.34/ tree as obtained from:
http://www.freedesktop.org/software/harfbuzz/release/
Removed:
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/AUTHORS b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/AUTHORS
index 81cdc4cf37f..81cdc4cf37f 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/AUTHORS
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/AUTHORS
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/Android.mk b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/Android.mk
index 07dfa5b1d87..07dfa5b1d87 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/Android.mk
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/Android.mk
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/ChangeLog b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/ChangeLog
index 153900673f7..9d9eed3b5e4 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/ChangeLog
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/ChangeLog
@@ -1,3 +1,474 @@
+commit d7c850f8037d2701366008eb8c2a527c9d40abde
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sat Aug 2 17:46:38 2014 -0400
+
+ [uniscribe] Minor
+
+ src/hb-uniscribe.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 8f3eebf7ee4005f9a8efaafcb7f4058cc0a3756e
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sat Aug 2 17:18:46 2014 -0400
+
+ Make sure gsubgpos buffer vars are available during fallback_position
+
+ Add buffer var allocation asserts to a few key places.
+
+ src/hb-ot-layout-gpos-table.hh | 4 ++--
+ src/hb-ot-layout-gsub-table.hh | 2 +-
+ src/hb-ot-layout-private.hh | 15 +++++++++++++++
+ src/hb-ot-shape-complex-arabic-fallback.hh | 2 +-
+ src/hb-ot-shape-fallback.cc | 2 ++
+ src/hb-ot-shape-normalize.cc | 2 ++
+ src/hb-ot-shape.cc | 3 +++
+ 7 files changed, 26 insertions(+), 4 deletions(-)
+
+commit 2053f369f84676f197ac41ea654a318c48922abd
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sat Aug 2 16:31:16 2014 -0400
+
+ Disable 'liga' for vertical text
+
+ The reason we turned it on is because Kazuraki uses it. But that's
+ not reason enough. Until the OpenType spec gets its act together re
+ adding design-direction to lookups, this is better user experience.
+
+ src/hb-ot-shape.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 763e5466c0a03a7c27020e1e2598e488612529a7
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sat Aug 2 16:17:44 2014 -0400
+
+ Make it easier to use HB_BUFFER_FLAG_BOT/EOT
+
+ Previously, we expected users to provide BOT/EOT flags when the
+ text *segment* was at paragraph boundaries. This meant that for
+ clients that provide full paragraph to HarfBuzz (eg. Pango), they
+ had code like this:
+
+ hb_buffer_set_flags (hb_buffer,
+ (item_offset == 0 ? HB_BUFFER_FLAG_BOT : 0) |
+ (item_offset + item_length == paragraph_length
+ ?
+ HB_BUFFER_FLAG_EOT : 0));
+
+ hb_buffer_add_utf8 (hb_buffer,
+ paragraph_text, paragraph_length,
+ item_offset, item_length);
+
+ After this change such clients can simply say:
+
+ hb_buffer_set_flags (hb_buffer,
+ HB_BUFFER_FLAG_BOT | HB_BUFFER_FLAG_EOT);
+
+ hb_buffer_add_utf8 (hb_buffer,
+ paragraph_text, paragraph_length,
+ item_offset, item_length);
+
+ Ie, HarfBuzz itself checks whether the segment is at the beginning/end
+ of the paragraph. Clients that only pass item-at-a-time to HarfBuzz
+ continue not setting any flags whatsoever.
+
+ Another way to put it is: if there's pre-context text in the buffer,
+ HarfBuzz ignores the BOT flag. If there's post-context, it ignores
+ EOT flag.
+
+ src/hb-ot-shape-complex-arabic.cc | 40
+ +++++++++++++++++++--------------------
+ src/hb-ot-shape.cc | 1 +
+ 2 files changed, 20 insertions(+), 21 deletions(-)
+
+commit 0a5ae9336231c4d189e1682e4fd9c9c4552b8bbf
+Merge: ac53443 6ab6be3
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sat Aug 2 15:00:34 2014 -0400
+
+ Merge branch 'win1256'
+
+commit 6ab6be32c5857ce3344021ad2996e80b2a8c8f99
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sat Aug 2 14:58:38 2014 -0400
+
+ [arabic/win1256] Remove unused MultipleSubst macros
+
+ src/hb-ot-shape-complex-arabic-win1256.hh | 12 ------------
+ 1 file changed, 12 deletions(-)
+
+commit abfa4252cce1c56c472693dcd8400cd97ededd2f
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Aug 1 19:05:33 2014 -0400
+
+ [arabic/win1256] Really fix lam-alef this time
+
+ https://bugzilla.mozilla.org/show_bug.cgi?id=1045139#c26
+ https://github.com/behdad/harfbuzz/commit/b276e897d17519a2c28f79d024904ac2bdd86bcf#commitcomment-7243499
+
+ src/hb-ot-shape-complex-arabic-fallback.hh | 2 +-
+ src/hb-ot-shape-complex-arabic-win1256.hh | 49
+ +++++++++---------------------
+ 2 files changed, 15 insertions(+), 36 deletions(-)
+
+commit 55977f2a462b7fa1248eab3787053dc82320d3e5
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Aug 1 16:14:33 2014 -0400
+
+ [arabic/win1256] Hook up lamMedi lookup
+
+ Restructure lookup array to accommodate.
+
+ https://bugzilla.mozilla.org/show_bug.cgi?id=1045139#c18
+
+ src/hb-ot-shape-complex-arabic-fallback.hh | 26
+ ++++++++++----------------
+ src/hb-ot-shape-complex-arabic-win1256.hh | 1 +
+ 2 files changed, 11 insertions(+), 16 deletions(-)
+
+commit e839e2523e64fd0cf21929f6a45e2facd59c7917
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Aug 1 16:09:31 2014 -0400
+
+ [arabic/win1256] Fix TEH MARBUTA final form
+
+ https://bugzilla.mozilla.org/show_bug.cgi?id=1045139#c18
+
+ src/hb-ot-shape-complex-arabic-win1256.hh | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit a2de193220ee2839125594bd1a60b5b66ab4598e
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Jul 31 18:21:05 2014 -0400
+
+ [arabic/win1256] Fix shaping of JEEM, HAH, and KHAH
+
+ https://bugzilla.mozilla.org/show_bug.cgi?id=1045139#c16
+
+ src/hb-ot-shape-complex-arabic-win1256.hh | 22 ++++++++++++----------
+ 1 file changed, 12 insertions(+), 10 deletions(-)
+
+commit 1789ccb1dd56af6117eac00e633eff94860ba252
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Jul 31 11:04:00 2014 -0400
+
+ [arabic/win1256] Remove GCC'ism
+
+ The table can now compile independently too. If we cannot make
+ it work
+ on MSVC, we can always generate the data and distribute it.
+
+ The code now compiles cleanly with:
+
+ gcc -c -xc -std=c99 -Werror -pedantic
+ hb-ot-shape-complex-arabic-win1256.hh
+ g++ -c -xc -std=c++1x -Werror -pedantic
+ hb-ot-shape-complex-arabic-win1256.hh
+
+ See:
+ https://github.com/behdad/harfbuzz/commit/a97f537cec209649302899975d76ca2b2661da7a#commitcomment-7218736
+
+ src/hb-ot-shape-complex-arabic-fallback.hh | 4 +-
+ src/hb-ot-shape-complex-arabic-win1256.hh | 123
+ +++++++++++++++++------------
+ 2 files changed, 75 insertions(+), 52 deletions(-)
+
+commit f28b1c823db2ad56fed356ef864a7508d23048b8
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jul 30 02:15:44 2014 -0400
+
+ [arabic] Implement Windows-1256 private shaping
+
+ Bug 1045139 - The Arabic text with "MS Sans Serif" font is rendered
+ bad
+ https://bugzilla.mozilla.org/show_bug.cgi?id=1045139
+
+ This is only enabled on Windows platforms, and requires support from
+ Uniscribe to work. But for clients that do hook up to Uniscribe, this
+ fixes shaping of Windows-1256-encoded bitmap fonts like "MS Sans
+ Serif".
+
+ The code and table together have just less than a 1kb footprint when
+ enabled.
+
+ UNTESTED. I might even have broken regular Arabic fallback shaping.
+
+ src/Makefile.am | 1 +
+ src/check-includes.sh | 2 +-
+ src/hb-ot-shape-complex-arabic-fallback.hh | 125 +++++++++--
+ src/hb-ot-shape-complex-arabic-win1256.hh | 328
+ +++++++++++++++++++++++++++++
+ 4 files changed, 442 insertions(+), 14 deletions(-)
+
+commit ac53443f1cea83ed43a4e41a9fdb91902f7fae7b
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Jul 31 18:51:37 2014 -0400
+
+ [hangul] Don't apply 'calt'
+
+ See comments.
+
+ Micro-test added.
+
+ src/hb-ot-shape-complex-hangul.cc | 11
+ ++++++++++-
+ test/shaping/Makefile.am | 1 +
+ .../sha1sum/757ebd573617a24aa9dfbf0b885c54875c6fe06b.ttf | Bin 0 ->
+ 1804 bytes
+ .../sha1sum/7e14e7883ed152baa158b80e207b66114c823a8b.ttf | Bin 0 ->
+ 1644 bytes
+ test/shaping/fonts/sha1sum/MANIFEST | 2 ++
+ test/shaping/tests/MANIFEST | 1 +
+ test/shaping/tests/hangul-jamo.tests | 11
+ +++++++++++
+ 7 files changed, 25 insertions(+), 1 deletion(-)
+
+commit 8292f96b2be173ebceb1b54426c271cfeaecd633
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Thu Jul 31 18:33:11 2014 -0400
+
+ [test] Fix record-test.sh
+
+ test/shaping/record-test.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 88911e8cc765c26e502503a3a00ac7f17973f3d9
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Tue Jul 29 19:47:26 2014 -0400
+
+ Minor
+
+ src/hb-ot-shape-complex-arabic-fallback.hh | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 9e834e29e0b657f0555df1ab9cea79ff7abcf08d
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sat Jul 26 20:34:01 2014 -0400
+
+ [hebrew] Zero mark advance by GDEF late
+
+ Seems to be what Uniscribe does.
+
+ At this point I think it's work checking our default...
+
+ Fixes Bug 76767 - Zeroing of advance of 2nd component of multiple
+ substitution with SBL Hebrew
+ https://bugs.freedesktop.org/show_bug.cgi?id=76767
+
+ Micro-test added.
+
+ src/hb-ot-shape-complex-hebrew.cc | 2 +-
+ .../sha1sum/8454d22037f892e76614e1645d066689a0200e61.ttf | Bin 0 ->
+ 6068 bytes
+ test/shaping/fonts/sha1sum/MANIFEST | 1 +
+ test/shaping/tests/zero-width-marks.tests | 1 +
+ 4 files changed, 3 insertions(+), 1 deletion(-)
+
+commit 6f2d9ba52a6d1e3fc200da1ef0e85ba020fcd0dc
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sat Jul 26 19:17:44 2014 -0400
+
+ Add old-Myanmar shaper
+
+ Looks like Unsicribe responds to the 'mymr' tag by zeroing marks
+ GDEF_LATE instead of generic-shaper UNICODE_LATE. Implement that.
+
+ Fixes
+ Bug 81775 - Incorrect Rendering with harfbuzz-ng myanmar unicode
+ https://bugs.freedesktop.org/show_bug.cgi?id=81775
+
+ Micro-test added based on Padauk.
+
+ src/hb-ot-shape-complex-myanmar.cc | 18
+ ++++++++++++++++++
+ src/hb-ot-shape-complex-private.hh | 5 +++--
+ test/shaping/Makefile.am | 1 +
+ test/shaping/fonts/sha1sum/MANIFEST | 1 +
+ .../bb9473d2403488714043bcfb946c9f78b86ad627.ttf | Bin 0 ->
+ 3440 bytes
+ test/shaping/tests/MANIFEST | 1 +
+ test/shaping/tests/zero-width-marks.tests | 1 +
+ 7 files changed, 25 insertions(+), 2 deletions(-)
+
+commit 595d2b96c37de8147489dc5e0ddcc4ab1ad3eea9
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Sat Jul 26 18:44:15 2014 -0400
+
+ Minor
+
+ src/hb-ot-shape-complex-indic.cc | 1 +
+ src/hb-ot-shape.cc | 2 +-
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+commit fe6788bc570d77d5b3aafc68efd51ca6b80499b1
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Jul 25 12:40:56 2014 -0400
+
+ Typo
+
+ src/hb-common.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 0de25d4184d2d92b1a2ebb6fa054275aaae4c316
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Jul 25 12:35:03 2014 -0400
+
+ [util] Note CSS compatibility in --help-features
+
+ util/options.cc | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit 6e69200a2aadbc6bba35ffb4a058c14286b84f46
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Jul 25 12:30:47 2014 -0400
+
+ Fix snprintf() format
+
+ Patch from Maks Naumov.
+ Fixes https://github.com/behdad/harfbuzz/pull/22
+
+ src/hb-shape.cc | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 5c5cdbbdf8be231c433e21b050a6c6991d327b61
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Jul 25 12:21:49 2014 -0400
+
+ Make sure broken feature strings are not partially parsed
+
+ If user doesn't check hb_feature_from_string() return value, we
+ don't want them to end up see the partially-parsed feature.
+
+ src/hb-shape.cc | 18 ++++++++++++++----
+ 1 file changed, 14 insertions(+), 4 deletions(-)
+
+commit a795fe637846e0d9561d2f7cdd84cfafd58b23a7
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Jul 25 12:15:33 2014 -0400
+
+ Allow quotation marks around feature tag in hb_feature_from_string()
+
+ With this, I believe we accept CSS feature strings completely.
+
+ src/hb-shape.cc | 24 +++++++++++++++++++++---
+ 1 file changed, 21 insertions(+), 3 deletions(-)
+
+commit 3f6461847412e78bcddc8eba97200f3afcde869a
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Jul 25 12:04:27 2014 -0400
+
+ Allow space at the end of feature string with values, eg 'dlig=1 '
+
+ src/hb-shape.cc | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit f31f7d2259dd8edffc070af55938cb7aa23514c1
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Jul 25 12:03:52 2014 -0400
+
+ Minor
+
+ src/hb-shape.cc | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+commit 60cb18a5dea2d30793f89e80995bb729c014864a
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Jul 25 12:01:22 2014 -0400
+
+ Allow on/off in hb_feature_from_string()
+
+ We now allow things like "dlig on" / "dlig=on".
+
+ src/hb-shape.cc | 26 ++++++++++++++++++++++++--
+ 1 file changed, 24 insertions(+), 2 deletions(-)
+
+commit d9e618eca9e01c2eb6db65504af3f73be370a1e7
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Jul 25 11:56:01 2014 -0400
+
+ Remove duplicate definition of ISALNUM
+
+ It's defined in hb-private.h already.
+
+ src/hb-shape.cc | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit 2ee5f665ded86147acedc400153c0b3a90fe07c6
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Jul 25 11:53:46 2014 -0400
+
+ Fix parsing of features like "- liga" (with the space)
+
+ src/hb-shape.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit e15fa7a8cffbe6a67b1048d7b87b7df77d8b1686
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Jul 25 11:44:35 2014 -0400
+
+ Do not require the '=' in hb_feature_from_string()
+
+ Towards accepting CSS font-feature-settings strings.
+
+ src/hb-shape.cc | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+commit f4fe9baefdb7e0ff9946f88b6f4b55738fa30cdf
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Jul 25 11:39:55 2014 -0400
+
+ Reject tags longer than 4 chars in hb_feature_from_string()
+
+ src/hb-shape.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 7e8c38954649c0bf2e6051d84ca08dce090ec169
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Fri Jul 25 11:18:11 2014 -0400
+
+ Minor warnings fixes
+
+ Some systems insist on -Wmissing-field-initializers. We have
+ too many,
+ by design. Fix a few easy ones.
+
+ src/hb-open-type-private.hh | 2 +-
+ src/hb-ot-layout-private.hh | 2 +-
+ src/hb-private.hh | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+commit fc0daafab0336b847ac14682e581a8838f36a0bf
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jul 23 16:48:51 2014 -0400
+
+ [indic] Handle old-spec Malayalam reordering with final Halant
+
+ See comment.
+
+ Micro-tests added.
+
+ src/hb-ot-shape-complex-indic.cc | 28
+ +++++++++++++++++----
+ test/shaping/Makefile.am | 1 +
+ .../270b89df543a7e48e206a2d830c0e10e5265c630.ttf | Bin 0 -> 3428 bytes
+ .../57a9d9f83020155cbb1d2be1f43d82388cbecc88.ttf | Bin 0 -> 2272 bytes
+ test/shaping/fonts/sha1sum/MANIFEST | 2 ++
+ test/shaping/tests/MANIFEST | 1 +
+ test/shaping/tests/indic-old-spec.tests | 2 ++
+ .../indic/script-malayalam/misc/misc.txt | 1 +
+ 8 files changed, 30 insertions(+), 5 deletions(-)
+
+commit d6d349d17898529ecdf8217a54987a3e9f81ce05
+Author: Behdad Esfahbod <behdad@behdad.org>
+Date: Wed Jul 23 11:38:49 2014 -0400
+
+ Give CC to gir-scanner
+
+ From:
+ https://github.com/Alexpux/MINGW-packages/blob/master/mingw-w64-harfbuzz/0001-give-cc-to-gir-scanner.all.patch
+
+ src/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
commit 8c1bdb46facb79cfca5ebfea9a7e467b40337f47
Author: Behdad Esfahbod <behdad@behdad.org>
Date: Tue Jul 22 17:56:43 2014 -0400
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/Makefile.am b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/Makefile.am
index fa8711403d5..fa8711403d5 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/Makefile.am
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/Makefile.am
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/NEWS b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/NEWS
index a8387154df7..d38e021f037 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/NEWS
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/NEWS
@@ -1,3 +1,56 @@
+Overview of changes leading to 0.9.34
+Saturday, August 2, 2014
+=====================================
+
+- hb_feature_from_string() now accepts CSS font-feature-settings format.
+- As a result, hb-shape / hb-view --features also accept CSS-style strings.
+ Eg, "'liga' off" is accepted now.
+- Add old-spec Myanmar shaper:
+ https://bugs.freedesktop.org/show_bug.cgi?id=81775
+- Don't apply 'calt' in Hangul shaper.
+- Fix mark advance zeroing for Hebrew shaper:
+ https://bugs.freedesktop.org/show_bug.cgi?id=76767
+- Implement Windows-1256 custom Arabic shaping. Only built on Windows,
+ and requires help from get_glyph(). Used by Firefox.
+ https://bugzilla.mozilla.org/show_bug.cgi?id=1045139
+- Disable 'liga' in vertical text.
+- Build fixes.
+- API changes:
+
+ * Make HB_BUFFER_FLAG_BOT/EOT easier to use.
+
+ Previously, we expected users to provide BOT/EOT flags when the
+ text *segment* was at paragraph boundaries. This meant that for
+ clients that provide full paragraph to HarfBuzz (eg. Pango), they
+ had code like this:
+
+ hb_buffer_set_flags (hb_buffer,
+ (item_offset == 0 ? HB_BUFFER_FLAG_BOT : 0) |
+ (item_offset + item_length == paragraph_length ?
+ HB_BUFFER_FLAG_EOT : 0));
+
+ hb_buffer_add_utf8 (hb_buffer,
+ paragraph_text, paragraph_length,
+ item_offset, item_length);
+
+ After this change such clients can simply say:
+
+ hb_buffer_set_flags (hb_buffer,
+ HB_BUFFER_FLAG_BOT | HB_BUFFER_FLAG_EOT);
+
+ hb_buffer_add_utf8 (hb_buffer,
+ paragraph_text, paragraph_length,
+ item_offset, item_length);
+
+ Ie, HarfBuzz itself checks whether the segment is at the beginning/end
+ of the paragraph. Clients that only pass item-at-a-time to HarfBuzz
+ continue not setting any flags whatsoever.
+
+ Another way to put it is: if there's pre-context text in the buffer,
+ HarfBuzz ignores the BOT flag. If there's post-context, it ignores
+ EOT flag.
+
+
Overview of changes leading to 0.9.33
Tuesday, July 22, 2014
=====================================
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/README b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/README
index 74e739da52a..74e739da52a 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/README
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/README
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/THANKS b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/THANKS
index 940cfde5c39..940cfde5c39 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/THANKS
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/THANKS
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/TODO b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/TODO
index e1aa39c4c01..e1aa39c4c01 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/TODO
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/TODO
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/autogen.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/autogen.sh
index a267f297b06..a267f297b06 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/autogen.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/autogen.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/config.h.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/config.h.in
index 491e7f428ef..491e7f428ef 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/config.h.in
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/config.h.in
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/configure.ac b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/configure.ac
index 78e31780db5..9d1c8cee81c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/configure.ac
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/configure.ac
@@ -1,6 +1,6 @@
AC_PREREQ([2.64])
AC_INIT([HarfBuzz],
- [0.9.33],
+ [0.9.34],
[http://bugs.freedesktop.org/enter_bug.cgi?product=harfbuzz],
[harfbuzz],
[http://harfbuzz.org/])
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/gtk-doc.make b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/gtk-doc.make
index 104c3993f3e..104c3993f3e 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/gtk-doc.make
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/gtk-doc.make
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/harfbuzz.doap b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/harfbuzz.doap
index d2896ebefa8..d2896ebefa8 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/harfbuzz.doap
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/harfbuzz.doap
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/Makefile.am b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/Makefile.am
index 5832f7579a7..ba07ac5d680 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/Makefile.am
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/Makefile.am
@@ -91,6 +91,7 @@ HBSOURCES += \
hb-ot-shape-complex-arabic.cc \
hb-ot-shape-complex-arabic-fallback.hh \
hb-ot-shape-complex-arabic-table.hh \
+ hb-ot-shape-complex-arabic-win1256.hh \
hb-ot-shape-complex-default.cc \
hb-ot-shape-complex-hangul.cc \
hb-ot-shape-complex-hebrew.cc \
@@ -361,6 +362,7 @@ if HAVE_INTROSPECTION
INTROSPECTION_GIRS = HarfBuzz-$(HB_VERSION_MAJOR).0.gir # What does the 0 mean anyway?!
INTROSPECTION_SCANNER_ARGS = -I$(srcdir) -n hb --identifier-prefix=hb_ --warn-all
INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir)
+INTROSPECTION_SCANNER_ENV = CC="$(CC)"
HarfBuzz-0.0.gir: libharfbuzz.la libharfbuzz-gobject.la
HarfBuzz_0_0_gir_INCLUDES = GObject-2.0
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/check-c-linkage-decls.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-c-linkage-decls.sh
index b10310f5384..b10310f5384 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/check-c-linkage-decls.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-c-linkage-decls.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/check-defs.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-defs.sh
index 357347f543a..357347f543a 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/check-defs.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-defs.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/check-header-guards.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-header-guards.sh
index 9a3302c7f87..9a3302c7f87 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/check-header-guards.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-header-guards.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/check-includes.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-includes.sh
index 5643c6973bc..902f2357e2a 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/check-includes.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-includes.sh
@@ -27,7 +27,7 @@ echo 'Checking that source files #include "hb-*private.hh" first (or none)'
for x in $HBSOURCES; do
test -f "$srcdir/$x" && x="$srcdir/$x"
- grep '#.*\<include\>' "$x" /dev/null | head -n 1
+ grep '#.*\<include\>' "$x" /dev/null | grep -v 'include _' | head -n 1
done |
grep -v '"hb-.*private[.]hh"' |
grep -v 'hb-private[.]hh:' |
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/check-libstdc++.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-libstdc++.sh
index e7e0e295e1a..e7e0e295e1a 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/check-libstdc++.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-libstdc++.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/check-static-inits.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-static-inits.sh
index 83d02c8a9bf..83d02c8a9bf 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/check-static-inits.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-static-inits.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/check-symbols.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-symbols.sh
index e000b01b863..e000b01b863 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/check-symbols.sh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-symbols.sh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/gen-arabic-table.py b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/gen-arabic-table.py
index 308435f991e..308435f991e 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/gen-arabic-table.py
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/gen-arabic-table.py
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/gen-indic-table.py b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/gen-indic-table.py
index 4fb76f445c6..4fb76f445c6 100755
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/gen-indic-table.py
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/gen-indic-table.py
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/harfbuzz-gobject.pc.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/harfbuzz-gobject.pc.in
index 70083601901..70083601901 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/harfbuzz-gobject.pc.in
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/harfbuzz-gobject.pc.in
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/harfbuzz-icu.pc.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/harfbuzz-icu.pc.in
index 949869a3563..949869a3563 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/harfbuzz-icu.pc.in
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/harfbuzz-icu.pc.in
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/harfbuzz.pc.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/harfbuzz.pc.in
index 7f27bbbdef0..7f27bbbdef0 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/harfbuzz.pc.in
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/harfbuzz.pc.in
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-atomic-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-atomic-private.hh
index e6738b7d9f6..e6738b7d9f6 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-atomic-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-atomic-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-blob.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-blob.cc
index b82b4b2a3a3..b82b4b2a3a3 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-blob.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-blob.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-blob.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-blob.h
index b2419abfd2a..b2419abfd2a 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-blob.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-blob.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-buffer-deserialize-json.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-deserialize-json.hh
index dead700db82..dead700db82 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-buffer-deserialize-json.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-deserialize-json.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-buffer-deserialize-json.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-deserialize-json.rl
index 7351b2ab47c..7351b2ab47c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-buffer-deserialize-json.rl
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-deserialize-json.rl
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-buffer-deserialize-text.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-deserialize-text.hh
index a38efe3a415..a38efe3a415 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-buffer-deserialize-text.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-deserialize-text.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-buffer-deserialize-text.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-deserialize-text.rl
index 8856580fbe3..8856580fbe3 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-buffer-deserialize-text.rl
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-deserialize-text.rl
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-buffer-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-private.hh
index 5eccd3c31fc..5eccd3c31fc 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-buffer-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-buffer-serialize.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-serialize.cc
index 406d69db758..406d69db758 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-buffer-serialize.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-serialize.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-buffer.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer.cc
index 2377ba40daf..2377ba40daf 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-buffer.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-buffer.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer.h
index 7b0c9204688..7b0c9204688 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-buffer.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-cache-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-cache-private.hh
index 19b70b7e395..19b70b7e395 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-cache-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-cache-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-common.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-common.cc
index a089e52cd2c..a089e52cd2c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-common.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-common.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-common.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-common.h
index 32a62e55203..f5141b9eed1 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-common.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-common.h
@@ -316,7 +316,7 @@ typedef enum
hb_script_t
hb_script_from_iso15924_tag (hb_tag_t tag);
-/* suger for tag_from_string() then script_from_iso15924_tag */
+/* sugar for tag_from_string() then script_from_iso15924_tag */
/* len=-1 means s is NUL-terminated */
hb_script_t
hb_script_from_string (const char *s, int len);
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-coretext.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-coretext.cc
index d92c6baaf61..d92c6baaf61 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-coretext.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-coretext.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-coretext.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-coretext.h
index 25267bc9784..25267bc9784 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-coretext.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-coretext.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-deprecated.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-deprecated.h
index 30ae4b1caf7..30ae4b1caf7 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-deprecated.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-deprecated.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-face-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-face-private.hh
index 6520d3dbdff..6520d3dbdff 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-face-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-face-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-face.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-face.cc
index 9348af7bf8e..9348af7bf8e 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-face.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-face.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-face.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-face.h
index f682c468de5..f682c468de5 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-face.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-face.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-fallback-shape.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-fallback-shape.cc
index 9d061a9e845..9d061a9e845 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-fallback-shape.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-fallback-shape.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-font-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-font-private.hh
index 33bbf7143a2..33bbf7143a2 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-font-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-font-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-font.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-font.cc
index 4364ca72fb0..4364ca72fb0 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-font.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-font.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-font.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-font.h
index 7273db43eda..7273db43eda 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-font.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-font.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ft.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ft.cc
index 44e0b0bc2a5..44e0b0bc2a5 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ft.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ft.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ft.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ft.h
index 696251e143f..696251e143f 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ft.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ft.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-glib.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-glib.cc
index af43cab7113..af43cab7113 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-glib.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-glib.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-glib.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-glib.h
index 63a9d3366c5..63a9d3366c5 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-glib.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-glib.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-gobject-enums.cc.tmpl b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-gobject-enums.cc.tmpl
index ca458a3846c..ca458a3846c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-gobject-enums.cc.tmpl
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-gobject-enums.cc.tmpl
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-gobject-enums.h.tmpl b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-gobject-enums.h.tmpl
index 6ecda06c2a6..6ecda06c2a6 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-gobject-enums.h.tmpl
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-gobject-enums.h.tmpl
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-gobject-structs.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-gobject-structs.cc
index 2451b66291b..2451b66291b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-gobject-structs.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-gobject-structs.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-gobject-structs.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-gobject-structs.h
index 4a88d569e8d..4a88d569e8d 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-gobject-structs.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-gobject-structs.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-gobject.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-gobject.h
index ea1bd25df82..ea1bd25df82 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-gobject.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-gobject.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-graphite2.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-graphite2.cc
index 709aa94419c..709aa94419c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-graphite2.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-graphite2.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-graphite2.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-graphite2.h
index 3eae54acbd8..3eae54acbd8 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-graphite2.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-graphite2.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-icu.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-icu.cc
index 86c8b5cc5a2..86c8b5cc5a2 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-icu.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-icu.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-icu.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-icu.h
index f2f35f0f2ce..f2f35f0f2ce 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-icu.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-icu.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-mutex-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-mutex-private.hh
index eaa21695082..eaa21695082 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-mutex-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-mutex-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-object-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-object-private.hh
index 8a9ae34dbee..8a9ae34dbee 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-object-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-object-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-open-file-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-open-file-private.hh
index 57db59db84a..57db59db84a 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-open-file-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-open-file-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-open-type-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-open-type-private.hh
index 046df976596..475187bae31 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-open-type-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-open-type-private.hh
@@ -289,7 +289,7 @@ template <typename Type>
struct Sanitizer
{
static hb_blob_t *sanitize (hb_blob_t *blob) {
- hb_sanitize_context_t c[1] = {{0}};
+ hb_sanitize_context_t c[1] = {{0, NULL, NULL, false, 0, NULL}};
bool sane;
/* TODO is_sane() stuff */
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-cmap-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-cmap-table.hh
index d53141157d0..d53141157d0 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-cmap-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-cmap-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-font.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-font.cc
index c9890c59228..c9890c59228 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-font.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-font.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-font.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-font.h
index 7a8c04ac33d..7a8c04ac33d 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-font.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-font.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-head-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-head-table.hh
index ec4e8c9d453..ec4e8c9d453 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-head-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-head-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-hhea-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-hhea-table.hh
index d433200165c..d433200165c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-hhea-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-hhea-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-hmtx-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-hmtx-table.hh
index e918e3b3f40..e918e3b3f40 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-hmtx-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-hmtx-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-layout-common-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-common-private.hh
index abd063c8961..abd063c8961 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-layout-common-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-common-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-layout-gdef-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-gdef-table.hh
index 84a5e797c63..84a5e797c63 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-layout-gdef-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-gdef-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-layout-gpos-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-gpos-table.hh
index d8e3e6e11d5..8e2860c9131 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-layout-gpos-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-gpos-table.hh
@@ -1589,6 +1589,8 @@ GPOS::position_start (hb_font_t *font HB_UNUSED, hb_buffer_t *buffer)
void
GPOS::position_finish (hb_font_t *font HB_UNUSED, hb_buffer_t *buffer)
{
+ _hb_buffer_assert_gsubgpos_vars (buffer);
+
unsigned int len;
hb_glyph_position_t *pos = hb_buffer_get_glyph_positions (buffer, &len);
hb_direction_t direction = buffer->props.direction;
@@ -1600,8 +1602,6 @@ GPOS::position_finish (hb_font_t *font HB_UNUSED, hb_buffer_t *buffer)
/* Handle attachments */
for (unsigned int i = 0; i < len; i++)
fix_mark_attachment (pos, i, direction);
-
- _hb_buffer_deallocate_gsubgpos_vars (buffer);
}
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-layout-gsub-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-gsub-table.hh
index e1939735de6..2b421a94f54 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-layout-gsub-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-gsub-table.hh
@@ -1338,7 +1338,7 @@ struct GSUB : GSUBGPOS
void
GSUB::substitute_start (hb_font_t *font, hb_buffer_t *buffer)
{
- _hb_buffer_allocate_gsubgpos_vars (buffer);
+ _hb_buffer_assert_gsubgpos_vars (buffer);
const GDEF &gdef = *hb_ot_layout_from_face (font->face)->gdef;
unsigned int count = buffer->len;
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-layout-gsubgpos-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-gsubgpos-private.hh
index 546ff4b0fde..546ff4b0fde 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-layout-gsubgpos-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-gsubgpos-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-layout-jstf-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-jstf-table.hh
index 67a6df5b421..67a6df5b421 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-layout-jstf-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-jstf-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-layout-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-private.hh
index 9b063008006..ae7daa6dbc9 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-layout-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-private.hh
@@ -127,7 +127,7 @@ struct hb_ot_layout_lookup_accelerator_t
}
template <typename TLookup>
- inline void fini (const TLookup &lookup)
+ inline void fini (const TLookup &lookup HB_UNUSED)
{
}
@@ -420,6 +420,13 @@ _hb_buffer_deallocate_unicode_vars (hb_buffer_t *buffer)
}
static inline void
+_hb_buffer_assert_unicode_vars (hb_buffer_t *buffer)
+{
+ HB_BUFFER_ASSERT_VAR (buffer, unicode_props0);
+ HB_BUFFER_ASSERT_VAR (buffer, unicode_props1);
+}
+
+static inline void
_hb_buffer_allocate_gsubgpos_vars (hb_buffer_t *buffer)
{
HB_BUFFER_ALLOCATE_VAR (buffer, glyph_props);
@@ -435,6 +442,14 @@ _hb_buffer_deallocate_gsubgpos_vars (hb_buffer_t *buffer)
HB_BUFFER_DEALLOCATE_VAR (buffer, glyph_props);
}
+static inline void
+_hb_buffer_assert_gsubgpos_vars (hb_buffer_t *buffer)
+{
+ HB_BUFFER_ASSERT_VAR (buffer, glyph_props);
+ HB_BUFFER_ASSERT_VAR (buffer, lig_props);
+ HB_BUFFER_ASSERT_VAR (buffer, syllable);
+}
+
/* Make sure no one directly touches our props... */
#undef unicode_props0
#undef unicode_props1
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-layout.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout.cc
index 661d90ea0d6..661d90ea0d6 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-layout.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-layout.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout.h
index 949678ac422..949678ac422 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-layout.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-map-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-map-private.hh
index 86b7e9fafea..86b7e9fafea 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-map-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-map-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-map.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-map.cc
index 4985eb22b20..4985eb22b20 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-map.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-map.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-maxp-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-maxp-table.hh
index b1f832852d3..b1f832852d3 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-maxp-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-maxp-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-name-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-name-table.hh
index 31d9fac7e29..31d9fac7e29 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-name-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-name-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-arabic-fallback.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-arabic-fallback.hh
index 2d8488e1513..e5b7ed489c0 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-arabic-fallback.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-arabic-fallback.hh
@@ -33,6 +33,8 @@
#include "hb-ot-layout-gsub-table.hh"
+/* Features ordered the same as the entries in shaping_table rows,
+ * followed by rlig. Don't change. */
static const hb_tag_t arabic_fallback_features[] =
{
HB_TAG('i','n','i','t'),
@@ -42,16 +44,6 @@ static const hb_tag_t arabic_fallback_features[] =
HB_TAG('r','l','i','g'),
};
-/* Same order as the fallback feature array */
-enum {
- FALLBACK_INIT,
- FALLBACK_MEDI,
- FALLBACK_FINA,
- FALLBACK_ISOL,
- FALLBACK_RLIG,
- ARABIC_NUM_FALLBACK_FEATURES
-};
-
static OT::SubstLookup *
arabic_fallback_synthesize_lookup_single (const hb_ot_shape_plan_t *plan HB_UNUSED,
hb_font_t *font,
@@ -80,6 +72,9 @@ arabic_fallback_synthesize_lookup_single (const hb_ot_shape_plan_t *plan HB_UNUS
num_glyphs++;
}
+ if (!num_glyphs)
+ return NULL;
+
/* Bubble-sort!
* May not be good-enough for presidential candidate interviews, but good-enough for us... */
hb_bubble_sort (&glyphs[0], num_glyphs, OT::GlyphID::cmp, &substitutes[0]);
@@ -157,6 +152,9 @@ arabic_fallback_synthesize_lookup_ligature (const hb_ot_shape_plan_t *plan HB_UN
}
}
+ if (!num_ligatures)
+ return NULL;
+
OT::Supplier<OT::GlyphID> first_glyphs_supplier (first_glyphs, num_first_glyphs);
OT::Supplier<unsigned int > ligature_per_first_glyph_count_supplier (ligature_per_first_glyph_count_list, num_first_glyphs);
OT::Supplier<OT::GlyphID> ligatures_supplier (ligature_list, num_ligatures);
@@ -193,17 +191,108 @@ arabic_fallback_synthesize_lookup (const hb_ot_shape_plan_t *plan,
return arabic_fallback_synthesize_lookup_ligature (plan, font);
}
+#define ARABIC_FALLBACK_MAX_LOOKUPS 5
+
struct arabic_fallback_plan_t
{
ASSERT_POD ();
- hb_mask_t mask_array[ARABIC_NUM_FALLBACK_FEATURES];
- OT::SubstLookup *lookup_array[ARABIC_NUM_FALLBACK_FEATURES];
- hb_ot_layout_lookup_accelerator_t accel_array[ARABIC_NUM_FALLBACK_FEATURES];
+ unsigned int num_lookups;
+ bool free_lookups;
+
+ hb_mask_t mask_array[ARABIC_FALLBACK_MAX_LOOKUPS];
+ OT::SubstLookup *lookup_array[ARABIC_FALLBACK_MAX_LOOKUPS];
+ hb_ot_layout_lookup_accelerator_t accel_array[ARABIC_FALLBACK_MAX_LOOKUPS];
};
static const arabic_fallback_plan_t arabic_fallback_plan_nil = {};
+#if (defined(_WIN32) || defined(__CYGWIN__)) && !defined(HB_WITH_WIN1256)
+#define HB_WITH_WIN1256
+#endif
+
+#ifdef HB_WITH_WIN1256
+#include "hb-ot-shape-complex-arabic-win1256.hh"
+#endif
+
+struct ManifestLookup {
+ OT::Tag tag;
+ OT::OffsetTo<OT::SubstLookup> lookupOffset;
+};
+typedef OT::ArrayOf<ManifestLookup> Manifest;
+
+static bool
+arabic_fallback_plan_init_win1256 (arabic_fallback_plan_t *fallback_plan,
+ const hb_ot_shape_plan_t *plan,
+ hb_font_t *font)
+{
+#ifdef HB_WITH_WIN1256
+ /* Does this font look like it's Windows-1256-encoded? */
+ hb_codepoint_t g;
+ if (!(hb_font_get_glyph (font, 0x0627u, 0, &g) && g == 199 /* ALEF */ &&
+ hb_font_get_glyph (font, 0x0644u, 0, &g) && g == 225 /* LAM */ &&
+ hb_font_get_glyph (font, 0x0649u, 0, &g) && g == 236 /* ALEF MAKSURA */ &&
+ hb_font_get_glyph (font, 0x064Au, 0, &g) && g == 237 /* YEH */ &&
+ hb_font_get_glyph (font, 0x0652u, 0, &g) && g == 250 /* SUKUN */))
+ return false;
+
+ const Manifest &manifest = reinterpret_cast<const Manifest&> (arabic_win1256_gsub_lookups.manifest);
+ ASSERT_STATIC (sizeof (arabic_win1256_gsub_lookups.manifestData) / sizeof (ManifestLookup)
+ <= ARABIC_FALLBACK_MAX_LOOKUPS);
+ /* TODO sanitize the table? */
+
+ unsigned j = 0;
+ unsigned int count = manifest.len;
+ for (unsigned int i = 0; i < count; i++)
+ {
+ fallback_plan->mask_array[j] = plan->map.get_1_mask (manifest[i].tag);
+ if (fallback_plan->mask_array[j])
+ {
+ fallback_plan->lookup_array[j] = const_cast<OT::SubstLookup*> (&(&manifest+manifest[i].lookupOffset));
+ if (fallback_plan->lookup_array[j])
+ {
+ fallback_plan->accel_array[j].init (*fallback_plan->lookup_array[j]);
+ j++;
+ }
+ }
+ }
+
+ fallback_plan->num_lookups = j;
+ fallback_plan->free_lookups = false;
+
+ return j > 0;
+#else
+ return false;
+#endif
+}
+
+static bool
+arabic_fallback_plan_init_unicode (arabic_fallback_plan_t *fallback_plan,
+ const hb_ot_shape_plan_t *plan,
+ hb_font_t *font)
+{
+ ASSERT_STATIC (ARRAY_LENGTH_CONST(arabic_fallback_features) <= ARABIC_FALLBACK_MAX_LOOKUPS);
+ unsigned int j = 0;
+ for (unsigned int i = 0; i < ARRAY_LENGTH(arabic_fallback_features) ; i++)
+ {
+ fallback_plan->mask_array[j] = plan->map.get_1_mask (arabic_fallback_features[i]);
+ if (fallback_plan->mask_array[j])
+ {
+ fallback_plan->lookup_array[j] = arabic_fallback_synthesize_lookup (plan, font, i);
+ if (fallback_plan->lookup_array[j])
+ {
+ fallback_plan->accel_array[j].init (*fallback_plan->lookup_array[j]);
+ j++;
+ }
+ }
+ }
+
+ fallback_plan->num_lookups = j;
+ fallback_plan->free_lookups = true;
+
+ return j > 0;
+}
+
static arabic_fallback_plan_t *
arabic_fallback_plan_create (const hb_ot_shape_plan_t *plan,
hb_font_t *font)
@@ -212,17 +301,21 @@ arabic_fallback_plan_create (const hb_ot_shape_plan_t *plan,
if (unlikely (!fallback_plan))
return const_cast<arabic_fallback_plan_t *> (&arabic_fallback_plan_nil);
- for (unsigned int i = 0; i < ARABIC_NUM_FALLBACK_FEATURES; i++)
- {
- fallback_plan->mask_array[i] = plan->map.get_1_mask (arabic_fallback_features[i]);
- if (fallback_plan->mask_array[i]) {
- fallback_plan->lookup_array[i] = arabic_fallback_synthesize_lookup (plan, font, i);
- if (fallback_plan->lookup_array[i])
- fallback_plan->accel_array[i].init (*fallback_plan->lookup_array[i]);
- }
- }
+ fallback_plan->num_lookups = 0;
+ fallback_plan->free_lookups = false;
+
+ /* Try synthesizing GSUB table using Unicode Arabic Presentation Forms,
+ * in case the font has cmap entries for the presentation-forms characters. */
+ if (arabic_fallback_plan_init_unicode (fallback_plan, plan, font))
+ return fallback_plan;
- return fallback_plan;
+ /* See if this looks like a Windows-1256-encoded font. If it does, use a
+ * hand-coded GSUB table. */
+ if (arabic_fallback_plan_init_win1256 (fallback_plan, plan, font))
+ return fallback_plan;
+
+ free (fallback_plan);
+ return const_cast<arabic_fallback_plan_t *> (&arabic_fallback_plan_nil);
}
static void
@@ -231,11 +324,12 @@ arabic_fallback_plan_destroy (arabic_fallback_plan_t *fallback_plan)
if (!fallback_plan || fallback_plan == &arabic_fallback_plan_nil)
return;
- for (unsigned int i = 0; i < ARABIC_NUM_FALLBACK_FEATURES; i++)
+ for (unsigned int i = 0; i < fallback_plan->num_lookups; i++)
if (fallback_plan->lookup_array[i])
{
fallback_plan->accel_array[i].fini (fallback_plan->lookup_array[i]);
- free (fallback_plan->lookup_array[i]);
+ if (fallback_plan->free_lookups)
+ free (fallback_plan->lookup_array[i]);
}
free (fallback_plan);
@@ -247,7 +341,7 @@ arabic_fallback_plan_shape (arabic_fallback_plan_t *fallback_plan,
hb_buffer_t *buffer)
{
OT::hb_apply_context_t c (0, font, buffer);
- for (unsigned int i = 0; i < ARABIC_NUM_FALLBACK_FEATURES; i++)
+ for (unsigned int i = 0; i < fallback_plan->num_lookups; i++)
if (fallback_plan->lookup_array[i]) {
c.set_lookup_mask (fallback_plan->mask_array[i]);
hb_ot_layout_substitute_lookup (&c,
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-arabic-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-arabic-table.hh
index d41d6ce598e..d41d6ce598e 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-arabic-table.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-arabic-table.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-arabic-win1256.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-arabic-win1256.hh
new file mode 100644
index 00000000000..63ed3f8e0ef
--- /dev/null
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-arabic-win1256.hh
@@ -0,0 +1,321 @@
+/*
+ * Copyright © 2014 Google, Inc.
+ *
+ * This is part of HarfBuzz, a text shaping library.
+ *
+ * Permission is hereby granted, without written agreement and without
+ * license or royalty fees, to use, copy, modify, and distribute this
+ * software and its documentation for any purpose, provided that the
+ * above copyright notice and the following two paragraphs appear in
+ * all copies of this software.
+ *
+ * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
+ * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
+ * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
+ * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+ * DAMAGE.
+ *
+ * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
+ * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
+ * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
+ * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
+ *
+ * Google Author(s): Behdad Esfahbod
+ */
+
+#ifndef HB_OT_SHAPE_COMPLEX_ARABIC_WIN1256_HH
+
+
+/*
+ * The macros in the first part of this file are generic macros that can
+ * be used to define the bytes for OpenType table data in code in a
+ * readable manner. We can move the macros to reside with their respective
+ * struct types, but since we only use these to define one data table, the
+ * Windows-1256 Arabic shaping table in this file, we keep them here.
+ */
+
+
+/* First we measure, then we cut. */
+#ifndef OT_MEASURE
+#define OT_MEASURE
+#define OT_TABLE_START static const struct TABLE_NAME {
+#define OT_TABLE_END }
+#define OT_LABEL_START(Name) unsigned char Name[
+#define OT_LABEL_END ];
+#define OT_BYTE(u8) +1/*byte*/
+#define OT_USHORT(u16) +2/*bytes*/
+#else
+#undef OT_MEASURE
+#define OT_TABLE_START TABLE_NAME = {
+#define OT_TABLE_END };
+#define OT_LABEL_START(Name) {
+#define OT_LABEL_END },
+#define OT_BYTE(u8) (u8),
+#define OT_USHORT(u16) (unsigned char)((u16)>>8), (unsigned char)((u16)&0xFFu),
+#define OT_COUNT(Name, ItemSize) ((unsigned int) sizeof(((struct TABLE_NAME*)0)->Name) \
+ / (unsigned int)(ItemSize) \
+ /* OT_ASSERT it's divisible (and positive). */)
+#define OT_DISTANCE(From,To) ((unsigned int) \
+ ((char*)(&((struct TABLE_NAME*)0)->To) - \
+ (char*)(&((struct TABLE_NAME*)0)->From)) \
+ /* OT_ASSERT it's positive. */)
+#endif
+
+
+#define OT_LABEL(Name) \
+ OT_LABEL_END \
+ OT_LABEL_START(Name)
+
+/* Whenever we receive an argument that is a list, it will expand to
+ * contain commas. That cannot be passed to another macro because the
+ * commas will throw off the preprocessor. The solution is to wrap
+ * the passed-in argument in OT_LIST() before passing to the next macro.
+ * Unfortunately this trick requires vararg macros. */
+#define OT_LIST(...) __VA_ARGS__
+
+
+/*
+ * Basic Types
+ */
+
+#define OT_TAG(a,b,c,d) \
+ OT_BYTE(a) OT_BYTE(b) OT_BYTE(c) OT_BYTE(d)
+
+#define OT_OFFSET(From, To) /* Offset from From to To in bytes */ \
+ OT_USHORT(OT_DISTANCE(From, To))
+
+#define OT_GLYPHID /* GlyphID */ \
+ OT_USHORT
+
+#define OT_UARRAY(Name, Items) \
+ OT_LABEL_START(Name) \
+ OT_USHORT(OT_COUNT(Name##Data, 2)) \
+ OT_LABEL(Name##Data) \
+ Items \
+ OT_LABEL_END
+
+#define OT_UHEADLESSARRAY(Name, Items) \
+ OT_LABEL_START(Name) \
+ OT_USHORT(OT_COUNT(Name##Data, 2) + 1) \
+ OT_LABEL(Name##Data) \
+ Items \
+ OT_LABEL_END
+
+
+/*
+ * Common Types
+ */
+
+#define OT_LOOKUP_FLAG_IGNORE_MARKS 0x08u
+
+#define OT_LOOKUP(Name, LookupType, LookupFlag, SubLookupOffsets) \
+ OT_LABEL_START(Name) \
+ OT_USHORT(LookupType) \
+ OT_USHORT(LookupFlag) \
+ OT_LABEL_END \
+ OT_UARRAY(Name##SubLookupOffsetsArray, OT_LIST(SubLookupOffsets))
+
+#define OT_SUBLOOKUP(Name, SubFormat, Items) \
+ OT_LABEL_START(Name) \
+ OT_USHORT(SubFormat) \
+ Items
+
+#define OT_COVERAGE1(Name, Items) \
+ OT_LABEL_START(Name) \
+ OT_USHORT(1) \
+ OT_LABEL_END \
+ OT_UARRAY(Name##Glyphs, OT_LIST(Items))
+
+
+/*
+ * GSUB
+ */
+
+#define OT_LOOKUP_TYPE_SUBST_SINGLE 1u
+#define OT_LOOKUP_TYPE_SUBST_MULTIPLE 2u
+#define OT_LOOKUP_TYPE_SUBST_LIGATURE 4u
+
+#define OT_SUBLOOKUP_SINGLE_SUBST_FORMAT2(Name, FromGlyphs, ToGlyphs) \
+ OT_SUBLOOKUP(Name, 2, \
+ OT_OFFSET(Name, Name##Coverage) \
+ OT_LABEL_END \
+ OT_UARRAY(Name##Substitute, OT_LIST(ToGlyphs)) \
+ ) \
+ OT_COVERAGE1(Name##Coverage, OT_LIST(FromGlyphs)) \
+ /* ASSERT_STATIC_EXPR len(FromGlyphs) == len(ToGlyphs) */
+
+#define OT_SUBLOOKUP_LIGATURE_SUBST_FORMAT1(Name, FirstGlyphs, LigatureSetOffsets) \
+ OT_SUBLOOKUP(Name, 1, \
+ OT_OFFSET(Name, Name##Coverage) \
+ OT_LABEL_END \
+ OT_UARRAY(Name##LigatureSetOffsetsArray, OT_LIST(LigatureSetOffsets)) \
+ ) \
+ OT_COVERAGE1(Name##Coverage, OT_LIST(FirstGlyphs)) \
+ /* ASSERT_STATIC_EXPR len(FirstGlyphs) == len(LigatureSetOffsets) */
+
+#define OT_LIGATURE_SET(Name, LigatureSetOffsets) \
+ OT_UARRAY(Name, OT_LIST(LigatureSetOffsets))
+
+#define OT_LIGATURE(Name, Components, LigGlyph) \
+ OT_LABEL_START(Name) \
+ LigGlyph \
+ OT_LABEL_END \
+ OT_UHEADLESSARRAY(Name##ComponentsArray, OT_LIST(Components))
+
+/*
+ *
+ * Start of Windows-1256 shaping table.
+ *
+ */
+
+/* Table name. */
+#define TABLE_NAME arabic_win1256_gsub_lookups
+
+/* Table manifest. */
+#define MANIFEST(Items) \
+ OT_LABEL_START(manifest) \
+ OT_USHORT(OT_COUNT(manifestData, 6)) \
+ OT_LABEL(manifestData) \
+ Items \
+ OT_LABEL_END
+
+#define MANIFEST_LOOKUP(Tag, Name) \
+ Tag \
+ OT_OFFSET(manifest, Name)
+
+/* Shorthand. */
+#define G OT_GLYPHID
+
+/*
+ * Table Start
+ */
+OT_TABLE_START
+
+
+/*
+ * Manifest
+ */
+MANIFEST(
+ MANIFEST_LOOKUP(OT_TAG('r','l','i','g'), rligLookup)
+ MANIFEST_LOOKUP(OT_TAG('i','n','i','t'), initLookup)
+ MANIFEST_LOOKUP(OT_TAG('m','e','d','i'), mediLookup)
+ MANIFEST_LOOKUP(OT_TAG('f','i','n','a'), finaLookup)
+ MANIFEST_LOOKUP(OT_TAG('r','l','i','g'), rligMarksLookup)
+)
+
+/*
+ * Lookups
+ */
+OT_LOOKUP(initLookup, OT_LOOKUP_TYPE_SUBST_SINGLE, OT_LOOKUP_FLAG_IGNORE_MARKS,
+ OT_OFFSET(initLookup, initmediSubLookup)
+ OT_OFFSET(initLookup, initSubLookup)
+)
+OT_LOOKUP(mediLookup, OT_LOOKUP_TYPE_SUBST_SINGLE, OT_LOOKUP_FLAG_IGNORE_MARKS,
+ OT_OFFSET(mediLookup, initmediSubLookup)
+ OT_OFFSET(mediLookup, mediSubLookup)
+ OT_OFFSET(mediLookup, medifinaLamAlefSubLookup)
+)
+OT_LOOKUP(finaLookup, OT_LOOKUP_TYPE_SUBST_SINGLE, OT_LOOKUP_FLAG_IGNORE_MARKS,
+ OT_OFFSET(finaLookup, finaSubLookup)
+ /* We don't need this one currently as the sequence inherits masks
+ * from the first item. Just in case we change that in the future
+ * to be smart about Arabic masks when ligating... */
+ OT_OFFSET(finaLookup, medifinaLamAlefSubLookup)
+)
+OT_LOOKUP(rligLookup, OT_LOOKUP_TYPE_SUBST_LIGATURE, OT_LOOKUP_FLAG_IGNORE_MARKS,
+ OT_OFFSET(rligLookup, lamAlefLigaturesSubLookup)
+)
+OT_LOOKUP(rligMarksLookup, OT_LOOKUP_TYPE_SUBST_LIGATURE, 0,
+ OT_OFFSET(rligMarksLookup, shaddaLigaturesSubLookup)
+)
+
+/*
+ * init/medi/fina forms
+ */
+OT_SUBLOOKUP_SINGLE_SUBST_FORMAT2(initmediSubLookup,
+ G(198) G(200) G(201) G(202) G(203) G(204) G(205) G(206) G(211)
+ G(212) G(213) G(214) G(223) G(225) G(227) G(228) G(236) G(237),
+ G(162) G(4) G(5) G(5) G(6) G(7) G(9) G(11) G(13)
+ G(14) G(15) G(26) G(140) G(141) G(142) G(143) G(154) G(154)
+)
+OT_SUBLOOKUP_SINGLE_SUBST_FORMAT2(initSubLookup,
+ G(218) G(219) G(221) G(222) G(229),
+ G(27) G(30) G(128) G(131) G(144)
+)
+OT_SUBLOOKUP_SINGLE_SUBST_FORMAT2(mediSubLookup,
+ G(218) G(219) G(221) G(222) G(229),
+ G(28) G(31) G(129) G(138) G(149)
+)
+OT_SUBLOOKUP_SINGLE_SUBST_FORMAT2(finaSubLookup,
+ G(194) G(195) G(197) G(198) G(199) G(201) G(204) G(205) G(206)
+ G(218) G(219) G(229) G(236) G(237),
+ G(2) G(1) G(3) G(181) G(0) G(159) G(8) G(10) G(12)
+ G(29) G(127) G(152) G(160) G(156)
+)
+OT_SUBLOOKUP_SINGLE_SUBST_FORMAT2(medifinaLamAlefSubLookup,
+ G(165) G(178) G(180) G(252),
+ G(170) G(179) G(185) G(255)
+)
+
+/*
+ * Lam+Alef ligatures
+ */
+OT_SUBLOOKUP_LIGATURE_SUBST_FORMAT1(lamAlefLigaturesSubLookup,
+ G(225),
+ OT_OFFSET(lamAlefLigaturesSubLookup, lamLigatureSet)
+)
+OT_LIGATURE_SET(lamLigatureSet,
+ OT_OFFSET(lamLigatureSet, lamInitLigature1)
+ OT_OFFSET(lamLigatureSet, lamInitLigature2)
+ OT_OFFSET(lamLigatureSet, lamInitLigature3)
+ OT_OFFSET(lamLigatureSet, lamInitLigature4)
+)
+OT_LIGATURE(lamInitLigature1, G(199), G(165))
+OT_LIGATURE(lamInitLigature2, G(195), G(178))
+OT_LIGATURE(lamInitLigature3, G(194), G(180))
+OT_LIGATURE(lamInitLigature4, G(197), G(252))
+
+/*
+ * Shadda ligatures
+ */
+OT_SUBLOOKUP_LIGATURE_SUBST_FORMAT1(shaddaLigaturesSubLookup,
+ G(248),
+ OT_OFFSET(shaddaLigaturesSubLookup, shaddaLigatureSet)
+)
+OT_LIGATURE_SET(shaddaLigatureSet,
+ OT_OFFSET(shaddaLigatureSet, shaddaLigature1)
+ OT_OFFSET(shaddaLigatureSet, shaddaLigature2)
+ OT_OFFSET(shaddaLigatureSet, shaddaLigature3)
+)
+OT_LIGATURE(shaddaLigature1, G(243), G(172))
+OT_LIGATURE(shaddaLigature2, G(245), G(173))
+OT_LIGATURE(shaddaLigature3, G(246), G(175))
+
+/*
+ * Table end
+ */
+OT_TABLE_END
+
+
+/*
+ * Clean up
+ */
+#undef OT_TABLE_START
+#undef OT_TABLE_END
+#undef OT_LABEL_START
+#undef OT_LABEL_END
+#undef OT_BYTE
+#undef OT_USHORT
+#undef OT_DISTANCE
+#undef OT_COUNT
+
+/*
+ * Include a second time to get the table data...
+ */
+#ifdef OT_MEASURE
+#include __FILE__
+#endif
+
+#define HB_OT_SHAPE_COMPLEX_ARABIC_WIN1256_HH
+#endif /* HB_OT_SHAPE_COMPLEX_ARABIC_WIN1256_HH */
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-arabic.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-arabic.cc
index 9870ba3da05..6cf1a7f5907 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-arabic.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-arabic.cc
@@ -248,18 +248,17 @@ arabic_joining (hb_buffer_t *buffer)
unsigned int prev = (unsigned int) -1, state = 0;
/* Check pre-context */
- if (!(buffer->flags & HB_BUFFER_FLAG_BOT))
- for (unsigned int i = 0; i < buffer->context_len[0]; i++)
- {
- unsigned int this_type = get_joining_type (buffer->context[0][i], buffer->unicode->general_category (buffer->context[0][i]));
+ for (unsigned int i = 0; i < buffer->context_len[0]; i++)
+ {
+ unsigned int this_type = get_joining_type (buffer->context[0][i], buffer->unicode->general_category (buffer->context[0][i]));
- if (unlikely (this_type == JOINING_TYPE_T))
- continue;
+ if (unlikely (this_type == JOINING_TYPE_T))
+ continue;
- const arabic_state_table_entry *entry = &arabic_state_table[state][this_type];
- state = entry->next_state;
- break;
- }
+ const arabic_state_table_entry *entry = &arabic_state_table[state][this_type];
+ state = entry->next_state;
+ break;
+ }
for (unsigned int i = 0; i < count; i++)
{
@@ -281,19 +280,18 @@ arabic_joining (hb_buffer_t *buffer)
state = entry->next_state;
}
- if (!(buffer->flags & HB_BUFFER_FLAG_EOT))
- for (unsigned int i = 0; i < buffer->context_len[1]; i++)
- {
- unsigned int this_type = get_joining_type (buffer->context[1][i], buffer->unicode->general_category (buffer->context[1][i]));
+ for (unsigned int i = 0; i < buffer->context_len[1]; i++)
+ {
+ unsigned int this_type = get_joining_type (buffer->context[1][i], buffer->unicode->general_category (buffer->context[1][i]));
- if (unlikely (this_type == JOINING_TYPE_T))
- continue;
+ if (unlikely (this_type == JOINING_TYPE_T))
+ continue;
- const arabic_state_table_entry *entry = &arabic_state_table[state][this_type];
- if (entry->prev_action != NONE && prev != (unsigned int) -1)
- info[prev].arabic_shaping_action() = entry->prev_action;
- break;
- }
+ const arabic_state_table_entry *entry = &arabic_state_table[state][this_type];
+ if (entry->prev_action != NONE && prev != (unsigned int) -1)
+ info[prev].arabic_shaping_action() = entry->prev_action;
+ break;
+ }
}
static void
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-default.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-default.cc
index f7f097eedaa..f7f097eedaa 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-default.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-default.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-hangul.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-hangul.cc
index 54c12ebca28..6ac18b08bff 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-hangul.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-hangul.cc
@@ -59,6 +59,15 @@ collect_features_hangul (hb_ot_shape_planner_t *plan)
map->add_feature (hangul_features[i], 1, F_NONE);
}
+static void
+override_features_hangul (hb_ot_shape_planner_t *plan)
+{
+ /* Uniscribe does not apply 'calt' for Hangul, and certain fonts
+ * (Noto Sans CJK, Source Sans Han, etc) apply all of jamo lookups
+ * in calt, which is not desirable. */
+ plan->map.add_feature (HB_TAG('c','a','l','t'), 0, F_GLOBAL);
+}
+
struct hangul_shape_plan_t
{
ASSERT_POD ();
@@ -404,7 +413,7 @@ const hb_ot_complex_shaper_t _hb_ot_complex_shaper_hangul =
{
"hangul",
collect_features_hangul,
- NULL, /* override_features */
+ override_features_hangul,
data_create_hangul, /* data_create */
data_destroy_hangul, /* data_destroy */
preprocess_text_hangul,
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-hebrew.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-hebrew.cc
index 2381a6e732c..c7b7a5eba6a 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-hebrew.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-hebrew.cc
@@ -167,6 +167,6 @@ const hb_ot_complex_shaper_t _hb_ot_complex_shaper_hebrew =
NULL, /* decompose */
compose_hebrew,
NULL, /* setup_masks */
- HB_OT_SHAPE_ZERO_WIDTH_MARKS_DEFAULT,
+ HB_OT_SHAPE_ZERO_WIDTH_MARKS_BY_GDEF_LATE,
true, /* fallback_position */
};
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-indic-machine.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-indic-machine.hh
index 5fbdcc8366e..5fbdcc8366e 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-indic-machine.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-indic-machine.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-indic-machine.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-indic-machine.rl
index f6768a581f2..f6768a581f2 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-indic-machine.rl
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-indic-machine.rl
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-indic-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-indic-private.hh
index d8dfc6507d9..d8dfc6507d9 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-indic-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-indic-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-indic-table.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-indic-table.cc
index f58380e0c8a..f58380e0c8a 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-indic-table.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-indic-table.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-indic.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-indic.cc
index 33215a304f0..7723600410a 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-indic.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-indic.cc
@@ -921,14 +921,32 @@ initial_reordering_consonant_syllable (const hb_ot_shape_plan_t *plan,
info[start].indic_position() = POS_RA_TO_BECOME_REPH;
/* For old-style Indic script tags, move the first post-base Halant after
- * last consonant. Only do this if there is *not* a Halant after last
- * consonant. Otherwise it becomes messy. */
- if (indic_plan->is_old_spec) {
+ * last consonant.
+ *
+ * Reports suggest that in some scripts Uniscribe does this only if there
+ * is *not* a Halant after last consonant already (eg. Kannada), while it
+ * does it unconditionally in other scripts (eg. Malayalam). We don't
+ * currently know about other scripts, so we single out Malayalam for now.
+ *
+ * Kannada test case:
+ * U+0C9A,U+0CCD,U+0C9A,U+0CCD
+ * With some versions of Lohit Kannada.
+ * https://bugs.freedesktop.org/show_bug.cgi?id=59118
+ *
+ * Malayalam test case:
+ * U+0D38,U+0D4D,U+0D31,U+0D4D,U+0D31,U+0D4D
+ * With lohit-ttf-20121122/Lohit-Malayalam.ttf
+ */
+ if (indic_plan->is_old_spec)
+ {
+ bool disallow_double_halants = buffer->props.script != HB_SCRIPT_MALAYALAM;
for (unsigned int i = base + 1; i < end; i++)
- if (info[i].indic_category() == OT_H) {
+ if (info[i].indic_category() == OT_H)
+ {
unsigned int j;
for (j = end - 1; j > i; j--)
- if (is_consonant (info[j]) || info[j].indic_category() == OT_H)
+ if (is_consonant (info[j]) ||
+ (disallow_double_halants && info[j].indic_category() == OT_H))
break;
if (info[j].indic_category() != OT_H && j > i) {
/* Move Halant to after last consonant. */
@@ -1267,6 +1285,7 @@ insert_dotted_circles (const hb_ot_shape_plan_t *plan HB_UNUSED,
info.cluster = buffer->cur().cluster;
info.mask = buffer->cur().mask;
info.syllable() = buffer->cur().syllable();
+ /* TODO Set glyph_props? */
/* Insert dottedcircle after possible Repha. */
while (buffer->idx < buffer->len &&
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-myanmar-machine.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-myanmar-machine.hh
index bb80d7a705d..bb80d7a705d 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-myanmar-machine.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-myanmar-machine.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-myanmar-machine.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-myanmar-machine.rl
index 9649a916f02..9649a916f02 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-myanmar-machine.rl
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-myanmar-machine.rl
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-myanmar.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-myanmar.cc
index 258ccc470c3..d016380cc63 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-myanmar.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-myanmar.cc
@@ -536,6 +536,24 @@ final_reordering (const hb_ot_shape_plan_t *plan,
}
+/* Uniscribe seems to have a shaper for 'mymr' that is like the
+ * generic shaper, except that it zeros mark advances GDEF_LATE. */
+const hb_ot_complex_shaper_t _hb_ot_complex_shaper_myanmar_old =
+{
+ "default",
+ NULL, /* collect_features */
+ NULL, /* override_features */
+ NULL, /* data_create */
+ NULL, /* data_destroy */
+ NULL, /* preprocess_text */
+ HB_OT_SHAPE_NORMALIZATION_MODE_DEFAULT,
+ NULL, /* decompose */
+ NULL, /* compose */
+ NULL, /* setup_masks */
+ HB_OT_SHAPE_ZERO_WIDTH_MARKS_BY_GDEF_LATE,
+ true, /* fallback_position */
+};
+
const hb_ot_complex_shaper_t _hb_ot_complex_shaper_myanmar =
{
"myanmar",
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-private.hh
index 3e581afa9cc..9a7afcbd7b1 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-private.hh
@@ -56,6 +56,7 @@ enum hb_ot_shape_zero_width_marks_type_t {
HB_COMPLEX_SHAPER_IMPLEMENT (arabic) \
HB_COMPLEX_SHAPER_IMPLEMENT (hangul) \
HB_COMPLEX_SHAPER_IMPLEMENT (hebrew) \
+ HB_COMPLEX_SHAPER_IMPLEMENT (myanmar_old) \
HB_COMPLEX_SHAPER_IMPLEMENT (indic) \
HB_COMPLEX_SHAPER_IMPLEMENT (myanmar) \
HB_COMPLEX_SHAPER_IMPLEMENT (sea) \
@@ -329,10 +330,10 @@ hb_ot_shape_complex_categorize (const hb_ot_shape_planner_t *planner)
return &_hb_ot_complex_shaper_default;
case HB_SCRIPT_MYANMAR:
- /* For Myanmar, we only want to use the Myanmar shaper if the "new" script
- * tag is found. For "old" script tag we want to use the default shaper. */
if (planner->map.chosen_script[0] == HB_TAG ('m','y','m','2'))
return &_hb_ot_complex_shaper_myanmar;
+ else if (planner->map.chosen_script[0] == HB_TAG ('m','y','m','r'))
+ return &_hb_ot_complex_shaper_myanmar_old;
else
return &_hb_ot_complex_shaper_default;
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-sea-machine.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-sea-machine.hh
index 86b7ae7d5ca..86b7ae7d5ca 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-sea-machine.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-sea-machine.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-sea-machine.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-sea-machine.rl
index 46140fc4d5f..46140fc4d5f 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-sea-machine.rl
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-sea-machine.rl
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-sea.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-sea.cc
index f08b7ccb9f4..f08b7ccb9f4 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-sea.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-sea.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-thai.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-thai.cc
index feb7fc7a148..feb7fc7a148 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-thai.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-thai.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-tibetan.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-tibetan.cc
index 01465a426f8..01465a426f8 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-complex-tibetan.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-tibetan.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-fallback-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-fallback-private.hh
index ec653513f1b..ec653513f1b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-fallback-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-fallback-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-fallback.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-fallback.cc
index a774f951852..80d7da82f38 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-fallback.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-fallback.cc
@@ -415,6 +415,8 @@ _hb_ot_shape_fallback_position (const hb_ot_shape_plan_t *plan,
hb_font_t *font,
hb_buffer_t *buffer)
{
+ _hb_buffer_assert_gsubgpos_vars (buffer);
+
unsigned int start = 0;
unsigned int last_cluster = buffer->info[0].cluster;
unsigned int count = buffer->len;
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-normalize-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-normalize-private.hh
index c744e26451d..c744e26451d 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-normalize-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-normalize-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-normalize.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-normalize.cc
index 2a6a4390030..4287253aed1 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-normalize.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-normalize.cc
@@ -289,6 +289,8 @@ _hb_ot_shape_normalize (const hb_ot_shape_plan_t *plan,
hb_buffer_t *buffer,
hb_font_t *font)
{
+ _hb_buffer_assert_unicode_vars (buffer);
+
hb_ot_shape_normalization_mode_t mode = plan->shaper->normalization_preference;
const hb_ot_shape_normalize_context_t c = {
plan,
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-private.hh
index 54ac2c3cf7c..54ac2c3cf7c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape.cc
index 1f99014c629..a0b503ab0f2 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape.cc
@@ -43,7 +43,6 @@
static hb_tag_t common_features[] = {
HB_TAG('c','c','m','p'),
- HB_TAG('l','i','g','a'),
HB_TAG('l','o','c','l'),
HB_TAG('m','a','r','k'),
HB_TAG('m','k','m','k'),
@@ -56,6 +55,7 @@ static hb_tag_t horizontal_features[] = {
HB_TAG('c','l','i','g'),
HB_TAG('c','u','r','s'),
HB_TAG('k','e','r','n'),
+ HB_TAG('l','i','g','a'),
HB_TAG('r','c','l','t'),
};
@@ -236,6 +236,7 @@ static void
hb_insert_dotted_circle (hb_buffer_t *buffer, hb_font_t *font)
{
if (!(buffer->flags & HB_BUFFER_FLAG_BOT) ||
+ buffer->context_len[0] ||
_hb_glyph_info_get_general_category (&buffer->info[0]) !=
HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK)
return;
@@ -243,7 +244,7 @@ hb_insert_dotted_circle (hb_buffer_t *buffer, hb_font_t *font)
if (!font->has_glyph (0x25CCu))
return;
- hb_glyph_info_t dottedcircle;
+ hb_glyph_info_t dottedcircle = {0};
dottedcircle.codepoint = 0x25CCu;
_hb_glyph_info_set_unicode_props (&dottedcircle, buffer->unicode);
@@ -447,6 +448,7 @@ hb_ot_substitute_complex (hb_ot_shape_context_t *c)
{
hb_buffer_t *buffer = c->buffer;
+ _hb_buffer_allocate_gsubgpos_vars (buffer);
hb_ot_layout_substitute_start (c->font, buffer);
if (!hb_ot_layout_has_glyph_classes (c->face))
@@ -635,6 +637,8 @@ hb_ot_position (hb_ot_shape_context_t *c)
if (fallback)
_hb_ot_shape_fallback_kern (c->plan, c->font, c->buffer);
+
+ _hb_buffer_deallocate_gsubgpos_vars (c->buffer);
}
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape.h
index 1402f54acc5..1402f54acc5 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-shape.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-tag.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-tag.cc
index 878dd79b62c..878dd79b62c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-tag.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-tag.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-tag.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-tag.h
index 1bf12ab3c09..1bf12ab3c09 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot-tag.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-tag.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot.h
index 47c92a58e4b..47c92a58e4b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ot.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-private.hh
index b24c9d1e32c..5a4ca69915e 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-private.hh
@@ -284,7 +284,7 @@ typedef int (*hb_compare_func_t) (const void *, const void *);
/* arrays and maps */
-#define HB_PREALLOCED_ARRAY_INIT {0}
+#define HB_PREALLOCED_ARRAY_INIT {0, 0, NULL}
template <typename Type, unsigned int StaticSize=16>
struct hb_prealloced_array_t
{
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-set-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-set-private.hh
index 705f554ce69..705f554ce69 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-set-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-set-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-set.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-set.cc
index 59a0af46ed4..59a0af46ed4 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-set.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-set.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-set.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-set.h
index bafdae96333..bafdae96333 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-set.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-set.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-shape-plan-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shape-plan-private.hh
index 607da5e7791..607da5e7791 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-shape-plan-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shape-plan-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-shape-plan.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shape-plan.cc
index 5ffc6b1362e..5ffc6b1362e 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-shape-plan.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shape-plan.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-shape-plan.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shape-plan.h
index 8f54552f90b..8f54552f90b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-shape-plan.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shape-plan.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-shape.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shape.cc
index c1b752405e1..812cf5919be 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-shape.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shape.cc
@@ -34,15 +34,15 @@
#include "hb-font-private.hh"
-static void
+static bool
parse_space (const char **pp, const char *end)
{
- char c;
- while (*pp < end && (c = **pp, ISSPACE (c)))
+ while (*pp < end && ISSPACE (**pp))
(*pp)++;
+ return true;
}
-static hb_bool_t
+static bool
parse_char (const char **pp, const char *end, char c)
{
parse_space (pp, end);
@@ -54,7 +54,7 @@ parse_char (const char **pp, const char *end, char c)
return true;
}
-static hb_bool_t
+static bool
parse_uint (const char **pp, const char *end, unsigned int *pv)
{
char buf[32];
@@ -78,7 +78,27 @@ parse_uint (const char **pp, const char *end, unsigned int *pv)
return true;
}
-static hb_bool_t
+static bool
+parse_bool (const char **pp, const char *end, unsigned int *pv)
+{
+ parse_space (pp, end);
+
+ const char *p = *pp;
+ while (*pp < end && ISALPHA(**pp))
+ (*pp)++;
+
+ /* CSS allows on/off as aliases 1/0. */
+ if (*pp - p == 2 || 0 == strncmp (p, "on", 2))
+ *pv = 1;
+ else if (*pp - p == 3 || 0 == strncmp (p, "off", 2))
+ *pv = 0;
+ else
+ return false;
+
+ return true;
+}
+
+static bool
parse_feature_value_prefix (const char **pp, const char *end, hb_feature_t *feature)
{
if (parse_char (pp, end, '-'))
@@ -91,32 +111,48 @@ parse_feature_value_prefix (const char **pp, const char *end, hb_feature_t *feat
return true;
}
-static hb_bool_t
+static bool
parse_feature_tag (const char **pp, const char *end, hb_feature_t *feature)
{
- const char *p = *pp;
- char c;
-
parse_space (pp, end);
-#define ISALNUM(c) (('a' <= (c) && (c) <= 'z') || ('A' <= (c) && (c) <= 'Z') || ('0' <= (c) && (c) <= '9'))
- while (*pp < end && (c = **pp, ISALNUM(c)))
+ char quote = 0;
+
+ if (*pp < end && (**pp == '\'' || **pp == '"'))
+ {
+ quote = **pp;
+ (*pp)++;
+ }
+
+ const char *p = *pp;
+ while (*pp < end && ISALNUM(**pp))
(*pp)++;
-#undef ISALNUM
- if (p == *pp)
+ if (p == *pp || *pp - p > 4)
return false;
feature->tag = hb_tag_from_string (p, *pp - p);
+
+ if (quote)
+ {
+ /* CSS expects exactly four bytes. And we only allow quotations for
+ * CSS compatibility. So, enforce the length. */
+ if (*pp - p != 4)
+ return false;
+ if (*pp == end || **pp != quote)
+ return false;
+ (*pp)++;
+ }
+
return true;
}
-static hb_bool_t
+static bool
parse_feature_indices (const char **pp, const char *end, hb_feature_t *feature)
{
parse_space (pp, end);
- hb_bool_t has_start;
+ bool has_start;
feature->start = 0;
feature->end = (unsigned int) -1;
@@ -136,20 +172,27 @@ parse_feature_indices (const char **pp, const char *end, hb_feature_t *feature)
return parse_char (pp, end, ']');
}
-static hb_bool_t
+static bool
parse_feature_value_postfix (const char **pp, const char *end, hb_feature_t *feature)
{
- return !parse_char (pp, end, '=') || parse_uint (pp, end, &feature->value);
+ bool had_equal = parse_char (pp, end, '=');
+ bool had_value = parse_uint (pp, end, &feature->value) ||
+ parse_bool (pp, end, &feature->value);
+ /* CSS doesn't use equal-sign between tag and value.
+ * If there was an equal-sign, then there *must* be a value.
+ * A value without an eqaul-sign is ok, but not required. */
+ return !had_equal || had_value;
}
-static hb_bool_t
+static bool
parse_one_feature (const char **pp, const char *end, hb_feature_t *feature)
{
return parse_feature_value_prefix (pp, end, feature) &&
parse_feature_tag (pp, end, feature) &&
parse_feature_indices (pp, end, feature) &&
parse_feature_value_postfix (pp, end, feature) &&
+ parse_space (pp, end) &&
*pp == end;
}
@@ -157,7 +200,7 @@ parse_one_feature (const char **pp, const char *end, hb_feature_t *feature)
* hb_feature_from_string:
* @str: (array length=len):
* @len:
- * @feature: (out):
+ * @feature: (out) (allow-none):
*
*
*
@@ -169,10 +212,21 @@ hb_bool_t
hb_feature_from_string (const char *str, int len,
hb_feature_t *feature)
{
+ hb_feature_t feat;
+
if (len < 0)
len = strlen (str);
- return parse_one_feature (&str, str + len, feature);
+ if (likely (parse_one_feature (&str, str + len, &feat)))
+ {
+ if (feature)
+ *feature = feat;
+ return true;
+ }
+
+ if (feature)
+ memset (feature, 0, sizeof (*feature));
+ return false;
}
/**
@@ -203,18 +257,18 @@ hb_feature_to_string (hb_feature_t *feature,
{
s[len++] = '[';
if (feature->start)
- len += MAX (0, snprintf (s + len, ARRAY_LENGTH (s) - len, "%d", feature->start));
+ len += MAX (0, snprintf (s + len, ARRAY_LENGTH (s) - len, "%u", feature->start));
if (feature->end != feature->start + 1) {
s[len++] = ':';
if (feature->end != (unsigned int) -1)
- len += MAX (0, snprintf (s + len, ARRAY_LENGTH (s) - len, "%d", feature->end));
+ len += MAX (0, snprintf (s + len, ARRAY_LENGTH (s) - len, "%u", feature->end));
}
s[len++] = ']';
}
if (feature->value > 1)
{
s[len++] = '=';
- len += MAX (0, snprintf (s + len, ARRAY_LENGTH (s) - len, "%d", feature->value));
+ len += MAX (0, snprintf (s + len, ARRAY_LENGTH (s) - len, "%u", feature->value));
}
assert (len < ARRAY_LENGTH (s));
len = MIN (len, size - 1);
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-shape.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shape.h
index 10a35cb517e..10a35cb517e 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-shape.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shape.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-shaper-impl-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shaper-impl-private.hh
index 7844081e95b..7844081e95b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-shaper-impl-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shaper-impl-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-shaper-list.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shaper-list.hh
index 6c537d49215..6c537d49215 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-shaper-list.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shaper-list.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-shaper-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shaper-private.hh
index 29c4493943d..29c4493943d 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-shaper-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shaper-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-shaper.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shaper.cc
index 44f718aa702..44f718aa702 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-shaper.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shaper.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ucdn.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ucdn.cc
index 5b53821f923..5b53821f923 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-ucdn.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ucdn.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-unicode-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-unicode-private.hh
index a2c59da274a..a2c59da274a 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-unicode-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-unicode-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-unicode.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-unicode.cc
index d59dfb24572..d59dfb24572 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-unicode.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-unicode.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-unicode.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-unicode.h
index 1c4e097b92d..1c4e097b92d 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-unicode.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-unicode.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-uniscribe.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-uniscribe.cc
index 1594948d60f..6bf87a5f45b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-uniscribe.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-uniscribe.cc
@@ -310,6 +310,7 @@ _hb_generate_unique_face_name (wchar_t *face_name, unsigned int *plen)
const char *enc = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-";
UUID id;
UuidCreate ((UUID*) &id);
+ ASSERT_STATIC (2 + 3 * (16/2) < LF_FACESIZE);
unsigned int name_str_len = 0;
face_name[name_str_len++] = 'F';
face_name[name_str_len++] = '_';
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-uniscribe.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-uniscribe.h
index 001ab38ea87..001ab38ea87 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-uniscribe.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-uniscribe.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-utf-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-utf-private.hh
index 0b798a05c30..0b798a05c30 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-utf-private.hh
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-utf-private.hh
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-version.h.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-version.h.in
index 2517160d18b..2517160d18b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-version.h.in
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-version.h.in
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-warning.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-warning.cc
index e0f88e2d4ad..e0f88e2d4ad 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb-warning.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-warning.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb.h
index c5a938a3818..c5a938a3818 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/hb.h
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb.h
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/main.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/main.cc
index f9708cc948e..f9708cc948e 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/main.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/main.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/test-buffer-serialize.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/test-buffer-serialize.cc
index 18c46e9524b..18c46e9524b 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/test-buffer-serialize.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/test-buffer-serialize.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/test-size-params.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/test-size-params.cc
index 35d9e3c8e25..35d9e3c8e25 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/test-size-params.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/test-size-params.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/test-would-substitute.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/test-would-substitute.cc
index 8ea87cdf397..8ea87cdf397 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/test-would-substitute.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/test-would-substitute.cc
diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/test.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/test.cc
index a8fe046f34c..a8fe046f34c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-0.9.33/src/test.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/test.cc
diff --git a/Build/source/libs/harfbuzz/version.ac b/Build/source/libs/harfbuzz/version.ac
index 5e14174b7ba..8e94cbcd496 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.33])
+m4_define([harfbuzz_version], [0.9.34])