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