diff options
author | Peter Breitenlohner <peb@mppmu.mpg.de> | 2014-01-31 09:16:15 +0000 |
---|---|---|
committer | Peter Breitenlohner <peb@mppmu.mpg.de> | 2014-01-31 09:16:15 +0000 |
commit | 0aa2304636143cf73b6718e82646736aa7dc5f10 (patch) | |
tree | 5096a2d5f16670c8001f7ab7c35118e8ea7d6c94 | |
parent | 413cdef969440005d01da2c407b2c700db4592ff (diff) |
harfbuzz 0.9.26
git-svn-id: svn://tug.org/texlive/trunk@32830 c570f23f-e606-0410-a88d-b1316a301751
-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.am | 5 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/Makefile.in | 22 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/configure | 32 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26-PATCHES/ChangeLog (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25-PATCHES/ChangeLog) | 5 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26-PATCHES/TL-Changes (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25-PATCHES/TL-Changes) | 2 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/AUTHORS (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/AUTHORS) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/Android.mk (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/Android.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/ChangeLog (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/ChangeLog) | 514 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/Makefile.am (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/Makefile.am) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/NEWS (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/NEWS) | 20 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/README (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/README) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/THANKS (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/THANKS) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/TODO (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/TODO) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.26/autogen.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/autogen.sh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/config.h.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/config.h.in) | 3 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/configure.ac (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/configure.ac) | 11 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/gtk-doc.make (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/gtk-doc.make) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/harfbuzz.doap (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/harfbuzz.doap) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/Makefile.am (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/Makefile.am) | 9 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/check-c-linkage-decls.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-c-linkage-decls.sh) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/check-defs.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-defs.sh) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/check-header-guards.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-header-guards.sh) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/check-includes.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-includes.sh) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/check-libstdc++.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-libstdc++.sh) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/check-static-inits.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-static-inits.sh) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/check-symbols.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-symbols.sh) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/gen-arabic-table.py (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/gen-arabic-table.py) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/gen-indic-table.py (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/gen-indic-table.py) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/harfbuzz-gobject.pc.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/harfbuzz-gobject.pc.in) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/harfbuzz-icu.pc.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/harfbuzz-icu.pc.in) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/harfbuzz.pc.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/harfbuzz.pc.in) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-atomic-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-atomic-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-blob.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-blob.cc) | 1 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-blob.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-blob.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-buffer-deserialize-json.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-deserialize-json.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-buffer-deserialize-json.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-deserialize-json.rl) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-buffer-deserialize-text.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-deserialize-text.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-buffer-deserialize-text.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-deserialize-text.rl) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-buffer-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-private.hh) | 1 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-buffer-serialize.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-serialize.cc) | 2 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-buffer.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-buffer.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-cache-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-cache-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-common.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-common.cc) | 2 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-common.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-common.h) | 8 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-coretext.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-coretext.cc) | 22 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-coretext.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-coretext.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-deprecated.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-deprecated.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-face-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-face-private.hh) | 1 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-face.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-face.cc) | 1 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-face.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-face.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-fallback-shape.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-fallback-shape.cc) | 5 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-font-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-font-private.hh) | 7 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-font.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-font.cc) | 1 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-font.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-font.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ft.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ft.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ft.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ft.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-glib.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-glib.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-glib.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-glib.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-gobject-enums.cc.tmpl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-gobject-enums.cc.tmpl) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-gobject-enums.h.tmpl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-gobject-enums.h.tmpl) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-gobject-structs.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-gobject-structs.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-gobject-structs.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-gobject-structs.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-gobject.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-gobject.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-graphite2.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-graphite2.cc) | 4 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-graphite2.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-graphite2.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-icu.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-icu.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-icu.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-icu.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-mutex-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-mutex-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-object-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-object-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-open-file-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-open-file-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-open-type-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-open-type-private.hh) | 4 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-head-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-head-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-hhea-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-hhea-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-hmtx-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-hmtx-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-layout-common-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-common-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-layout-gdef-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-gdef-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-layout-gpos-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-gpos-table.hh) | 28 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-layout-gsub-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-gsub-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-layout-gsubgpos-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-gsubgpos-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-layout-jstf-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-jstf-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-layout-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-private.hh) | 2 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-layout.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-layout.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout.h) | 5 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-map-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-map-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-map.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-map.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-maxp-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-maxp-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-name-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-name-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-arabic-fallback.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-arabic-fallback.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-arabic-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-arabic-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-arabic.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-arabic.cc) | 3 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-default.cc | 44 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-hangul.cc | 417 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-hebrew.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-default.cc) | 74 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-indic-machine.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-indic-machine.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-indic-machine.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-indic-machine.rl) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-indic-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-indic-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-indic-table.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-indic-table.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-indic.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-indic.cc) | 8 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-myanmar-machine.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-myanmar-machine.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-myanmar-machine.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-myanmar-machine.rl) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-myanmar.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-myanmar.cc) | 9 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-private.hh) | 38 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-sea-machine.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-sea-machine.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-sea-machine.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-sea-machine.rl) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-sea.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-sea.cc) | 9 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-thai.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-thai.cc) | 4 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-tibetan.cc | 61 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-fallback-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-fallback-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-fallback.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-fallback.cc) | 6 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-normalize-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-normalize-private.hh) | 3 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-normalize.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-normalize.cc) | 36 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-private.hh) | 15 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape.cc) | 58 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape.h | 54 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-tag.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-tag.cc) | 1 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-tag.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-tag.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot.h) | 9 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-private.hh) | 6 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-set-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-set-private.hh) | 1 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-set.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-set.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-set.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-set.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-shape-plan-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shape-plan-private.hh) | 1 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-shape-plan.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shape-plan.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-shape-plan.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shape-plan.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-shape.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shape.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-shape.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shape.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-shaper-impl-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shaper-impl-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-shaper-list.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shaper-list.hh) | 2 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-shaper-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shaper-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-shaper.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shaper.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-tt-font.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-tt-font.cc) | 2 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ucdn.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ucdn.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-unicode-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-unicode-private.hh) | 23 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-unicode.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-unicode.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-unicode.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-unicode.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-uniscribe.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-uniscribe.cc) | 17 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-uniscribe.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-uniscribe.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-utf-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-utf-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-version.h.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-version.h.in) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-warning.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-warning.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/main.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/main.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/test-buffer-serialize.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/test-buffer-serialize.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/test-size-params.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/test-size-params.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/test-would-substitute.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/test-would-substitute.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/test.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/test.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/include/Makefile.am | 3 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/include/Makefile.in | 4 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/version.ac | 4 |
152 files changed, 1399 insertions, 237 deletions
diff --git a/Build/source/libs/README b/Build/source/libs/README index de3aeea1092..80b0b152232 100644 --- a/Build/source/libs/README +++ b/Build/source/libs/README @@ -21,7 +21,7 @@ gd 2.1.0 - checked 26jun13 graphite2 1.2.4 - checked 2dec13 http://sourceforge.net/projects/silgraphite/files/graphite2/ -harfbuzz 0.9.25 - checked 5dec13 +harfbuzz 0.9.26 - checked 31jan14 http://www.freedesktop.org/software/harfbuzz/release/ icu 52.1 (release) - checked 10oct13 diff --git a/Build/source/libs/harfbuzz/ChangeLog b/Build/source/libs/harfbuzz/ChangeLog index d2a70fe9218..13374c48859 100644 --- a/Build/source/libs/harfbuzz/ChangeLog +++ b/Build/source/libs/harfbuzz/ChangeLog @@ -1,3 +1,8 @@ +2014-01-31 Peter Breitenlohner <peb@mppmu.mpg.de> + + Import harfbuzz-0.9.26. + * version.ac, Makefile.am, include/Makefile.am: Adjust. + 2013-12-05 Peter Breitenlohner <peb@mppmu.mpg.de> Import harfbuzz-0.9.25. diff --git a/Build/source/libs/harfbuzz/Makefile.am b/Build/source/libs/harfbuzz/Makefile.am index 05e85b62f00..0f53579e1c6 100644 --- a/Build/source/libs/harfbuzz/Makefile.am +++ b/Build/source/libs/harfbuzz/Makefile.am @@ -1,6 +1,6 @@ ## Proxy Makefile.am to build harfbuzz for TeX Live. ## -## Copyright (C) 2012, 2013 Peter Breitenlohner <tex-live@tug.org> +## Copyright (C) 2012-2014 Peter Breitenlohner <tex-live@tug.org> ## ## This file is free software; the copyright holder ## gives unlimited permission to copy and/or distribute it, @@ -88,6 +88,8 @@ libharfbuzz_a_SOURCES += \ @HARFBUZZ_TREE@/src/hb-ot-shape-complex-arabic-fallback.hh \ @HARFBUZZ_TREE@/src/hb-ot-shape-complex-arabic-table.hh \ @HARFBUZZ_TREE@/src/hb-ot-shape-complex-default.cc \ + @HARFBUZZ_TREE@/src/hb-ot-shape-complex-hangul.cc \ + @HARFBUZZ_TREE@/src/hb-ot-shape-complex-hebrew.cc \ @HARFBUZZ_TREE@/src/hb-ot-shape-complex-indic.cc \ @HARFBUZZ_TREE@/src/hb-ot-shape-complex-indic-machine.hh \ @HARFBUZZ_TREE@/src/hb-ot-shape-complex-indic-private.hh \ @@ -97,6 +99,7 @@ libharfbuzz_a_SOURCES += \ @HARFBUZZ_TREE@/src/hb-ot-shape-complex-sea.cc \ @HARFBUZZ_TREE@/src/hb-ot-shape-complex-sea-machine.hh \ @HARFBUZZ_TREE@/src/hb-ot-shape-complex-thai.cc \ + @HARFBUZZ_TREE@/src/hb-ot-shape-complex-tibetan.cc \ @HARFBUZZ_TREE@/src/hb-ot-shape-complex-private.hh \ @HARFBUZZ_TREE@/src/hb-ot-shape-normalize-private.hh \ @HARFBUZZ_TREE@/src/hb-ot-shape-normalize.cc \ diff --git a/Build/source/libs/harfbuzz/Makefile.in b/Build/source/libs/harfbuzz/Makefile.in index d9ab5b188b4..da481929cec 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.25/src/hb-version.h.in \ + $(top_srcdir)/harfbuzz-0.9.26/src/hb-version.h.in \ $(am__dist_check_SCRIPTS_DIST) \ $(top_srcdir)/../../build-aux/depcomp \ $(top_srcdir)/../../build-aux/test-driver ChangeLog \ @@ -145,11 +145,14 @@ am_libharfbuzz_a_OBJECTS = @HARFBUZZ_TREE@/src/hb-blob.$(OBJEXT) \ @HARFBUZZ_TREE@/src/hb-ot-shape.$(OBJEXT) \ @HARFBUZZ_TREE@/src/hb-ot-shape-complex-arabic.$(OBJEXT) \ @HARFBUZZ_TREE@/src/hb-ot-shape-complex-default.$(OBJEXT) \ + @HARFBUZZ_TREE@/src/hb-ot-shape-complex-hangul.$(OBJEXT) \ + @HARFBUZZ_TREE@/src/hb-ot-shape-complex-hebrew.$(OBJEXT) \ @HARFBUZZ_TREE@/src/hb-ot-shape-complex-indic.$(OBJEXT) \ @HARFBUZZ_TREE@/src/hb-ot-shape-complex-indic-table.$(OBJEXT) \ @HARFBUZZ_TREE@/src/hb-ot-shape-complex-myanmar.$(OBJEXT) \ @HARFBUZZ_TREE@/src/hb-ot-shape-complex-sea.$(OBJEXT) \ @HARFBUZZ_TREE@/src/hb-ot-shape-complex-thai.$(OBJEXT) \ + @HARFBUZZ_TREE@/src/hb-ot-shape-complex-tibetan.$(OBJEXT) \ @HARFBUZZ_TREE@/src/hb-ot-shape-normalize.$(OBJEXT) \ @HARFBUZZ_TREE@/src/hb-ot-shape-fallback.$(OBJEXT) \ @HARFBUZZ_TREE@/src/hb-icu.$(OBJEXT) \ @@ -682,6 +685,8 @@ libharfbuzz_a_SOURCES = @HARFBUZZ_TREE@/src/hb-atomic-private.hh \ @HARFBUZZ_TREE@/src/hb-ot-shape-complex-arabic-fallback.hh \ @HARFBUZZ_TREE@/src/hb-ot-shape-complex-arabic-table.hh \ @HARFBUZZ_TREE@/src/hb-ot-shape-complex-default.cc \ + @HARFBUZZ_TREE@/src/hb-ot-shape-complex-hangul.cc \ + @HARFBUZZ_TREE@/src/hb-ot-shape-complex-hebrew.cc \ @HARFBUZZ_TREE@/src/hb-ot-shape-complex-indic.cc \ @HARFBUZZ_TREE@/src/hb-ot-shape-complex-indic-machine.hh \ @HARFBUZZ_TREE@/src/hb-ot-shape-complex-indic-private.hh \ @@ -691,6 +696,7 @@ libharfbuzz_a_SOURCES = @HARFBUZZ_TREE@/src/hb-atomic-private.hh \ @HARFBUZZ_TREE@/src/hb-ot-shape-complex-sea.cc \ @HARFBUZZ_TREE@/src/hb-ot-shape-complex-sea-machine.hh \ @HARFBUZZ_TREE@/src/hb-ot-shape-complex-thai.cc \ + @HARFBUZZ_TREE@/src/hb-ot-shape-complex-tibetan.cc \ @HARFBUZZ_TREE@/src/hb-ot-shape-complex-private.hh \ @HARFBUZZ_TREE@/src/hb-ot-shape-normalize-private.hh \ @HARFBUZZ_TREE@/src/hb-ot-shape-normalize.cc \ @@ -771,7 +777,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.25/src/hb-version.h.in +hb-version.h: $(top_builddir)/config.status $(top_srcdir)/harfbuzz-0.9.26/src/hb-version.h.in cd $(top_builddir) && $(SHELL) ./config.status $@ clean-noinstLIBRARIES: @@ -842,6 +848,12 @@ clean-noinstLIBRARIES: @HARFBUZZ_TREE@/src/hb-ot-shape-complex-default.$(OBJEXT): \ @HARFBUZZ_TREE@/src/$(am__dirstamp) \ @HARFBUZZ_TREE@/src/$(DEPDIR)/$(am__dirstamp) +@HARFBUZZ_TREE@/src/hb-ot-shape-complex-hangul.$(OBJEXT): \ + @HARFBUZZ_TREE@/src/$(am__dirstamp) \ + @HARFBUZZ_TREE@/src/$(DEPDIR)/$(am__dirstamp) +@HARFBUZZ_TREE@/src/hb-ot-shape-complex-hebrew.$(OBJEXT): \ + @HARFBUZZ_TREE@/src/$(am__dirstamp) \ + @HARFBUZZ_TREE@/src/$(DEPDIR)/$(am__dirstamp) @HARFBUZZ_TREE@/src/hb-ot-shape-complex-indic.$(OBJEXT): \ @HARFBUZZ_TREE@/src/$(am__dirstamp) \ @HARFBUZZ_TREE@/src/$(DEPDIR)/$(am__dirstamp) @@ -857,6 +869,9 @@ clean-noinstLIBRARIES: @HARFBUZZ_TREE@/src/hb-ot-shape-complex-thai.$(OBJEXT): \ @HARFBUZZ_TREE@/src/$(am__dirstamp) \ @HARFBUZZ_TREE@/src/$(DEPDIR)/$(am__dirstamp) +@HARFBUZZ_TREE@/src/hb-ot-shape-complex-tibetan.$(OBJEXT): \ + @HARFBUZZ_TREE@/src/$(am__dirstamp) \ + @HARFBUZZ_TREE@/src/$(DEPDIR)/$(am__dirstamp) @HARFBUZZ_TREE@/src/hb-ot-shape-normalize.$(OBJEXT): \ @HARFBUZZ_TREE@/src/$(am__dirstamp) \ @HARFBUZZ_TREE@/src/$(DEPDIR)/$(am__dirstamp) @@ -904,11 +919,14 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@@HARFBUZZ_TREE@/src/$(DEPDIR)/hb-ot-map.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@@HARFBUZZ_TREE@/src/$(DEPDIR)/hb-ot-shape-complex-arabic.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@@HARFBUZZ_TREE@/src/$(DEPDIR)/hb-ot-shape-complex-default.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@@HARFBUZZ_TREE@/src/$(DEPDIR)/hb-ot-shape-complex-hangul.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@@HARFBUZZ_TREE@/src/$(DEPDIR)/hb-ot-shape-complex-hebrew.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@@HARFBUZZ_TREE@/src/$(DEPDIR)/hb-ot-shape-complex-indic-table.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@@HARFBUZZ_TREE@/src/$(DEPDIR)/hb-ot-shape-complex-indic.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@@HARFBUZZ_TREE@/src/$(DEPDIR)/hb-ot-shape-complex-myanmar.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@@HARFBUZZ_TREE@/src/$(DEPDIR)/hb-ot-shape-complex-sea.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@@HARFBUZZ_TREE@/src/$(DEPDIR)/hb-ot-shape-complex-thai.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@@HARFBUZZ_TREE@/src/$(DEPDIR)/hb-ot-shape-complex-tibetan.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@@HARFBUZZ_TREE@/src/$(DEPDIR)/hb-ot-shape-fallback.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@@HARFBUZZ_TREE@/src/$(DEPDIR)/hb-ot-shape-normalize.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@@HARFBUZZ_TREE@/src/$(DEPDIR)/hb-ot-shape.Po@am__quote@ diff --git a/Build/source/libs/harfbuzz/configure b/Build/source/libs/harfbuzz/configure index 5026c2f4a05..5ee9b63bb00 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.25. +# Generated by GNU Autoconf 2.69 for harfbuzz (TeX Live) 0.9.26. # # 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.25' -PACKAGE_STRING='harfbuzz (TeX Live) 0.9.25' +PACKAGE_VERSION='0.9.26' +PACKAGE_STRING='harfbuzz (TeX Live) 0.9.26' PACKAGE_BUGREPORT='tex-k@tug.org' PACKAGE_URL='' -ac_unique_file="harfbuzz-0.9.25/src/harfbuzz.pc.in" +ac_unique_file="harfbuzz-0.9.26/src/harfbuzz.pc.in" # Factoring default headers for most tests. ac_includes_default="\ #include <stdio.h> @@ -1324,7 +1324,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.25 to adapt to many kinds of systems. +\`configure' configures harfbuzz (TeX Live) 0.9.26 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1395,7 +1395,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of harfbuzz (TeX Live) 0.9.25:";; + short | recursive ) echo "Configuration of harfbuzz (TeX Live) 0.9.26:";; esac cat <<\_ACEOF @@ -1508,7 +1508,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -harfbuzz (TeX Live) configure 0.9.25 +harfbuzz (TeX Live) configure 0.9.26 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1915,7 +1915,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.25, which was +It was created by harfbuzz (TeX Live) $as_me 0.9.26, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3838,7 +3838,7 @@ fi # Define the identity of the package. PACKAGE='harfbuzz--tex-live-' - VERSION='0.9.25' + VERSION='0.9.26' cat >>confdefs.h <<_ACEOF @@ -4040,8 +4040,8 @@ WARNING_CFLAGS=$kpse_cv_warning_cflags HB_VERSION_MAJOR=0 HB_VERSION_MINOR=9 -HB_VERSION_MICRO=25 -HB_VERSION=0.9.25 +HB_VERSION_MICRO=26 +HB_VERSION=0.9.26 ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -6408,14 +6408,14 @@ $as_echo "#define HAVE_INTEL_ATOMIC_PRIMITIVES 1" >>confdefs.h fi -HARFBUZZ_TREE=harfbuzz-0.9.25 +HARFBUZZ_TREE=harfbuzz-0.9.26 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.25/src/hb-version.h.in" +ac_config_files="$ac_config_files Makefile include/Makefile hb-version.h:harfbuzz-0.9.26/src/hb-version.h.in" cat >confcache <<\_ACEOF @@ -6964,7 +6964,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.25, which was +This file was extended by harfbuzz (TeX Live) $as_me 0.9.26, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -7030,7 +7030,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.25 +harfbuzz (TeX Live) config.status 0.9.26 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -7163,7 +7163,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.25/src/hb-version.h.in" ;; + "hb-version.h") CONFIG_FILES="$CONFIG_FILES hb-version.h:harfbuzz-0.9.26/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.25-PATCHES/ChangeLog b/Build/source/libs/harfbuzz/harfbuzz-0.9.26-PATCHES/ChangeLog index c64bf424723..d5a0a27de62 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25-PATCHES/ChangeLog +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26-PATCHES/ChangeLog @@ -1,3 +1,8 @@ +2014-01-31 Peter Breitenlohner <peb@mppmu.mpg.de> + + Imported harfbuzz-0.9.26 source tree from: + http://www.freedesktop.org/software/harfbuzz/release/ + 2013-12-05 Peter Breitenlohner <peb@mppmu.mpg.de> Imported harfbuzz-0.9.25 source tree from: diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25-PATCHES/TL-Changes b/Build/source/libs/harfbuzz/harfbuzz-0.9.26-PATCHES/TL-Changes index 2759520305f..a2254b534d9 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25-PATCHES/TL-Changes +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26-PATCHES/TL-Changes @@ -1,4 +1,4 @@ -Changes applied to the harfbuzz-0.9.25/ tree as obtained from: +Changes applied to the harfbuzz-0.9.26/ tree as obtained from: http://www.freedesktop.org/software/harfbuzz/release/ Removed: diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/AUTHORS b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/AUTHORS index c611d7d4769..c611d7d4769 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/AUTHORS +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/AUTHORS diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/Android.mk b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/Android.mk index 757d136e509..757d136e509 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/Android.mk +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/Android.mk diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/ChangeLog b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/ChangeLog index 368ad05ee06..6a76f581fe8 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/ChangeLog +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/ChangeLog @@ -1,3 +1,517 @@ +commit 189bf23bfc90405d8bdc70bf3d6d3ffec38b470c +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jan 30 15:14:58 2014 -0500 + + 0.9.26 + + NEWS | 20 ++++++++++++++++++++ + configure.ac | 2 +- + 2 files changed, 21 insertions(+), 1 deletion(-) + +commit 7691a154e50f8c8c77bbd94787686262955bf5d4 +Author: Jonathan Kew <jfkthame@gmail.com> +Date: Wed Jan 29 14:07:58 2014 +0000 + + Ensure hb_script_t can safely hold any hb_tag_t value it's given. + + Fixes https://github.com/behdad/harfbuzz/pull/21 + + src/hb-common.h | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +commit c29993a181c2139eaec97b5f6225824040ca3ac9 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Jan 28 17:29:42 2014 -0500 + + [coretext] Handle surrogate pairs when generating notdef glyphs + + Fixes github.com/behdad/harfbuzz/pull/19 + + src/hb-coretext.cc | 18 ++++++++++++++---- + 1 file changed, 14 insertions(+), 4 deletions(-) + +commit 748b2782e4898420003a3bbc041dcccbe9e3edc2 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Jan 28 17:10:05 2014 -0500 + + [coretext] Minor optimization + + src/hb-coretext.cc | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +commit 24e6b11f12788500182715a64d4771a22c5b7525 +Author: Konstantin Ritt <ritt.ks@gmail.com> +Date: Tue Jan 28 18:16:01 2014 +0200 + + Fix double destruction in case of OOM + + src/hb-graphite2.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 083225916a19f6d67017523af87386933bd9ecdc +Author: Konstantin Ritt <ritt.ks@gmail.com> +Date: Wed Jan 22 20:31:30 2014 +0200 + + Micro optimizations + + src/hb-ot-layout-gpos-table.hh | 28 +++++++++++++++++----------- + 1 file changed, 17 insertions(+), 11 deletions(-) + +commit c9522de2335e4ef5fe65a72745c10943827a8da2 +Author: Konstantin Ritt <ritt.ks@gmail.com> +Date: Wed Jan 22 21:07:13 2014 +0200 + + Make it possible to disable the fallback shaper at configure time + + The OT shaper supersedes the fallback shaper in every case + and the latter become an extra weight for 99.9% of users. + + configure.ac | 6 ++++++ + src/Makefile.am | 5 ++++- + src/hb-shaper-list.hh | 2 ++ + 3 files changed, 12 insertions(+), 1 deletion(-) + +commit 6775da3a7c07db6c032cf429dc199d471948db56 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jan 23 14:18:49 2014 -0500 + + Fix clang warning 'private field 'xxx' is not used + + Fixes https://github.com/behdad/harfbuzz/pull/16 + + src/hb-open-type-private.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 62299826f4905e080b9497bce335e093b287494e +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jan 23 14:11:03 2014 -0500 + + Fix typo in _hb_buffer_serialize_glyphs_text() + + Fixes https://github.com/behdad/harfbuzz/pull/17 + + src/hb-buffer-serialize.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit ae23c24c32f474a34484ee78bc177ad31fa5e6d0 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Jan 22 11:03:02 2014 -0500 + + [arabic] Disable 'cswh' by default + + I believe Windows 8 disables it, and spec update dated + Jan 2014 also clearly says it's disabled by default: + + http://www.microsoft.com/typography/OpenTypeDev/arabic/intro.htm#features + + src/hb-ot-shape-complex-arabic.cc | 1 - + 1 file changed, 1 deletion(-) + +commit 08cf5d75ef0c75095173dec822ccb07defaaa6c2 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Jan 22 07:53:55 2014 -0500 + + [ot] Don't try to compose if normalization is off + + src/hb-ot-shape-normalize.cc | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 0596343bfeb80ad6b19d459654edf7dfded6affe +Merge: 62cb28d 83d7e79 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Jan 22 04:43:51 2014 -0800 + + Merge pull request #13 from jfkthame/hangul-shaper + + Tone-mark reordering and improved Old Hangul support + +commit 62cb28dfc668cae9cbff826229bde2271e157927 +Author: Jonathan Kew <jfkthame@gmail.com> +Date: Mon Jan 20 14:23:08 2014 +0000 + + fixup for 64-bit windows build + + src/hb-uniscribe.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 83d7e7915a5eaa8ff4c7014c319844e7dffd8225 +Author: Jonathan Kew <jfkthame@gmail.com> +Date: Mon Jan 20 19:49:47 2014 +0000 + + [hangul] Fix ordering of dotted circle with Hangul tone mark (reported + by Dohyun Kim). + + src/hb-ot-shape-complex-hangul.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit deef1862657d55b7ae8d45f4eecbe45c80785c4e +Author: Jonathan Kew <jfkthame@gmail.com> +Date: Mon Jan 20 10:38:27 2014 +0000 + + [hangul] Don't force zero-width for marks - this is not wanted for + the Jamo Filler glyphs. + + src/hb-ot-shape-complex-hangul.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 391934db0a171aeb2057ebcd4a38ed81621e7393 +Author: Jonathan Kew <jfkthame@gmail.com> +Date: Mon Jan 20 10:37:32 2014 +0000 + + [unicode] Exclude the Jamo Filler characters from Default_Ignorable, + as some fonts want these to be visible/spacing glyphs. + + src/hb-unicode-private.hh | 15 +++++++-------- + 1 file changed, 7 insertions(+), 8 deletions(-) + +commit 7244b3fc3bf9757dd094709d36bea68682264e20 +Author: Jonathan Kew <jfkthame@gmail.com> +Date: Mon Jan 20 10:35:51 2014 +0000 + + [hangul] Reorder Hangul tone mark to beginning of syllable, unless + font implements it using a zero-width glyph. + + src/hb-ot-shape-complex-hangul.cc | 59 + ++++++++++++++++++++++++++++++++++++++- + 1 file changed, 58 insertions(+), 1 deletion(-) + +commit 103436838df3a77552d3d33fc4bd80f09d9bf079 +Author: Jonathan Kew <jfkthame@gmail.com> +Date: Mon Jan 20 10:35:07 2014 +0000 + + [hangul] Apply the appropriate *jmo features to decomposed + syllables, including Old Hangul sequences that don't have Unicode + compositions. Merge clusters in decomposed syllables. + + src/hb-ot-shape-complex-hangul.cc | 197 + +++++++++++++++++++++++++++++++------- + 1 file changed, 165 insertions(+), 32 deletions(-) + +commit 8fc1f7fe74a25bf8549f5edd79c7da6b720eb064 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jan 2 17:04:04 2014 +0800 + + [ot/hangul] Don't decompose Hangul even when combining marks present + + As discussed on + https://github.com/behdad/harfbuzz/pull/10#issuecomment-31442030 + + src/hb-ot-shape-complex-hangul.cc | 2 +- + src/hb-ot-shape-normalize-private.hh | 1 + + src/hb-ot-shape-normalize.cc | 24 +++++++++++++----------- + 3 files changed, 15 insertions(+), 12 deletions(-) + +commit 64426ec73a987bfe1e71a293ee195f268897e8d6 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jan 2 14:33:10 2014 +0800 + + [ot] Simplify composing + + Not tested. Ouch. + + src/hb-ot-shape-normalize.cc | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit 8de20b1e8a1c4d2081f64e695045e6e4da7ce144 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jan 2 14:30:45 2014 +0800 + + Add font->has_glyph() + + src/hb-font-private.hh | 6 ++++++ + src/hb-ot-shape-complex-hangul.cc | 14 ++++++-------- + src/hb-ot-shape.cc | 3 +-- + 3 files changed, 13 insertions(+), 10 deletions(-) + +commit f6298e55ae0f0f23f66935226f78afb98320ea78 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jan 2 14:23:56 2014 +0800 + + [fallback] Minor + + src/hb-fallback-shape.cc | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +commit 29ea403d67e29c2d531c1f613ce3d69e60f078f6 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jan 2 14:20:00 2014 +0800 + + [hangul] Fix decomposition logic + + Seems to be working now. + + src/hb-ot-shape-complex-hangul.cc | 19 ++++++++----------- + 1 file changed, 8 insertions(+), 11 deletions(-) + +commit bdb20dafc3f737923da3dca0c832fdf4ab8daabc +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jan 2 14:04:30 2014 +0800 + + [hangul] Fix decomposition + + Part of https://github.com/behdad/harfbuzz/pull/10 + + src/hb-ot-shape-complex-hangul.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 32478656ce6e7926c3ad481511f02187ca743af6 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Jan 2 14:01:56 2014 +0800 + + [hangul] Tighten up character categories + + I had tried to expand to fill the blocks, but that sounds wrong in + retrospect. + + src/hb-ot-shape-complex-hangul.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit f14bb7de631b20e2868fb62e5311cd0d9e24bb49 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Dec 31 16:49:15 2013 +0800 + + [ot] Separate out hebrew and tibetan shapers from default + + Now default shaper is truly no-op. + + src/Makefile.am | 2 + + src/hb-ot-shape-complex-default.cc | 161 + +--------------------------------- + src/hb-ot-shape-complex-hebrew.cc | 172 + +++++++++++++++++++++++++++++++++++++ + src/hb-ot-shape-complex-private.hh | 17 +++- + src/hb-ot-shape-complex-tibetan.cc | 61 +++++++++++++ + 5 files changed, 251 insertions(+), 162 deletions(-) + +commit 6300cd72539284ca294ee8286bbbb7f9c72af320 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Dec 31 16:38:47 2013 +0800 + + [ot] Define HB_OT_SHAPE_ZERO_WIDTH_MARKS_DEFAULT + + src/hb-ot-shape-complex-default.cc | 2 +- + src/hb-ot-shape-complex-hangul.cc | 2 +- + src/hb-ot-shape-complex-private.hh | 4 +++- + src/hb-ot-shape-complex-thai.cc | 2 +- + 4 files changed, 6 insertions(+), 4 deletions(-) + +commit 3d6ca0d32e5c6597acfcf59301cb1905586ddb52 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Dec 31 16:04:35 2013 +0800 + + [ot] Simplify normalization_preference again + + No shaper has more than one behavior re this, so no need for + a callback. + + src/hb-ot-shape-complex-arabic.cc | 2 +- + src/hb-ot-shape-complex-default.cc | 8 +------- + src/hb-ot-shape-complex-hangul.cc | 2 +- + src/hb-ot-shape-complex-indic.cc | 8 +------- + src/hb-ot-shape-complex-myanmar.cc | 9 +-------- + src/hb-ot-shape-complex-private.hh | 7 +------ + src/hb-ot-shape-complex-sea.cc | 9 +-------- + src/hb-ot-shape-complex-thai.cc | 2 +- + src/hb-ot-shape-normalize.cc | 4 +--- + 9 files changed, 9 insertions(+), 42 deletions(-) + +commit c98b7183f7dc453d5bac1f2503017cded317a495 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Dec 31 15:55:40 2013 +0800 + + [ot] Add Hangul shaper + + Not exhaustively tested, but I think I got the intended logic + right. + + The logic can perhaps be simplified. Maybe we should disabled + normalization with this shaper. Then again, for now focusing on + correctness. + + src/Makefile.am | 1 + + src/hb-ot-shape-complex-default.cc | 13 --- + src/hb-ot-shape-complex-hangul.cc | 232 + +++++++++++++++++++++++++++++++++++++ + src/hb-ot-shape-complex-private.hh | 10 +- + src/hb-private.hh | 6 + + 5 files changed, 240 insertions(+), 22 deletions(-) + +commit 15f67048e45853ad4069fd4334e132bc3db4d2c4 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Dec 27 19:33:28 2013 -0500 + + Reorder Tai Tham SAKOT to ensure it comes after any tone marks + + src/hb-unicode-private.hh | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +commit 3216e44feb7b97f44620b51e197425a80a41cdb7 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Dec 23 14:39:23 2013 -0500 + + [uniscribe] Fix scratch-buffer accounting + + src/hb-uniscribe.cc | 15 ++++++++------- + 1 file changed, 8 insertions(+), 7 deletions(-) + +commit beeb12c9af4e0e66378cd36cf3dbb1560763a8e3 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Dec 22 22:53:27 2013 -0500 + + Add TODO item + + src/hb-ot-shape.h | 1 + + 1 file changed, 1 insertion(+) + +commit fbd4acc58a4bb501625b482bd318be9764ff8e02 +Author: Luis de Bethencourt <luis@debethencourt.com> +Date: Sun Dec 22 08:02:11 2013 -0500 + + Clean ht-ob headers + + src/Makefile.am | 1 + + src/hb-ot-layout.h | 5 ----- + src/hb-ot-shape.h | 53 + +++++++++++++++++++++++++++++++++++++++++++++++++++++ + src/hb-ot.h | 9 +-------- + 4 files changed, 55 insertions(+), 13 deletions(-) + +commit 5497a8a274a7066c0230c850baadef681785c8bb +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Dec 22 20:48:53 2013 -0500 + + Cache various masks on the shape plan + + src/hb-ot-shape-fallback.cc | 6 ++---- + src/hb-ot-shape-private.hh | 15 +++++++++++++++ + src/hb-ot-shape.cc | 26 +++++++------------------- + 3 files changed, 24 insertions(+), 23 deletions(-) + +commit 02f909664fa24a7ccf7cf73d75d1d3426aaaae7d +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Dec 22 19:35:27 2013 -0500 + + Minor correction to kern mask checking + + src/hb-ot-shape-fallback.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit a7e8bbb080aef318b16750ca1771d0d3af3d0ae9 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Dec 22 19:33:35 2013 -0500 + + Minor fraction mask setting improvement + + src/hb-ot-map-private.hh | 2 -- + src/hb-ot-shape.cc | 8 +++++--- + 2 files changed, 5 insertions(+), 5 deletions(-) + +commit 76fff252a96b4357b5e71694d5201daef822aa60 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Dec 22 17:55:59 2013 -0500 + + Don't form fractions if only one of numr/dnom exist + + src/hb-ot-shape.cc | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 3aeee519f0b82df5263974945ae852badc4dbded +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Dec 22 16:17:54 2013 -0500 + + Bug 72698 - Automatically support frac / numr / dnom + + When seeing U+2044 FRACTION SLASH in the text, find decimal + digits (Unicode General Category Decimal_Number) around it, + and mark the pre-slash digits with 'numr' feature, the post-slash + digits with 'dnom' feature, and the whole sequence with 'frac' + feature. + + This beautifully renders fractions with major Windows fonts, + and any other font that implements those features (numr/dnom is + enough for most fonts.) + + Not the fastest way to do this, but good enough for a start. + + src/hb-ot-shape.cc | 51 + +++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 51 insertions(+) + +commit 014f369ec98fdbb3e7a2ef68aea2c4e017e7b680 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sun Dec 22 16:15:30 2013 -0500 + + Add XXX note + + src/hb-ot-map-private.hh | 2 ++ + 1 file changed, 2 insertions(+) + +commit 739325178aba00ea5526c6a54ce588a79e5d45e2 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Sat Dec 21 00:18:18 2013 -0500 + + Initialize masks before mirroring + + We were throwing away the rtlm feature mask set during + mirroring... + + src/hb-ot-shape.cc | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +commit d507f6b5b7a052f4d0eb9ba4ec88fd2e3d6f64b4 +Author: Luis de Bethencourt <luis@debethencourt.com> +Date: Mon Dec 16 15:48:44 2013 -0500 + + Have Gtk-Doc ignore UCDN files + + docs/reference/Makefile.am | 18 +++++++++--------- + 1 file changed, 9 insertions(+), 9 deletions(-) + +commit d688475ea9cd236bc9b9e0153489fac0025f07f0 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Dec 12 13:21:57 2013 -0500 + + Minor + + util/options.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 2a8c49ade07a0bd4f2c9543f4bd129da82083ea0 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Dec 11 20:22:28 2013 -0500 + + Remove unnecessary includes + + src/hb-blob.cc | 1 - + src/hb-buffer-private.hh | 1 - + src/hb-common.cc | 2 -- + src/hb-face-private.hh | 1 - + src/hb-face.cc | 1 - + src/hb-font-private.hh | 1 - + src/hb-font.cc | 1 - + src/hb-graphite2.cc | 2 -- + src/hb-open-type-private.hh | 2 -- + src/hb-ot-layout-private.hh | 2 -- + src/hb-ot-shape-normalize-private.hh | 2 -- + src/hb-ot-tag.cc | 1 - + src/hb-set-private.hh | 1 - + src/hb-shape-plan-private.hh | 1 - + src/hb-tt-font.cc | 2 -- + src/hb-unicode-private.hh | 2 -- + 16 files changed, 23 deletions(-) + +commit 2646aec1e67cd6e09f5f7859c9d5898917acc2d5 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Thu Dec 5 18:19:35 2013 -0500 + + Drop required automake version back to 1.11.3 + + Work around broken automake-1.13 changes. + + configure.ac | 3 ++- + test/shaping/Makefile.am | 7 +++++++ + 2 files changed, 9 insertions(+), 1 deletion(-) + commit 860fc9aa7b4c49a1d50e64cfdf4d4dffadb7aa8f Author: Behdad Esfahbod <behdad@behdad.org> Date: Wed Dec 4 20:06:59 2013 -0500 diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/Makefile.am b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/Makefile.am index 15ccbf87134..15ccbf87134 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/Makefile.am +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/Makefile.am diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/NEWS b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/NEWS index 0a2477268ab..1186c9b7214 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/NEWS +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/NEWS @@ -1,3 +1,23 @@ +Overview of changes leading to 0.9.26 +Thursday, January 30, 2014 +===================================== + +- Misc fixes. +- Fix application of 'rtlm' feature. +- Automatically apply frac/numr/dnom around U+2044 FRACTION SLASH. +- New header: hb-ot-shape.h +- Uniscribe: fix scratch-buffer accounting. +- Reorder Tai Tham SAKOT to after tone-marks. +- Add Hangul shaper. +- New files: + hb-ot-shape-complex-hangul.cc + hb-ot-shape-complex-hebrew.cc + hb-ot-shape-complex-tibetan.cc +- Disable 'cswh' feature in Arabic shaper. +- Coretext: better handle surrogate pairs. +- Add HB_TAG_MAX and _HB_SCRIPT_MAX_VALUE. + + Overview of changes leading to 0.9.25 Wednesday, December 4, 2013 ===================================== diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/README b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/README index 74e739da52a..74e739da52a 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/README +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/README diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/THANKS b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/THANKS index 940cfde5c39..940cfde5c39 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/THANKS +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/THANKS diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/TODO b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/TODO index e1aa39c4c01..e1aa39c4c01 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/TODO +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/TODO diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/autogen.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/autogen.sh index 6f4e903d745..6f4e903d745 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/autogen.sh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/autogen.sh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/config.h.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/config.h.in index 8249ffabfe6..352a8d24882 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/config.h.in +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/config.h.in @@ -15,6 +15,9 @@ /* Define to 1 if you have the <dlfcn.h> header file. */ #undef HAVE_DLFCN_H +/* Have simple TrueType Layout backend */ +#undef HAVE_FALLBACK + /* Have FreeType 2 library */ #undef HAVE_FREETYPE diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/configure.ac b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/configure.ac index 42b8b5fc606..3d18f7a4a92 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/configure.ac +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/configure.ac @@ -1,6 +1,6 @@ AC_PREREQ([2.64]) AC_INIT([HarfBuzz], - [0.9.25], + [0.9.26], [http://bugs.freedesktop.org/enter_bug.cgi?product=harfbuzz], [harfbuzz], [http://harfbuzz.org/]) @@ -9,7 +9,8 @@ AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_SRCDIR([src/harfbuzz.pc.in]) AC_CONFIG_HEADERS([config.h]) -AM_INIT_AUTOMAKE([1.13 gnits tar-pax dist-bzip2 no-dist-gzip -Wall no-define color-tests -Wno-portability]) +AM_INIT_AUTOMAKE([1.11.1 gnits tar-pax dist-bzip2 no-dist-gzip -Wall no-define color-tests -Wno-portability]) +AM_CONDITIONAL(AUTOMAKE_OLDER_THAN_1_13, test $am__api_version = 1.11 -o $am__api_version = 1.12) AM_SILENT_RULES([yes]) # Initialize libtool @@ -126,6 +127,12 @@ if $have_ot; then fi AM_CONDITIONAL(HAVE_OT, $have_ot) +have_fallback=true +if $have_fallback; then + AC_DEFINE(HAVE_FALLBACK, 1, [Have simple TrueType Layout backend]) +fi +AM_CONDITIONAL(HAVE_FALLBACK, $have_fallback) + dnl =========================================================================== AC_ARG_WITH(glib, diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/gtk-doc.make b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/gtk-doc.make index 104c3993f3e..104c3993f3e 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/gtk-doc.make +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/gtk-doc.make diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/harfbuzz.doap b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/harfbuzz.doap index d2896ebefa8..d2896ebefa8 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/harfbuzz.doap +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/harfbuzz.doap diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/Makefile.am b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/Makefile.am index 81802252fd7..e2790a0d86b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/Makefile.am +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/Makefile.am @@ -27,7 +27,6 @@ HBSOURCES = \ hb-buffer.cc \ hb-cache-private.hh \ hb-common.cc \ - hb-fallback-shape.cc \ hb-face-private.hh \ hb-face.cc \ hb-font-private.hh \ @@ -92,6 +91,8 @@ HBSOURCES += \ hb-ot-shape-complex-arabic-fallback.hh \ hb-ot-shape-complex-arabic-table.hh \ hb-ot-shape-complex-default.cc \ + hb-ot-shape-complex-hangul.cc \ + hb-ot-shape-complex-hebrew.cc \ hb-ot-shape-complex-indic.cc \ hb-ot-shape-complex-indic-machine.hh \ hb-ot-shape-complex-indic-private.hh \ @@ -101,6 +102,7 @@ HBSOURCES += \ hb-ot-shape-complex-sea.cc \ hb-ot-shape-complex-sea-machine.hh \ hb-ot-shape-complex-thai.cc \ + hb-ot-shape-complex-tibetan.cc \ hb-ot-shape-complex-private.hh \ hb-ot-shape-normalize-private.hh \ hb-ot-shape-normalize.cc \ @@ -111,10 +113,15 @@ HBSOURCES += \ HBHEADERS += \ hb-ot.h \ hb-ot-layout.h \ + hb-ot-shape.h \ hb-ot-tag.h \ $(NULL) endif +if HAVE_FALLBACK +HBSOURCES += hb-fallback-shape.cc +endif + if HAVE_PTHREAD HBCFLAGS += $(PTHREAD_CFLAGS) HBLIBS += $(PTHREAD_LIBS) diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-c-linkage-decls.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/check-c-linkage-decls.sh index b10310f5384..b10310f5384 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-c-linkage-decls.sh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/check-c-linkage-decls.sh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-defs.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/check-defs.sh index d7a8ec281bf..d7a8ec281bf 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-defs.sh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/check-defs.sh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-header-guards.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/check-header-guards.sh index 9a3302c7f87..9a3302c7f87 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-header-guards.sh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/check-header-guards.sh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-includes.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/check-includes.sh index 5643c6973bc..5643c6973bc 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-includes.sh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/check-includes.sh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-libstdc++.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/check-libstdc++.sh index e7e0e295e1a..e7e0e295e1a 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-libstdc++.sh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/check-libstdc++.sh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-static-inits.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/check-static-inits.sh index bb0a7ff630d..bb0a7ff630d 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-static-inits.sh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/check-static-inits.sh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-symbols.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/check-symbols.sh index 67bdf71e1b1..67bdf71e1b1 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-symbols.sh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/check-symbols.sh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/gen-arabic-table.py b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/gen-arabic-table.py index da5a4fcbf5c..da5a4fcbf5c 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/gen-arabic-table.py +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/gen-arabic-table.py diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/gen-indic-table.py b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/gen-indic-table.py index 9ed3fd6d34d..9ed3fd6d34d 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/gen-indic-table.py +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/gen-indic-table.py diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/harfbuzz-gobject.pc.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/harfbuzz-gobject.pc.in index 70083601901..70083601901 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/harfbuzz-gobject.pc.in +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/harfbuzz-gobject.pc.in diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/harfbuzz-icu.pc.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/harfbuzz-icu.pc.in index 949869a3563..949869a3563 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/harfbuzz-icu.pc.in +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/harfbuzz-icu.pc.in diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/harfbuzz.pc.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/harfbuzz.pc.in index 7f27bbbdef0..7f27bbbdef0 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/harfbuzz.pc.in +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/harfbuzz.pc.in diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-atomic-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-atomic-private.hh index b5d64853ea7..b5d64853ea7 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-atomic-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-atomic-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-blob.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-blob.cc index 7a659b26b97..d6acca0fca5 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-blob.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-blob.cc @@ -29,7 +29,6 @@ #include "hb-private.hh" -#include "hb-blob.h" #include "hb-object-private.hh" #ifdef HAVE_SYS_MMAN_H diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-blob.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-blob.h index d3d0f41b11c..d3d0f41b11c 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-blob.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-blob.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-deserialize-json.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-buffer-deserialize-json.hh index dead700db82..dead700db82 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-deserialize-json.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-buffer-deserialize-json.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-deserialize-json.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-buffer-deserialize-json.rl index 7351b2ab47c..7351b2ab47c 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-deserialize-json.rl +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-buffer-deserialize-json.rl diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-deserialize-text.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-buffer-deserialize-text.hh index a38efe3a415..a38efe3a415 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-deserialize-text.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-buffer-deserialize-text.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-deserialize-text.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-buffer-deserialize-text.rl index 8856580fbe3..8856580fbe3 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-deserialize-text.rl +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-buffer-deserialize-text.rl diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-buffer-private.hh index 49773f1c99b..3a2b9ab4816 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-buffer-private.hh @@ -31,7 +31,6 @@ #define HB_BUFFER_PRIVATE_HH #include "hb-private.hh" -#include "hb-buffer.h" #include "hb-object-private.hh" #include "hb-unicode-private.hh" diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-serialize.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-buffer-serialize.cc index 4541db23bd2..263bc81dc46 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-serialize.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-buffer-serialize.cc @@ -204,7 +204,7 @@ _hb_buffer_serialize_glyphs_text (hb_buffer_t *buffer, *p++ = '+'; p += MAX (0, snprintf (p, ARRAY_LENGTH (b) - (p - b), "%d", pos[i].x_advance)); - if (pos->y_advance) + if (pos[i].y_advance) p += MAX (0, snprintf (p, ARRAY_LENGTH (b) - (p - b), ",%d", pos[i].y_advance)); } diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-buffer.cc index d6c6fcb8e6e..d6c6fcb8e6e 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-buffer.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-buffer.h index 3086851b012..3086851b012 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-buffer.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-cache-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-cache-private.hh index 19b70b7e395..19b70b7e395 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-cache-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-cache-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-common.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-common.cc index cf24660f798..0fd790bc042 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-common.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-common.cc @@ -28,8 +28,6 @@ #include "hb-private.hh" -#include "hb-version.h" - #include "hb-mutex-private.hh" #include "hb-object-private.hh" diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-common.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-common.h index e445504550b..c8bfd8825a2 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-common.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-common.h @@ -94,6 +94,7 @@ typedef uint32_t hb_tag_t; #define HB_UNTAG(tag) ((uint8_t)((tag)>>24)), ((uint8_t)((tag)>>16)), ((uint8_t)((tag)>>8)), ((uint8_t)(tag)) #define HB_TAG_NONE HB_TAG(0,0,0,0) +#define HB_TAG_MAX HB_TAG(0xff,0xff,0xff,0xff) /* len=-1 means str is NUL-terminated. */ hb_tag_t @@ -270,7 +271,12 @@ typedef enum /*6.1*/ HB_SCRIPT_TAKRI = HB_TAG ('T','a','k','r'), /* No script set. */ - /*---*/ HB_SCRIPT_INVALID = HB_TAG_NONE + /*---*/ HB_SCRIPT_INVALID = HB_TAG_NONE, + + /* Dummy value to ensure any hb_tag_t value can be passed/stored as hb_script_t + * without risking undefined behavior. */ + /*---*/ _HB_SCRIPT_MAX_VALUE = HB_TAG_MAX + } hb_script_t; /* These are moved out of hb_script_t because glib-mkenums chokes otherwise. */ diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-coretext.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-coretext.cc index 25e4055b011..87dd7797516 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-coretext.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-coretext.cc @@ -591,7 +591,6 @@ _hb_coretext_shape (hb_shape_plan_t *shape_plan, CFMutableAttributedStringRef attr_string = CFAttributedStringCreateMutable (NULL, chars_len); CFAttributedStringReplaceString (attr_string, CFRangeMake (0, 0), string_ref); - CFRelease (string_ref); CFAttributedStringSetAttribute (attr_string, CFRangeMake (0, chars_len), kCTFontAttributeName, font_data->ct_font); @@ -671,23 +670,33 @@ _hb_coretext_shape (hb_shape_plan_t *shape_plan, if (buffer->in_error) FAIL ("Buffer resize failed"); hb_glyph_info_t *info = buffer->info + buffer->len; - buffer->len += range.length; - for (CFIndex j = 0; j < range.length; j++) + CGGlyph notdef = 0; + double advance = CTFontGetAdvancesForGlyphs (font_data->ct_font, kCTFontHorizontalOrientation, ¬def, NULL, 1); + + for (CFIndex j = range.location; j < range.location + range.length; j++) { - CGGlyph notdef = 0; - double advance = CTFontGetAdvancesForGlyphs (font_data->ct_font, kCTFontHorizontalOrientation, ¬def, NULL, 1); + UniChar ch = CFStringGetCharacterAtIndex (string_ref, j); + if (hb_in_range<UniChar> (ch, 0xDC00, 0xDFFF) && range.location < j) + { + ch = CFStringGetCharacterAtIndex (string_ref, j - 1); + if (hb_in_range<UniChar> (ch, 0xD800, 0xDBFF)) + /* This is the second of a surrogate pair. Don't need .notdef + * for this one. */ + continue; + } info->codepoint = notdef; /* TODO We have to fixup clusters later. See vis_clusters in * hb-uniscribe.cc for example. */ - info->cluster = range.location + j; + info->cluster = j; info->mask = advance; info->var1.u32 = 0; info->var2.u32 = 0; info++; + buffer->len++; } continue; } @@ -796,6 +805,7 @@ _hb_coretext_shape (hb_shape_plan_t *shape_plan, } } + CFRelease (string_ref); CFRelease (line); return true; diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-coretext.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-coretext.h index c4954fa1b2c..c4954fa1b2c 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-coretext.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-coretext.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-deprecated.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-deprecated.h index 30ae4b1caf7..30ae4b1caf7 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-deprecated.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-deprecated.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-face-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-face-private.hh index b33be0e5fce..6520d3dbdff 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-face-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-face-private.hh @@ -31,7 +31,6 @@ #include "hb-private.hh" -#include "hb-font.h" #include "hb-object-private.hh" #include "hb-shaper-private.hh" #include "hb-shape-plan-private.hh" diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-face.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-face.cc index ebe8ec5e5d5..71cf49a5bc9 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-face.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-face.cc @@ -31,7 +31,6 @@ #include "hb-ot-layout-private.hh" #include "hb-font-private.hh" -#include "hb-blob.h" #include "hb-open-file-private.hh" #include "hb-ot-head-table.hh" #include "hb-ot-maxp-table.hh" diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-face.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-face.h index f682c468de5..f682c468de5 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-face.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-face.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-fallback-shape.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-fallback-shape.cc index b894a4a47d1..ea54bb8e0f0 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-fallback-shape.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-fallback-shape.cc @@ -105,8 +105,9 @@ _hb_fallback_shape (hb_shape_plan_t *shape_plan HB_UNUSED, * shaper which many people unfortunately still request. */ + bool has_space; hb_codepoint_t space; - font->get_glyph (' ', 0, &space); + has_space = font->get_glyph (' ', 0, &space); buffer->clear_positions (); @@ -114,7 +115,7 @@ _hb_fallback_shape (hb_shape_plan_t *shape_plan HB_UNUSED, for (unsigned int i = 0; i < count; i++) { - if (buffer->unicode->is_default_ignorable (buffer->info[i].codepoint)) { + if (has_space && buffer->unicode->is_default_ignorable (buffer->info[i].codepoint)) { buffer->info[i].codepoint = space; buffer->pos[i].x_advance = 0; buffer->pos[i].y_advance = 0; diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-font-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-font-private.hh index aa6c515bcb2..33bbf7143a2 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-font-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-font-private.hh @@ -31,7 +31,6 @@ #include "hb-private.hh" -#include "hb-font.h" #include "hb-object-private.hh" #include "hb-face-private.hh" #include "hb-shaper-private.hh" @@ -145,6 +144,12 @@ struct hb_font_t { /* Public getters */ + inline hb_bool_t has_glyph (hb_codepoint_t unicode) + { + hb_codepoint_t glyph; + return get_glyph (unicode, 0, &glyph); + } + inline hb_bool_t get_glyph (hb_codepoint_t unicode, hb_codepoint_t variation_selector, hb_codepoint_t *glyph) { diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-font.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-font.cc index 855864377e7..fc4c8ebf077 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-font.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-font.cc @@ -31,7 +31,6 @@ #include "hb-ot-layout-private.hh" #include "hb-font-private.hh" -#include "hb-blob.h" #include "hb-open-file-private.hh" #include "hb-ot-head-table.hh" #include "hb-ot-maxp-table.hh" diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-font.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-font.h index 7273db43eda..7273db43eda 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-font.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-font.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ft.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ft.cc index 44e0b0bc2a5..44e0b0bc2a5 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ft.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ft.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ft.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ft.h index 696251e143f..696251e143f 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ft.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ft.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-glib.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-glib.cc index c35d9966c26..c35d9966c26 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-glib.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-glib.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-glib.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-glib.h index 63a9d3366c5..63a9d3366c5 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-glib.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-glib.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-gobject-enums.cc.tmpl b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-gobject-enums.cc.tmpl index ca458a3846c..ca458a3846c 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-gobject-enums.cc.tmpl +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-gobject-enums.cc.tmpl diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-gobject-enums.h.tmpl b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-gobject-enums.h.tmpl index 6ecda06c2a6..6ecda06c2a6 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-gobject-enums.h.tmpl +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-gobject-enums.h.tmpl diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-gobject-structs.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-gobject-structs.cc index 2451b66291b..2451b66291b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-gobject-structs.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-gobject-structs.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-gobject-structs.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-gobject-structs.h index 4a88d569e8d..4a88d569e8d 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-gobject-structs.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-gobject-structs.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-gobject.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-gobject.h index ea1bd25df82..ea1bd25df82 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-gobject.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-gobject.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-graphite2.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-graphite2.cc index 60d68d6b57a..a309ca853bc 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-graphite2.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-graphite2.cc @@ -34,8 +34,6 @@ #include <graphite2/Segment.h> -#include "hb-ot-tag.h" - HB_SHAPER_DATA_ENSURE_DECLARE(graphite2, face) HB_SHAPER_DATA_ENSURE_DECLARE(graphite2, font) @@ -109,7 +107,7 @@ _hb_graphite2_shaper_face_data_create (hb_face_t *face) hb_graphite2_shaper_face_data_t *data = (hb_graphite2_shaper_face_data_t *) calloc (1, sizeof (hb_graphite2_shaper_face_data_t)); if (unlikely (!data)) - hb_blob_destroy (silf_blob); + return NULL; data->face = face; data->grface = gr_make_face (data, &hb_graphite2_get_table, gr_face_preloadAll); diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-graphite2.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-graphite2.h index 3eae54acbd8..3eae54acbd8 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-graphite2.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-graphite2.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-icu.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-icu.cc index c177be2c4b2..c177be2c4b2 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-icu.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-icu.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-icu.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-icu.h index f2f35f0f2ce..f2f35f0f2ce 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-icu.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-icu.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-mutex-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-mutex-private.hh index 0fb21c2e86e..0fb21c2e86e 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-mutex-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-mutex-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-object-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-object-private.hh index 8a9ae34dbee..8a9ae34dbee 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-object-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-object-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-open-file-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-open-file-private.hh index 250504ae20b..250504ae20b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-open-file-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-open-file-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-open-type-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-open-type-private.hh index ee3a21dc3b1..558103a8ecc 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-open-type-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-open-type-private.hh @@ -31,8 +31,6 @@ #include "hb-private.hh" -#include "hb-blob.h" - namespace OT { @@ -594,7 +592,7 @@ struct LONGDATETIME TRACE_SANITIZE (this); return TRACE_RETURN (likely (c->check_struct (this))); } - private: + protected: LONG major; ULONG minor; public: diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-head-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-head-table.hh index 0285f0cf310..0285f0cf310 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-head-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-head-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-hhea-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-hhea-table.hh index 611de8a6665..611de8a6665 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-hhea-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-hhea-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-hmtx-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-hmtx-table.hh index d107cf990a2..d107cf990a2 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-hmtx-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-hmtx-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-common-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-layout-common-private.hh index 02d0d0f87c7..02d0d0f87c7 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-common-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-layout-common-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-gdef-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-layout-gdef-table.hh index 389cbb9e398..389cbb9e398 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-gdef-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-layout-gdef-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-gpos-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-layout-gpos-table.hh index 5e4326ef0c5..7c0a4ea6667 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-gpos-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-layout-gpos-table.hh @@ -109,11 +109,13 @@ struct ValueFormat : USHORT if (format & xPlacement) glyph_pos.x_offset += font->em_scale_x (get_short (values++)); if (format & yPlacement) glyph_pos.y_offset += font->em_scale_y (get_short (values++)); if (format & xAdvance) { - if (likely (horizontal)) glyph_pos.x_advance += font->em_scale_x (get_short (values++)); else values++; + if (likely (horizontal)) glyph_pos.x_advance += font->em_scale_x (get_short (values)); + values++; } /* y_advance values grow downward but font-space grows upward, hence negation */ if (format & yAdvance) { - if (unlikely (!horizontal)) glyph_pos.y_advance -= font->em_scale_y (get_short (values++)); else values++; + if (unlikely (!horizontal)) glyph_pos.y_advance -= font->em_scale_y (get_short (values)); + values++; } if (!has_device ()) return; @@ -125,17 +127,21 @@ struct ValueFormat : USHORT /* pixel -> fractional pixel */ if (format & xPlaDevice) { - if (x_ppem) glyph_pos.x_offset += (base + get_device (values++)).get_x_delta (font); else values++; + if (x_ppem) glyph_pos.x_offset += (base + get_device (values)).get_x_delta (font); + values++; } if (format & yPlaDevice) { - if (y_ppem) glyph_pos.y_offset += (base + get_device (values++)).get_y_delta (font); else values++; + if (y_ppem) glyph_pos.y_offset += (base + get_device (values)).get_y_delta (font); + values++; } if (format & xAdvDevice) { - if (horizontal && x_ppem) glyph_pos.x_advance += (base + get_device (values++)).get_x_delta (font); else values++; + if (horizontal && x_ppem) glyph_pos.x_advance += (base + get_device (values)).get_x_delta (font); + values++; } if (format & yAdvDevice) { /* y_advance values grow downward but font-space grows upward, hence negation */ - if (!horizontal && y_ppem) glyph_pos.y_advance -= (base + get_device (values++)).get_y_delta (font); else values++; + if (!horizontal && y_ppem) glyph_pos.y_advance -= (base + get_device (values)).get_y_delta (font); + values++; } } @@ -240,12 +246,12 @@ struct AnchorFormat2 unsigned int x_ppem = font->x_ppem; unsigned int y_ppem = font->y_ppem; hb_position_t cx, cy; - hb_bool_t ret = false; + hb_bool_t ret; - if (x_ppem || y_ppem) - ret = font->get_glyph_contour_point_for_origin (glyph_id, anchorPoint, HB_DIRECTION_LTR, &cx, &cy); - *x = x_ppem && ret ? cx : font->em_scale_x (xCoordinate); - *y = y_ppem && ret ? cy : font->em_scale_y (yCoordinate); + ret = (x_ppem || y_ppem) && + font->get_glyph_contour_point_for_origin (glyph_id, anchorPoint, HB_DIRECTION_LTR, &cx, &cy); + *x = ret && x_ppem ? cx : font->em_scale_x (xCoordinate); + *y = ret && y_ppem ? cy : font->em_scale_y (yCoordinate); } inline bool sanitize (hb_sanitize_context_t *c) { diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-gsub-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-layout-gsub-table.hh index 76b4f33c705..76b4f33c705 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-gsub-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-layout-gsub-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-gsubgpos-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-layout-gsubgpos-private.hh index bdd773e36b9..bdd773e36b9 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-gsubgpos-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-layout-gsubgpos-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-jstf-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-layout-jstf-table.hh index 79eb859566a..79eb859566a 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-jstf-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-layout-jstf-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-layout-private.hh index 139e33fe7a3..0a0a54b25d0 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-layout-private.hh @@ -31,8 +31,6 @@ #include "hb-private.hh" -#include "hb-ot-layout.h" - #include "hb-font-private.hh" #include "hb-buffer-private.hh" #include "hb-set-private.hh" diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-layout.cc index 183726e63cf..183726e63cf 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-layout.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-layout.h index dfc7f2446f7..d90eff374d7 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-layout.h @@ -194,11 +194,6 @@ hb_ot_layout_collect_lookups (hb_face_t *face, hb_set_t *lookup_indexes /* OUT */); void -hb_ot_shape_plan_collect_lookups (hb_shape_plan_t *shape_plan, - hb_tag_t table_tag, - hb_set_t *lookup_indexes /* OUT */); - -void hb_ot_layout_lookup_collect_glyphs (hb_face_t *face, hb_tag_t table_tag, unsigned int lookup_index, diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-map-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-map-private.hh index 0e718a6f1f5..0e718a6f1f5 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-map-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-map-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-map.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-map.cc index 559193c1bae..559193c1bae 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-map.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-map.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-maxp-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-maxp-table.hh index e6d255579c6..e6d255579c6 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-maxp-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-maxp-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-name-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-name-table.hh index 07dc0565ca6..07dc0565ca6 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-name-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-name-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-arabic-fallback.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-arabic-fallback.hh index 6b2b87e3f28..6b2b87e3f28 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-arabic-fallback.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-arabic-fallback.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-arabic-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-arabic-table.hh index 730a275bf0a..730a275bf0a 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-arabic-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-arabic-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-arabic.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-arabic.cc index 4f6c86e8ee5..ea6d85c1e6c 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-arabic.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-arabic.cc @@ -199,7 +199,6 @@ collect_features_arabic (hb_ot_shape_planner_t *plan) map->add_global_bool_feature (HB_TAG('c','a','l','t')); map->add_gsub_pause (NULL); - map->add_global_bool_feature (HB_TAG('c','s','w','h')); map->add_global_bool_feature (HB_TAG('m','s','e','t')); } @@ -366,7 +365,7 @@ const hb_ot_complex_shaper_t _hb_ot_complex_shaper_arabic = data_create_arabic, data_destroy_arabic, NULL, /* preprocess_text_arabic */ - NULL, /* normalization_preference */ + HB_OT_SHAPE_NORMALIZATION_MODE_DEFAULT, NULL, /* decompose */ NULL, /* compose */ setup_masks_arabic, diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-default.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-default.cc new file mode 100644 index 00000000000..f7f097eedaa --- /dev/null +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-default.cc @@ -0,0 +1,44 @@ +/* + * Copyright © 2010,2012 Google, Inc. + * + * This is part of HarfBuzz, a text shaping library. + * + * Permission is hereby granted, without written agreement and without + * license or royalty fees, to use, copy, modify, and distribute this + * software and its documentation for any purpose, provided that the + * above copyright notice and the following two paragraphs appear in + * all copies of this software. + * + * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES + * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN + * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * + * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, + * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS + * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + * Google Author(s): Behdad Esfahbod + */ + +#include "hb-ot-shape-complex-private.hh" + + +const hb_ot_complex_shaper_t _hb_ot_complex_shaper_default = +{ + "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_DEFAULT, + true, /* fallback_position */ +}; diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-hangul.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-hangul.cc new file mode 100644 index 00000000000..47aa44fedba --- /dev/null +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-hangul.cc @@ -0,0 +1,417 @@ +/* + * Copyright © 2013 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 + */ + +#include "hb-ot-shape-complex-private.hh" + + +/* Hangul shaper */ + + +/* Same order as the feature array below */ +enum { + NONE, + + LJMO, + VJMO, + TJMO, + + FIRST_HANGUL_FEATURE = LJMO, + HANGUL_FEATURE_COUNT = TJMO + 1 +}; + +static const hb_tag_t hangul_features[HANGUL_FEATURE_COUNT] = +{ + HB_TAG_NONE, + HB_TAG('l','j','m','o'), + HB_TAG('v','j','m','o'), + HB_TAG('t','j','m','o') +}; + +static void +collect_features_hangul (hb_ot_shape_planner_t *plan) +{ + hb_ot_map_builder_t *map = &plan->map; + + for (unsigned int i = FIRST_HANGUL_FEATURE; i < HANGUL_FEATURE_COUNT; i++) + map->add_feature (hangul_features[i], 1, F_NONE); +} + +struct hangul_shape_plan_t +{ + ASSERT_POD (); + + hb_mask_t mask_array[HANGUL_FEATURE_COUNT]; +}; + +static void * +data_create_hangul (const hb_ot_shape_plan_t *plan) +{ + hangul_shape_plan_t *hangul_plan = (hangul_shape_plan_t *) calloc (1, sizeof (hangul_shape_plan_t)); + if (unlikely (!hangul_plan)) + return NULL; + + for (unsigned int i = 0; i < HANGUL_FEATURE_COUNT; i++) + hangul_plan->mask_array[i] = plan->map.get_1_mask (hangul_features[i]); + + return hangul_plan; +} + +static void +data_destroy_hangul (void *data) +{ + free (data); +} + +/* Constants for algorithmic hangul syllable [de]composition. */ +#define LBase 0x1100 +#define VBase 0x1161 +#define TBase 0x11A7 +#define LCount 19 +#define VCount 21 +#define TCount 28 +#define SBase 0xAC00 +#define NCount (VCount * TCount) +#define SCount (LCount * NCount) + +#define isCombiningL(u) (hb_in_range<hb_codepoint_t> ((u), LBase, LBase+LCount-1)) +#define isCombiningV(u) (hb_in_range<hb_codepoint_t> ((u), VBase, VBase+VCount-1)) +#define isCombiningT(u) (hb_in_range<hb_codepoint_t> ((u), TBase+1, TBase+TCount-1)) +#define isCombinedS(u) (hb_in_range<hb_codepoint_t> ((u), SBase, SBase+SCount-1)) + +#define isL(u) (hb_in_ranges<hb_codepoint_t> ((u), 0x1100, 0x115F, 0xA960, 0xA97C)) +#define isV(u) (hb_in_ranges<hb_codepoint_t> ((u), 0x1160, 0x11A7, 0xD7B0, 0xD7C6)) +#define isT(u) (hb_in_ranges<hb_codepoint_t> ((u), 0x11A8, 0x11FF, 0xD7CB, 0xD7FB)) + +#define isHangulTone(u) (hb_in_range<hb_codepoint_t> ((u), 0x302e, 0x302f)) + +/* buffer var allocations */ +#define hangul_shaping_feature() complex_var_u8_0() /* hangul jamo shaping feature */ + +static bool +is_zero_width_char (hb_font_t *font, + hb_codepoint_t unicode) +{ + hb_codepoint_t glyph; + return hb_font_get_glyph (font, unicode, 0, &glyph) && hb_font_get_glyph_h_advance (font, glyph) == 0; +} + +static void +preprocess_text_hangul (const hb_ot_shape_plan_t *plan, + hb_buffer_t *buffer, + hb_font_t *font) +{ + HB_BUFFER_ALLOCATE_VAR (buffer, hangul_shaping_feature); + + /* Hangul syllables come in two shapes: LV, and LVT. Of those: + * + * - LV can be precomposed, or decomposed. Lets call those + * <LV> and <L,V>, + * - LVT can be fully precomposed, partically precomposed, or + * fully decomposed. Ie. <LVT>, <LV,T>, or <L,V,T>. + * + * The composition / decomposition is mechanical. However, not + * all <L,V> sequences compose, and not all <LV,T> sequences + * compose. + * + * Here are the specifics: + * + * - <L>: U+1100..115F, U+A960..A97F + * - <V>: U+1160..11A7, U+D7B0..D7C7 + * - <T>: U+11A8..11FF, U+D7CB..D7FB + * + * - Only the <L,V> sequences for the 11xx ranges combine. + * - Only <LV,T> sequences for T in U+11A8..11C3 combine. + * + * Here is what we want to accomplish in this shaper: + * + * - If the whole syllable can be precomposed, do that, + * - Otherwise, fully decompose and apply ljmo/vjmo/tjmo features. + * - If a valid syllable is followed by a Hangul tone mark, reorder the tone + * mark to precede the whole syllable - unless it is a zero-width glyph, in + * which case we leave it untouched, assuming it's designed to overstrike. + * + * That is, of the different possible syllables: + * + * <L> + * <L,V> + * <L,V,T> + * <LV> + * <LVT> + * <LV, T> + * + * - <L> needs no work. + * + * - <LV> and <LVT> can stay the way they are if the font supports them, otherwise we + * should fully decompose them if font supports. + * + * - <L,V> and <L,V,T> we should compose if the whole thing can be composed. + * + * - <LV,T> we should compose if the whole thing can be composed, otherwise we should + * decompose. + */ + + buffer->clear_output (); + unsigned int start = 0, end = 0; /* Extent of most recently seen syllable; + * valid only if start < end + */ + unsigned int count = buffer->len; + + for (buffer->idx = 0; buffer->idx < count;) + { + hb_codepoint_t u = buffer->cur().codepoint; + + if (isHangulTone (u)) + { + /* + * We could cache the width of the tone marks and the existence of dotted-circle, + * but the use of the Hangul tone mark characters seems to be rare enough that + * I didn't bother for now. + */ + if (start < end && end == buffer->out_len) + { + /* Tone mark follows a valid syllable; move it in front, unless it's zero width. */ + buffer->next_glyph (); + if (!is_zero_width_char (font, u)) + { + hb_glyph_info_t *info = buffer->out_info; + hb_glyph_info_t tone = info[end]; + memmove (&info[start + 1], &info[start], (end - start) * sizeof (hb_glyph_info_t)); + info[start] = tone; + } + /* Merge clusters across the (possibly reordered) syllable+tone. + * We want to merge even in the zero-width tone mark case here, + * so that clustering behavior isn't dependent on how the tone mark + * is handled by the font. + */ + buffer->merge_out_clusters (start, end + 1); + } + else + { + /* No valid syllable as base for tone mark; try to insert dotted circle. */ + if (font->has_glyph (0x25cc)) + { + hb_codepoint_t chars[2]; + if (!is_zero_width_char (font, u)) { + chars[0] = u; + chars[1] = 0x25cc; + } else { + chars[0] = 0x25cc; + chars[1] = u; + } + buffer->replace_glyphs (1, 2, chars); + } + else + { + /* No dotted circle available in the font; just leave tone mark untouched. */ + buffer->next_glyph (); + } + } + start = end = buffer->out_len; + continue; + } + + start = buffer->out_len; /* Remember current position as a potential syllable start; + * will only be used if we set end to a later position. + */ + + if (isL (u) && buffer->idx + 1 < count) + { + hb_codepoint_t l = u; + hb_codepoint_t v = buffer->cur(+1).codepoint; + if (isV (v)) + { + /* Have <L,V> or <L,V,T>. */ + hb_codepoint_t t = 0; + unsigned int tindex = 0; + if (buffer->idx + 2 < count) + { + t = buffer->cur(+2).codepoint; + if (isT (t)) + tindex = t - TBase; /* Only used if isCombiningT (t); otherwise invalid. */ + else + t = 0; /* The next character was not a trailing jamo. */ + } + + /* We've got a syllable <L,V,T?>; see if it can potentially be composed. */ + if (isCombiningL (l) && isCombiningV (v) && (t == 0 || isCombiningT (t))) + { + /* Try to compose; if this succeeds, end is set to start+1. */ + hb_codepoint_t s = SBase + (l - LBase) * NCount + (v - VBase) * TCount + tindex; + if (font->has_glyph (s)) + { + buffer->replace_glyphs (t ? 3 : 2, 1, &s); + if (unlikely (buffer->in_error)) + return; + end = start + 1; + continue; + } + } + + /* We didn't compose, either because it's an Old Hangul syllable without a + * precomposed character in Unicode, or because the font didn't support the + * necessary precomposed glyph. + * Set jamo features on the individual glyphs, and advance past them. + */ + buffer->cur().hangul_shaping_feature() = LJMO; + buffer->next_glyph (); + buffer->cur().hangul_shaping_feature() = VJMO; + buffer->next_glyph (); + if (t) + { + buffer->cur().hangul_shaping_feature() = TJMO; + buffer->next_glyph (); + end = start + 3; + } + else + end = start + 2; + buffer->merge_out_clusters (start, end); + continue; + } + } + + else if (isCombinedS (u)) + { + /* Have <LV>, <LVT>, or <LV,T> */ + hb_codepoint_t s = u; + bool has_glyph = font->has_glyph (s); + unsigned int lindex = (s - SBase) / NCount; + unsigned int nindex = (s - SBase) % NCount; + unsigned int vindex = nindex / TCount; + unsigned int tindex = nindex % TCount; + + if (!tindex && + buffer->idx + 1 < count && + isCombiningT (buffer->cur(+1).codepoint)) + { + /* <LV,T>, try to combine. */ + unsigned int new_tindex = buffer->cur(+1).codepoint - TBase; + hb_codepoint_t new_s = s + new_tindex; + if (font->has_glyph (new_s)) + { + buffer->replace_glyphs (2, 1, &new_s); + if (unlikely (buffer->in_error)) + return; + end = start + 1; + continue; + } + } + + /* Otherwise, decompose if font doesn't support <LV> or <LVT>, + * or if having non-combining <LV,T>. Note that we already handled + * combining <LV,T> above. */ + if (!has_glyph || + (!tindex && + buffer->idx + 1 < count && + isT (buffer->cur(+1).codepoint))) + { + hb_codepoint_t decomposed[3] = {LBase + lindex, + VBase + vindex, + TBase + tindex}; + if (font->has_glyph (decomposed[0]) && + font->has_glyph (decomposed[1]) && + (!tindex || font->has_glyph (decomposed[2]))) + { + unsigned int s_len = tindex ? 3 : 2; + buffer->replace_glyphs (1, s_len, decomposed); + if (unlikely (buffer->in_error)) + return; + + /* We decomposed S: apply jamo features to the individual glyphs + * that are now in buffer->out_info. + */ + hb_glyph_info_t *info = buffer->out_info; + + /* If we decomposed an LV because of a non-combining T following, + * we want to include this T in the syllable. + */ + if (has_glyph && !tindex) + { + buffer->next_glyph (); + s_len++; + } + end = start + s_len; + + unsigned int i = start; + info[i++].hangul_shaping_feature() = LJMO; + info[i++].hangul_shaping_feature() = VJMO; + if (i < end) + info[i++].hangul_shaping_feature() = TJMO; + buffer->merge_out_clusters (start, end); + continue; + } + } + + if (has_glyph) + { + /* We didn't decompose the S, so just advance past it. */ + end = start + 1; + buffer->next_glyph (); + continue; + } + } + + /* Didn't find a recognizable syllable, so we leave end <= start; + * this will prevent tone-mark reordering happening. + */ + buffer->next_glyph (); + } + buffer->swap_buffers (); +} + +static void +setup_masks_hangul (const hb_ot_shape_plan_t *plan, + hb_buffer_t *buffer, + hb_font_t *font HB_UNUSED) +{ + const hangul_shape_plan_t *hangul_plan = (const hangul_shape_plan_t *) plan->data; + + if (likely (hangul_plan)) + { + unsigned int count = buffer->len; + hb_glyph_info_t *info = buffer->info; + for (unsigned int i = 0; i < count; i++, info++) + info->mask |= hangul_plan->mask_array[info->hangul_shaping_feature()]; + } + + HB_BUFFER_DEALLOCATE_VAR (buffer, hangul_shaping_feature); +} + + +const hb_ot_complex_shaper_t _hb_ot_complex_shaper_hangul = +{ + "hangul", + collect_features_hangul, + NULL, /* override_features */ + data_create_hangul, /* data_create */ + data_destroy_hangul, /* data_destroy */ + preprocess_text_hangul, + HB_OT_SHAPE_NORMALIZATION_MODE_NONE, + NULL, /* decompose */ + NULL, /* compose */ + setup_masks_hangul, /* setup_masks */ + HB_OT_SHAPE_ZERO_WIDTH_MARKS_NONE, + false, /* fallback_position */ +}; diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-default.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-hebrew.cc index d6afa0e1c11..efef8c14adc 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-default.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-hebrew.cc @@ -27,61 +27,11 @@ #include "hb-ot-shape-complex-private.hh" -/* TODO Add kana, and other small shapers here */ - - -/* The default shaper *only* adds additional per-script features.*/ - -static const hb_tag_t hangul_features[] = -{ - HB_TAG('l','j','m','o'), - HB_TAG('v','j','m','o'), - HB_TAG('t','j','m','o'), - HB_TAG_NONE -}; - -static const hb_tag_t tibetan_features[] = -{ - HB_TAG('a','b','v','s'), - HB_TAG('b','l','w','s'), - HB_TAG('a','b','v','m'), - HB_TAG('b','l','w','m'), - HB_TAG_NONE -}; - -static void -collect_features_default (hb_ot_shape_planner_t *plan) -{ - const hb_tag_t *script_features = NULL; - - switch ((hb_tag_t) plan->props.script) - { - /* Unicode-1.1 additions */ - case HB_SCRIPT_HANGUL: - script_features = hangul_features; - break; - - /* Unicode-2.0 additions */ - case HB_SCRIPT_TIBETAN: - script_features = tibetan_features; - break; - } - - for (; script_features && *script_features; script_features++) - plan->map.add_global_bool_feature (*script_features); -} - -static hb_ot_shape_normalization_mode_t -normalization_preference_default (const hb_segment_properties_t *props) -{ - return HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_DIACRITICS; -} - static bool -compose_default (const hb_ot_shape_normalize_context_t *c, - hb_codepoint_t a, - hb_codepoint_t b, - hb_codepoint_t *ab) +compose_hebrew (const hb_ot_shape_normalize_context_t *c, + hb_codepoint_t a, + hb_codepoint_t b, + hb_codepoint_t *ab) { /* Hebrew presentation-form shaping. * https://bugzilla.mozilla.org/show_bug.cgi?id=728866 @@ -120,7 +70,8 @@ compose_default (const hb_ot_shape_normalize_context_t *c, bool found = c->unicode->compose (a, b, ab); - if (!found && (b & ~0x7F) == 0x0580) { + if (!found) + { /* Special-case Hebrew presentation forms that are excluded from * standard normalization, but wanted for old fonts. */ switch (b) { @@ -203,18 +154,19 @@ compose_default (const hb_ot_shape_normalize_context_t *c, return found; } -const hb_ot_complex_shaper_t _hb_ot_complex_shaper_default = + +const hb_ot_complex_shaper_t _hb_ot_complex_shaper_hebrew = { - "default", - collect_features_default, + "hebrew", + NULL, /* collect_features */ NULL, /* override_features */ NULL, /* data_create */ NULL, /* data_destroy */ NULL, /* preprocess_text */ - normalization_preference_default, + HB_OT_SHAPE_NORMALIZATION_MODE_DEFAULT, NULL, /* decompose */ - compose_default, + compose_hebrew, NULL, /* setup_masks */ - HB_OT_SHAPE_ZERO_WIDTH_MARKS_BY_UNICODE_LATE, + HB_OT_SHAPE_ZERO_WIDTH_MARKS_DEFAULT, true, /* fallback_position */ }; diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-indic-machine.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-indic-machine.hh index 747315b7a2a..747315b7a2a 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-indic-machine.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-indic-machine.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-indic-machine.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-indic-machine.rl index 5c3e734eb33..5c3e734eb33 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-indic-machine.rl +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-indic-machine.rl diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-indic-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-indic-private.hh index 3de5c203fa3..3de5c203fa3 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-indic-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-indic-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-indic-table.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-indic-table.cc index 18a022bc507..18a022bc507 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-indic-table.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-indic-table.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-indic.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-indic.cc index 9edefe305dc..1e07d331778 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-indic.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-indic.cc @@ -1690,12 +1690,6 @@ clear_syllables (const hb_ot_shape_plan_t *plan HB_UNUSED, } -static hb_ot_shape_normalization_mode_t -normalization_preference_indic (const hb_segment_properties_t *props HB_UNUSED) -{ - return HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_DIACRITICS_NO_SHORT_CIRCUIT; -} - static bool decompose_indic (const hb_ot_shape_normalize_context_t *c, hb_codepoint_t ab, @@ -1806,7 +1800,7 @@ const hb_ot_complex_shaper_t _hb_ot_complex_shaper_indic = data_create_indic, data_destroy_indic, NULL, /* preprocess_text */ - normalization_preference_indic, + HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_DIACRITICS_NO_SHORT_CIRCUIT, decompose_indic, compose_indic, setup_masks_indic, diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-myanmar-machine.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-myanmar-machine.hh index 0e8114e98ab..0e8114e98ab 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-myanmar-machine.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-myanmar-machine.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-myanmar-machine.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-myanmar-machine.rl index 58ca8c82289..58ca8c82289 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-myanmar-machine.rl +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-myanmar-machine.rl diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-myanmar.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-myanmar.cc index 25ba7264cae..50209ffb0ee 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-myanmar.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-myanmar.cc @@ -541,13 +541,6 @@ final_reordering (const hb_ot_shape_plan_t *plan, } -static hb_ot_shape_normalization_mode_t -normalization_preference_myanmar (const hb_segment_properties_t *props HB_UNUSED) -{ - return HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_DIACRITICS_NO_SHORT_CIRCUIT; -} - - const hb_ot_complex_shaper_t _hb_ot_complex_shaper_myanmar = { "myanmar", @@ -556,7 +549,7 @@ const hb_ot_complex_shaper_t _hb_ot_complex_shaper_myanmar = NULL, /* data_create */ NULL, /* data_destroy */ NULL, /* preprocess_text */ - normalization_preference_myanmar, + HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_DIACRITICS_NO_SHORT_CIRCUIT, NULL, /* decompose */ NULL, /* compose */ setup_masks_myanmar, diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-private.hh index ac0072ba565..104726e8af5 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-private.hh @@ -44,7 +44,9 @@ enum hb_ot_shape_zero_width_marks_type_t { // HB_OT_SHAPE_ZERO_WIDTH_MARKS_BY_UNICODE_EARLY, HB_OT_SHAPE_ZERO_WIDTH_MARKS_BY_UNICODE_LATE, HB_OT_SHAPE_ZERO_WIDTH_MARKS_BY_GDEF_EARLY, - HB_OT_SHAPE_ZERO_WIDTH_MARKS_BY_GDEF_LATE + HB_OT_SHAPE_ZERO_WIDTH_MARKS_BY_GDEF_LATE, + + HB_OT_SHAPE_ZERO_WIDTH_MARKS_DEFAULT = HB_OT_SHAPE_ZERO_WIDTH_MARKS_BY_UNICODE_LATE }; @@ -52,10 +54,13 @@ enum hb_ot_shape_zero_width_marks_type_t { #define HB_COMPLEX_SHAPERS_IMPLEMENT_SHAPERS \ HB_COMPLEX_SHAPER_IMPLEMENT (default) /* should be first */ \ HB_COMPLEX_SHAPER_IMPLEMENT (arabic) \ + HB_COMPLEX_SHAPER_IMPLEMENT (hangul) \ + HB_COMPLEX_SHAPER_IMPLEMENT (hebrew) \ HB_COMPLEX_SHAPER_IMPLEMENT (indic) \ HB_COMPLEX_SHAPER_IMPLEMENT (myanmar) \ HB_COMPLEX_SHAPER_IMPLEMENT (sea) \ HB_COMPLEX_SHAPER_IMPLEMENT (thai) \ + HB_COMPLEX_SHAPER_IMPLEMENT (tibetan) \ /* ^--- Add new shapers here */ @@ -105,12 +110,7 @@ struct hb_ot_complex_shaper_t hb_font_t *font); - /* normalization_preference() - * Called during shape(). - * May be NULL. - */ - hb_ot_shape_normalization_mode_t - (*normalization_preference) (const hb_segment_properties_t *props); + hb_ot_shape_normalization_mode_t normalization_preference; /* decompose() * Called during shape()'s normalization. @@ -189,19 +189,22 @@ hb_ot_shape_complex_categorize (const hb_ot_shape_planner_t *planner) return &_hb_ot_complex_shaper_thai; -#if 0 - /* Note: - * Currently we don't have a separate Hangul shaper. The default shaper handles - * Hangul by enabling jamo features. We may want to implement a separate shaper - * in the future. See this thread for details of what such a shaper would do: - * - * http://lists.freedesktop.org/archives/harfbuzz/2013-April/003070.html - */ /* Unicode-1.1 additions */ case HB_SCRIPT_HANGUL: return &_hb_ot_complex_shaper_hangul; -#endif + + + /* Unicode-2.0 additions */ + case HB_SCRIPT_TIBETAN: + + return &_hb_ot_complex_shaper_tibetan; + + + /* Unicode-1.1 additions */ + case HB_SCRIPT_HEBREW: + + return &_hb_ot_complex_shaper_hebrew; /* ^--- Add new shapers here */ @@ -241,9 +244,6 @@ hb_ot_shape_complex_categorize (const hb_ot_shape_planner_t *planner) case HB_SCRIPT_LAO: case HB_SCRIPT_THAI: - /* Unicode-2.0 additions */ - case HB_SCRIPT_TIBETAN: - /* Unicode-3.2 additions */ case HB_SCRIPT_TAGALOG: case HB_SCRIPT_TAGBANWA: diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-sea-machine.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-sea-machine.hh index 86b7ae7d5ca..86b7ae7d5ca 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-sea-machine.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-sea-machine.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-sea-machine.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-sea-machine.rl index 46140fc4d5f..46140fc4d5f 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-sea-machine.rl +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-sea-machine.rl diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-sea.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-sea.cc index da687ed6467..6288a90c9a9 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-sea.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-sea.cc @@ -360,13 +360,6 @@ final_reordering (const hb_ot_shape_plan_t *plan, } -static hb_ot_shape_normalization_mode_t -normalization_preference_sea (const hb_segment_properties_t *props HB_UNUSED) -{ - return HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_DIACRITICS_NO_SHORT_CIRCUIT; -} - - const hb_ot_complex_shaper_t _hb_ot_complex_shaper_sea = { "sea", @@ -375,7 +368,7 @@ const hb_ot_complex_shaper_t _hb_ot_complex_shaper_sea = NULL, /* data_create */ NULL, /* data_destroy */ NULL, /* preprocess_text */ - normalization_preference_sea, + HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_DIACRITICS_NO_SHORT_CIRCUIT, NULL, /* decompose */ NULL, /* compose */ setup_masks_sea, diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-thai.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-thai.cc index 45945339d6b..8664eca45cd 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-thai.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-thai.cc @@ -369,10 +369,10 @@ const hb_ot_complex_shaper_t _hb_ot_complex_shaper_thai = NULL, /* data_create */ NULL, /* data_destroy */ preprocess_text_thai, - NULL, /* normalization_preference */ + HB_OT_SHAPE_NORMALIZATION_MODE_DEFAULT, NULL, /* decompose */ NULL, /* compose */ NULL, /* setup_masks */ - HB_OT_SHAPE_ZERO_WIDTH_MARKS_BY_UNICODE_LATE, + HB_OT_SHAPE_ZERO_WIDTH_MARKS_DEFAULT, false,/* fallback_position */ }; diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-tibetan.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-tibetan.cc new file mode 100644 index 00000000000..01465a426f8 --- /dev/null +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-tibetan.cc @@ -0,0 +1,61 @@ +/* + * Copyright © 2010,2012 Google, Inc. + * + * This is part of HarfBuzz, a text shaping library. + * + * Permission is hereby granted, without written agreement and without + * license or royalty fees, to use, copy, modify, and distribute this + * software and its documentation for any purpose, provided that the + * above copyright notice and the following two paragraphs appear in + * all copies of this software. + * + * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES + * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN + * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * + * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, + * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS + * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + * Google Author(s): Behdad Esfahbod + */ + +#include "hb-ot-shape-complex-private.hh" + + +static const hb_tag_t tibetan_features[] = +{ + HB_TAG('a','b','v','s'), + HB_TAG('b','l','w','s'), + HB_TAG('a','b','v','m'), + HB_TAG('b','l','w','m'), + HB_TAG_NONE +}; + +static void +collect_features_tibetan (hb_ot_shape_planner_t *plan) +{ + for (const hb_tag_t *script_features = tibetan_features; script_features && *script_features; script_features++) + plan->map.add_global_bool_feature (*script_features); +} + + +const hb_ot_complex_shaper_t _hb_ot_complex_shaper_tibetan = +{ + "default", + collect_features_tibetan, + 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_DEFAULT, + true, /* fallback_position */ +}; diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-fallback-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-fallback-private.hh index ec653513f1b..ec653513f1b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-fallback-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-fallback-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-fallback.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-fallback.cc index 449b64e5ca7..5d526c3a8e8 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-fallback.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-fallback.cc @@ -430,14 +430,12 @@ _hb_ot_shape_fallback_kern (const hb_ot_shape_plan_t *plan, hb_font_t *font, hb_buffer_t *buffer) { - hb_mask_t kern_mask = plan->map.get_1_mask (HB_DIRECTION_IS_HORIZONTAL (buffer->props.direction) ? - HB_TAG ('k','e','r','n') : HB_TAG ('v','k','r','n')); - if (!kern_mask) return; + if (!plan->has_kern) return; unsigned int count = buffer->len; OT::hb_apply_context_t c (1, font, buffer); - c.set_lookup_mask (kern_mask); + c.set_lookup_mask (plan->kern_mask); c.set_lookup_props (OT::LookupFlag::IgnoreMarks); hb_glyph_info_t *info = buffer->info; diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-normalize-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-normalize-private.hh index 085d48511d0..c744e26451d 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-normalize-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-normalize-private.hh @@ -29,8 +29,6 @@ #include "hb-private.hh" -#include "hb-font.h" -#include "hb-buffer.h" /* buffer var allocations, used during the normalization process */ #define glyph_index() var1.u32 @@ -38,6 +36,7 @@ struct hb_ot_shape_plan_t; enum hb_ot_shape_normalization_mode_t { + HB_OT_SHAPE_NORMALIZATION_MODE_NONE, HB_OT_SHAPE_NORMALIZATION_MODE_DECOMPOSED, HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_DIACRITICS, /* never composes base-to-base */ HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_DIACRITICS_NO_SHORT_CIRCUIT, /* always fully decomposes and then recompose back */ diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-normalize.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-normalize.cc index 6531e1b215c..2a6a4390030 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-normalize.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-normalize.cc @@ -213,8 +213,9 @@ decompose_current_character (const hb_ot_shape_normalize_context_t *c, bool shor } static inline void -handle_variation_selector_cluster (const hb_ot_shape_normalize_context_t *c, unsigned int end) +handle_variation_selector_cluster (const hb_ot_shape_normalize_context_t *c, unsigned int end, bool short_circuit) { + /* TODO Currently if there's a variation-selector we give-up, it's just too hard. */ hb_buffer_t * const buffer = c->buffer; hb_font_t * const font = c->font; for (; buffer->idx < end - 1;) { @@ -250,27 +251,26 @@ handle_variation_selector_cluster (const hb_ot_shape_normalize_context_t *c, uns } static inline void -decompose_multi_char_cluster (const hb_ot_shape_normalize_context_t *c, unsigned int end) +decompose_multi_char_cluster (const hb_ot_shape_normalize_context_t *c, unsigned int end, bool short_circuit) { hb_buffer_t * const buffer = c->buffer; - /* TODO Currently if there's a variation-selector we give-up, it's just too hard. */ for (unsigned int i = buffer->idx; i < end; i++) if (unlikely (buffer->unicode->is_variation_selector (buffer->info[i].codepoint))) { - handle_variation_selector_cluster (c, end); + handle_variation_selector_cluster (c, end, short_circuit); return; } while (buffer->idx < end) - decompose_current_character (c, false); + decompose_current_character (c, short_circuit); } static inline void -decompose_cluster (const hb_ot_shape_normalize_context_t *c, bool short_circuit, unsigned int end) +decompose_cluster (const hb_ot_shape_normalize_context_t *c, unsigned int end, bool might_short_circuit, bool always_short_circuit) { if (likely (c->buffer->idx + 1 == end)) - decompose_current_character (c, short_circuit); + decompose_current_character (c, might_short_circuit); else - decompose_multi_char_cluster (c, end); + decompose_multi_char_cluster (c, end, always_short_circuit); } @@ -289,9 +289,7 @@ _hb_ot_shape_normalize (const hb_ot_shape_plan_t *plan, hb_buffer_t *buffer, hb_font_t *font) { - hb_ot_shape_normalization_mode_t mode = plan->shaper->normalization_preference ? - plan->shaper->normalization_preference (&buffer->props) : - HB_OT_SHAPE_NORMALIZATION_MODE_DEFAULT; + hb_ot_shape_normalization_mode_t mode = plan->shaper->normalization_preference; const hb_ot_shape_normalize_context_t c = { plan, buffer, @@ -301,8 +299,10 @@ _hb_ot_shape_normalize (const hb_ot_shape_plan_t *plan, plan->shaper->compose ? plan->shaper->compose : compose_unicode }; - bool short_circuit = mode != HB_OT_SHAPE_NORMALIZATION_MODE_DECOMPOSED && - mode != HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_DIACRITICS_NO_SHORT_CIRCUIT; + bool always_short_circuit = mode == HB_OT_SHAPE_NORMALIZATION_MODE_NONE; + bool might_short_circuit = always_short_circuit || + (mode != HB_OT_SHAPE_NORMALIZATION_MODE_DECOMPOSED && + mode != HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_DIACRITICS_NO_SHORT_CIRCUIT); unsigned int count; /* We do a fairly straightforward yet custom normalization process in three @@ -323,7 +323,7 @@ _hb_ot_shape_normalize (const hb_ot_shape_plan_t *plan, if (buffer->cur().cluster != buffer->info[end].cluster) break; - decompose_cluster (&c, short_circuit, end); + decompose_cluster (&c, end, might_short_circuit, always_short_circuit); } buffer->swap_buffers (); @@ -355,7 +355,8 @@ _hb_ot_shape_normalize (const hb_ot_shape_plan_t *plan, } - if (mode == HB_OT_SHAPE_NORMALIZATION_MODE_DECOMPOSED) + if (mode == HB_OT_SHAPE_NORMALIZATION_MODE_NONE || + mode == HB_OT_SHAPE_NORMALIZATION_MODE_DECOMPOSED) return; /* Third round, recompose */ @@ -393,8 +394,9 @@ _hb_ot_shape_normalize (const hb_ot_shape_plan_t *plan, return; buffer->merge_out_clusters (starter, buffer->out_len); buffer->out_len--; /* Remove the second composable. */ - buffer->out_info[starter].codepoint = composed; /* Modify starter and carry on. */ - set_glyph (buffer->out_info[starter], font); + /* Modify starter and carry on. */ + buffer->out_info[starter].codepoint = composed; + buffer->out_info[starter].glyph_index() = glyph; _hb_glyph_info_set_unicode_props (&buffer->out_info[starter], buffer->unicode); continue; diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-private.hh index cbfab5b40c9..df81fa25d97 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-private.hh @@ -40,6 +40,10 @@ struct hb_ot_shape_plan_t const struct hb_ot_complex_shaper_t *shaper; hb_ot_map_t map; const void *data; + hb_mask_t rtlm_mask, frac_mask, numr_mask, dnom_mask; + hb_mask_t kern_mask; + unsigned int has_frac : 1; + unsigned int has_kern : 1; inline void collect_lookups (hb_tag_t table_tag, hb_set_t *lookups) const { @@ -77,6 +81,17 @@ struct hb_ot_shape_planner_t plan.props = props; plan.shaper = shaper; map.compile (plan.map); + + plan.rtlm_mask = plan.map.get_1_mask (HB_TAG ('r','t','l','m')); + plan.frac_mask = plan.map.get_1_mask (HB_TAG ('f','r','a','c')); + plan.numr_mask = plan.map.get_1_mask (HB_TAG ('n','u','m','r')); + plan.dnom_mask = plan.map.get_1_mask (HB_TAG ('d','n','o','m')); + + plan.kern_mask = plan.map.get_mask (HB_DIRECTION_IS_HORIZONTAL (plan.props.direction) ? + HB_TAG ('k','e','r','n') : HB_TAG ('v','k','r','n')); + + plan.has_frac = plan.frac_mask || (plan.numr_mask && plan.dnom_mask); + plan.has_kern = !!plan.kern_mask; } private: diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape.cc index 63c36f936fb..3080a1d03db 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape.cc @@ -88,6 +88,10 @@ hb_ot_shape_collect_features (hb_ot_shape_planner_t *planner, break; } + map->add_feature (HB_TAG ('f','r','a','c'), 1, F_NONE); + map->add_feature (HB_TAG ('n','u','m','r'), 1, F_NONE); + map->add_feature (HB_TAG ('d','n','o','m'), 1, F_NONE); + if (planner->shaper->collect_features) planner->shaper->collect_features (planner); @@ -234,8 +238,7 @@ hb_insert_dotted_circle (hb_buffer_t *buffer, hb_font_t *font) HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK) return; - hb_codepoint_t dottedcircle_glyph; - if (!font->get_glyph (0x25CC, 0, &dottedcircle_glyph)) + if (!font->has_glyph (0x25CC)) return; hb_glyph_info_t dottedcircle; @@ -292,7 +295,7 @@ hb_ot_mirror_chars (hb_ot_shape_context_t *c) hb_buffer_t *buffer = c->buffer; hb_unicode_funcs_t *unicode = buffer->unicode; - hb_mask_t rtlm_mask = c->plan->map.get_1_mask (HB_TAG ('r','t','l','m')); + hb_mask_t rtlm_mask = c->plan->rtlm_mask; unsigned int count = buffer->len; hb_glyph_info_t *info = buffer->info; @@ -306,13 +309,58 @@ hb_ot_mirror_chars (hb_ot_shape_context_t *c) } static inline void -hb_ot_shape_setup_masks (hb_ot_shape_context_t *c) +hb_ot_shape_setup_masks_fraction (hb_ot_shape_context_t *c) +{ + if (!c->plan->has_frac) + return; + + hb_buffer_t *buffer = c->buffer; + + /* TODO look in pre/post context text also. */ + unsigned int count = buffer->len; + hb_glyph_info_t *info = buffer->info; + for (unsigned int i = 0; i < count; i++) + { + if (info[i].codepoint == 0x2044) /* FRACTION SLASH */ + { + unsigned int start = i, end = i + 1; + while (start && + _hb_glyph_info_get_general_category (&info[start - 1]) == + HB_UNICODE_GENERAL_CATEGORY_DECIMAL_NUMBER) + start--; + while (end < count && + _hb_glyph_info_get_general_category (&info[end]) == + HB_UNICODE_GENERAL_CATEGORY_DECIMAL_NUMBER) + end++; + + for (unsigned int j = start; j < i; j++) + info[j].mask |= c->plan->numr_mask | c->plan->frac_mask; + info[i].mask |= c->plan->frac_mask; + for (unsigned int j = i + 1; j < end; j++) + info[j].mask |= c->plan->frac_mask | c->plan->dnom_mask; + + i = end - 1; + } + } +} + +static inline void +hb_ot_shape_initialize_masks (hb_ot_shape_context_t *c) { hb_ot_map_t *map = &c->plan->map; hb_buffer_t *buffer = c->buffer; hb_mask_t global_mask = map->get_global_mask (); buffer->reset_masks (global_mask); +} + +static inline void +hb_ot_shape_setup_masks (hb_ot_shape_context_t *c) +{ + hb_ot_map_t *map = &c->plan->map; + hb_buffer_t *buffer = c->buffer; + + hb_ot_shape_setup_masks_fraction (c); if (c->plan->shaper->setup_masks) c->plan->shaper->setup_masks (c->plan, buffer, c->font); @@ -358,6 +406,8 @@ hb_ot_substitute_default (hb_ot_shape_context_t *c) if (c->plan->shaper->preprocess_text) c->plan->shaper->preprocess_text (c->plan, buffer, c->font); + hb_ot_shape_initialize_masks (c); + hb_ot_mirror_chars (c); HB_BUFFER_ALLOCATE_VAR (buffer, glyph_index); diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape.h new file mode 100644 index 00000000000..afe6fe9618c --- /dev/null +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape.h @@ -0,0 +1,54 @@ +/* + * Copyright © 2013 Red Hat, Inc. + * + * This is part of HarfBuzz, a text shaping library. + * + * Permission is hereby granted, without written agreement and without + * license or royalty fees, to use, copy, modify, and distribute this + * software and its documentation for any purpose, provided that the + * above copyright notice and the following two paragraphs appear in + * all copies of this software. + * + * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES + * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN + * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * + * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, + * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS + * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + * Red Hat Author(s): Behdad Esfahbod + */ + +#ifndef HB_OT_SHAPE_H +#define HB_OT_SHAPE_H +#define HB_OT_SHAPE_H_IN + +#include "hb.h" + +#include "hb-ot-layout.h" +#include "hb-ot-tag.h" + +HB_BEGIN_DECLS + +/* TODO port to shape-plan / set. */ +void +hb_ot_shape_glyphs_closure (hb_font_t *font, + hb_buffer_t *buffer, + const hb_feature_t *features, + unsigned int num_features, + hb_set_t *glyphs); + +void +hb_ot_shape_plan_collect_lookups (hb_shape_plan_t *shape_plan, + hb_tag_t table_tag, + hb_set_t *lookup_indexes /* OUT */); + +HB_END_DECLS + +#undef HB_OT_SHAPE_H_IN +#endif /* HB_OT_SHAPE_H */ diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-tag.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-tag.cc index d9bc2f6b0aa..5594ef5074a 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-tag.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-tag.cc @@ -27,7 +27,6 @@ */ #include "hb-private.hh" -#include "hb-ot.h" #include <string.h> diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-tag.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-tag.h index 1bf12ab3c09..1bf12ab3c09 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-tag.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-tag.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot.h index 80739063991..e9a280b7dda 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot.h @@ -32,17 +32,10 @@ #include "hb-ot-layout.h" #include "hb-ot-tag.h" +#include "hb-ot-shape.h" HB_BEGIN_DECLS -/* TODO remove */ -void -hb_ot_shape_glyphs_closure (hb_font_t *font, - hb_buffer_t *buffer, - const hb_feature_t *features, - unsigned int num_features, - hb_set_t *glyphs); - HB_END_DECLS #undef HB_OT_H_IN diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-private.hh index 4b72260ed5c..680b21e2cc6 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-private.hh @@ -808,6 +808,12 @@ hb_in_range (T u, T lo, T hi) } template <typename T> static inline bool +hb_in_ranges (T u, T lo1, T hi1, T lo2, T hi2) +{ + return hb_in_range (u, lo1, hi1) || hb_in_range (u, lo2, hi2); +} + +template <typename T> static inline bool hb_in_ranges (T u, T lo1, T hi1, T lo2, T hi2, T lo3, T hi3) { return hb_in_range (u, lo1, hi1) || hb_in_range (u, lo2, hi2) || hb_in_range (u, lo3, hi3); diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-set-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-set-private.hh index ca2a07b7619..705f554ce69 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-set-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-set-private.hh @@ -28,7 +28,6 @@ #define HB_SET_PRIVATE_HH #include "hb-private.hh" -#include "hb-set.h" #include "hb-object-private.hh" diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-set.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-set.cc index 59a0af46ed4..59a0af46ed4 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-set.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-set.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-set.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-set.h index bafdae96333..bafdae96333 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-set.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-set.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shape-plan-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-shape-plan-private.hh index e12b05f97b5..607da5e7791 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shape-plan-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-shape-plan-private.hh @@ -28,7 +28,6 @@ #define HB_SHAPE_PLAN_PRIVATE_HH #include "hb-private.hh" -#include "hb-shape-plan.h" #include "hb-object-private.hh" #include "hb-shaper-private.hh" diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shape-plan.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-shape-plan.cc index e354f291763..e354f291763 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shape-plan.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-shape-plan.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shape-plan.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-shape-plan.h index 8f54552f90b..8f54552f90b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shape-plan.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-shape-plan.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shape.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-shape.cc index c1b752405e1..c1b752405e1 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shape.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-shape.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shape.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-shape.h index 10a35cb517e..10a35cb517e 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shape.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-shape.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shaper-impl-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-shaper-impl-private.hh index 7844081e95b..7844081e95b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shaper-impl-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-shaper-impl-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shaper-list.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-shaper-list.hh index b9c029e58f1..da6d8e0be98 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shaper-list.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-shaper-list.hh @@ -52,4 +52,6 @@ HB_SHAPER_IMPLEMENT (uniscribe) HB_SHAPER_IMPLEMENT (coretext) #endif +#ifdef HAVE_FALLBACK HB_SHAPER_IMPLEMENT (fallback) /* <--- This should be last. */ +#endif diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shaper-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-shaper-private.hh index 29c4493943d..29c4493943d 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shaper-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-shaper-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shaper.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-shaper.cc index 44f718aa702..44f718aa702 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shaper.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-shaper.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-tt-font.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-tt-font.cc index c503a404380..2233a4f1d51 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-tt-font.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-tt-font.cc @@ -31,8 +31,6 @@ #include "hb-ot-hhea-table.hh" #include "hb-ot-hmtx-table.hh" -#include "hb-blob.h" - #include <string.h> diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ucdn.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ucdn.cc index 7d24559de67..7d24559de67 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ucdn.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ucdn.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-unicode-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-unicode-private.hh index dd4d00138e1..ba193e8fa5b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-unicode-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-unicode-private.hh @@ -32,8 +32,6 @@ #define HB_UNICODE_PRIVATE_HH #include "hb-private.hh" - -#include "hb-unicode.h" #include "hb-object-private.hh" @@ -108,7 +106,11 @@ HB_UNICODE_FUNCS_IMPLEMENT_CALLBACKS_SIMPLE modified_combining_class (hb_codepoint_t unicode) { /* XXX This hack belongs to the Myanmar shaper. */ - if (unicode == 0x1037) unicode = 0x103A; + if (unlikely (unicode == 0x1037)) unicode = 0x103A; + + /* XXX This hack belongs to the SEA shaper (for Tai Tham): + * Reorder SAKOT to ensure it comes after any tone marks. */ + if (unlikely (unicode == 0x1A60)) return 254; return _hb_modified_combining_class[combining_class (unicode)]; } @@ -132,10 +134,10 @@ HB_UNICODE_FUNCS_IMPLEMENT_CALLBACKS_SIMPLE * 6.3 is also added manually. The new Unicode 6.3 bidi formatting * characters are encoded in a block that was Default_Ignorable already. * - * Note: While U+115F and U+1160 are Default_Ignorable, we do NOT want to - * hide them, as the way Uniscribe has implemented them is with regular - * spacing glyphs, and that's the way fonts are made to work. As such, - * we make exceptions for those two. + * Note: While U+115F, U+1160, U+3164 and U+FFA0 are Default_Ignorable, + * we do NOT want to hide them, as the way Uniscribe has implemented them + * is with regular spacing glyphs, and that's the way fonts are made to work. + * As such, we make exceptions for those four. * * Gathered from: * http://unicode.org/cldr/utility/list-unicodeset.jsp?a=[:DI:]&abb=on&ucd=on&esc=on @@ -157,10 +159,10 @@ HB_UNICODE_FUNCS_IMPLEMENT_CALLBACKS_SIMPLE * 200B..200F ;RIGHT-TO-LEFT MARK * 202A..202E ;RIGHT-TO-LEFT OVERRIDE * 2060..206F ;NOMINAL DIGIT SHAPES - * 3164 ;HANGUL FILLER + * #3164 ;HANGUL FILLER * FE00..FE0F ;VARIATION SELECTOR-16 * FEFF ;ZERO WIDTH NO-BREAK SPACE - * FFA0 ;HALFWIDTH HANGUL FILLER + * #FFA0 ;HALFWIDTH HANGUL FILLER * FFF0..FFF8 ;<unassigned-FFF8> * 1D173..1D17A ;MUSICAL SYMBOL END PHRASE * E0000..E0FFF ;<unassigned-E0FFF> @@ -182,9 +184,8 @@ HB_UNICODE_FUNCS_IMPLEMENT_CALLBACKS_SIMPLE case 0x20: return hb_in_ranges<hb_codepoint_t> (ch, 0x200B, 0x200F, 0x202A, 0x202E, 0x2060, 0x206F); - case 0x31: return unlikely (ch == 0x3164); case 0xFE: return hb_in_range<hb_codepoint_t> (ch, 0xFE00, 0xFE0F) || ch == 0xFEFF; - case 0xFF: return hb_in_range<hb_codepoint_t> (ch, 0xFFF0, 0xFFF8) || ch == 0xFFA0; + case 0xFF: return hb_in_range<hb_codepoint_t> (ch, 0xFFF0, 0xFFF8); default: return false; } } diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-unicode.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-unicode.cc index 5b44913bd35..5b44913bd35 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-unicode.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-unicode.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-unicode.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-unicode.h index 1c4e097b92d..1c4e097b92d 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-unicode.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-unicode.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-uniscribe.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-uniscribe.cc index fcb1aa65d4a..6571448872a 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-uniscribe.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-uniscribe.cc @@ -709,7 +709,7 @@ _hb_uniscribe_shape (hb_shape_plan_t *shape_plan, for (unsigned int i = 0; i < range_records.len; i++) { range_record_t *range = &range_records[i]; - range->props.potfRecords = feature_records.array + reinterpret_cast<unsigned int> (range->props.potfRecords); + range->props.potfRecords = feature_records.array + reinterpret_cast<uintptr_t> (range->props.potfRecords); } } else @@ -776,13 +776,14 @@ retry: } } - /* All the following types are sized in multiples of sizeof(int). */ - unsigned int glyphs_size = scratch_size / ((sizeof (WORD) + - sizeof (SCRIPT_GLYPHPROP) + - sizeof (int) + - sizeof (GOFFSET) + - sizeof (uint32_t)) - / sizeof (int)); + /* The -2 in the following is to compensate for possible + * alignment needed after the WORD array. sizeof(WORD) == 2. */ + unsigned int glyphs_size = (scratch_size * sizeof (int) - 2) + / (sizeof (WORD) + + sizeof (SCRIPT_GLYPHPROP) + + sizeof (int) + + sizeof (GOFFSET) + + sizeof (uint32_t)); ALLOCATE_ARRAY (WORD, glyphs, glyphs_size); ALLOCATE_ARRAY (SCRIPT_GLYPHPROP, glyph_props, glyphs_size); diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-uniscribe.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-uniscribe.h index 51887c8794b..51887c8794b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-uniscribe.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-uniscribe.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-utf-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-utf-private.hh index b9a6519d28e..b9a6519d28e 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-utf-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-utf-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-version.h.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-version.h.in index 43634f91ce8..43634f91ce8 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-version.h.in +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-version.h.in diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-warning.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-warning.cc index 4f1f65f5a21..4f1f65f5a21 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-warning.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-warning.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb.h index c5a938a3818..c5a938a3818 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/main.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/main.cc index ff75237b23f..ff75237b23f 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/main.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/main.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/test-buffer-serialize.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/test-buffer-serialize.cc index 18c46e9524b..18c46e9524b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/test-buffer-serialize.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/test-buffer-serialize.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/test-size-params.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/test-size-params.cc index 35d9e3c8e25..35d9e3c8e25 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/test-size-params.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/test-size-params.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/test-would-substitute.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/test-would-substitute.cc index 8ea87cdf397..8ea87cdf397 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/test-would-substitute.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/test-would-substitute.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/test.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/test.cc index a8fe046f34c..a8fe046f34c 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/test.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/test.cc diff --git a/Build/source/libs/harfbuzz/include/Makefile.am b/Build/source/libs/harfbuzz/include/Makefile.am index 87ca20a52dd..5e2c07bf7a4 100644 --- a/Build/source/libs/harfbuzz/include/Makefile.am +++ b/Build/source/libs/harfbuzz/include/Makefile.am @@ -1,6 +1,6 @@ ## Proxy Makefile.am to install harfbuzz headers for TeX Live. ## -## Copyright (C) 2012-2013 Peter Breitenlohner <tex-live@tug.org> +## Copyright (C) 2012-2014 Peter Breitenlohner <tex-live@tug.org> ## ## This file is free software; the copyright holder ## gives unlimited permission to copy and/or distribute it, @@ -28,6 +28,7 @@ hdr_links = \ hdr_links += \ $(HARFBUZZ_SRC)/hb-ot.h \ $(HARFBUZZ_SRC)/hb-ot-layout.h \ + $(HARFBUZZ_SRC)/hb-ot-shape.h \ $(HARFBUZZ_SRC)/hb-ot-tag.h ## ICU library diff --git a/Build/source/libs/harfbuzz/include/Makefile.in b/Build/source/libs/harfbuzz/include/Makefile.in index f9ae84fe5b2..1ae59024d1e 100644 --- a/Build/source/libs/harfbuzz/include/Makefile.in +++ b/Build/source/libs/harfbuzz/include/Makefile.in @@ -249,8 +249,8 @@ hdr_links = $(HARFBUZZ_SRC)/hb.h $(HARFBUZZ_SRC)/hb-blob.h \ $(HARFBUZZ_SRC)/hb-shape.h $(HARFBUZZ_SRC)/hb-shape-plan.h \ $(HARFBUZZ_SRC)/hb-unicode.h $(HARFBUZZ_BLD)/hb-version.h \ $(HARFBUZZ_SRC)/hb-ot.h $(HARFBUZZ_SRC)/hb-ot-layout.h \ - $(HARFBUZZ_SRC)/hb-ot-tag.h $(HARFBUZZ_SRC)/hb-icu.h \ - $(HARFBUZZ_SRC)/hb-graphite2.h + $(HARFBUZZ_SRC)/hb-ot-shape.h $(HARFBUZZ_SRC)/hb-ot-tag.h \ + $(HARFBUZZ_SRC)/hb-icu.h $(HARFBUZZ_SRC)/hb-graphite2.h all: all-am .SUFFIXES: diff --git a/Build/source/libs/harfbuzz/version.ac b/Build/source/libs/harfbuzz/version.ac index 3b0d53976e2..5f801f0447e 100644 --- a/Build/source/libs/harfbuzz/version.ac +++ b/Build/source/libs/harfbuzz/version.ac @@ -1,5 +1,5 @@ dnl -dnl Copyright (C) 2012, 2013 Peter Breitenlohner <tex-live@tug.org> +dnl Copyright (C) 2012-2014 Peter Breitenlohner <tex-live@tug.org> dnl dnl This file is free software; the copyright holder dnl gives unlimited permission to copy and/or distribute it, @@ -8,4 +8,4 @@ dnl dnl -------------------------------------------------------- dnl dnl m4-include this file to define the current harfbuzz version -m4_define([harfbuzz_version], [0.9.25]) +m4_define([harfbuzz_version], [0.9.26]) |