diff options
author | Peter Breitenlohner <peb@mppmu.mpg.de> | 2014-08-14 06:32:54 +0000 |
---|---|---|
committer | Peter Breitenlohner <peb@mppmu.mpg.de> | 2014-08-14 06:32:54 +0000 |
commit | 49ae64711459f3102127663d319523bb1782835e (patch) | |
tree | ecae1a28cf5df3a9294eee6249c75fdc51483fce /Build/source | |
parent | 7b4d9b0a16a8b3c372247e1c2107e8942c192e55 (diff) |
harfbuzz 0.9.35
git-svn-id: svn://tug.org/texlive/trunk@34929 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source')
-rw-r--r-- | Build/source/libs/README | 2 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/ChangeLog | 7 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/Makefile.in | 4 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/configure | 32 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35-PATCHES/ChangeLog (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34-PATCHES/ChangeLog) | 5 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35-PATCHES/TL-Changes (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34-PATCHES/TL-Changes) | 2 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/AUTHORS (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/AUTHORS) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/Android.mk (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/Android.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/ChangeLog (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/ChangeLog) | 495 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/Makefile.am (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/Makefile.am) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/NEWS (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/NEWS) | 29 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/README (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/README) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/THANKS (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/THANKS) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/TODO (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/TODO) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.35/autogen.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/autogen.sh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/config.h.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/config.h.in) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/configure.ac (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/configure.ac) | 2 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/gtk-doc.make (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/gtk-doc.make) | 33 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/harfbuzz.doap (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/harfbuzz.doap) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/Makefile.am (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/Makefile.am) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/check-c-linkage-decls.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-c-linkage-decls.sh) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/check-defs.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-defs.sh) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/check-header-guards.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-header-guards.sh) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/check-includes.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-includes.sh) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/check-libstdc++.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-libstdc++.sh) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/check-static-inits.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-static-inits.sh) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/check-symbols.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-symbols.sh) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/gen-arabic-table.py (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/gen-arabic-table.py) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/gen-indic-table.py (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/gen-indic-table.py) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/harfbuzz-gobject.pc.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/harfbuzz-gobject.pc.in) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/harfbuzz-icu.pc.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/harfbuzz-icu.pc.in) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/harfbuzz.pc.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/harfbuzz.pc.in) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-atomic-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-atomic-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-blob.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-blob.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-blob.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-blob.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-buffer-deserialize-json.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-deserialize-json.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-buffer-deserialize-json.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-deserialize-json.rl) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-buffer-deserialize-text.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-deserialize-text.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-buffer-deserialize-text.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-deserialize-text.rl) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-buffer-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-private.hh) | 7 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-buffer-serialize.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-serialize.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-buffer.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer.cc) | 4 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-buffer.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-cache-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-cache-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-common.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-common.cc) | 4 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-common.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-common.h) | 5 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-coretext.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-coretext.cc) | 652 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-coretext.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-coretext.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-deprecated.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-deprecated.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-face-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-face-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-face.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-face.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-face.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-face.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-fallback-shape.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-fallback-shape.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-font-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-font-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-font.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-font.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-font.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-font.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ft.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ft.cc) | 2 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ft.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ft.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-glib.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-glib.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-glib.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-glib.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-gobject-enums.cc.tmpl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-gobject-enums.cc.tmpl) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-gobject-enums.h.tmpl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-gobject-enums.h.tmpl) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-gobject-structs.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-gobject-structs.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-gobject-structs.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-gobject-structs.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-gobject.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-gobject.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-graphite2.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-graphite2.cc) | 4 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-graphite2.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-graphite2.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-icu.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-icu.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-icu.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-icu.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-mutex-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-mutex-private.hh) | 2 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-object-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-object-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-open-file-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-open-file-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-open-type-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-open-type-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-cmap-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-cmap-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-font.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-font.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-font.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-font.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-head-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-head-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-hhea-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-hhea-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-hmtx-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-hmtx-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-layout-common-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-common-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-layout-gdef-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-gdef-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-layout-gpos-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-gpos-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-layout-gsub-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-gsub-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-layout-gsubgpos-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-gsubgpos-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-layout-jstf-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-jstf-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-layout-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-layout.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-layout.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-map-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-map-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-map.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-map.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-maxp-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-maxp-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-name-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-name-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-arabic-fallback.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-arabic-fallback.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-arabic-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-arabic-table.hh) | 2 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-arabic-win1256.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-arabic-win1256.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-arabic.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-arabic.cc) | 4 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-default.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-default.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-hangul.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-hangul.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-hebrew.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-hebrew.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-indic-machine.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-indic-machine.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-indic-machine.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-indic-machine.rl) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-indic-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-indic-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-indic-table.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-indic-table.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-indic.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-indic.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-myanmar-machine.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-myanmar-machine.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-myanmar-machine.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-myanmar-machine.rl) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-myanmar.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-myanmar.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-sea-machine.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-sea-machine.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-sea-machine.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-sea-machine.rl) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-sea.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-sea.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-thai.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-thai.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-tibetan.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-tibetan.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-fallback-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-fallback-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-fallback.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-fallback.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-normalize-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-normalize-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-normalize.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-normalize.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-tag.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-tag.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-tag.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-tag.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-private.hh) | 48 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-set-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-set-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-set.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-set.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-set.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-set.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-shape-plan-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shape-plan-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-shape-plan.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shape-plan.cc) | 53 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-shape-plan.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shape-plan.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-shape.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shape.cc) | 2 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-shape.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shape.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-shaper-impl-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shaper-impl-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-shaper-list.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shaper-list.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-shaper-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shaper-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-shaper.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shaper.cc) | 2 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ucdn.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ucdn.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-unicode-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-unicode-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-unicode.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-unicode.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-unicode.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-unicode.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-uniscribe.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-uniscribe.cc) | 8 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-uniscribe.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-uniscribe.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-utf-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-utf-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-version.h.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-version.h.in) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-warning.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-warning.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/main.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/main.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/test-buffer-serialize.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/test-buffer-serialize.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/test-size-params.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/test-size-params.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/test-would-substitute.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/test-would-substitute.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/test.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/test.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/version.ac | 2 |
152 files changed, 1123 insertions, 289 deletions
diff --git a/Build/source/libs/README b/Build/source/libs/README index 6ee43d27487..5ba13ac319c 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.34 - checked 3aug14 +harfbuzz 0.9.35 - checked 14aug14 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 7ba76e7d8d4..24fccb39cac 100644 --- a/Build/source/libs/harfbuzz/ChangeLog +++ b/Build/source/libs/harfbuzz/ChangeLog @@ -1,4 +1,9 @@ -2014-08-033 Peter Breitenlohner <peb@mppmu.mpg.de> +2014-08-14 Peter Breitenlohner <peb@mppmu.mpg.de> + + Import harfbuzz-0.9.35. + * version.ac: Adjust. + +2014-08-03 Peter Breitenlohner <peb@mppmu.mpg.de> Import harfbuzz-0.9.34. * version.ac: Adjust. diff --git a/Build/source/libs/harfbuzz/Makefile.in b/Build/source/libs/harfbuzz/Makefile.in index 90513435f2a..5af5801c034 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.34/src/hb-version.h.in \ + $(top_srcdir)/harfbuzz-0.9.35/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.34/src/hb-version.h.in +hb-version.h: $(top_builddir)/config.status $(top_srcdir)/harfbuzz-0.9.35/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 5008f2c542b..d756fc234dc 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.34. +# Generated by GNU Autoconf 2.69 for harfbuzz (TeX Live) 0.9.35. # # 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.34' -PACKAGE_STRING='harfbuzz (TeX Live) 0.9.34' +PACKAGE_VERSION='0.9.35' +PACKAGE_STRING='harfbuzz (TeX Live) 0.9.35' PACKAGE_BUGREPORT='tex-k@tug.org' PACKAGE_URL='' -ac_unique_file="harfbuzz-0.9.34/src/harfbuzz.pc.in" +ac_unique_file="harfbuzz-0.9.35/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.34 to adapt to many kinds of systems. +\`configure' configures harfbuzz (TeX Live) 0.9.35 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.34:";; + short | recursive ) echo "Configuration of harfbuzz (TeX Live) 0.9.35:";; 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.34 +harfbuzz (TeX Live) configure 0.9.35 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.34, which was +It was created by harfbuzz (TeX Live) $as_me 0.9.35, 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.34' + VERSION='0.9.35' 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=34 -HB_VERSION=0.9.34 +HB_VERSION_MICRO=35 +HB_VERSION=0.9.35 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.34 +HARFBUZZ_TREE=harfbuzz-0.9.35 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.34/src/hb-version.h.in" +ac_config_files="$ac_config_files Makefile include/Makefile hb-version.h:harfbuzz-0.9.35/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.34, which was +This file was extended by harfbuzz (TeX Live) $as_me 0.9.35, 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.34 +harfbuzz (TeX Live) config.status 0.9.35 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.34/src/hb-version.h.in" ;; + "hb-version.h") CONFIG_FILES="$CONFIG_FILES hb-version.h:harfbuzz-0.9.35/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.34-PATCHES/ChangeLog b/Build/source/libs/harfbuzz/harfbuzz-0.9.35-PATCHES/ChangeLog index 912ab925730..daa5fd88c4a 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34-PATCHES/ChangeLog +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35-PATCHES/ChangeLog @@ -1,3 +1,8 @@ +2014-08-14 Peter Breitenlohner <peb@mppmu.mpg.de> + + Imported harfbuzz-0.9.35 source tree from: + http://www.freedesktop.org/software/harfbuzz/release/ + 2014-08-03 Peter Breitenlohner <peb@mppmu.mpg.de> Imported harfbuzz-0.9.34 source tree from: diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34-PATCHES/TL-Changes b/Build/source/libs/harfbuzz/harfbuzz-0.9.35-PATCHES/TL-Changes index 47e9ba389d5..b1f1b58e07a 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34-PATCHES/TL-Changes +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35-PATCHES/TL-Changes @@ -1,4 +1,4 @@ -Changes applied to the harfbuzz-0.9.34/ tree as obtained from: +Changes applied to the harfbuzz-0.9.35/ tree as obtained from: http://www.freedesktop.org/software/harfbuzz/release/ Removed: diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/AUTHORS b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/AUTHORS index 81cdc4cf37f..81cdc4cf37f 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/AUTHORS +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/AUTHORS diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/Android.mk b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/Android.mk index 07dfa5b1d87..07dfa5b1d87 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/Android.mk +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/Android.mk diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/ChangeLog b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/ChangeLog index 9d9eed3b5e4..909fdf07426 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/ChangeLog +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/ChangeLog @@ -1,3 +1,498 @@ +commit cd5a1149d980dc3c17b6bb9d961c761b2671ba1b +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Aug 13 12:39:34 2014 -0400 + + 0.9.35 + + NEWS | 29 +++++++++++++++++++++++++++++ + configure.ac | 2 +- + 2 files changed, 30 insertions(+), 1 deletion(-) + +commit 20076cc41e673c31305fcb58d37b3b292fd35f83 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Aug 12 19:26:35 2014 -0400 + + [coretext] Add version guards for kCTLanguageAttributeName + + src/hb-coretext.cc | 7 +++++++ + 1 file changed, 7 insertions(+) + +commit 1b3011c27df531875d432e909ae6b77f115c5017 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Aug 12 19:17:19 2014 -0400 + + [coretext] Pass buffer language to CoreText + + src/hb-coretext.cc | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +commit 3eb6a4dbf25b11fce5e0e426e89f7457887aeca0 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Aug 12 19:10:33 2014 -0400 + + [coretext] Minor + + src/hb-coretext.cc | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +commit 08acfe0d3a1d8223a9fa0696703fff63d6c2ea8b +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Aug 12 18:57:08 2014 -0400 + + [hb-coretext] Fix cluster order of notdef runs in RTL text + + src/hb-coretext.cc | 3 +++ + 1 file changed, 3 insertions(+) + +commit 30eed75de24ac0b6648a72d98d10bb24a563d7ef +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Aug 12 17:15:09 2014 -0400 + + [shape-plan] Fix typo! + + The only effect is, if shaper_list was not NULL and no shaper + was found, + we now don't insert anything into cache and return earlier. + + src/hb-shape-plan.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit dc9aba6fc53898acd7281b118cec0355d61b1df2 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Aug 12 17:14:36 2014 -0400 + + [shape-plan] Better debug messages + + src/hb-shape-plan.cc | 14 ++++++++++---- + 1 file changed, 10 insertions(+), 4 deletions(-) + +commit e956c65bf724a8403471362288d2361361b6ac58 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Aug 12 17:03:27 2014 -0400 + + [shape-plan] Simplify macro + + src/hb-shape-plan.cc | 22 ++++++++-------------- + 1 file changed, 8 insertions(+), 14 deletions(-) + +commit 29e25550ce8fee3fecc42d20a45ce9c212dc59df +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Aug 12 17:02:59 2014 -0400 + + Fix gcc warning + + src/hb-private.hh | 9 +++++++++ + 1 file changed, 9 insertions(+) + +commit 8d5eebc0c6ada01128c6ee384340efdbef7ba29d +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Aug 12 16:50:22 2014 -0400 + + [shape-plan] Fix shape-plan caching with more than one requested + shaper + + Wasn't breaking out of loop, ouch! + + http://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1246370.html + + src/hb-shape-plan.cc | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +commit bc3d0dc60104f1cda465a5e8ba5b40ed5bec70b9 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Aug 12 16:49:18 2014 -0400 + + [shape-plan] Add debug tracing + + src/hb-shape-plan.cc | 26 ++++++++++++++++++++++++++ + 1 file changed, 26 insertions(+) + +commit 81b8d9777b9c38c7e6408591763a4cac6de18e4b +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Aug 12 15:49:47 2014 -0400 + + [coretext] Fix buffer resizing + + Was very broken. Now fixed and tested. + + src/hb-coretext.cc | 17 +++++++++++++---- + 1 file changed, 13 insertions(+), 4 deletions(-) + +commit c3e924fb9e0e2d4003790817655efd9c5688c7e1 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Aug 12 14:25:11 2014 -0400 + + [coretext] Rewind scratch-allocated arrays when not needed anymore + + src/hb-coretext.cc | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +commit 8fd4d70b1450d7261a35ab3dea1c70baea2e5c99 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Aug 12 13:12:31 2014 -0400 + + [wince] Two more Windows CE fixes + + Report has it that it builds (and works) now: + + https://codereview.qt-project.org/#/c/92087/ + + src/hb-mutex-private.hh | 2 +- + src/hb-private.hh | 2 ++ + 2 files changed, 3 insertions(+), 1 deletion(-) + +commit fd0001d7dbe6ede99a9f87f96f231ffb53303be8 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Aug 12 10:32:41 2014 -0400 + + [coretext] Compare CGFont and PS name, if CTFont didn't match + + See comments. + + Fixes vertical text. CoreText backend is in very good shape now! + + Also see: + 5a0eed3b50629be4826e4e9428f2c3255195395d + 25f4fb9b56bb3f8bec821571c78f8829e40daa54 + + Fixes http://github.com/behdad/harfbuzz/pull/36 + + src/hb-coretext.cc | 54 + ++++++++++++++++++++++++++++++++++++++++++++++++------ + 1 file changed, 48 insertions(+), 6 deletions(-) + +commit 5a0eed3b50629be4826e4e9428f2c3255195395d +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 11 23:47:16 2014 -0400 + + [coretext] Implement vertical shaping + + Currently doesn't work though, we detect font fallback. Apparently + matching on ct_font is not safe for this. Looks like commit + 25f4fb9b56bb3f8bec821571c78f8829e40daa54 wasn't enough after all. + + src/hb-coretext.cc | 127 + ++++++++++++++++++++++++++++++++++------------------- + 1 file changed, 81 insertions(+), 46 deletions(-) + +commit 1b55077f03758e49f93b8bc1de678e96ea58718c +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 11 20:45:12 2014 -0400 + + [coretext] Remove unnecessary alt_size + + Wasn't needed after a6b8dc87421de33746b0b14d86d2d1532aec02af. + + src/hb-coretext.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 10b1104d791a0b0103c6bbb083b5819f2b7d328d +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 11 20:02:45 2014 -0400 + + [coretext] Use CFRunStatus + + Assert that all runs had expected direction, and take hint for + non-monotone clusters. + + src/hb-coretext.cc | 17 +++++++++++++++-- + 1 file changed, 15 insertions(+), 2 deletions(-) + +commit fd1a6aa8d029c701b1532efa59ce901109cfc216 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 11 20:01:37 2014 -0400 + + [coretext] Minor + + src/hb-coretext.cc | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 130856c705641aa681307b5b51b5fb84e295f382 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 11 19:16:26 2014 -0400 + + [coretext] Remove debug printf! + + src/hb-coretext.cc | 1 - + 1 file changed, 1 deletion(-) + +commit b5fbc3b8f560235d014c62e49220574ffcf89349 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 11 18:40:01 2014 -0400 + + API: Do not clear buffer-flags in hb_buffer_clear_contents() + + After 763e5466c0a03a7c27020e1e2598e488612529a7, one doesn't + need to set flags for different pieces of text. The flags now + are something the client sets up once, depending on how it + actually uses the buffer. As such, don't clear it in + clear_contents(). + + Tests updated. + + src/hb-buffer-private.hh | 4 +--- + src/hb-buffer.cc | 4 ++-- + test/api/test-buffer.c | 15 ++++++++++++--- + 3 files changed, 15 insertions(+), 8 deletions(-) + +commit 104484cefeca03d95837bba5f39178693c86ce8a +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 11 18:23:43 2014 -0400 + + Minor + + src/hb-common.h | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit 4acce77db7dd588ba277779c4997b0256ebe426e +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 11 17:46:50 2014 -0400 + + [coretext] Pass buffer direction to CoreText + + Have to use a CTTypesetter for this. + + src/hb-coretext.cc | 26 ++++++++++++++++++++++---- + 1 file changed, 22 insertions(+), 4 deletions(-) + +commit 5ec45dd37caa8a87ce2689a66272ba8a343fe6ba +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 11 17:46:12 2014 -0400 + + [coretext] Minor + + It's hard to handle all possible NULL returns from CoreText. Add one + more... + + src/hb-coretext.cc | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +commit 624a299b829ccf9864dd2f3001b1a49476e96b4a +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 11 15:29:18 2014 -0400 + + [coretext] Attach marks to base clusters + + Fixes https://githu.com/behdad/harfbuzz/issues/49 + to the extent that it can be fixed. + + src/hb-coretext.cc | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +commit 3c41ccb5358b0be6cc68d49f436d2cb1792cd5e5 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 11 15:11:59 2014 -0400 + + [coretext] Use input clusters + + Before, this shaper was returning UTF-16 cluster indices instead of + returning whatever cluster values the user had had set up in the + buffer. + Ouch! + + src/hb-coretext.cc | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +commit a6b8dc87421de33746b0b14d86d2d1532aec02af +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 11 15:08:19 2014 -0400 + + [coretext] Fix buffer resize handling + + We can't really resize buffer and continue in this shaper as we are + using the scratch buffer for string_ref and log_cluster. Restructure + shaper to retry from (almost) scratch. + + src/hb-buffer-private.hh | 3 + + src/hb-coretext.cc | 428 + ++++++++++++++++++++++++++--------------------- + 2 files changed, 238 insertions(+), 193 deletions(-) + +commit 9b3c60c88b118f01610ae7a608b138f79f2dc7be +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 11 13:25:43 2014 -0400 + + [coretext] Always compute log_clusters + + To be used soon. + + src/hb-coretext.cc | 24 +++++++++++------------- + 1 file changed, 11 insertions(+), 13 deletions(-) + +commit 15c633dd1f412f9ef839d80a8f7af35e7ea48fbc +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 11 13:42:42 2014 -0400 + + Minor + + src/hb-graphite2.cc | 4 ++-- + src/hb-uniscribe.cc | 6 ++---- + 2 files changed, 4 insertions(+), 6 deletions(-) + +commit 9ce067c77524a9ffc77ceabcba5e7dab36fd39de +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Aug 11 02:04:38 2014 -0400 + + [coretext] Simplify cluster mapping + + src/hb-coretext.cc | 41 +++++++++++++++++------------------------ + 1 file changed, 17 insertions(+), 24 deletions(-) + +commit 49f7fb63761e4ca9936990fb90a77fd3600f5ad2 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Aug 10 19:19:38 2014 -0400 + + [coretext] Minor + + src/hb-coretext.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 25f4fb9b56bb3f8bec821571c78f8829e40daa54 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Aug 10 19:05:25 2014 -0400 + + [coretext] Fix fallback detection + + Fixes http://github.com/behdad/harfbuzz/pull/36 + + src/hb-coretext.cc | 29 ++++++++++++++++++++--------- + 1 file changed, 20 insertions(+), 9 deletions(-) + +commit 77a7a53acef7de355116d488e7d64ff1d7e9e9e1 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Aug 10 18:59:47 2014 -0400 + + [coretext] Fix last range + + Test with: + + hb-view /Library/Fonts/Zapfino.ttf ZapfinoZapfino --features=-dlig[7:] + --shaper=coretext + + src/hb-coretext.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit c2b151d95262a8dc2d2ce94e19ab0ef5b0c8f98d +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Aug 10 18:52:07 2014 -0400 + + Fix hb_in_range() for types smaller than int + + As exercised by hb-coretext .notdef code. + + src/hb-private.hh | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +commit 26a963b9cb4af3119177f277a2d48a5d537458fb +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Aug 10 18:04:50 2014 -0400 + + [wince] Try to fix some stuff on Windows CE + + Based on errors seen here: + http://testresults.qt-project.org/ci/QtBase_dev_Integration/build_03837/wince70embedded-armv4i-msvc2008_Windows_7/log.txt.gz + + Fully untested. + + src/hb-private.hh | 8 ++++++++ + 1 file changed, 8 insertions(+) + +commit 92aeee3f040c2c32cbf70b27bd6954535388c870 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Aug 10 17:42:19 2014 -0400 + + Minor + + src/hb-coretext.cc | 4 ++-- + src/hb-uniscribe.cc | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +commit b9993d8d6d332994dfbd29e99ff8043622003417 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Aug 10 17:40:24 2014 -0400 + + [coretext] Fix assert on Yosemite + + Apparently those functions documented as sometimes returning NULL + actually exercise that right in OS X 10.10 Yosemite. The scratch + was too small for that. I *think* I fixed it, but haven't tested + as I don't have Yosemite. + + src/hb-coretext.cc | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit 087733dd66e17297ef0e53680fafe42c84884104 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Apr 18 11:21:08 2014 -0700 + + [coretext] Use CGFont as face_data + + src/hb-coretext.cc | 26 +++++++++----------------- + 1 file changed, 9 insertions(+), 17 deletions(-) + +commit d277c3d7eee1fd4fb41c38255e5c4df539353e89 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Aug 7 15:38:52 2014 -0400 + + [arabic] Bug 82306 - Mandaic had errors in its Unicode Joining_Type + + Fixes https://bugs.freedesktop.org/show_bug.cgi?id=82306 + + src/hb-ot-shape-complex-arabic-table.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 38fb30d7420a4b01f99cee31baa8c3990a1d1c5f +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Aug 6 13:34:49 2014 -0400 + + Use atexit() only if it's safe to call from shared library + + Apparently they are not (advertised as?) safe on BSD systems. + We ignore the case of static libraries. + + Whitelisted on glibc, Android, and MSVC / mingw. + + https://bugs.freedesktop.org/show_bug.cgi?id=82246 + + src/hb-common.cc | 4 ++-- + src/hb-ft.cc | 2 +- + src/hb-private.hh | 25 +++++++++++++++++++++++++ + src/hb-shape.cc | 2 +- + src/hb-shaper.cc | 2 +- + src/hb-uniscribe.cc | 2 +- + 6 files changed, 31 insertions(+), 6 deletions(-) + +commit d5e61470fa8e5046c35a79988e00e012ae4fff0f +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Aug 5 14:19:01 2014 -0400 + + [arabic] Fix fallback shaping regression + + Was broken in 615d00ea252739da57edbd980ff27e573. + + Fixes https://github.com/behdad/harfbuzz/pull/48 + + Micro-test added. + + src/hb-ot-shape-complex-arabic.cc | 4 ++-- + test/shaping/Makefile.am | 1 + + test/shaping/fonts/sha1sum/MANIFEST | 1 + + .../sha1sum/df768b9c257e0c9c35786c47cae15c46571d56be.ttf | Bin 0 -> + 6332 bytes + test/shaping/tests/MANIFEST | 1 + + test/shaping/tests/arabic-fallback-shaping.tests | 1 + + 6 files changed, 6 insertions(+), 2 deletions(-) + +commit 91c2c0fd2b0f660d79744b3dfaf39ab86883e96b +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat Aug 2 19:24:55 2014 -0400 + + 0.9.34 + + NEWS | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ + configure.ac | 2 +- + 2 files changed, 54 insertions(+), 1 deletion(-) + commit d7c850f8037d2701366008eb8c2a527c9d40abde Author: Behdad Esfahbod <behdad@behdad.org> Date: Sat Aug 2 17:46:38 2014 -0400 diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/Makefile.am b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/Makefile.am index fa8711403d5..fa8711403d5 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/Makefile.am +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/Makefile.am diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/NEWS b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/NEWS index d38e021f037..adc8f694ed4 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/NEWS +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/NEWS @@ -1,3 +1,32 @@ +Overview of changes leading to 0.9.35 +Saturday, August 13, 2014 +===================================== + +- Fix major shape-plan caching bug when more than one shaper were + provided to hb_shape_full() (as exercised by XeTeX). + http://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1246370.html +- Fix Arabic fallback shaping regression. This was broken in 0.9.32. +- Major hb-coretext fixes. That backend is complete now, including + respecing buffer direction and language, down to vertical writing. +- Build fixes for Windows CE. Should build fine now. +- Misc fixes: + Use atexit() only if it's safe to call from shared library + https://bugs.freedesktop.org/show_bug.cgi?id=82246 + Mandaic had errors in its Unicode Joining_Type + https://bugs.freedesktop.org/show_bug.cgi?id=82306 +- API changes: + + * hb_buffer_clear_contents() does not reset buffer flags now. + + After 763e5466c0a03a7c27020e1e2598e488612529a7, one doesn't + need to set flags for different pieces of text. The flags now + are something the client sets up once, depending on how it + actually uses the buffer. As such, don't clear it in + clear_contents(). + + I don't expect any changes to be needed to any existing client. + + Overview of changes leading to 0.9.34 Saturday, August 2, 2014 ===================================== diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/README b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/README index 74e739da52a..74e739da52a 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/README +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/README diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/THANKS b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/THANKS index 940cfde5c39..940cfde5c39 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/THANKS +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/THANKS diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/TODO b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/TODO index e1aa39c4c01..e1aa39c4c01 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/TODO +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/TODO diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/autogen.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/autogen.sh index a267f297b06..a267f297b06 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/autogen.sh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/autogen.sh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/config.h.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/config.h.in index 491e7f428ef..491e7f428ef 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/config.h.in +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/config.h.in diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/configure.ac b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/configure.ac index 9d1c8cee81c..b9e82d9f8f8 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/configure.ac +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/configure.ac @@ -1,6 +1,6 @@ AC_PREREQ([2.64]) AC_INIT([HarfBuzz], - [0.9.34], + [0.9.35], [http://bugs.freedesktop.org/enter_bug.cgi?product=harfbuzz], [harfbuzz], [http://harfbuzz.org/]) diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/gtk-doc.make b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/gtk-doc.make index 104c3993f3e..e7916563d75 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/gtk-doc.make +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/gtk-doc.make @@ -49,9 +49,13 @@ REPORT_FILES = \ $(DOC_MODULE)-undeclared.txt \ $(DOC_MODULE)-unused.txt -CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) +gtkdoc-check.test: Makefile + $(AM_V_GEN)echo "#!/bin/sh -e" > $@; \ + echo "$(GTKDOC_CHECK_PATH) || exit 1" >> $@; \ + chmod +x $@ + +CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) gtkdoc-check.test -if ENABLE_GTK_DOC if GTK_DOC_BUILD_HTML HTML_BUILD_STAMP=html-build.stamp else @@ -63,9 +67,11 @@ else PDF_BUILD_STAMP= endif -all-local: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP) -else -all-local: +all-gtk-doc: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP) +.PHONY: all-gtk-doc + +if ENABLE_GTK_DOC +all-local: all-gtk-doc endif docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP) @@ -83,8 +89,10 @@ setup-build.stamp: files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \ if test "x$$files" != "x" ; then \ for file in $$files ; do \ + destdir=`dirname $(abs_builddir)/$$file`; \ + test -d "$$destdir" || mkdir -p "$$destdir"; \ test -f $(abs_srcdir)/$$file && \ - cp -pu $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \ + cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \ done; \ fi; \ fi @@ -101,7 +109,7 @@ GTK_DOC_V_INTROSPECT=$(GTK_DOC_V_INTROSPECT_$(V)) GTK_DOC_V_INTROSPECT_=$(GTK_DOC_V_INTROSPECT_$(AM_DEFAULT_VERBOSITY)) GTK_DOC_V_INTROSPECT_0=@echo " DOC Introspecting gobjects"; -scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB) +scan-build.stamp: setup-build.stamp $(HFILE_GLOB) $(CFILE_GLOB) $(GTK_DOC_V_SCAN)_source_dir='' ; \ for i in $(DOC_SOURCE_DIR) ; do \ _source_dir="$${_source_dir} --source-dir=$$i" ; \ @@ -212,6 +220,9 @@ pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) clean-local: @rm -f *~ *.bak @rm -rf .libs + @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-types" ; then \ + rm -f $(DOC_MODULE).types; \ + fi distclean-local: @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \ @@ -256,15 +267,17 @@ uninstall-local: # # Require gtk-doc when making dist # -if ENABLE_GTK_DOC +if HAVE_GTK_DOC dist-check-gtkdoc: docs else dist-check-gtkdoc: - @echo "*** gtk-doc must be installed and enabled in order to make dist" + @echo "*** gtk-doc is needed to run 'make dist'. ***" + @echo "*** gtk-doc was not found when 'configure' ran. ***" + @echo "*** please install gtk-doc and rerun 'configure'. ***" @false endif -dist-hook: dist-check-gtkdoc dist-hook-local +dist-hook: dist-check-gtkdoc all-gtk-doc dist-hook-local @mkdir $(distdir)/html @cp ./html/* $(distdir)/html @-cp ./$(DOC_MODULE).pdf $(distdir)/ diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/harfbuzz.doap b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/harfbuzz.doap index d2896ebefa8..d2896ebefa8 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/harfbuzz.doap +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/harfbuzz.doap diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/Makefile.am b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/Makefile.am index ba07ac5d680..ba07ac5d680 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/Makefile.am +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/Makefile.am diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-c-linkage-decls.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/check-c-linkage-decls.sh index b10310f5384..b10310f5384 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-c-linkage-decls.sh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/check-c-linkage-decls.sh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-defs.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/check-defs.sh index 357347f543a..357347f543a 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-defs.sh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/check-defs.sh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-header-guards.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/check-header-guards.sh index 9a3302c7f87..9a3302c7f87 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-header-guards.sh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/check-header-guards.sh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-includes.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/check-includes.sh index 902f2357e2a..902f2357e2a 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-includes.sh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/check-includes.sh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-libstdc++.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/check-libstdc++.sh index e7e0e295e1a..e7e0e295e1a 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-libstdc++.sh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/check-libstdc++.sh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-static-inits.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/check-static-inits.sh index 83d02c8a9bf..83d02c8a9bf 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-static-inits.sh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/check-static-inits.sh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-symbols.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/check-symbols.sh index e000b01b863..e000b01b863 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/check-symbols.sh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/check-symbols.sh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/gen-arabic-table.py b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/gen-arabic-table.py index 308435f991e..308435f991e 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/gen-arabic-table.py +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/gen-arabic-table.py diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/gen-indic-table.py b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/gen-indic-table.py index 4fb76f445c6..4fb76f445c6 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/gen-indic-table.py +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/gen-indic-table.py diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/harfbuzz-gobject.pc.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/harfbuzz-gobject.pc.in index 70083601901..70083601901 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/harfbuzz-gobject.pc.in +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/harfbuzz-gobject.pc.in diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/harfbuzz-icu.pc.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/harfbuzz-icu.pc.in index 949869a3563..949869a3563 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/harfbuzz-icu.pc.in +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/harfbuzz-icu.pc.in diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/harfbuzz.pc.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/harfbuzz.pc.in index 7f27bbbdef0..7f27bbbdef0 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/harfbuzz.pc.in +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/harfbuzz.pc.in diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-atomic-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-atomic-private.hh index e6738b7d9f6..e6738b7d9f6 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-atomic-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-atomic-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-blob.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-blob.cc index b82b4b2a3a3..b82b4b2a3a3 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-blob.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-blob.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-blob.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-blob.h index b2419abfd2a..b2419abfd2a 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-blob.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-blob.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-deserialize-json.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-buffer-deserialize-json.hh index dead700db82..dead700db82 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-deserialize-json.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-buffer-deserialize-json.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-deserialize-json.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-buffer-deserialize-json.rl index 7351b2ab47c..7351b2ab47c 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-deserialize-json.rl +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-buffer-deserialize-json.rl diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-deserialize-text.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-buffer-deserialize-text.hh index a38efe3a415..a38efe3a415 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-deserialize-text.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-buffer-deserialize-text.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-deserialize-text.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-buffer-deserialize-text.rl index 8856580fbe3..8856580fbe3 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-deserialize-text.rl +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-buffer-deserialize-text.rl diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-buffer-private.hh index 5eccd3c31fc..069f9255811 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-buffer-private.hh @@ -48,15 +48,13 @@ struct hb_buffer_t { ASSERT_POD (); /* Information about how the text in the buffer should be treated */ - hb_unicode_funcs_t *unicode; /* Unicode functions */ - hb_segment_properties_t props; /* Script, language, direction */ hb_buffer_flags_t flags; /* BOT / EOT / etc. */ hb_codepoint_t replacement; /* U+FFFD or something else. */ /* Buffer contents */ - hb_buffer_content_type_t content_type; + hb_segment_properties_t props; /* Script, language, direction */ bool in_error; /* Allocation failed */ bool have_output; /* Whether we have an output buffer going on */ @@ -183,6 +181,9 @@ struct hb_buffer_t { inline bool ensure (unsigned int size) { return likely (!size || size < allocated) ? true : enlarge (size); } + inline bool ensure_inplace (unsigned int size) + { return likely (!size || size < allocated); } + HB_INTERNAL bool make_room_for (unsigned int num_in, unsigned int num_out); HB_INTERNAL bool shift_forward (unsigned int count); diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-serialize.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-buffer-serialize.cc index 406d69db758..406d69db758 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer-serialize.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-buffer-serialize.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-buffer.cc index 2377ba40daf..74ae273eeca 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-buffer.cc @@ -178,6 +178,7 @@ hb_buffer_t::reset (void) hb_unicode_funcs_destroy (unicode); unicode = hb_unicode_funcs_get_default (); + flags = HB_BUFFER_FLAG_DEFAULT; replacement = HB_BUFFER_REPLACEMENT_CODEPOINT_DEFAULT; clear (); @@ -191,7 +192,6 @@ hb_buffer_t::clear (void) hb_segment_properties_t default_props = HB_SEGMENT_PROPERTIES_DEFAULT; props = default_props; - flags = HB_BUFFER_FLAG_DEFAULT; content_type = HB_BUFFER_CONTENT_TYPE_INVALID; in_error = false; @@ -702,11 +702,11 @@ hb_buffer_get_empty (void) HB_OBJECT_HEADER_STATIC, const_cast<hb_unicode_funcs_t *> (&_hb_unicode_funcs_nil), - HB_SEGMENT_PROPERTIES_DEFAULT, HB_BUFFER_FLAG_DEFAULT, HB_BUFFER_REPLACEMENT_CODEPOINT_DEFAULT, HB_BUFFER_CONTENT_TYPE_INVALID, + HB_SEGMENT_PROPERTIES_DEFAULT, true, /* in_error */ true, /* have_output */ true /* have_positions */ diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-buffer.h index 7b0c9204688..7b0c9204688 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-buffer.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-buffer.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-cache-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-cache-private.hh index 19b70b7e395..19b70b7e395 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-cache-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-cache-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-common.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-common.cc index a089e52cd2c..a6a51447941 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-common.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-common.cc @@ -234,7 +234,7 @@ struct hb_language_item_t { static hb_language_item_t *langs; -#ifdef HAVE_ATEXIT +#ifdef HB_USE_ATEXIT static inline void free_langs (void) { @@ -269,7 +269,7 @@ retry: goto retry; } -#ifdef HAVE_ATEXIT +#ifdef HB_USE_ATEXIT if (!first_lang) atexit (free_langs); /* First person registers atexit() callback. */ #endif diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-common.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-common.h index f5141b9eed1..b6ce3f724de 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-common.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-common.h @@ -123,12 +123,13 @@ hb_direction_from_string (const char *str, int len); const char * hb_direction_to_string (hb_direction_t direction); +#define HB_DIRECTION_IS_VALID(dir) ((((unsigned int) (dir)) & ~3U) == 4) +/* Direction must be valid for the following */ #define HB_DIRECTION_IS_HORIZONTAL(dir) ((((unsigned int) (dir)) & ~1U) == 4) #define HB_DIRECTION_IS_VERTICAL(dir) ((((unsigned int) (dir)) & ~1U) == 6) #define HB_DIRECTION_IS_FORWARD(dir) ((((unsigned int) (dir)) & ~2U) == 4) #define HB_DIRECTION_IS_BACKWARD(dir) ((((unsigned int) (dir)) & ~2U) == 5) -#define HB_DIRECTION_IS_VALID(dir) ((((unsigned int) (dir)) & ~3U) == 4) -#define HB_DIRECTION_REVERSE(dir) ((hb_direction_t) (((unsigned int) (dir)) ^ 1)) /* Direction must be valid */ +#define HB_DIRECTION_REVERSE(dir) ((hb_direction_t) (((unsigned int) (dir)) ^ 1)) /* hb_language_t */ diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-coretext.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-coretext.cc index d92c6baaf61..9097cce9b44 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-coretext.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-coretext.cc @@ -27,6 +27,7 @@ */ #define HB_SHAPER coretext +#define hb_coretext_shaper_face_data_t CGFont #include "hb-shaper-impl-private.hh" #include "hb-coretext.h" @@ -77,10 +78,6 @@ HB_SHAPER_DATA_ENSURE_DECLARE(coretext, font) * shaper face data */ -struct hb_coretext_shaper_face_data_t { - CGFontRef cg_font; -}; - static void release_data (void *info, const void *data, size_t size) { @@ -93,13 +90,11 @@ release_data (void *info, const void *data, size_t size) hb_coretext_shaper_face_data_t * _hb_coretext_shaper_face_data_create (hb_face_t *face) { - hb_coretext_shaper_face_data_t *data = (hb_coretext_shaper_face_data_t *) calloc (1, sizeof (hb_coretext_shaper_face_data_t)); - if (unlikely (!data)) - return NULL; + hb_coretext_shaper_face_data_t *data = NULL; if (face->destroy == (hb_destroy_func_t) CGFontRelease) { - data->cg_font = CGFontRetain ((CGFontRef) face->user_data); + data = CGFontRetain ((CGFontRef) face->user_data); } else { @@ -110,14 +105,15 @@ _hb_coretext_shaper_face_data_create (hb_face_t *face) DEBUG_MSG (CORETEXT, face, "Face has empty blob"); CGDataProviderRef provider = CGDataProviderCreateWithData (blob, blob_data, blob_length, &release_data); - data->cg_font = CGFontCreateWithDataProvider (provider); - CGDataProviderRelease (provider); + if (likely (provider)) + { + data = CGFontCreateWithDataProvider (provider); + CGDataProviderRelease (provider); + } } - if (unlikely (!data->cg_font)) { + if (unlikely (!data)) { DEBUG_MSG (CORETEXT, face, "Face CGFontCreateWithDataProvider() failed"); - free (data); - return NULL; } return data; @@ -126,8 +122,7 @@ _hb_coretext_shaper_face_data_create (hb_face_t *face) void _hb_coretext_shaper_face_data_destroy (hb_coretext_shaper_face_data_t *data) { - CFRelease (data->cg_font); - free (data); + CFRelease (data); } CGFontRef @@ -135,7 +130,7 @@ hb_coretext_face_get_cg_font (hb_face_t *face) { if (unlikely (!hb_coretext_shaper_face_data_ensure (face))) return NULL; hb_coretext_shaper_face_data_t *face_data = HB_SHAPER_DATA_GET (face); - return face_data->cg_font; + return face_data; } @@ -159,7 +154,7 @@ _hb_coretext_shaper_font_data_create (hb_font_t *font) hb_face_t *face = font->face; hb_coretext_shaper_face_data_t *face_data = HB_SHAPER_DATA_GET (face); - data->ct_font = CTFontCreateWithGraphicsFont (face_data->cg_font, font->y_scale, NULL, NULL); + data->ct_font = CTFontCreateWithGraphicsFont (face_data, font->y_scale, NULL, NULL); if (unlikely (!data->ct_font)) { DEBUG_MSG (CORETEXT, font, "Font CTFontCreateWithGraphicsFont() failed"); free (data); @@ -436,12 +431,29 @@ _hb_coretext_shape (hb_shape_plan_t *shape_plan, hb_coretext_shaper_face_data_t *face_data = HB_SHAPER_DATA_GET (face); hb_coretext_shaper_font_data_t *font_data = HB_SHAPER_DATA_GET (font); + /* Attach marks to their bases, to match the 'ot' shaper. + * Adapted from hb-ot-shape:hb_form_clusters(). + * Note that this only makes us be closer to the 'ot' shaper, + * but by no means the same. For example, if there's + * B1 M1 B2 M2, and B1-B2 form a ligature, M2's cluster will + * continue pointing to B2 even though B2 was merged into B1's + * cluster... */ + { + hb_unicode_funcs_t *unicode = buffer->unicode; + unsigned int count = buffer->len; + hb_glyph_info_t *info = buffer->info; + for (unsigned int i = 1; i < count; i++) + if (HB_UNICODE_GENERAL_CATEGORY_IS_MARK (unicode->general_category (info[i].codepoint))) + buffer->merge_clusters (i - 1, i + 1); + } + + hb_auto_array_t<feature_record_t> feature_records; + hb_auto_array_t<range_record_t> range_records; + /* * Set up features. * (copied + modified from code from hb-uniscribe.cc) */ - hb_auto_array_t<feature_record_t> feature_records; - hb_auto_array_t<range_record_t> range_records; if (num_features) { /* Sort features by start/end events. */ @@ -549,7 +561,6 @@ _hb_coretext_shape (hb_shape_plan_t *shape_plan, CFRelease (attributes); range->font = CTFontCreateCopyWithAttributes (font_data->ct_font, 0.0, NULL, font_desc); - CFRelease (font_desc); } else @@ -584,32 +595,26 @@ _hb_coretext_shape (hb_shape_plan_t *shape_plan, num_features = 0; } -#define FAIL(...) \ - HB_STMT_START { \ - DEBUG_MSG (CORETEXT, NULL, __VA_ARGS__); \ - return false; \ - } HB_STMT_END; - unsigned int scratch_size; hb_buffer_t::scratch_buffer_t *scratch = buffer->get_scratch_buffer (&scratch_size); -#define ALLOCATE_ARRAY(Type, name, len) \ +#define ALLOCATE_ARRAY(Type, name, len, on_no_room) \ Type *name = (Type *) scratch; \ { \ unsigned int _consumed = DIV_CEIL ((len) * sizeof (Type), sizeof (*scratch)); \ - assert (_consumed <= scratch_size); \ + if (unlikely (_consumed > scratch_size)) \ + { \ + on_no_room; \ + assert (0); \ + } \ scratch += _consumed; \ scratch_size -= _consumed; \ } -#define utf16_index() var1.u32 - - ALLOCATE_ARRAY (UniChar, pchars, buffer->len * 2); - + ALLOCATE_ARRAY (UniChar, pchars, buffer->len * 2, /*nothing*/); unsigned int chars_len = 0; for (unsigned int i = 0; i < buffer->len; i++) { hb_codepoint_t c = buffer->info[i].codepoint; - buffer->info[i].utf16_index() = chars_len; if (likely (c <= 0xFFFFu)) pchars[chars_len++] = c; else if (unlikely (c > 0x10FFFFu)) @@ -620,232 +625,439 @@ _hb_coretext_shape (hb_shape_plan_t *shape_plan, } } -#undef utf16_index + ALLOCATE_ARRAY (unsigned int, log_clusters, chars_len, /*nothing*/); + chars_len = 0; + for (unsigned int i = 0; i < buffer->len; i++) + { + hb_codepoint_t c = buffer->info[i].codepoint; + unsigned int cluster = buffer->info[i].cluster; + log_clusters[chars_len++] = cluster; + if (hb_in_range (c, 0x10000u, 0x10FFFFu)) + log_clusters[chars_len++] = cluster; /* Surrogates. */ + } - CFStringRef string_ref = CFStringCreateWithCharactersNoCopy (NULL, - pchars, chars_len, - kCFAllocatorNull); +#define FAIL(...) \ + HB_STMT_START { \ + DEBUG_MSG (CORETEXT, NULL, __VA_ARGS__); \ + ret = false; \ + goto fail; \ + } HB_STMT_END; - CFMutableAttributedStringRef attr_string = CFAttributedStringCreateMutable (NULL, chars_len); - CFAttributedStringReplaceString (attr_string, CFRangeMake (0, 0), string_ref); - CFAttributedStringSetAttribute (attr_string, CFRangeMake (0, chars_len), - kCTFontAttributeName, font_data->ct_font); + bool ret = true; + CFStringRef string_ref = NULL; + CTLineRef line = NULL; - if (num_features) + if (0) { - ALLOCATE_ARRAY (unsigned int, log_clusters, chars_len); - - /* Need log_clusters to assign features. */ - chars_len = 0; - for (unsigned int i = 0; i < buffer->len; i++) - { - hb_codepoint_t c = buffer->info[i].codepoint; - unsigned int cluster = buffer->info[i].cluster; - log_clusters[chars_len++] = cluster; - if (hb_in_range (c, 0x10000u, 0x10FFFFu)) - log_clusters[chars_len++] = cluster; /* Surrogates. */ - } +resize_and_retry: + DEBUG_MSG (CORETEXT, buffer, "Buffer resize"); + /* string_ref uses the scratch-buffer for backing store, and line references + * string_ref (via attr_string). We must release those before resizing buffer. */ + assert (string_ref); + assert (line); + CFRelease (string_ref); + CFRelease (line); + string_ref = NULL; + line = NULL; + + /* Get previous start-of-scratch-area, that we use later for readjusting + * our existing scratch arrays. */ + unsigned int old_scratch_used; + hb_buffer_t::scratch_buffer_t *old_scratch; + old_scratch = buffer->get_scratch_buffer (&old_scratch_used); + old_scratch_used = scratch - old_scratch; + + if (unlikely (!buffer->ensure (buffer->allocated * 2))) + FAIL ("Buffer resize failed"); + + /* Adjust scratch, pchars, and log_cluster arrays. This is ugly, but really the + * cleanest way to do without completely restructuring the rest of this shaper. */ + scratch = buffer->get_scratch_buffer (&scratch_size); + pchars = reinterpret_cast<UniChar *> (((char *) scratch + ((char *) pchars - (char *) old_scratch))); + log_clusters = reinterpret_cast<unsigned int *> (((char *) scratch + ((char *) log_clusters - (char *) old_scratch))); + scratch += old_scratch_used; + scratch_size -= old_scratch_used; + } +retry: + { + string_ref = CFStringCreateWithCharactersNoCopy (NULL, + pchars, chars_len, + kCFAllocatorNull); + if (unlikely (!string_ref)) + FAIL ("CFStringCreateWithCharactersNoCopy failed"); - unsigned int start = 0; - range_record_t *last_range = &range_records[0]; - for (unsigned int k = 0; k < chars_len; k++) + /* Create an attributed string, populate it, and create a line from it, then release attributed string. */ { - range_record_t *range = last_range; - while (log_clusters[k] < range->index_first) - range--; - while (log_clusters[k] > range->index_last) - range++; - if (range != last_range) + CFMutableAttributedStringRef attr_string = CFAttributedStringCreateMutable (kCFAllocatorDefault, + chars_len); + if (unlikely (!attr_string)) + FAIL ("CFAttributedStringCreateMutable failed"); + CFAttributedStringReplaceString (attr_string, CFRangeMake (0, 0), string_ref); + if (HB_DIRECTION_IS_VERTICAL (buffer->props.direction)) { - if (last_range->font) - CFAttributedStringSetAttribute (attr_string, CFRangeMake (start, k - start), - kCTFontAttributeName, last_range->font); - - start = k; + CFAttributedStringSetAttribute (attr_string, CFRangeMake (0, chars_len), + kCTVerticalFormsAttributeName, kCFBooleanTrue); } - last_range = range; - } - if (start != chars_len && last_range->font) - CFAttributedStringSetAttribute (attr_string, CFRangeMake (start, chars_len - start - 1), - kCTFontAttributeName, last_range->font); - - for (unsigned int i = 0; i < range_records.len; i++) - if (range_records[i].font) - CFRelease (range_records[i].font); - } + if (buffer->props.language) + { +/* What's the iOS equivalent of this check? + * The symbols was introduced in iOS 7.0. + * At any rate, our fallback is safe and works fine. */ +#if MAC_OS_X_VERSION_MIN_REQUIRED < 1090 +# define kCTLanguageAttributeName CFSTR ("NSLanguage") +#endif + CFStringRef lang = CFStringCreateWithCStringNoCopy (kCFAllocatorDefault, + hb_language_to_string (buffer->props.language), + kCFStringEncodingUTF8, + kCFAllocatorNull); + if (unlikely (!lang)) + FAIL ("CFStringCreateWithCStringNoCopy failed"); + CFAttributedStringSetAttribute (attr_string, CFRangeMake (0, chars_len), + kCTLanguageAttributeName, lang); + CFRelease (lang); + } + CFAttributedStringSetAttribute (attr_string, CFRangeMake (0, chars_len), + kCTFontAttributeName, font_data->ct_font); - CTLineRef line = CTLineCreateWithAttributedString (attr_string); - CFRelease (attr_string); + if (num_features) + { + unsigned int start = 0; + range_record_t *last_range = &range_records[0]; + for (unsigned int k = 0; k < chars_len; k++) + { + range_record_t *range = last_range; + while (log_clusters[k] < range->index_first) + range--; + while (log_clusters[k] > range->index_last) + range++; + if (range != last_range) + { + if (last_range->font) + CFAttributedStringSetAttribute (attr_string, CFRangeMake (start, k - start), + kCTFontAttributeName, last_range->font); - CFArrayRef glyph_runs = CTLineGetGlyphRuns (line); - unsigned int num_runs = CFArrayGetCount (glyph_runs); + start = k; + } - buffer->len = 0; + last_range = range; + } + if (start != chars_len && last_range->font) + CFAttributedStringSetAttribute (attr_string, CFRangeMake (start, chars_len - start), + kCTFontAttributeName, last_range->font); + } - const CFRange range_all = CFRangeMake (0, 0); + int level = HB_DIRECTION_IS_FORWARD (buffer->props.direction) ? 0 : 1; + CFNumberRef level_number = CFNumberCreate (kCFAllocatorDefault, kCFNumberIntType, &level); + CFDictionaryRef options = CFDictionaryCreate (kCFAllocatorDefault, + (const void **) &kCTTypesetterOptionForcedEmbeddingLevel, + (const void **) &level_number, + 1, + &kCFTypeDictionaryKeyCallBacks, + &kCFTypeDictionaryValueCallBacks); + if (unlikely (!options)) + FAIL ("CFDictionaryCreate failed"); + + CTTypesetterRef typesetter = CTTypesetterCreateWithAttributedStringAndOptions (attr_string, options); + CFRelease (options); + CFRelease (attr_string); + if (unlikely (!typesetter)) + FAIL ("CTTypesetterCreateWithAttributedStringAndOptions failed"); + + line = CTTypesetterCreateLine (typesetter, CFRangeMake(0, 0)); + CFRelease (typesetter); + if (unlikely (!line)) + FAIL ("CTTypesetterCreateLine failed"); + } - for (unsigned int i = 0; i < num_runs; i++) - { - CTRunRef run = (CTRunRef) CFArrayGetValueAtIndex (glyph_runs, i); - - /* CoreText does automatic font fallback (AKA "cascading") for characters - * not supported by the requested font, and provides no way to turn it off, - * so we detect if the returned run uses a font other than the requested - * one and fill in the buffer with .notdef glyphs instead of random glyph - * indices from a different font. - */ - CFDictionaryRef attributes = CTRunGetAttributes (run); - CTFontRef run_ct_font = static_cast<CTFontRef>(CFDictionaryGetValue (attributes, kCTFontAttributeName)); - CGFontRef run_cg_font = CTFontCopyGraphicsFont (run_ct_font, 0); - if (!CFEqual (run_cg_font, face_data->cg_font)) - { - CFRelease (run_cg_font); + CFArrayRef glyph_runs = CTLineGetGlyphRuns (line); + unsigned int num_runs = CFArrayGetCount (glyph_runs); + DEBUG_MSG (CORETEXT, NULL, "Num runs: %d", num_runs); - CFRange range = CTRunGetStringRange (run); - buffer->ensure (buffer->len + range.length); - if (buffer->in_error) - FAIL ("Buffer resize failed"); - hb_glyph_info_t *info = buffer->info + buffer->len; + buffer->len = 0; + uint32_t status_and = ~0, status_or = 0; - CGGlyph notdef = 0; - double advance = CTFontGetAdvancesForGlyphs (font_data->ct_font, kCTFontHorizontalOrientation, ¬def, NULL, 1); + const CFRange range_all = CFRangeMake (0, 0); - for (CFIndex j = range.location; j < range.location + range.length; j++) + for (unsigned int i = 0; i < num_runs; i++) + { + CTRunRef run = static_cast<CTRunRef>(CFArrayGetValueAtIndex (glyph_runs, i)); + CTRunStatus run_status = CTRunGetStatus (run); + status_or |= run_status; + status_and &= run_status; + DEBUG_MSG (CORETEXT, run, "CTRunStatus: %x", run_status); + + /* CoreText does automatic font fallback (AKA "cascading") for characters + * not supported by the requested font, and provides no way to turn it off, + * so we must detect if the returned run uses a font other than the requested + * one and fill in the buffer with .notdef glyphs instead of random glyph + * indices from a different font. + */ + CFDictionaryRef attributes = CTRunGetAttributes (run); + CTFontRef run_ct_font = static_cast<CTFontRef>(CFDictionaryGetValue (attributes, kCTFontAttributeName)); + if (!CFEqual (run_ct_font, font_data->ct_font)) + { + /* The run doesn't use our main font instance. We have to figure out + * whether font fallback happened, or this is just CoreText giving us + * another CTFont using the same underlying CGFont. CoreText seems + * to do that in a variety of situations, one of which being vertical + * text, but also perhaps for caching reasons. + * + * First, see if it uses any of our subfonts created to set font features... + * + * Next, compare the CGFont to the one we used to create our fonts. + * Even this doesn't work all the time. + * + * Finally, we compare PS names, which I don't think are unique... + * + * Looks like if we really want to be sure here we have to modify the + * font to change the name table, similar to what we do in the uniscribe + * backend. + * + * However, even that wouldn't work if we were passed in the CGFont to + * begin with. + * + * Webkit uses a slightly different approach: it installs LastResort + * as fallback chain, and then checks PS name of used font against + * LastResort. That one is safe for any font except for LastResort, + * as opposed to ours, which can fail if we are using any uninstalled + * font that has the same name as an installed font. + * + * See: http://github.com/behdad/harfbuzz/pull/36 + */ + bool matched = false; + for (unsigned int i = 0; i < range_records.len; i++) + if (range_records[i].font && CFEqual (run_ct_font, range_records[i].font)) + { + matched = true; + break; + } + if (!matched) { - UniChar ch = CFStringGetCharacterAtIndex (string_ref, j); - if (hb_in_range<UniChar> (ch, 0xDC00u, 0xDFFFu) && range.location < j) - { - ch = CFStringGetCharacterAtIndex (string_ref, j - 1); - if (hb_in_range<UniChar> (ch, 0xD800u, 0xDBFFu)) - /* This is the second of a surrogate pair. Don't need .notdef - * for this one. */ - continue; - } - - info->codepoint = notdef; - /* TODO We have to fixup clusters later. See vis_clusters in - * hb-uniscribe.cc for example. */ - info->cluster = j; - - info->mask = advance; - info->var1.u32 = 0; - info->var2.u32 = 0; - - info++; - buffer->len++; - } - continue; - } - CFRelease (run_cg_font); + CGFontRef run_cg_font = CTFontCopyGraphicsFont (run_ct_font, 0); + if (run_cg_font) + { + matched = CFEqual (run_cg_font, face_data); + CFRelease (run_cg_font); + } + } + if (!matched) + { + CFStringRef font_ps_name = CTFontCopyName (font_data->ct_font, kCTFontPostScriptNameKey); + CFStringRef run_ps_name = CTFontCopyName (run_ct_font, kCTFontPostScriptNameKey); + CFComparisonResult result = CFStringCompare (run_ps_name, font_ps_name, 0); + CFRelease (run_ps_name); + CFRelease (font_ps_name); + if (result == kCFCompareEqualTo) + matched = true; + } + if (!matched) + { + CFRange range = CTRunGetStringRange (run); + DEBUG_MSG (CORETEXT, run, "Run used fallback font: %ld..%ld", + range.location, range.location + range.length); + if (!buffer->ensure_inplace (buffer->len + range.length)) + goto resize_and_retry; + hb_glyph_info_t *info = buffer->info + buffer->len; + + CGGlyph notdef = 0; + double advance = CTFontGetAdvancesForGlyphs (font_data->ct_font, kCTFontHorizontalOrientation, ¬def, NULL, 1); + + unsigned int old_len = buffer->len; + for (CFIndex j = range.location; j < range.location + range.length; j++) + { + UniChar ch = CFStringGetCharacterAtIndex (string_ref, j); + if (hb_in_range<UniChar> (ch, 0xDC00u, 0xDFFFu) && range.location < j) + { + ch = CFStringGetCharacterAtIndex (string_ref, j - 1); + if (hb_in_range<UniChar> (ch, 0xD800u, 0xDBFFu)) + /* This is the second of a surrogate pair. Don't need .notdef + * for this one. */ + continue; + } + + info->codepoint = notdef; + info->cluster = log_clusters[j]; + + info->mask = advance; + info->var1.u32 = 0; + info->var2.u32 = 0; + + info++; + buffer->len++; + } + if (HB_DIRECTION_IS_BACKWARD (buffer->props.direction)) + buffer->reverse_range (old_len, buffer->len); + continue; + } + } - unsigned int num_glyphs = CTRunGetGlyphCount (run); - if (num_glyphs == 0) - continue; + unsigned int num_glyphs = CTRunGetGlyphCount (run); + if (num_glyphs == 0) + continue; - buffer->ensure (buffer->len + num_glyphs); + if (!buffer->ensure_inplace (buffer->len + num_glyphs)) + goto resize_and_retry; - scratch = buffer->get_scratch_buffer (&scratch_size); + hb_glyph_info_t *run_info = buffer->info + buffer->len; - /* Testing indicates that CTRunGetGlyphsPtr, etc (almost?) always - * succeed, and so copying data to our own buffer will be rare. */ + /* Testing used to indicate that CTRunGetGlyphsPtr, etc (almost?) always + * succeed, and so copying data to our own buffer will be rare. Reports + * have it that this changed in OS X 10.10 Yosemite, and NULL is returned + * frequently. At any rate, we can test that codepath by setting USE_PTR + * to false. */ - const CGGlyph* glyphs = CTRunGetGlyphsPtr (run); - if (!glyphs) { - ALLOCATE_ARRAY (CGGlyph, glyph_buf, num_glyphs); - CTRunGetGlyphs (run, range_all, glyph_buf); - glyphs = glyph_buf; - } +#define USE_PTR true - const CGPoint* positions = CTRunGetPositionsPtr (run); - if (!positions) { - ALLOCATE_ARRAY (CGPoint, position_buf, num_glyphs); - CTRunGetPositions (run, range_all, position_buf); - positions = position_buf; - } +#define SCRATCH_SAVE() \ + unsigned int scratch_size_saved = scratch_size; \ + hb_buffer_t::scratch_buffer_t *scratch_saved = scratch - const CFIndex* string_indices = CTRunGetStringIndicesPtr (run); - if (!string_indices) { - ALLOCATE_ARRAY (CFIndex, index_buf, num_glyphs); - CTRunGetStringIndices (run, range_all, index_buf); - string_indices = index_buf; - } +#define SCRATCH_RESTORE() \ + scratch_size = scratch_size_saved; \ + scratch = scratch_saved; + { + SCRATCH_SAVE(); + const CGGlyph* glyphs = USE_PTR ? CTRunGetGlyphsPtr (run) : NULL; + if (!glyphs) { + ALLOCATE_ARRAY (CGGlyph, glyph_buf, num_glyphs, goto resize_and_retry); + CTRunGetGlyphs (run, range_all, glyph_buf); + glyphs = glyph_buf; + } + const CFIndex* string_indices = USE_PTR ? CTRunGetStringIndicesPtr (run) : NULL; + if (!string_indices) { + ALLOCATE_ARRAY (CFIndex, index_buf, num_glyphs, goto resize_and_retry); + CTRunGetStringIndices (run, range_all, index_buf); + string_indices = index_buf; + } + hb_glyph_info_t *info = run_info; + for (unsigned int j = 0; j < num_glyphs; j++) + { + info->codepoint = glyphs[j]; + info->cluster = log_clusters[string_indices[j]]; + info++; + } + SCRATCH_RESTORE(); + } + { + SCRATCH_SAVE(); + const CGPoint* positions = USE_PTR ? CTRunGetPositionsPtr (run) : NULL; + if (!positions) { + ALLOCATE_ARRAY (CGPoint, position_buf, num_glyphs, goto resize_and_retry); + CTRunGetPositions (run, range_all, position_buf); + positions = position_buf; + } + double run_advance = CTRunGetTypographicBounds (run, range_all, NULL, NULL, NULL); + DEBUG_MSG (CORETEXT, run, "Run advance: %g", run_advance); + hb_glyph_info_t *info = run_info; + if (HB_DIRECTION_IS_HORIZONTAL (buffer->props.direction)) + { + for (unsigned int j = 0; j < num_glyphs; j++) + { + double advance = (j + 1 < num_glyphs ? positions[j + 1].x : positions[0].x + run_advance) - positions[j].x; + info->mask = advance; + info->var1.u32 = positions[0].x; /* Yes, zero. */ + info->var2.u32 = positions[j].y; + info++; + } + } + else + { + run_advance = -run_advance; + for (unsigned int j = 0; j < num_glyphs; j++) + { + double advance = (j + 1 < num_glyphs ? positions[j + 1].y : positions[0].y + run_advance) - positions[j].y; + info->mask = advance; + info->var1.u32 = positions[j].x; + info->var2.u32 = positions[0].y; /* Yes, zero. */ + info++; + } + } + SCRATCH_RESTORE(); + } +#undef SCRATCH_RESTORE +#undef SCRATCH_SAVE +#undef USE_PTR #undef ALLOCATE_ARRAY - double run_width = CTRunGetTypographicBounds (run, range_all, NULL, NULL, NULL); - - for (unsigned int j = 0; j < num_glyphs; j++) { - double advance = (j + 1 < num_glyphs ? positions[j + 1].x : positions[0].x + run_width) - positions[j].x; - - hb_glyph_info_t *info = &buffer->info[buffer->len]; - - info->codepoint = glyphs[j]; - info->cluster = string_indices[j]; - - /* Currently, we do all x-positioning by setting the advance, we never use x-offset. */ - info->mask = advance; - info->var1.u32 = 0; - info->var2.u32 = positions[j].y; - - buffer->len++; + buffer->len += num_glyphs; } - } - buffer->clear_positions (); + /* Make sure all runs had the expected direction. */ + bool backward = HB_DIRECTION_IS_BACKWARD (buffer->props.direction); + assert (bool (status_and & kCTRunStatusRightToLeft) == backward); + assert (bool (status_or & kCTRunStatusRightToLeft) == backward); - unsigned int count = buffer->len; - for (unsigned int i = 0; i < count; ++i) { - hb_glyph_info_t *info = &buffer->info[i]; - hb_glyph_position_t *pos = &buffer->pos[i]; + buffer->clear_positions (); - /* TODO vertical */ - pos->x_advance = info->mask; - pos->x_offset = info->var1.u32; - pos->y_offset = info->var2.u32; - } + unsigned int count = buffer->len; + hb_glyph_info_t *info = buffer->info; + hb_glyph_position_t *pos = buffer->pos; + if (HB_DIRECTION_IS_HORIZONTAL (buffer->props.direction)) + for (unsigned int i = 0; i < count; i++) + { + pos->x_advance = info->mask; + pos->x_offset = info->var1.u32; + pos->y_offset = info->var2.u32; + info++, pos++; + } + else + for (unsigned int i = 0; i < count; i++) + { + pos->y_advance = info->mask; + pos->x_offset = info->var1.u32; + pos->y_offset = info->var2.u32; + info++, pos++; + } - /* Fix up clusters so that we never return out-of-order indices; - * if core text has reordered glyphs, we'll merge them to the - * beginning of the reordered cluster. - * - * This does *not* mean we'll form the same clusters as Uniscribe - * or the native OT backend, only that the cluster indices will be - * monotonic in the output buffer. */ - if (HB_DIRECTION_IS_FORWARD (buffer->props.direction)) { - unsigned int prev_cluster = 0; - for (unsigned int i = 0; i < count; i++) { - unsigned int curr_cluster = buffer->info[i].cluster; - if (curr_cluster < prev_cluster) { - for (unsigned int j = i; j > 0; j--) { - if (buffer->info[j - 1].cluster > curr_cluster) - buffer->info[j - 1].cluster = curr_cluster; - else - break; - } + /* Fix up clusters so that we never return out-of-order indices; + * if core text has reordered glyphs, we'll merge them to the + * beginning of the reordered cluster. CoreText is nice enough + * to tell us whenever it has produced nonmonotonic results... + * Note that we assume the input clusters were nonmonotonic to + * begin with. + * + * This does *not* mean we'll form the same clusters as Uniscribe + * or the native OT backend, only that the cluster indices will be + * monotonic in the output buffer. */ + if (count > 1 && (status_or & kCTRunStatusNonMonotonic)) + { + hb_glyph_info_t *info = buffer->info; + if (HB_DIRECTION_IS_FORWARD (buffer->props.direction)) + { + unsigned int cluster = info[count - 1].cluster; + for (unsigned int i = count - 1; i > 0; i--) + { + cluster = MIN (cluster, info[i - 1].cluster); + info[i - 1].cluster = cluster; + } } - prev_cluster = curr_cluster; - } - } else { - unsigned int prev_cluster = (unsigned int)-1; - for (unsigned int i = 0; i < count; i++) { - unsigned int curr_cluster = buffer->info[i].cluster; - if (curr_cluster > prev_cluster) { - for (unsigned int j = i; j > 0; j--) { - if (buffer->info[j - 1].cluster < curr_cluster) - buffer->info[j - 1].cluster = curr_cluster; - else - break; - } + else + { + unsigned int cluster = info[0].cluster; + for (unsigned int i = 1; i < count; i++) + { + cluster = MIN (cluster, info[i].cluster); + info[i].cluster = cluster; + } } - prev_cluster = curr_cluster; } } - CFRelease (string_ref); - CFRelease (line); +#undef FAIL + +fail: + if (string_ref) + CFRelease (string_ref); + if (line) + CFRelease (line); + + for (unsigned int i = 0; i < range_records.len; i++) + if (range_records[i].font) + CFRelease (range_records[i].font); - return true; + return ret; } diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-coretext.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-coretext.h index 25267bc9784..25267bc9784 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-coretext.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-coretext.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-deprecated.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-deprecated.h index 30ae4b1caf7..30ae4b1caf7 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-deprecated.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-deprecated.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-face-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-face-private.hh index 6520d3dbdff..6520d3dbdff 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-face-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-face-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-face.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-face.cc index 9348af7bf8e..9348af7bf8e 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-face.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-face.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-face.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-face.h index f682c468de5..f682c468de5 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-face.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-face.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-fallback-shape.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-fallback-shape.cc index 9d061a9e845..9d061a9e845 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-fallback-shape.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-fallback-shape.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-font-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-font-private.hh index 33bbf7143a2..33bbf7143a2 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-font-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-font-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-font.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-font.cc index 4364ca72fb0..4364ca72fb0 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-font.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-font.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-font.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-font.h index 7273db43eda..7273db43eda 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-font.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-font.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ft.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ft.cc index 44e0b0bc2a5..16bf51f569f 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ft.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ft.cc @@ -455,7 +455,7 @@ retry: goto retry; } -#ifdef HAVE_ATEXIT +#ifdef HB_USE_ATEXIT atexit (free_ft_library); /* First person registers atexit() callback. */ #endif } diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ft.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ft.h index 696251e143f..696251e143f 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ft.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ft.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-glib.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-glib.cc index af43cab7113..af43cab7113 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-glib.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-glib.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-glib.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-glib.h index 63a9d3366c5..63a9d3366c5 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-glib.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-glib.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-gobject-enums.cc.tmpl b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-gobject-enums.cc.tmpl index ca458a3846c..ca458a3846c 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-gobject-enums.cc.tmpl +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-gobject-enums.cc.tmpl diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-gobject-enums.h.tmpl b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-gobject-enums.h.tmpl index 6ecda06c2a6..6ecda06c2a6 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-gobject-enums.h.tmpl +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-gobject-enums.h.tmpl diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-gobject-structs.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-gobject-structs.cc index 2451b66291b..2451b66291b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-gobject-structs.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-gobject-structs.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-gobject-structs.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-gobject-structs.h index 4a88d569e8d..4a88d569e8d 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-gobject-structs.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-gobject-structs.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-gobject.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-gobject.h index ea1bd25df82..ea1bd25df82 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-gobject.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-gobject.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-graphite2.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-graphite2.cc index 709aa94419c..807c3308771 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-graphite2.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-graphite2.cc @@ -274,8 +274,8 @@ _hb_graphite2_shape (hb_shape_plan_t *shape_plan, while ((DIV_CEIL (sizeof (hb_graphite2_cluster_t) * buffer->len, sizeof (*scratch)) + DIV_CEIL (sizeof (hb_codepoint_t) * glyph_count, sizeof (*scratch))) > scratch_size) { - buffer->ensure (buffer->allocated * 2); - if (unlikely (buffer->in_error)) { + if (unlikely (!buffer->ensure (buffer->allocated * 2))) + { if (feats) gr_featureval_destroy (feats); gr_seg_destroy (seg); return false; diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-graphite2.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-graphite2.h index 3eae54acbd8..3eae54acbd8 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-graphite2.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-graphite2.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-icu.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-icu.cc index 86c8b5cc5a2..86c8b5cc5a2 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-icu.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-icu.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-icu.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-icu.h index f2f35f0f2ce..f2f35f0f2ce 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-icu.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-icu.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-mutex-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-mutex-private.hh index eaa21695082..62812019585 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-mutex-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-mutex-private.hh @@ -46,7 +46,7 @@ #include <windows.h> typedef CRITICAL_SECTION hb_mutex_impl_t; -#define HB_MUTEX_IMPL_INIT { NULL, 0, 0, NULL, NULL, 0 } +#define HB_MUTEX_IMPL_INIT {0} #define hb_mutex_impl_init(M) InitializeCriticalSection (M) #define hb_mutex_impl_lock(M) EnterCriticalSection (M) #define hb_mutex_impl_unlock(M) LeaveCriticalSection (M) diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-object-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-object-private.hh index 8a9ae34dbee..8a9ae34dbee 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-object-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-object-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-open-file-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-open-file-private.hh index 57db59db84a..57db59db84a 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-open-file-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-open-file-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-open-type-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-open-type-private.hh index 475187bae31..475187bae31 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-open-type-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-open-type-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-cmap-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-cmap-table.hh index d53141157d0..d53141157d0 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-cmap-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-cmap-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-font.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-font.cc index c9890c59228..c9890c59228 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-font.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-font.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-font.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-font.h index 7a8c04ac33d..7a8c04ac33d 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-font.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-font.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-head-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-head-table.hh index ec4e8c9d453..ec4e8c9d453 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-head-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-head-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-hhea-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-hhea-table.hh index d433200165c..d433200165c 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-hhea-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-hhea-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-hmtx-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-hmtx-table.hh index e918e3b3f40..e918e3b3f40 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-hmtx-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-hmtx-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-common-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-layout-common-private.hh index abd063c8961..abd063c8961 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-common-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-layout-common-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-gdef-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-layout-gdef-table.hh index 84a5e797c63..84a5e797c63 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-gdef-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-layout-gdef-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-gpos-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-layout-gpos-table.hh index 8e2860c9131..8e2860c9131 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-gpos-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-layout-gpos-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-gsub-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-layout-gsub-table.hh index 2b421a94f54..2b421a94f54 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-gsub-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-layout-gsub-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-gsubgpos-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-layout-gsubgpos-private.hh index 546ff4b0fde..546ff4b0fde 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-gsubgpos-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-layout-gsubgpos-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-jstf-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-layout-jstf-table.hh index 67a6df5b421..67a6df5b421 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-jstf-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-layout-jstf-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-layout-private.hh index ae7daa6dbc9..ae7daa6dbc9 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-layout-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-layout.cc index 661d90ea0d6..661d90ea0d6 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-layout.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-layout.h index 949678ac422..949678ac422 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-layout.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-layout.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-map-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-map-private.hh index 86b7e9fafea..86b7e9fafea 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-map-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-map-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-map.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-map.cc index 4985eb22b20..4985eb22b20 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-map.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-map.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-maxp-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-maxp-table.hh index b1f832852d3..b1f832852d3 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-maxp-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-maxp-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-name-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-name-table.hh index 31d9fac7e29..31d9fac7e29 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-name-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-name-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-arabic-fallback.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-arabic-fallback.hh index e5b7ed489c0..e5b7ed489c0 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-arabic-fallback.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-arabic-fallback.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-arabic-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-arabic-table.hh index d41d6ce598e..17100497ecb 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-arabic-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-arabic-table.hh @@ -70,7 +70,7 @@ static const uint8_t joining_table[] = /* Mandaic */ - /* 0840 */ R,D,D,D,D,D,R,D,D,R,D,D,D,D,D,R,D,D,D,D,R,D,U,U,U,X,X,X,X,X,X,X, + /* 0840 */ R,D,D,D,D,D,R,R,D,R,D,D,D,D,D,D,D,D,D,D,R,D,U,U,U,X,X,X,X,X,X,X, /* 0860 */ X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X, /* 0880 */ X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X,X, 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.35/src/hb-ot-shape-complex-arabic-win1256.hh index 63ed3f8e0ef..63ed3f8e0ef 100644 --- 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.35/src/hb-ot-shape-complex-arabic-win1256.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-arabic.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-arabic.cc index 6cf1a7f5907..ae908641271 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-arabic.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-arabic.cc @@ -223,8 +223,8 @@ data_create_arabic (const hb_ot_shape_plan_t *plan) for (unsigned int i = 0; i < ARABIC_NUM_FEATURES; i++) { arabic_plan->mask_array[i] = plan->map.get_1_mask (arabic_features[i]); arabic_plan->do_fallback = arabic_plan->do_fallback && - !FEATURE_IS_SYRIAC (arabic_features[i]) && - plan->map.needs_fallback (arabic_features[i]); + (FEATURE_IS_SYRIAC (arabic_features[i]) || + plan->map.needs_fallback (arabic_features[i])); } return arabic_plan; diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-default.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-default.cc index f7f097eedaa..f7f097eedaa 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-default.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-default.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-hangul.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-hangul.cc index 6ac18b08bff..6ac18b08bff 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-hangul.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-hangul.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-hebrew.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-hebrew.cc index c7b7a5eba6a..c7b7a5eba6a 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-hebrew.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-hebrew.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-indic-machine.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-indic-machine.hh index 5fbdcc8366e..5fbdcc8366e 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-indic-machine.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-indic-machine.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-indic-machine.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-indic-machine.rl index f6768a581f2..f6768a581f2 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-indic-machine.rl +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-indic-machine.rl diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-indic-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-indic-private.hh index d8dfc6507d9..d8dfc6507d9 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-indic-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-indic-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-indic-table.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-indic-table.cc index f58380e0c8a..f58380e0c8a 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-indic-table.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-indic-table.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-indic.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-indic.cc index 7723600410a..7723600410a 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-indic.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-indic.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-myanmar-machine.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-myanmar-machine.hh index bb80d7a705d..bb80d7a705d 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-myanmar-machine.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-myanmar-machine.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-myanmar-machine.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-myanmar-machine.rl index 9649a916f02..9649a916f02 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-myanmar-machine.rl +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-myanmar-machine.rl diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-myanmar.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-myanmar.cc index d016380cc63..d016380cc63 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-myanmar.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-myanmar.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-private.hh index 9a7afcbd7b1..9a7afcbd7b1 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-sea-machine.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-sea-machine.hh index 86b7ae7d5ca..86b7ae7d5ca 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-sea-machine.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-sea-machine.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-sea-machine.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-sea-machine.rl index 46140fc4d5f..46140fc4d5f 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-sea-machine.rl +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-sea-machine.rl diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-sea.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-sea.cc index f08b7ccb9f4..f08b7ccb9f4 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-sea.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-sea.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-thai.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-thai.cc index feb7fc7a148..feb7fc7a148 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-thai.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-thai.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-tibetan.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-tibetan.cc index 01465a426f8..01465a426f8 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-complex-tibetan.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-complex-tibetan.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-fallback-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-fallback-private.hh index ec653513f1b..ec653513f1b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-fallback-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-fallback-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-fallback.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-fallback.cc index 80d7da82f38..80d7da82f38 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-fallback.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-fallback.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-normalize-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-normalize-private.hh index c744e26451d..c744e26451d 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-normalize-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-normalize-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-normalize.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-normalize.cc index 4287253aed1..4287253aed1 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-normalize.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-normalize.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-private.hh index 54ac2c3cf7c..54ac2c3cf7c 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape.cc index a0b503ab0f2..a0b503ab0f2 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape.h index 1402f54acc5..1402f54acc5 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-shape.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-shape.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-tag.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-tag.cc index 878dd79b62c..878dd79b62c 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-tag.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-tag.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-tag.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-tag.h index 1bf12ab3c09..1bf12ab3c09 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot-tag.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot-tag.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot.h index 47c92a58e4b..47c92a58e4b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ot.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ot.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-private.hh index 5a4ca69915e..80fd6c473c7 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-private.hh @@ -96,6 +96,8 @@ #if (defined(__WIN32__) && !defined(__WINE__)) || defined(_MSC_VER) #define snprintf _snprintf +/* Windows CE only has _strdup, while rest of Windows has both. */ +#define strdup _strdup #endif #ifdef _MSC_VER @@ -130,6 +132,39 @@ # define STRICT #endif +#ifdef _WIN32_WCE +/* Some things not defined on Windows CE. */ +#define MemoryBarrier() +#define getenv(Name) NULL +#define setlocale(Category, Locale) "C" +static int errno = 0; /* Use something better? */ +#endif + +#if HAVE_ATEXIT +/* atexit() is only safe to be called from shared libraries on certain + * platforms. Whitelist. + * https://bugs.freedesktop.org/show_bug.cgi?id=82246 */ +# if defined(__linux) && defined(__GLIBC_PREREQ) +# if __GLIBC_PREREQ(2,3) +/* From atexit() manpage, it's safe with glibc 2.2.3 on Linux. */ +# define HB_USE_ATEXIT 1 +# endif +# elif defined(_MSC_VER) || defined(__MINGW32__) +/* For MSVC: + * http://msdn.microsoft.com/en-ca/library/tze57ck3.aspx + * http://msdn.microsoft.com/en-ca/library/zk17ww08.aspx + * mingw32 headers say atexit is safe to use in shared libraries. + */ +# define HB_USE_ATEXIT 1 +# elif defined(__ANDROID__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) +/* This was fixed in Android NKD r8 or r8b: + * https://code.google.com/p/android/issues/detail?id=6455 + * which introduced GCC 4.6: + * https://developer.android.com/tools/sdk/ndk/index.html + */ +# define HB_USE_ATEXIT 1 +# endif +#endif /* Basics */ @@ -593,6 +628,15 @@ _hb_debug_msg_va (const char *what, unsigned int level, int level_dir, const char *message, + va_list ap) HB_PRINTF_FUNC(7, 0); +template <int max_level> static inline void +_hb_debug_msg_va (const char *what, + const void *obj, + const char *func, + bool indented, + unsigned int level, + int level_dir, + const char *message, va_list ap) { if (!_hb_debug (level, max_level)) @@ -815,7 +859,9 @@ hb_in_range (T u, T lo, T hi) * to generate a warning than unused variables. */ ASSERT_STATIC (sizeof (hb_assert_unsigned_t<T>) >= 0); - return (u - lo) <= (hi - lo); + /* The casts below are important as if T is smaller than int, + * the subtract results will become a signed int! */ + return (T)(u - lo) <= (T)(hi - lo); } template <typename T> static inline bool diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-set-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-set-private.hh index 705f554ce69..705f554ce69 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-set-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-set-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-set.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-set.cc index 59a0af46ed4..59a0af46ed4 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-set.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-set.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-set.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-set.h index bafdae96333..bafdae96333 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-set.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-set.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shape-plan-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-shape-plan-private.hh index 607da5e7791..607da5e7791 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shape-plan-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-shape-plan-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shape-plan.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-shape-plan.cc index 5ffc6b1362e..2166173f9e5 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shape-plan.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-shape-plan.cc @@ -29,6 +29,12 @@ #include "hb-font-private.hh" #include "hb-buffer-private.hh" + +#ifndef HB_DEBUG_SHAPE_PLAN +#define HB_DEBUG_SHAPE_PLAN (HB_DEBUG+0) +#endif + + #define HB_SHAPER_IMPLEMENT(shaper) \ HB_SHAPER_DATA_ENSURE_DECLARE(shaper, face) \ HB_SHAPER_DATA_ENSURE_DECLARE(shaper, font) @@ -42,6 +48,11 @@ hb_shape_plan_plan (hb_shape_plan_t *shape_plan, unsigned int num_user_features, const char * const *shaper_list) { + DEBUG_MSG_FUNC (SHAPE_PLAN, shape_plan, + "num_features=%d shaper_list=%p", + num_user_features, + shaper_list); + const hb_shaper_pair_t *shapers = _hb_shapers_get (); #define HB_SHAPER_PLAN(shaper) \ @@ -104,6 +115,12 @@ hb_shape_plan_create (hb_face_t *face, unsigned int num_user_features, const char * const *shaper_list) { + DEBUG_MSG_FUNC (SHAPE_PLAN, NULL, + "face=%p num_features=%d shaper_list=%p", + face, + num_user_features, + shaper_list); + hb_shape_plan_t *shape_plan; hb_feature_t *features = NULL; @@ -271,6 +288,11 @@ hb_shape_plan_execute (hb_shape_plan_t *shape_plan, const hb_feature_t *features, unsigned int num_features) { + DEBUG_MSG_FUNC (SHAPE_PLAN, shape_plan, + "num_features=%d shaper_func=%p", + num_features, + shape_plan->shaper_func); + if (unlikely (hb_object_is_inert (shape_plan) || hb_object_is_inert (font) || hb_object_is_inert (buffer))) @@ -383,6 +405,12 @@ hb_shape_plan_create_cached (hb_face_t *face, unsigned int num_user_features, const char * const *shaper_list) { + DEBUG_MSG_FUNC (SHAPE_PLAN, NULL, + "face=%p num_features=%d shaper_list=%p", + face, + num_user_features, + shaper_list); + hb_shape_plan_proposal_t proposal = { *props, shaper_list, @@ -392,25 +420,22 @@ hb_shape_plan_create_cached (hb_face_t *face, }; if (shaper_list) { - /* Choose shaper. Adapted from hb_shape_plan_plan(). */ -#define HB_SHAPER_PLAN(shaper) \ - HB_STMT_START { \ - if (hb_##shaper##_shaper_face_data_ensure (face)) \ - proposal.shaper_func = _hb_##shaper##_shape; \ - } HB_STMT_END - + /* Choose shaper. Adapted from hb_shape_plan_plan(). + * Must choose shaper exactly the same way as that function. */ for (const char * const *shaper_item = shaper_list; *shaper_item; shaper_item++) if (0) ; #define HB_SHAPER_IMPLEMENT(shaper) \ - else if (0 == strcmp (*shaper_item, #shaper)) \ - HB_SHAPER_PLAN (shaper); + else if (0 == strcmp (*shaper_item, #shaper) && \ + hb_##shaper##_shaper_face_data_ensure (face)) \ + { \ + proposal.shaper_func = _hb_##shaper##_shape; \ + break; \ + } #include "hb-shaper-list.hh" #undef HB_SHAPER_IMPLEMENT -#undef HB_SHAPER_PLAN - - if (unlikely (!proposal.shaper_list)) + if (unlikely (!proposal.shaper_func)) return hb_shape_plan_get_empty (); } @@ -419,7 +444,10 @@ retry: hb_face_t::plan_node_t *cached_plan_nodes = (hb_face_t::plan_node_t *) hb_atomic_ptr_get (&face->shape_plans); for (hb_face_t::plan_node_t *node = cached_plan_nodes; node; node = node->next) if (hb_shape_plan_matches (node->shape_plan, &proposal)) + { + DEBUG_MSG_FUNC (SHAPE_PLAN, node->shape_plan, "fulfilled from cache"); return hb_shape_plan_reference (node->shape_plan); + } /* Not found. */ @@ -442,6 +470,7 @@ retry: free (node); goto retry; } + DEBUG_MSG_FUNC (SHAPE_PLAN, shape_plan, "inserted into cache"); return hb_shape_plan_reference (shape_plan); } diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shape-plan.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-shape-plan.h index 8f54552f90b..8f54552f90b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shape-plan.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-shape-plan.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shape.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-shape.cc index 812cf5919be..74747f88b89 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shape.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-shape.cc @@ -320,7 +320,7 @@ retry: goto retry; } -#ifdef HAVE_ATEXIT +#ifdef HB_USE_ATEXIT atexit (free_static_shaper_list); /* First person registers atexit() callback. */ #endif } diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shape.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-shape.h index 10a35cb517e..10a35cb517e 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shape.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-shape.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shaper-impl-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-shaper-impl-private.hh index 7844081e95b..7844081e95b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shaper-impl-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-shaper-impl-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shaper-list.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-shaper-list.hh index 6c537d49215..6c537d49215 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shaper-list.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-shaper-list.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shaper-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-shaper-private.hh index 29c4493943d..29c4493943d 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shaper-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-shaper-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shaper.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-shaper.cc index 44f718aa702..6ae26013821 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-shaper.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-shaper.cc @@ -100,7 +100,7 @@ retry: goto retry; } -#ifdef HAVE_ATEXIT +#ifdef HB_USE_ATEXIT atexit (free_static_shapers); /* First person registers atexit() callback. */ #endif } diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ucdn.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ucdn.cc index 5b53821f923..5b53821f923 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-ucdn.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-ucdn.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-unicode-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-unicode-private.hh index a2c59da274a..a2c59da274a 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-unicode-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-unicode-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-unicode.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-unicode.cc index d59dfb24572..d59dfb24572 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-unicode.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-unicode.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-unicode.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-unicode.h index 1c4e097b92d..1c4e097b92d 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-unicode.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-unicode.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-uniscribe.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-uniscribe.cc index 6bf87a5f45b..74ae3a39481 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-uniscribe.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-uniscribe.cc @@ -245,7 +245,7 @@ retry: goto retry; } -#ifdef HAVE_ATEXIT +#ifdef HB_USE_ATEXIT atexit (free_uniscribe_funcs); /* First person registers atexit() callback. */ #endif } @@ -903,8 +903,7 @@ retry: FAIL ("ScriptShapeOpenType() set fNoGlyphIndex"); if (unlikely (hr == E_OUTOFMEMORY)) { - buffer->ensure (buffer->allocated * 2); - if (buffer->in_error) + if (unlikely (!buffer->ensure (buffer->allocated * 2))) FAIL ("Buffer resize failed"); goto retry; } @@ -973,8 +972,7 @@ retry: #undef utf16_index - buffer->ensure (glyphs_len); - if (buffer->in_error) + if (unlikely (!buffer->ensure (glyphs_len))) FAIL ("Buffer in error"); #undef FAIL diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-uniscribe.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-uniscribe.h index 001ab38ea87..001ab38ea87 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-uniscribe.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-uniscribe.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-utf-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-utf-private.hh index 0b798a05c30..0b798a05c30 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-utf-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-utf-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-version.h.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-version.h.in index 2517160d18b..2517160d18b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-version.h.in +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-version.h.in diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-warning.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-warning.cc index e0f88e2d4ad..e0f88e2d4ad 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb-warning.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb-warning.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb.h index c5a938a3818..c5a938a3818 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/hb.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/hb.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/main.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/main.cc index f9708cc948e..f9708cc948e 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/main.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/main.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/test-buffer-serialize.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/test-buffer-serialize.cc index 18c46e9524b..18c46e9524b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/test-buffer-serialize.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/test-buffer-serialize.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/test-size-params.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/test-size-params.cc index 35d9e3c8e25..35d9e3c8e25 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/test-size-params.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/test-size-params.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/test-would-substitute.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/test-would-substitute.cc index 8ea87cdf397..8ea87cdf397 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/test-would-substitute.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/test-would-substitute.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/test.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/test.cc index a8fe046f34c..a8fe046f34c 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.34/src/test.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.35/src/test.cc diff --git a/Build/source/libs/harfbuzz/version.ac b/Build/source/libs/harfbuzz/version.ac index 8e94cbcd496..cb9d1b839bf 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.34]) +m4_define([harfbuzz_version], [0.9.35]) |