summaryrefslogtreecommitdiff
path: root/Build/source/libs/harfbuzz
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2014-01-31 09:16:15 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2014-01-31 09:16:15 +0000
commit0aa2304636143cf73b6718e82646736aa7dc5f10 (patch)
tree5096a2d5f16670c8001f7ab7c35118e8ea7d6c94 /Build/source/libs/harfbuzz
parent413cdef969440005d01da2c407b2c700db4592ff (diff)
harfbuzz 0.9.26
git-svn-id: svn://tug.org/texlive/trunk@32830 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs/harfbuzz')
-rw-r--r--Build/source/libs/harfbuzz/ChangeLog5
-rw-r--r--Build/source/libs/harfbuzz/Makefile.am5
-rw-r--r--Build/source/libs/harfbuzz/Makefile.in22
-rwxr-xr-xBuild/source/libs/harfbuzz/configure32
-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-xBuild/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-xBuild/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-xBuild/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-xBuild/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-xBuild/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-xBuild/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-xBuild/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-xBuild/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-xBuild/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-xBuild/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.cc44
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-0.9.26/src/hb-ot-shape-complex-hangul.cc417
-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.cc61
-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.h54
-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.am3
-rw-r--r--Build/source/libs/harfbuzz/include/Makefile.in4
-rw-r--r--Build/source/libs/harfbuzz/version.ac4
151 files changed, 1398 insertions, 236 deletions
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, &notdef, NULL, 1);
+
+ for (CFIndex j = range.location; j < range.location + range.length; j++)
{
- CGGlyph notdef = 0;
- double advance = CTFontGetAdvancesForGlyphs (font_data->ct_font, kCTFontHorizontalOrientation, &notdef, 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])