diff options
author | Peter Breitenlohner <peb@mppmu.mpg.de> | 2013-12-05 08:18:09 +0000 |
---|---|---|
committer | Peter Breitenlohner <peb@mppmu.mpg.de> | 2013-12-05 08:18:09 +0000 |
commit | a7ed001e7fceca987c5a2b4b2c26a477a7e8abe3 (patch) | |
tree | 12213c467cc271f71789859c11525495a9440d3f /Build/source/libs | |
parent | 2cebd12975f569781b4d3575862a2dbef8a39a21 (diff) |
harfbuzz 0.9.25
git-svn-id: svn://tug.org/texlive/trunk@32329 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs')
-rw-r--r-- | Build/source/libs/README | 2 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/ChangeLog | 5 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/Makefile.in | 4 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/configure | 32 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-myanmar-machine.hh | 391 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25-PATCHES/ChangeLog (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24-PATCHES/ChangeLog) | 5 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25-PATCHES/TL-Changes (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24-PATCHES/TL-Changes) | 4 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/AUTHORS (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/AUTHORS) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/Android.mk (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/Android.mk) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/ChangeLog (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/ChangeLog) | 285 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/Makefile.am (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/Makefile.am) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/NEWS (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/NEWS) | 12 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/README (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/README) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/THANKS (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/THANKS) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/TODO (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/TODO) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.25/autogen.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/autogen.sh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/config.h.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/config.h.in) | 6 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/configure.ac (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/configure.ac) | 4 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/gtk-doc.make (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/gtk-doc.make) | 70 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/harfbuzz.doap (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/harfbuzz.doap) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/Makefile.am (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/Makefile.am) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-c-linkage-decls.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/check-c-linkage-decls.sh) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-defs.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/check-defs.sh) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-header-guards.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/check-header-guards.sh) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-includes.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/check-includes.sh) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-libstdc++.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/check-libstdc++.sh) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-static-inits.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/check-static-inits.sh) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-symbols.sh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/check-symbols.sh) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/gen-arabic-table.py (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/gen-arabic-table.py) | 0 | ||||
-rwxr-xr-x | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/gen-indic-table.py (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/gen-indic-table.py) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/harfbuzz-gobject.pc.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/harfbuzz-gobject.pc.in) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/harfbuzz-icu.pc.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/harfbuzz-icu.pc.in) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/harfbuzz.pc.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/harfbuzz.pc.in) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-atomic-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-atomic-private.hh) | 2 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-blob.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-blob.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-blob.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-blob.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-deserialize-json.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-buffer-deserialize-json.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-deserialize-json.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-buffer-deserialize-json.rl) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-deserialize-text.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-buffer-deserialize-text.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-deserialize-text.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-buffer-deserialize-text.rl) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-buffer-private.hh) | 2 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-serialize.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-buffer-serialize.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-buffer.cc) | 3 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-buffer.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-cache-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-cache-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-common.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-common.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-common.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-common.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-coretext.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-coretext.cc) | 44 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-coretext.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-coretext.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-deprecated.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-deprecated.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-face-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-face-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-face.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-face.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-face.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-face.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-fallback-shape.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-fallback-shape.cc) | 10 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-font-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-font-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-font.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-font.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-font.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-font.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ft.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ft.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ft.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ft.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-glib.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-glib.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-glib.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-glib.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-gobject-enums.cc.tmpl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-gobject-enums.cc.tmpl) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-gobject-enums.h.tmpl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-gobject-enums.h.tmpl) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-gobject-structs.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-gobject-structs.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-gobject-structs.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-gobject-structs.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-gobject.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-gobject.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-graphite2.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-graphite2.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-graphite2.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-graphite2.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-icu.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-icu.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-icu.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-icu.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-mutex-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-mutex-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-object-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-object-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-open-file-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-open-file-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-open-type-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-open-type-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-head-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-head-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-hhea-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-hhea-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-hmtx-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-hmtx-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-common-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-layout-common-private.hh) | 3 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-gdef-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-layout-gdef-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-gpos-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-layout-gpos-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-gsub-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-layout-gsub-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-gsubgpos-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-layout-gsubgpos-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-jstf-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-layout-jstf-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-layout-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-layout.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-layout.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-map-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-map-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-map.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-map.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-maxp-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-maxp-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-name-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-name-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-arabic-fallback.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-arabic-fallback.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-arabic-table.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-arabic-table.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-arabic.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-arabic.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-default.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-default.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-indic-machine.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-indic-machine.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-indic-machine.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-indic-machine.rl) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-indic-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-indic-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-indic-table.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-indic-table.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-indic.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-indic.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-myanmar-machine.hh | 400 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-myanmar-machine.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-myanmar-machine.rl) | 5 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-myanmar.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-myanmar.cc) | 23 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-sea-machine.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-sea-machine.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-sea-machine.rl (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-sea-machine.rl) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-sea.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-sea.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-thai.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-thai.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-fallback-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-fallback-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-fallback.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-fallback.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-normalize-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-normalize-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-normalize.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-normalize.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-private.hh) | 2 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-tag.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-tag.cc) | 314 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-tag.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-tag.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-set-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-set-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-set.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-set.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-set.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-set.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shape-plan-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-shape-plan-private.hh) | 5 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shape-plan.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-shape-plan.cc) | 69 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shape-plan.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-shape-plan.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shape.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-shape.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shape.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-shape.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shaper-impl-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-shaper-impl-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shaper-list.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-shaper-list.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shaper-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-shaper-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shaper.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-shaper.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-tt-font.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-tt-font.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ucdn.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ucdn.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-unicode-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-unicode-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-unicode.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-unicode.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-unicode.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-unicode.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-uniscribe.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-uniscribe.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-uniscribe.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-uniscribe.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-utf-private.hh (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-utf-private.hh) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-version.h.in (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-version.h.in) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-warning.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-warning.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb.h (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb.h) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/main.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/main.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/test-buffer-serialize.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/test-buffer-serialize.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/test-size-params.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/test-size-params.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/test-would-substitute.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/test-would-substitute.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/test.cc (renamed from Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/test.cc) | 0 | ||||
-rw-r--r-- | Build/source/libs/harfbuzz/version.ac | 2 |
146 files changed, 1173 insertions, 531 deletions
diff --git a/Build/source/libs/README b/Build/source/libs/README index cd633a56946..9ff89e5aa5c 100644 --- a/Build/source/libs/README +++ b/Build/source/libs/README @@ -21,7 +21,7 @@ gd 2.1.0 - checked 26jun13 graphite2 1.2.4 - checked 2dec13 http://sourceforge.net/projects/silgraphite/files/graphite2/ -harfbuzz 0.9.24 - checked 14nov13 +harfbuzz 0.9.25 - checked 5dec13 http://www.freedesktop.org/software/harfbuzz/release/ icu 52.1 (release) - checked 10oct13 diff --git a/Build/source/libs/harfbuzz/ChangeLog b/Build/source/libs/harfbuzz/ChangeLog index 57a9957a1f0..d2a70fe9218 100644 --- a/Build/source/libs/harfbuzz/ChangeLog +++ b/Build/source/libs/harfbuzz/ChangeLog @@ -1,3 +1,8 @@ +2013-12-05 Peter Breitenlohner <peb@mppmu.mpg.de> + + Import harfbuzz-0.9.25. + * version.ac: Adjust. + 2013-11-14 Peter Breitenlohner <peb@mppmu.mpg.de> Import harfbuzz-0.9.24. diff --git a/Build/source/libs/harfbuzz/Makefile.in b/Build/source/libs/harfbuzz/Makefile.in index 445fcd76922..892cee2c47d 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.24/src/hb-version.h.in \ + $(top_srcdir)/harfbuzz-0.9.25/src/hb-version.h.in \ $(am__dist_check_SCRIPTS_DIST) \ $(top_srcdir)/../../build-aux/depcomp \ $(top_srcdir)/../../build-aux/test-driver ChangeLog \ @@ -771,7 +771,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.24/src/hb-version.h.in +hb-version.h: $(top_builddir)/config.status $(top_srcdir)/harfbuzz-0.9.25/src/hb-version.h.in cd $(top_builddir) && $(SHELL) ./config.status $@ clean-noinstLIBRARIES: diff --git a/Build/source/libs/harfbuzz/configure b/Build/source/libs/harfbuzz/configure index 96e37f16b3f..c995533c8cb 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.24. +# Generated by GNU Autoconf 2.69 for harfbuzz (TeX Live) 0.9.25. # # 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.24' -PACKAGE_STRING='harfbuzz (TeX Live) 0.9.24' +PACKAGE_VERSION='0.9.25' +PACKAGE_STRING='harfbuzz (TeX Live) 0.9.25' PACKAGE_BUGREPORT='tex-k@tug.org' PACKAGE_URL='' -ac_unique_file="harfbuzz-0.9.24/src/harfbuzz.pc.in" +ac_unique_file="harfbuzz-0.9.25/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.24 to adapt to many kinds of systems. +\`configure' configures harfbuzz (TeX Live) 0.9.25 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.24:";; + short | recursive ) echo "Configuration of harfbuzz (TeX Live) 0.9.25:";; 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.24 +harfbuzz (TeX Live) configure 0.9.25 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.24, which was +It was created by harfbuzz (TeX Live) $as_me 0.9.25, 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.24' + VERSION='0.9.25' 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=24 -HB_VERSION=0.9.24 +HB_VERSION_MICRO=25 +HB_VERSION=0.9.25 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.24 +HARFBUZZ_TREE=harfbuzz-0.9.25 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.24/src/hb-version.h.in" +ac_config_files="$ac_config_files Makefile include/Makefile hb-version.h:harfbuzz-0.9.25/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.24, which was +This file was extended by harfbuzz (TeX Live) $as_me 0.9.25, 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.24 +harfbuzz (TeX Live) config.status 0.9.25 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.24/src/hb-version.h.in" ;; + "hb-version.h") CONFIG_FILES="$CONFIG_FILES hb-version.h:harfbuzz-0.9.25/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.24/src/hb-ot-shape-complex-myanmar-machine.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-myanmar-machine.hh deleted file mode 100644 index 797bfc5bea0..00000000000 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-myanmar-machine.hh +++ /dev/null @@ -1,391 +0,0 @@ - -#line 1 "../../src/hb-ot-shape-complex-myanmar-machine.rl" -/* - * Copyright © 2011,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 - */ - -#ifndef HB_OT_SHAPE_COMPLEX_MYANMAR_MACHINE_HH -#define HB_OT_SHAPE_COMPLEX_MYANMAR_MACHINE_HH - -#include "hb-private.hh" - - -#line 36 "hb-ot-shape-complex-myanmar-machine.hh.tmp" -static const unsigned char _myanmar_syllable_machine_trans_keys[] = { - 1u, 30u, 3u, 30u, 5u, 29u, 5u, 8u, 5u, 29u, 3u, 25u, 5u, 25u, 5u, 25u, - 3u, 29u, 3u, 29u, 3u, 29u, 3u, 29u, 1u, 16u, 3u, 29u, 3u, 29u, 3u, 29u, - 3u, 29u, 3u, 29u, 3u, 29u, 3u, 29u, 3u, 29u, 3u, 29u, 5u, 29u, 5u, 8u, - 5u, 29u, 3u, 25u, 5u, 25u, 5u, 25u, 3u, 29u, 3u, 29u, 3u, 29u, 3u, 29u, - 3u, 30u, 3u, 29u, 1u, 30u, 3u, 29u, 3u, 29u, 3u, 29u, 3u, 29u, 3u, 29u, - 3u, 29u, 3u, 29u, 3u, 29u, 3u, 29u, 0 -}; - -static const char _myanmar_syllable_machine_key_spans[] = { - 30, 28, 25, 4, 25, 23, 21, 21, - 27, 27, 27, 27, 16, 27, 27, 27, - 27, 27, 27, 27, 27, 27, 25, 4, - 25, 23, 21, 21, 27, 27, 27, 27, - 28, 27, 30, 27, 27, 27, 27, 27, - 27, 27, 27, 27 -}; - -static const short _myanmar_syllable_machine_index_offsets[] = { - 0, 31, 60, 86, 91, 117, 141, 163, - 185, 213, 241, 269, 297, 314, 342, 370, - 398, 426, 454, 482, 510, 538, 566, 592, - 597, 623, 647, 669, 691, 719, 747, 775, - 803, 832, 860, 891, 919, 947, 975, 1003, - 1031, 1059, 1087, 1115 -}; - -static const char _myanmar_syllable_machine_indicies[] = { - 1, 1, 2, 3, 4, 4, 0, 5, - 0, 6, 0, 1, 0, 0, 0, 7, - 0, 8, 1, 0, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 0, 20, - 21, 22, 22, 19, 23, 19, 24, 19, - 19, 19, 19, 19, 19, 19, 25, 19, - 19, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 19, 22, 22, 19, 23, - 19, 19, 19, 19, 19, 19, 19, 19, - 19, 36, 19, 19, 19, 19, 19, 19, - 30, 19, 19, 19, 34, 19, 22, 22, - 19, 23, 19, 22, 22, 19, 23, 19, - 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 30, - 19, 19, 19, 34, 19, 37, 19, 22, - 22, 19, 23, 19, 30, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 30, 19, 22, 22, 19, - 23, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 38, 19, 19, 19, 19, 19, - 19, 30, 19, 22, 22, 19, 23, 19, - 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 30, - 19, 20, 19, 22, 22, 19, 23, 19, - 24, 19, 19, 19, 19, 19, 19, 19, - 39, 19, 19, 39, 19, 19, 19, 30, - 40, 19, 19, 34, 19, 20, 19, 22, - 22, 19, 23, 19, 24, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 30, 19, 19, 19, 34, - 19, 20, 19, 22, 22, 19, 23, 19, - 24, 19, 19, 19, 19, 19, 19, 19, - 39, 19, 19, 19, 19, 19, 19, 30, - 40, 19, 19, 34, 19, 20, 19, 22, - 22, 19, 23, 19, 24, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 30, 40, 19, 19, 34, - 19, 1, 1, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, - 1, 19, 20, 19, 22, 22, 19, 23, - 19, 24, 19, 19, 19, 19, 19, 19, - 19, 25, 19, 19, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 19, 20, 19, - 22, 22, 19, 23, 19, 24, 19, 19, - 19, 19, 19, 19, 19, 33, 19, 19, - 19, 19, 19, 19, 30, 31, 32, 33, - 34, 19, 20, 19, 22, 22, 19, 23, - 19, 24, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, - 30, 31, 32, 33, 34, 19, 20, 19, - 22, 22, 19, 23, 19, 24, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 30, 31, 32, 19, - 34, 19, 20, 19, 22, 22, 19, 23, - 19, 24, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, - 30, 19, 32, 19, 34, 19, 20, 19, - 22, 22, 19, 23, 19, 24, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, - 26, 19, 28, 19, 30, 31, 32, 33, - 34, 19, 20, 19, 22, 22, 19, 23, - 19, 24, 19, 19, 19, 19, 19, 19, - 19, 33, 19, 19, 26, 19, 19, 19, - 30, 31, 32, 33, 34, 19, 20, 19, - 22, 22, 19, 23, 19, 24, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, - 26, 27, 28, 19, 30, 31, 32, 33, - 34, 19, 20, 21, 22, 22, 19, 23, - 19, 24, 19, 19, 19, 19, 19, 19, - 19, 25, 19, 19, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 19, 3, 3, - 41, 5, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 42, 41, 41, 41, 41, - 41, 41, 13, 41, 41, 41, 17, 41, - 3, 3, 41, 5, 41, 3, 3, 41, - 5, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, - 41, 13, 41, 41, 41, 17, 41, 43, - 41, 3, 3, 41, 5, 41, 13, 41, - 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 13, 41, 3, - 3, 41, 5, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 44, 41, 41, 41, - 41, 41, 41, 13, 41, 3, 3, 41, - 5, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, - 41, 13, 41, 2, 41, 3, 3, 41, - 5, 41, 6, 41, 41, 41, 41, 41, - 41, 41, 45, 41, 41, 45, 41, 41, - 41, 13, 46, 41, 41, 17, 41, 2, - 41, 3, 3, 41, 5, 41, 6, 41, - 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 13, 41, 41, - 41, 17, 41, 2, 41, 3, 3, 41, - 5, 41, 6, 41, 41, 41, 41, 41, - 41, 41, 45, 41, 41, 41, 41, 41, - 41, 13, 46, 41, 41, 17, 41, 2, - 41, 3, 3, 41, 5, 41, 6, 41, - 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 13, 46, 41, - 41, 17, 41, 20, 21, 22, 22, 19, - 23, 19, 24, 19, 19, 19, 19, 19, - 19, 19, 47, 19, 19, 26, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 19, - 20, 48, 22, 22, 19, 23, 19, 24, - 19, 19, 19, 19, 19, 19, 19, 25, - 19, 19, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 19, 1, 1, 2, 3, - 3, 3, 41, 5, 41, 6, 41, 1, - 41, 41, 41, 1, 41, 8, 1, 41, - 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 41, 2, 41, 3, 3, 41, - 5, 41, 6, 41, 41, 41, 41, 41, - 41, 41, 8, 41, 41, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 41, 2, - 41, 3, 3, 41, 5, 41, 6, 41, - 41, 41, 41, 41, 41, 41, 16, 41, - 41, 41, 41, 41, 41, 13, 14, 15, - 16, 17, 41, 2, 41, 3, 3, 41, - 5, 41, 6, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, - 41, 13, 14, 15, 16, 17, 41, 2, - 41, 3, 3, 41, 5, 41, 6, 41, - 41, 41, 41, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 13, 14, 15, - 41, 17, 41, 2, 41, 3, 3, 41, - 5, 41, 6, 41, 41, 41, 41, 41, - 41, 41, 41, 41, 41, 41, 41, 41, - 41, 13, 41, 15, 41, 17, 41, 2, - 41, 3, 3, 41, 5, 41, 6, 41, - 41, 41, 41, 41, 41, 41, 41, 41, - 41, 9, 41, 11, 41, 13, 14, 15, - 16, 17, 41, 2, 41, 3, 3, 41, - 5, 41, 6, 41, 41, 41, 41, 41, - 41, 41, 16, 41, 41, 9, 41, 41, - 41, 13, 14, 15, 16, 17, 41, 2, - 41, 3, 3, 41, 5, 41, 6, 41, - 41, 41, 41, 41, 41, 41, 41, 41, - 41, 9, 10, 11, 41, 13, 14, 15, - 16, 17, 41, 2, 3, 3, 3, 41, - 5, 41, 6, 41, 41, 41, 41, 41, - 41, 41, 8, 41, 41, 9, 10, 11, - 12, 13, 14, 15, 16, 17, 41, 0 -}; - -static const char _myanmar_syllable_machine_trans_targs[] = { - 0, 1, 22, 0, 0, 23, 29, 32, - 35, 36, 40, 41, 42, 25, 38, 39, - 37, 28, 43, 0, 2, 12, 0, 3, - 9, 13, 14, 18, 19, 20, 5, 16, - 17, 15, 8, 21, 4, 6, 7, 10, - 11, 0, 24, 26, 27, 30, 31, 33, - 34 -}; - -static const char _myanmar_syllable_machine_trans_actions[] = { - 3, 0, 0, 4, 5, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 6, 0, 0, 7, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 8, 0, 0, 0, 0, 0, 0, - 0 -}; - -static const char _myanmar_syllable_machine_to_state_actions[] = { - 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0 -}; - -static const char _myanmar_syllable_machine_from_state_actions[] = { - 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0 -}; - -static const short _myanmar_syllable_machine_eof_trans[] = { - 0, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 42, 42, - 42, 42, 42, 42, 42, 42, 42, 42, - 20, 20, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42 -}; - -static const int myanmar_syllable_machine_start = 0; -static const int myanmar_syllable_machine_first_final = 0; -static const int myanmar_syllable_machine_error = -1; - -static const int myanmar_syllable_machine_en_main = 0; - - -#line 36 "../../src/hb-ot-shape-complex-myanmar-machine.rl" - - - -#line 90 "../../src/hb-ot-shape-complex-myanmar-machine.rl" - - -#define found_syllable(syllable_type) \ - HB_STMT_START { \ - if (0) fprintf (stderr, "syllable %d..%d %s\n", last, p+1, #syllable_type); \ - for (unsigned int i = last; i < p+1; i++) \ - info[i].syllable() = (syllable_serial << 4) | syllable_type; \ - last = p+1; \ - syllable_serial++; \ - if (unlikely (syllable_serial == 16)) syllable_serial = 1; \ - } HB_STMT_END - -static void -find_syllables (hb_buffer_t *buffer) -{ - unsigned int p, pe, eof, ts HB_UNUSED, te HB_UNUSED, act HB_UNUSED; - int cs; - hb_glyph_info_t *info = buffer->info; - -#line 288 "hb-ot-shape-complex-myanmar-machine.hh.tmp" - { - cs = myanmar_syllable_machine_start; - ts = 0; - te = 0; - act = 0; - } - -#line 111 "../../src/hb-ot-shape-complex-myanmar-machine.rl" - - - p = 0; - pe = eof = buffer->len; - - unsigned int last = 0; - unsigned int syllable_serial = 1; - -#line 305 "hb-ot-shape-complex-myanmar-machine.hh.tmp" - { - int _slen; - int _trans; - const unsigned char *_keys; - const char *_inds; - if ( p == pe ) - goto _test_eof; -_resume: - switch ( _myanmar_syllable_machine_from_state_actions[cs] ) { - case 2: -#line 1 "NONE" - {ts = p;} - break; -#line 319 "hb-ot-shape-complex-myanmar-machine.hh.tmp" - } - - _keys = _myanmar_syllable_machine_trans_keys + (cs<<1); - _inds = _myanmar_syllable_machine_indicies + _myanmar_syllable_machine_index_offsets[cs]; - - _slen = _myanmar_syllable_machine_key_spans[cs]; - _trans = _inds[ _slen > 0 && _keys[0] <=( info[p].myanmar_category()) && - ( info[p].myanmar_category()) <= _keys[1] ? - ( info[p].myanmar_category()) - _keys[0] : _slen ]; - -_eof_trans: - cs = _myanmar_syllable_machine_trans_targs[_trans]; - - if ( _myanmar_syllable_machine_trans_actions[_trans] == 0 ) - goto _again; - - switch ( _myanmar_syllable_machine_trans_actions[_trans] ) { - case 7: -#line 83 "../../src/hb-ot-shape-complex-myanmar-machine.rl" - {te = p+1;{ found_syllable (consonant_syllable); }} - break; - case 5: -#line 84 "../../src/hb-ot-shape-complex-myanmar-machine.rl" - {te = p+1;{ found_syllable (non_myanmar_cluster); }} - break; - case 4: -#line 85 "../../src/hb-ot-shape-complex-myanmar-machine.rl" - {te = p+1;{ found_syllable (broken_cluster); }} - break; - case 3: -#line 86 "../../src/hb-ot-shape-complex-myanmar-machine.rl" - {te = p+1;{ found_syllable (non_myanmar_cluster); }} - break; - case 6: -#line 83 "../../src/hb-ot-shape-complex-myanmar-machine.rl" - {te = p;p--;{ found_syllable (consonant_syllable); }} - break; - case 8: -#line 85 "../../src/hb-ot-shape-complex-myanmar-machine.rl" - {te = p;p--;{ found_syllable (broken_cluster); }} - break; -#line 361 "hb-ot-shape-complex-myanmar-machine.hh.tmp" - } - -_again: - switch ( _myanmar_syllable_machine_to_state_actions[cs] ) { - case 1: -#line 1 "NONE" - {ts = 0;} - break; -#line 370 "hb-ot-shape-complex-myanmar-machine.hh.tmp" - } - - if ( ++p != pe ) - goto _resume; - _test_eof: {} - if ( p == eof ) - { - if ( _myanmar_syllable_machine_eof_trans[cs] > 0 ) { - _trans = _myanmar_syllable_machine_eof_trans[cs] - 1; - goto _eof_trans; - } - } - - } - -#line 120 "../../src/hb-ot-shape-complex-myanmar-machine.rl" - -} - -#undef found_syllable - -#endif /* HB_OT_SHAPE_COMPLEX_MYANMAR_MACHINE_HH */ diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24-PATCHES/ChangeLog b/Build/source/libs/harfbuzz/harfbuzz-0.9.25-PATCHES/ChangeLog index 7f62de7b14e..c64bf424723 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24-PATCHES/ChangeLog +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25-PATCHES/ChangeLog @@ -1,3 +1,8 @@ +2013-12-05 Peter Breitenlohner <peb@mppmu.mpg.de> + + Imported harfbuzz-0.9.25 source tree from: + http://www.freedesktop.org/software/harfbuzz/release/ + 2013-11-14 Peter Breitenlohner <peb@mppmu.mpg.de> Imported harfbuzz-0.9.24 source tree from: diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24-PATCHES/TL-Changes b/Build/source/libs/harfbuzz/harfbuzz-0.9.25-PATCHES/TL-Changes index c8ca924d08c..bafc17074f4 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24-PATCHES/TL-Changes +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25-PATCHES/TL-Changes @@ -1,5 +1,5 @@ -Changes applied to the harfbuzz-0.9.24/ tree as obtained from: - http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-0.9.24.tar.bz2 +Changes applied to the harfbuzz-0.9.25/ tree as obtained from: + http://www.freedesktop.org/software/harfbuzz/release/ Removed: COPYING diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/AUTHORS b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/AUTHORS index c611d7d4769..c611d7d4769 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/AUTHORS +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/AUTHORS diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/Android.mk b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/Android.mk index 757d136e509..757d136e509 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/Android.mk +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/Android.mk diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/ChangeLog b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/ChangeLog index fe34d44a7ac..368ad05ee06 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/ChangeLog +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/ChangeLog @@ -1,3 +1,288 @@ +commit 860fc9aa7b4c49a1d50e64cfdf4d4dffadb7aa8f +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Dec 4 20:06:59 2013 -0500 + + 0.9.25 + + NEWS | 12 ++++++++++++ + configure.ac | 2 +- + 2 files changed, 13 insertions(+), 1 deletion(-) + +commit adb039554de0c98a4121f26423bec8df09a62e61 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Dec 4 20:10:02 2013 -0500 + + Minor + + util/view-cairo.hh | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +commit 95d18a7cab480712d8c95a587ac2a8fdcbec5e71 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Dec 4 20:01:22 2013 -0500 + + [git.mk] Update + + git.mk | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit d913f98d88098fc0f4163dfbc54d8ca9ebe9dd81 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Dec 4 19:59:48 2013 -0500 + + Require automake 1.13 + + Fix tests build. + + https://bugs.freedesktop.org/show_bug.cgi?id=71353 + + configure.ac | 2 +- + test/shaping/Makefile.am | 19 ++++++++++++++----- + 2 files changed, 15 insertions(+), 6 deletions(-) + +commit 205bf834d80f81471f0c3da4f400e60ce3a533dc +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Dec 2 20:41:41 2013 -0500 + + Revert "Karen" language mapping back to what it was before + + https://bugzilla.mozilla.org/show_bug.cgi?id=941470 + + src/hb-ot-tag.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit f47b9219546edcfdeb3991ee27f6d9ba455c3e08 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Dec 2 05:57:27 2013 -0500 + + Fix unsafe shape_plan->face dependency + + src/hb-ot-shape-private.hh | 2 +- + src/hb-shape-plan-private.hh | 2 +- + src/hb-shape-plan.cc | 12 +++--------- + 3 files changed, 5 insertions(+), 11 deletions(-) + +commit c704a8700e169885f1d9cbab93544d85aa4358e9 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Dec 2 05:42:04 2013 -0500 + + [util] Fix uninitialized memory access + + util/view-cairo.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 260a3198f44a4ece60864b6f6caab2ee756ad762 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Dec 2 05:39:39 2013 -0500 + + [util] Plug leak + + util/options.cc | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +commit ca8d96c8ba33ce581684cbc07936a3696b6c83d9 +Author: Jonathan Kew <jfkthame@gmail.com> +Date: Mon Dec 2 05:22:00 2013 -0500 + + cache shape plans even if (global) user features are set + + src/hb-shape-plan-private.hh | 3 +++ + src/hb-shape-plan.cc | 59 + ++++++++++++++++++++++++++++++++++++++++---- + 2 files changed, 57 insertions(+), 5 deletions(-) + +commit 8ffa528f28a24ae85952ad1c1b0206e736bcfeab +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Dec 2 05:17:14 2013 -0500 + + Add note about unsafe shape_plan->face + + Will fix by removing shape_plan->face completely. + + src/hb-shape-plan.cc | 2 ++ + 1 file changed, 2 insertions(+) + +commit aec468f01e866c99e65a8f764a792c74c96840d7 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Nov 29 19:21:58 2013 -0500 + + [coretext] Add TODO + + src/hb-coretext.cc | 2 ++ + 1 file changed, 2 insertions(+) + +commit 58cc233e8b5fdc9dce603acc1b968540a2dea3e1 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Nov 29 19:17:42 2013 -0500 + + [coretext] Cleanup + + src/hb-coretext.cc | 27 ++++++++++++++++----------- + 1 file changed, 16 insertions(+), 11 deletions(-) + +commit c8213c6198abff97822e29a6d565722cfbb43832 +Author: Khaled Hosny <khaledhosny.eglug.org> +Date: Fri Nov 29 19:01:56 2013 -0500 + + [coretext] Avoid font fallback with CoreText shaper + + CoreText does automatic font fallback (AKA "cascading") for + characters + not supported by the requested font, and provides no way to turn + it off, + so detect if the returned run uses a font other than the requested one + and fill in the buffer with .notdef glyphs instead of random indices + glyph from a different font. + + src/hb-coretext.cc | 35 +++++++++++++++++++++++++++++++++++ + 1 file changed, 35 insertions(+) + +commit 63bae73aefb0e5988ef6975f1ed38e040e50e91d +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Nov 26 22:57:24 2013 -0500 + + [fallback] Add TODO note + + src/hb-fallback-shape.cc | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +commit e1ebf01d0cf3df55bb9137136e2d0c9630e7bd78 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Nov 26 18:00:35 2013 -0500 + + Minor + + src/hb-ot-layout-common-private.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit a182dbc9e4e51fa7990c4aea3eaa425a061b29c7 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Tue Nov 26 17:53:41 2013 -0500 + + Minor + + src/hb-ot-layout-common-private.hh | 1 + + 1 file changed, 1 insertion(+) + +commit 9174a9db5c4e01284143ed8bd318ce9454535987 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Nov 25 18:10:38 2013 -0500 + + [myanmar] Allow punctuation clusters + + The spec and Uniscribe don't allow these, but UTN#11 + specifically says the sequence U+104B,U+1038 is valid. + As such, allow all "P V" sequences. There's about + eight sequences that match that structure, but Roozbeh + thinks it's fine to allow all of them. + + Test case: U+104B, U+1038 + + https://bugs.freedesktop.org/show_bug.cgi?id=71947 + + src/hb-ot-shape-complex-myanmar-machine.rl | 3 +++ + src/hb-ot-shape-complex-myanmar.cc | 19 ++++++++++++++++++- + 2 files changed, 21 insertions(+), 1 deletion(-) + +commit 096b71e8ef0c1443f3f86069d5416b887af6e9e7 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Nov 25 18:03:34 2013 -0500 + + [myanmar] Mark U+104E MYANMAR SYMBOL AFOREMENTIONED as Consonant + + The spec and Uniscribe treat it as consonant in the grammar, but + it's not in IndicSyllableCategory.txt, so fix up. + + Test sequence: U+1004,U+103A,U+1039,U+104E + + https://bugs.freedesktop.org/show_bug.cgi?id=71948 + + src/hb-ot-shape-complex-myanmar.cc | 4 ++++ + 1 file changed, 4 insertions(+) + +commit d2da5e0b4b4ffc1722403ffb90b8777cfa1cd174 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Nov 25 17:50:07 2013 -0500 + + [myanmar] Relax pwo-tone group a bit + + This is broken sequence according to OpenType spec, Uniscribe, + and current HarfBuzz implementation. But Roozbeh says this + is a valid sequence, so allow it. There are multiple + "(DB As?)?" constructs in the grammar, but Roozbeh thinks only + this one needs changing. + + Test case: 1014,1063,103A + + Fixes https://bugs.freedesktop.org/show_bug.cgi?id=71949 + + src/hb-ot-shape-complex-myanmar-machine.rl | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 9af91ca8ffee4a8d2804eff5d380b4f9749414d1 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Mon Nov 25 17:47:19 2013 -0500 + + Add more Myanmar test cases + + All three are broken right now according to Roozbeh. + + https://bugs.freedesktop.org/show_bug.cgi?id=71947 + https://bugs.freedesktop.org/show_bug.cgi?id=71948 + https://bugs.freedesktop.org/show_bug.cgi?id=71949 + + .../shaping/texts/in-tree/shaper-myanmar/script-myanmar/misc/misc.txt | + 4 ++++ + 1 file changed, 4 insertions(+) + +commit 08c2d27d35093e07142168665139274ac99395e8 +Author: Roozbeh Pournader <roozbeh@google.com> +Date: Sat Nov 23 21:39:31 2013 -0800 + + Added support for several new languages + + Based on research into latest SIL and Windows fonts, pulling in + the latest OpenType language tag proposal from Microsoft, and updating + to latest language tags and names from ISO 639. + + src/hb-ot-tag.cc | 314 + +++++++++++++++++++++++++++++++++++++++++++------------ + 1 file changed, 247 insertions(+), 67 deletions(-) + +commit 05511acd198d0c2157cdb41e1d36eac0b8075357 +Author: Roozbeh Pournader <roozbeh@google.com> +Date: Sat Nov 23 15:19:07 2013 -0800 + + Added language tags for S'gaw Karen and Khamti + + Tags based on support in Windows 8.1's 'Myanmar Text' font. + + src/hb-ot-tag.cc | 2 ++ + 1 file changed, 2 insertions(+) + +commit 0bb31e4497523442fbb26bbd55b194ab70205ca4 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Wed Nov 20 14:21:07 2013 -0500 + + Bug 71845 - Use 64-bit cmpexch on ARM64 iOS + + src/hb-atomic-private.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit 02c6c8cd6e8c93b63c75b25de6bf76bb45755bb4 +Author: Behdad Esfahbod <behdad@behdad.org> +Date: Fri Nov 15 13:05:38 2013 -0500 + + Set buffer content type to INVALID in hb_buffer_set_length(0) + + Previously we were only setting this in hb_buffer_clear_contents(), + but set_length(0) is a valid way to reinitialize buffer to use with + new text. + + src/hb-buffer-private.hh | 2 +- + src/hb-buffer.cc | 3 +++ + 2 files changed, 4 insertions(+), 1 deletion(-) + commit 6300694f6e531593e7e932000f9540b0367940b8 Author: Behdad Esfahbod <behdad@behdad.org> Date: Wed Nov 13 14:54:07 2013 -0500 diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/Makefile.am b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/Makefile.am index 15ccbf87134..15ccbf87134 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/Makefile.am +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/Makefile.am diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/NEWS b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/NEWS index df28c8559d5..0a2477268ab 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/NEWS +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/NEWS @@ -1,3 +1,15 @@ +Overview of changes leading to 0.9.25 +Wednesday, December 4, 2013 +===================================== + +- Myanmar shaper improvements. +- Avoid font fallback in CoreText backend. +- Additional OpenType language tag mappiongs. +- More aggressive shape-plan caching. +- Build with / require automake 1.13. +- Build with libtool 2.4.2.418 alpha to support ppc64le. + + Overview of changes leading to 0.9.24 Tuesday, November 13, 2013 ===================================== diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/README b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/README index 74e739da52a..74e739da52a 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/README +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/README diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/THANKS b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/THANKS index 940cfde5c39..940cfde5c39 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/THANKS +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/THANKS diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/TODO b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/TODO index e1aa39c4c01..e1aa39c4c01 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/TODO +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/TODO diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/autogen.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/autogen.sh index 6f4e903d745..6f4e903d745 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/autogen.sh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/autogen.sh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/config.h.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/config.h.in index 3e906b18416..8249ffabfe6 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/config.h.in +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/config.h.in @@ -111,13 +111,9 @@ /* Define to 1 if you have the <windows.h> header file. */ #undef HAVE_WINDOWS_H -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ +/* Define to the sub-directory where libtool stores uninstalled libraries. */ #undef LT_OBJDIR -/* Define to 1 if your C compiler doesn't accept -c and -o together. */ -#undef NO_MINUS_C_MINUS_O - /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/configure.ac b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/configure.ac index 7b804b29206..42b8b5fc606 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/configure.ac +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/configure.ac @@ -1,6 +1,6 @@ AC_PREREQ([2.64]) AC_INIT([HarfBuzz], - [0.9.24], + [0.9.25], [http://bugs.freedesktop.org/enter_bug.cgi?product=harfbuzz], [harfbuzz], [http://harfbuzz.org/]) @@ -9,7 +9,7 @@ AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_SRCDIR([src/harfbuzz.pc.in]) AC_CONFIG_HEADERS([config.h]) -AM_INIT_AUTOMAKE([1.11.1 gnits tar-pax dist-bzip2 no-dist-gzip -Wall no-define color-tests -Wno-portability]) +AM_INIT_AUTOMAKE([1.13 gnits tar-pax dist-bzip2 no-dist-gzip -Wall no-define color-tests -Wno-portability]) AM_SILENT_RULES([yes]) # Initialize libtool diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/gtk-doc.make b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/gtk-doc.make index 9841de47922..104c3993f3e 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/gtk-doc.make +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/gtk-doc.make @@ -74,31 +74,40 @@ $(REPORT_FILES): sgml-build.stamp #### setup #### +GTK_DOC_V_SETUP=$(GTK_DOC_V_SETUP_$(V)) +GTK_DOC_V_SETUP_=$(GTK_DOC_V_SETUP_$(AM_DEFAULT_VERBOSITY)) +GTK_DOC_V_SETUP_0=@echo " DOC Preparing build"; + setup-build.stamp: - -@if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \ - echo ' DOC Preparing build'; \ + -$(GTK_DOC_V_SETUP)if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \ files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \ if test "x$$files" != "x" ; then \ for file in $$files ; do \ test -f $(abs_srcdir)/$$file && \ - cp -pu $(abs_srcdir)/$$file $(abs_builddir)/ || true; \ + cp -pu $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \ done; \ fi; \ fi - @touch setup-build.stamp + $(AM_V_at)touch setup-build.stamp #### scan #### +GTK_DOC_V_SCAN=$(GTK_DOC_V_SCAN_$(V)) +GTK_DOC_V_SCAN_=$(GTK_DOC_V_SCAN_$(AM_DEFAULT_VERBOSITY)) +GTK_DOC_V_SCAN_0=@echo " DOC Scanning header files"; + +GTK_DOC_V_INTROSPECT=$(GTK_DOC_V_INTROSPECT_$(V)) +GTK_DOC_V_INTROSPECT_=$(GTK_DOC_V_INTROSPECT_$(AM_DEFAULT_VERBOSITY)) +GTK_DOC_V_INTROSPECT_0=@echo " DOC Introspecting gobjects"; + scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB) - @echo ' DOC Scanning header files' - @_source_dir='' ; \ + $(GTK_DOC_V_SCAN)_source_dir='' ; \ for i in $(DOC_SOURCE_DIR) ; do \ _source_dir="$${_source_dir} --source-dir=$$i" ; \ done ; \ gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES) - @if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \ - echo " DOC Introspecting gobjects"; \ + $(GTK_DOC_V_INTROSPECT)if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \ scanobj_options=""; \ gtkdoc-scangobj 2>&1 --help | grep >/dev/null "\-\-verbose"; \ if test "$(?)" = "0"; then \ @@ -113,32 +122,41 @@ scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB) test -f $$i || touch $$i ; \ done \ fi - @touch scan-build.stamp + $(AM_V_at)touch scan-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp @true #### xml #### +GTK_DOC_V_XML=$(GTK_DOC_V_XML_$(V)) +GTK_DOC_V_XML_=$(GTK_DOC_V_XML_$(AM_DEFAULT_VERBOSITY)) +GTK_DOC_V_XML_0=@echo " DOC Building XML"; + sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files) - @echo ' DOC Building XML' - @_source_dir='' ; \ + $(GTK_DOC_V_XML)_source_dir='' ; \ for i in $(DOC_SOURCE_DIR) ; do \ _source_dir="$${_source_dir} --source-dir=$$i" ; \ done ; \ gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS) - @touch sgml-build.stamp + $(AM_V_at)touch sgml-build.stamp sgml.stamp: sgml-build.stamp @true #### html #### +GTK_DOC_V_HTML=$(GTK_DOC_V_HTML_$(V)) +GTK_DOC_V_HTML_=$(GTK_DOC_V_HTML_$(AM_DEFAULT_VERBOSITY)) +GTK_DOC_V_HTML_0=@echo " DOC Building HTML"; + +GTK_DOC_V_XREF=$(GTK_DOC_V_XREF_$(V)) +GTK_DOC_V_XREF_=$(GTK_DOC_V_XREF_$(AM_DEFAULT_VERBOSITY)) +GTK_DOC_V_XREF_0=@echo " DOC Fixing cross-references"; + html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) - @echo ' DOC Building HTML' - @rm -rf html - @mkdir html - @mkhtml_options=""; \ + $(GTK_DOC_V_HTML)rm -rf html && mkdir html && \ + mkhtml_options=""; \ gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-verbose"; \ if test "$(?)" = "0"; then \ if test "x$(V)" = "x1"; then \ @@ -159,16 +177,18 @@ html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) cp $(abs_builddir)/$$file $(abs_builddir)/html; \ fi; \ done; - @echo ' DOC Fixing cross-references' - @gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) - @touch html-build.stamp + $(GTK_DOC_V_XREF)gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) + $(AM_V_at)touch html-build.stamp #### pdf #### +GTK_DOC_V_PDF=$(GTK_DOC_V_PDF_$(V)) +GTK_DOC_V_PDF_=$(GTK_DOC_V_PDF_$(AM_DEFAULT_VERBOSITY)) +GTK_DOC_V_PDF_0=@echo " DOC Building PDF"; + pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) - @echo ' DOC Building PDF' - @rm -f $(DOC_MODULE).pdf - @mkpdf_options=""; \ + $(GTK_DOC_V_PDF)rm -f $(DOC_MODULE).pdf && \ + mkpdf_options=""; \ gtkdoc-mkpdf 2>&1 --help | grep >/dev/null "\-\-verbose"; \ if test "$(?)" = "0"; then \ if test "x$(V)" = "x1"; then \ @@ -185,7 +205,7 @@ pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) done; \ fi; \ gtkdoc-mkpdf --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS) - @touch pdf-build.stamp + $(AM_V_at)touch pdf-build.stamp ############## @@ -200,7 +220,7 @@ distclean-local: rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \ fi -maintainer-clean-local: clean +maintainer-clean-local: @rm -rf xml html install-data-local: @@ -237,7 +257,7 @@ uninstall-local: # Require gtk-doc when making dist # if ENABLE_GTK_DOC -dist-check-gtkdoc: +dist-check-gtkdoc: docs else dist-check-gtkdoc: @echo "*** gtk-doc must be installed and enabled in order to make dist" diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/harfbuzz.doap b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/harfbuzz.doap index d2896ebefa8..d2896ebefa8 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/harfbuzz.doap +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/harfbuzz.doap diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/Makefile.am b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/Makefile.am index 81802252fd7..81802252fd7 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/Makefile.am +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/Makefile.am diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/check-c-linkage-decls.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-c-linkage-decls.sh index b10310f5384..b10310f5384 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/check-c-linkage-decls.sh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-c-linkage-decls.sh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/check-defs.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-defs.sh index d7a8ec281bf..d7a8ec281bf 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/check-defs.sh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-defs.sh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/check-header-guards.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-header-guards.sh index 9a3302c7f87..9a3302c7f87 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/check-header-guards.sh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-header-guards.sh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/check-includes.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-includes.sh index 5643c6973bc..5643c6973bc 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/check-includes.sh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-includes.sh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/check-libstdc++.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-libstdc++.sh index e7e0e295e1a..e7e0e295e1a 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/check-libstdc++.sh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-libstdc++.sh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/check-static-inits.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-static-inits.sh index bb0a7ff630d..bb0a7ff630d 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/check-static-inits.sh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-static-inits.sh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/check-symbols.sh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-symbols.sh index 67bdf71e1b1..67bdf71e1b1 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/check-symbols.sh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/check-symbols.sh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/gen-arabic-table.py b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/gen-arabic-table.py index da5a4fcbf5c..da5a4fcbf5c 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/gen-arabic-table.py +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/gen-arabic-table.py diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/gen-indic-table.py b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/gen-indic-table.py index 9ed3fd6d34d..9ed3fd6d34d 100755 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/gen-indic-table.py +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/gen-indic-table.py diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/harfbuzz-gobject.pc.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/harfbuzz-gobject.pc.in index 70083601901..70083601901 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/harfbuzz-gobject.pc.in +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/harfbuzz-gobject.pc.in diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/harfbuzz-icu.pc.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/harfbuzz-icu.pc.in index 949869a3563..949869a3563 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/harfbuzz-icu.pc.in +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/harfbuzz-icu.pc.in diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/harfbuzz.pc.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/harfbuzz.pc.in index 7f27bbbdef0..7f27bbbdef0 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/harfbuzz.pc.in +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/harfbuzz.pc.in diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-atomic-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-atomic-private.hh index 9cc3bc5587c..b5d64853ea7 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-atomic-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-atomic-private.hh @@ -78,7 +78,7 @@ typedef int32_t hb_atomic_int_t; #if (MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_4 || __IPHONE_VERSION_MIN_REQUIRED >= 20100) #define hb_atomic_ptr_cmpexch(P,O,N) OSAtomicCompareAndSwapPtrBarrier ((void *) (O), (void *) (N), (void **) (P)) #else -#if __ppc64__ || __x86_64__ +#if __ppc64__ || __x86_64__ || __arm64__ #define hb_atomic_ptr_cmpexch(P,O,N) OSAtomicCompareAndSwap64Barrier ((int64_t) (O), (int64_t) (N), (int64_t*) (P)) #else #define hb_atomic_ptr_cmpexch(P,O,N) OSAtomicCompareAndSwap32Barrier ((int32_t) (O), (int32_t) (N), (int32_t*) (P)) diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-blob.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-blob.cc index 7a659b26b97..7a659b26b97 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-blob.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-blob.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-blob.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-blob.h index d3d0f41b11c..d3d0f41b11c 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-blob.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-blob.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-buffer-deserialize-json.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-deserialize-json.hh index dead700db82..dead700db82 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-buffer-deserialize-json.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-deserialize-json.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-buffer-deserialize-json.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-deserialize-json.rl index 7351b2ab47c..7351b2ab47c 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-buffer-deserialize-json.rl +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-deserialize-json.rl diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-buffer-deserialize-text.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-deserialize-text.hh index a38efe3a415..a38efe3a415 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-buffer-deserialize-text.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-deserialize-text.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-buffer-deserialize-text.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-deserialize-text.rl index 8856580fbe3..8856580fbe3 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-buffer-deserialize-text.rl +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-deserialize-text.rl diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-buffer-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-private.hh index d3ed4491ed9..49773f1c99b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-buffer-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-private.hh @@ -181,7 +181,7 @@ struct hb_buffer_t { HB_INTERNAL bool enlarge (unsigned int size); inline bool ensure (unsigned int size) - { return likely (size < allocated) ? true : enlarge (size); } + { return likely (!size || size < allocated) ? true : enlarge (size); } HB_INTERNAL bool make_room_for (unsigned int num_in, unsigned int num_out); HB_INTERNAL bool shift_forward (unsigned int count); diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-buffer-serialize.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-serialize.cc index 4541db23bd2..4541db23bd2 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-buffer-serialize.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer-serialize.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-buffer.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer.cc index bbf8ea0f977..d6c6fcb8e6e 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-buffer.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer.cc @@ -1150,7 +1150,10 @@ hb_buffer_set_length (hb_buffer_t *buffer, buffer->len = length; if (!length) + { + buffer->content_type = HB_BUFFER_CONTENT_TYPE_INVALID; buffer->clear_context (0); + } buffer->clear_context (1); return true; diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-buffer.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer.h index 3086851b012..3086851b012 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-buffer.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-buffer.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-cache-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-cache-private.hh index 19b70b7e395..19b70b7e395 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-cache-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-cache-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-common.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-common.cc index cf24660f798..cf24660f798 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-common.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-common.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-common.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-common.h index e445504550b..e445504550b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-common.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-common.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-coretext.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-coretext.cc index ba8013604ed..25e4055b011 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-coretext.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-coretext.cc @@ -394,6 +394,7 @@ _hb_coretext_shape (hb_shape_plan_t *shape_plan, unsigned int num_features) { hb_face_t *face = font->face; + hb_coretext_shaper_face_data_t *face_data = HB_SHAPER_DATA_GET (face); hb_coretext_shaper_font_data_t *font_data = HB_SHAPER_DATA_GET (font); /* @@ -648,9 +649,50 @@ _hb_coretext_shape (hb_shape_plan_t *shape_plan, const CFRange range_all = CFRangeMake (0, 0); - for (unsigned int i = 0; i < num_runs; i++) { + for (unsigned int i = 0; i < num_runs; i++) + { CTRunRef run = (CTRunRef) CFArrayGetValueAtIndex (glyph_runs, i); + /* CoreText does automatic font fallback (AKA "cascading") for characters + * not supported by the requested font, and provides no way to turn it off, + * so we detect if the returned run uses a font other than the requested + * one and fill in the buffer with .notdef glyphs instead of random glyph + * indices from a different font. + */ + CFDictionaryRef attributes = CTRunGetAttributes (run); + CTFontRef run_ct_font = static_cast<CTFontRef>(CFDictionaryGetValue (attributes, kCTFontAttributeName)); + CGFontRef run_cg_font = CTFontCopyGraphicsFont (run_ct_font, 0); + if (!CFEqual (run_cg_font, face_data->cg_font)) + { + CFRelease (run_cg_font); + + CFRange range = CTRunGetStringRange (run); + buffer->ensure (buffer->len + range.length); + if (buffer->in_error) + FAIL ("Buffer resize failed"); + hb_glyph_info_t *info = buffer->info + buffer->len; + buffer->len += range.length; + + for (CFIndex j = 0; j < range.length; j++) + { + CGGlyph notdef = 0; + double advance = CTFontGetAdvancesForGlyphs (font_data->ct_font, kCTFontHorizontalOrientation, ¬def, NULL, 1); + + 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->mask = advance; + info->var1.u32 = 0; + info->var2.u32 = 0; + + info++; + } + continue; + } + CFRelease (run_cg_font); + unsigned int num_glyphs = CTRunGetGlyphCount (run); if (num_glyphs == 0) continue; diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-coretext.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-coretext.h index c4954fa1b2c..c4954fa1b2c 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-coretext.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-coretext.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-deprecated.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-deprecated.h index 30ae4b1caf7..30ae4b1caf7 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-deprecated.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-deprecated.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-face-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-face-private.hh index b33be0e5fce..b33be0e5fce 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-face-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-face-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-face.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-face.cc index ebe8ec5e5d5..ebe8ec5e5d5 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-face.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-face.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-face.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-face.h index f682c468de5..f682c468de5 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-face.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-face.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-fallback-shape.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-fallback-shape.cc index 1a1fcfbda1e..b894a4a47d1 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-fallback-shape.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-fallback-shape.cc @@ -95,6 +95,16 @@ _hb_fallback_shape (hb_shape_plan_t *shape_plan HB_UNUSED, const hb_feature_t *features HB_UNUSED, unsigned int num_features HB_UNUSED) { + /* TODO + * + * - Apply fallback kern. + * - Handle Variation Selectors? + * - Apply normalization? + * + * This will make the fallback shaper into a dumb "TrueType" + * shaper which many people unfortunately still request. + */ + hb_codepoint_t space; font->get_glyph (' ', 0, &space); diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-font-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-font-private.hh index aa6c515bcb2..aa6c515bcb2 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-font-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-font-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-font.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-font.cc index 855864377e7..855864377e7 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-font.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-font.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-font.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-font.h index 7273db43eda..7273db43eda 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-font.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-font.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ft.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ft.cc index 44e0b0bc2a5..44e0b0bc2a5 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ft.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ft.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ft.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ft.h index 696251e143f..696251e143f 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ft.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ft.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-glib.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-glib.cc index c35d9966c26..c35d9966c26 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-glib.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-glib.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-glib.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-glib.h index 63a9d3366c5..63a9d3366c5 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-glib.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-glib.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-gobject-enums.cc.tmpl b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-gobject-enums.cc.tmpl index ca458a3846c..ca458a3846c 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-gobject-enums.cc.tmpl +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-gobject-enums.cc.tmpl diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-gobject-enums.h.tmpl b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-gobject-enums.h.tmpl index 6ecda06c2a6..6ecda06c2a6 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-gobject-enums.h.tmpl +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-gobject-enums.h.tmpl diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-gobject-structs.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-gobject-structs.cc index 2451b66291b..2451b66291b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-gobject-structs.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-gobject-structs.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-gobject-structs.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-gobject-structs.h index 4a88d569e8d..4a88d569e8d 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-gobject-structs.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-gobject-structs.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-gobject.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-gobject.h index ea1bd25df82..ea1bd25df82 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-gobject.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-gobject.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-graphite2.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-graphite2.cc index 60d68d6b57a..60d68d6b57a 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-graphite2.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-graphite2.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-graphite2.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-graphite2.h index 3eae54acbd8..3eae54acbd8 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-graphite2.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-graphite2.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-icu.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-icu.cc index c177be2c4b2..c177be2c4b2 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-icu.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-icu.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-icu.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-icu.h index f2f35f0f2ce..f2f35f0f2ce 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-icu.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-icu.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-mutex-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-mutex-private.hh index 0fb21c2e86e..0fb21c2e86e 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-mutex-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-mutex-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-object-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-object-private.hh index 8a9ae34dbee..8a9ae34dbee 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-object-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-object-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-open-file-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-open-file-private.hh index 250504ae20b..250504ae20b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-open-file-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-open-file-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-open-type-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-open-type-private.hh index ee3a21dc3b1..ee3a21dc3b1 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-open-type-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-open-type-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-head-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-head-table.hh index 0285f0cf310..0285f0cf310 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-head-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-head-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-hhea-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-hhea-table.hh index 611de8a6665..611de8a6665 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-hhea-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-hhea-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-hmtx-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-hmtx-table.hh index d107cf990a2..d107cf990a2 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-hmtx-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-hmtx-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-layout-common-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-common-private.hh index 367db95574c..02d0d0f87c7 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-layout-common-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-common-private.hh @@ -377,7 +377,7 @@ struct FeatureParamsStylisticSet return TRACE_RETURN (c->check_struct (this)); } - USHORT minorVersion; /* (set to 0): This corresponds to a “minor” + USHORT version; /* (set to 0): This corresponds to a “minor” * version number. Additional data may be * added to the end of this Feature Parameters * table in the future. */ @@ -400,6 +400,7 @@ struct FeatureParamsStylisticSet DEFINE_SIZE_STATIC (4); }; +/* http://www.microsoft.com/typography/otspec/features_ae.htm#cv01-cv99 */ struct FeatureParamsCharacterVariants { inline bool sanitize (hb_sanitize_context_t *c) { diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-layout-gdef-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-gdef-table.hh index 389cbb9e398..389cbb9e398 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-layout-gdef-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-gdef-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-layout-gpos-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-gpos-table.hh index 5e4326ef0c5..5e4326ef0c5 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-layout-gpos-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-gpos-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-layout-gsub-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-gsub-table.hh index 76b4f33c705..76b4f33c705 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-layout-gsub-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-gsub-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-layout-gsubgpos-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-gsubgpos-private.hh index bdd773e36b9..bdd773e36b9 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-layout-gsubgpos-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-gsubgpos-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-layout-jstf-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-jstf-table.hh index 79eb859566a..79eb859566a 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-layout-jstf-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-jstf-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-layout-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-private.hh index 139e33fe7a3..139e33fe7a3 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-layout-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-layout.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout.cc index 183726e63cf..183726e63cf 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-layout.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-layout.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout.h index dfc7f2446f7..dfc7f2446f7 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-layout.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-layout.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-map-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-map-private.hh index 0e718a6f1f5..0e718a6f1f5 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-map-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-map-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-map.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-map.cc index 559193c1bae..559193c1bae 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-map.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-map.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-maxp-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-maxp-table.hh index e6d255579c6..e6d255579c6 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-maxp-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-maxp-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-name-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-name-table.hh index 07dc0565ca6..07dc0565ca6 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-name-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-name-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-arabic-fallback.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-arabic-fallback.hh index 6b2b87e3f28..6b2b87e3f28 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-arabic-fallback.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-arabic-fallback.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-arabic-table.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-arabic-table.hh index 730a275bf0a..730a275bf0a 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-arabic-table.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-arabic-table.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-arabic.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-arabic.cc index 4f6c86e8ee5..4f6c86e8ee5 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-arabic.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-arabic.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-default.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-default.cc index d6afa0e1c11..d6afa0e1c11 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-default.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-default.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-indic-machine.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-indic-machine.hh index 747315b7a2a..747315b7a2a 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-indic-machine.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-indic-machine.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-indic-machine.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-indic-machine.rl index 5c3e734eb33..5c3e734eb33 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-indic-machine.rl +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-indic-machine.rl diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-indic-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-indic-private.hh index 3de5c203fa3..3de5c203fa3 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-indic-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-indic-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-indic-table.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-indic-table.cc index 18a022bc507..18a022bc507 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-indic-table.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-indic-table.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-indic.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-indic.cc index 9edefe305dc..9edefe305dc 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-indic.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-indic.cc 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.25/src/hb-ot-shape-complex-myanmar-machine.hh new file mode 100644 index 00000000000..0e8114e98ab --- /dev/null +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-myanmar-machine.hh @@ -0,0 +1,400 @@ + +#line 1 "../../src/hb-ot-shape-complex-myanmar-machine.rl" +/* + * Copyright © 2011,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 + */ + +#ifndef HB_OT_SHAPE_COMPLEX_MYANMAR_MACHINE_HH +#define HB_OT_SHAPE_COMPLEX_MYANMAR_MACHINE_HH + +#include "hb-private.hh" + + +#line 36 "hb-ot-shape-complex-myanmar-machine.hh.tmp" +static const unsigned char _myanmar_syllable_machine_trans_keys[] = { + 1u, 31u, 3u, 30u, 5u, 29u, 5u, 8u, 5u, 29u, 3u, 25u, 5u, 25u, 5u, 25u, + 3u, 29u, 3u, 29u, 3u, 29u, 3u, 29u, 1u, 16u, 3u, 29u, 3u, 29u, 3u, 29u, + 3u, 29u, 3u, 29u, 3u, 29u, 3u, 29u, 3u, 29u, 3u, 29u, 5u, 29u, 5u, 8u, + 5u, 29u, 3u, 25u, 5u, 25u, 5u, 25u, 3u, 29u, 3u, 29u, 3u, 29u, 3u, 29u, + 3u, 30u, 3u, 29u, 1u, 30u, 3u, 29u, 3u, 29u, 3u, 29u, 3u, 29u, 3u, 29u, + 3u, 29u, 3u, 29u, 3u, 29u, 3u, 29u, 8u, 8u, 0 +}; + +static const char _myanmar_syllable_machine_key_spans[] = { + 31, 28, 25, 4, 25, 23, 21, 21, + 27, 27, 27, 27, 16, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 25, 4, + 25, 23, 21, 21, 27, 27, 27, 27, + 28, 27, 30, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 1 +}; + +static const short _myanmar_syllable_machine_index_offsets[] = { + 0, 32, 61, 87, 92, 118, 142, 164, + 186, 214, 242, 270, 298, 315, 343, 371, + 399, 427, 455, 483, 511, 539, 567, 593, + 598, 624, 648, 670, 692, 720, 748, 776, + 804, 833, 861, 892, 920, 948, 976, 1004, + 1032, 1060, 1088, 1116, 1144 +}; + +static const char _myanmar_syllable_machine_indicies[] = { + 1, 1, 2, 3, 4, 4, 0, 5, + 0, 6, 0, 1, 0, 0, 0, 7, + 0, 8, 1, 0, 9, 10, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 0, + 21, 22, 23, 23, 20, 24, 20, 25, + 20, 20, 20, 20, 20, 20, 20, 26, + 20, 20, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 20, 23, 23, 20, + 24, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 37, 20, 20, 20, 20, 20, + 20, 31, 20, 20, 20, 35, 20, 23, + 23, 20, 24, 20, 23, 23, 20, 24, + 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, + 31, 20, 20, 20, 35, 20, 38, 20, + 23, 23, 20, 24, 20, 31, 20, 20, + 20, 20, 20, 20, 20, 39, 20, 20, + 20, 20, 20, 20, 31, 20, 23, 23, + 20, 24, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 39, 20, 20, 20, 20, + 20, 20, 31, 20, 23, 23, 20, 24, + 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, + 31, 20, 21, 20, 23, 23, 20, 24, + 20, 25, 20, 20, 20, 20, 20, 20, + 20, 40, 20, 20, 40, 20, 20, 20, + 31, 41, 20, 20, 35, 20, 21, 20, + 23, 23, 20, 24, 20, 25, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 31, 20, 20, 20, + 35, 20, 21, 20, 23, 23, 20, 24, + 20, 25, 20, 20, 20, 20, 20, 20, + 20, 40, 20, 20, 20, 20, 20, 20, + 31, 41, 20, 20, 35, 20, 21, 20, + 23, 23, 20, 24, 20, 25, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 31, 41, 20, 20, + 35, 20, 1, 1, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, + 20, 1, 20, 21, 20, 23, 23, 20, + 24, 20, 25, 20, 20, 20, 20, 20, + 20, 20, 26, 20, 20, 27, 28, 29, + 30, 31, 32, 33, 34, 35, 20, 21, + 20, 23, 23, 20, 24, 20, 25, 20, + 20, 20, 20, 20, 20, 20, 34, 20, + 20, 20, 20, 20, 20, 31, 32, 33, + 34, 35, 20, 21, 20, 23, 23, 20, + 24, 20, 25, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, + 20, 31, 32, 33, 34, 35, 20, 21, + 20, 23, 23, 20, 24, 20, 25, 20, + 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 31, 32, 33, + 20, 35, 20, 21, 20, 23, 23, 20, + 24, 20, 25, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, + 20, 31, 20, 33, 20, 35, 20, 21, + 20, 23, 23, 20, 24, 20, 25, 20, + 20, 20, 20, 20, 20, 20, 20, 20, + 20, 27, 20, 29, 20, 31, 32, 33, + 34, 35, 20, 21, 20, 23, 23, 20, + 24, 20, 25, 20, 20, 20, 20, 20, + 20, 20, 34, 20, 20, 27, 20, 20, + 20, 31, 32, 33, 34, 35, 20, 21, + 20, 23, 23, 20, 24, 20, 25, 20, + 20, 20, 20, 20, 20, 20, 20, 20, + 20, 27, 28, 29, 20, 31, 32, 33, + 34, 35, 20, 21, 22, 23, 23, 20, + 24, 20, 25, 20, 20, 20, 20, 20, + 20, 20, 26, 20, 20, 27, 28, 29, + 30, 31, 32, 33, 34, 35, 20, 3, + 3, 42, 5, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 43, 42, 42, 42, + 42, 42, 42, 13, 42, 42, 42, 17, + 42, 3, 3, 42, 5, 42, 3, 3, + 42, 5, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 13, 42, 42, 42, 17, 42, + 44, 42, 3, 3, 42, 5, 42, 13, + 42, 42, 42, 42, 42, 42, 42, 45, + 42, 42, 42, 42, 42, 42, 13, 42, + 3, 3, 42, 5, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 45, 42, 42, + 42, 42, 42, 42, 13, 42, 3, 3, + 42, 5, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 13, 42, 2, 42, 3, 3, + 42, 5, 42, 6, 42, 42, 42, 42, + 42, 42, 42, 46, 42, 42, 46, 42, + 42, 42, 13, 47, 42, 42, 17, 42, + 2, 42, 3, 3, 42, 5, 42, 6, + 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 13, 42, + 42, 42, 17, 42, 2, 42, 3, 3, + 42, 5, 42, 6, 42, 42, 42, 42, + 42, 42, 42, 46, 42, 42, 42, 42, + 42, 42, 13, 47, 42, 42, 17, 42, + 2, 42, 3, 3, 42, 5, 42, 6, + 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 13, 47, + 42, 42, 17, 42, 21, 22, 23, 23, + 20, 24, 20, 25, 20, 20, 20, 20, + 20, 20, 20, 48, 20, 20, 27, 28, + 29, 30, 31, 32, 33, 34, 35, 36, + 20, 21, 49, 23, 23, 20, 24, 20, + 25, 20, 20, 20, 20, 20, 20, 20, + 26, 20, 20, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 20, 1, 1, 2, + 3, 3, 3, 42, 5, 42, 6, 42, + 1, 42, 42, 42, 1, 42, 8, 1, + 42, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 42, 2, 42, 3, 3, + 42, 5, 42, 6, 42, 42, 42, 42, + 42, 42, 42, 8, 42, 42, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 42, + 2, 42, 3, 3, 42, 5, 42, 6, + 42, 42, 42, 42, 42, 42, 42, 16, + 42, 42, 42, 42, 42, 42, 13, 14, + 15, 16, 17, 42, 2, 42, 3, 3, + 42, 5, 42, 6, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 13, 14, 15, 16, 17, 42, + 2, 42, 3, 3, 42, 5, 42, 6, + 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 13, 14, + 15, 42, 17, 42, 2, 42, 3, 3, + 42, 5, 42, 6, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 13, 42, 15, 42, 17, 42, + 2, 42, 3, 3, 42, 5, 42, 6, + 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 9, 42, 11, 42, 13, 14, + 15, 16, 17, 42, 2, 42, 3, 3, + 42, 5, 42, 6, 42, 42, 42, 42, + 42, 42, 42, 16, 42, 42, 9, 42, + 42, 42, 13, 14, 15, 16, 17, 42, + 2, 42, 3, 3, 42, 5, 42, 6, + 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 9, 10, 11, 42, 13, 14, + 15, 16, 17, 42, 2, 3, 3, 3, + 42, 5, 42, 6, 42, 42, 42, 42, + 42, 42, 42, 8, 42, 42, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 42, + 51, 50, 0 +}; + +static const char _myanmar_syllable_machine_trans_targs[] = { + 0, 1, 22, 0, 0, 23, 29, 32, + 35, 36, 40, 41, 42, 25, 38, 39, + 37, 28, 43, 44, 0, 2, 12, 0, + 3, 9, 13, 14, 18, 19, 20, 5, + 16, 17, 15, 8, 21, 4, 6, 7, + 10, 11, 0, 24, 26, 27, 30, 31, + 33, 34, 0, 0 +}; + +static const char _myanmar_syllable_machine_trans_actions[] = { + 3, 0, 0, 4, 5, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6, 0, 0, 7, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, 0, 0, + 0, 0, 9, 10 +}; + +static const char _myanmar_syllable_machine_to_state_actions[] = { + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0 +}; + +static const char _myanmar_syllable_machine_from_state_actions[] = { + 2, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0 +}; + +static const short _myanmar_syllable_machine_eof_trans[] = { + 0, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, + 21, 21, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 51 +}; + +static const int myanmar_syllable_machine_start = 0; +static const int myanmar_syllable_machine_first_final = 0; +static const int myanmar_syllable_machine_error = -1; + +static const int myanmar_syllable_machine_en_main = 0; + + +#line 36 "../../src/hb-ot-shape-complex-myanmar-machine.rl" + + + +#line 93 "../../src/hb-ot-shape-complex-myanmar-machine.rl" + + +#define found_syllable(syllable_type) \ + HB_STMT_START { \ + if (0) fprintf (stderr, "syllable %d..%d %s\n", last, p+1, #syllable_type); \ + for (unsigned int i = last; i < p+1; i++) \ + info[i].syllable() = (syllable_serial << 4) | syllable_type; \ + last = p+1; \ + syllable_serial++; \ + if (unlikely (syllable_serial == 16)) syllable_serial = 1; \ + } HB_STMT_END + +static void +find_syllables (hb_buffer_t *buffer) +{ + unsigned int p, pe, eof, ts HB_UNUSED, te HB_UNUSED, act HB_UNUSED; + int cs; + hb_glyph_info_t *info = buffer->info; + +#line 289 "hb-ot-shape-complex-myanmar-machine.hh.tmp" + { + cs = myanmar_syllable_machine_start; + ts = 0; + te = 0; + act = 0; + } + +#line 114 "../../src/hb-ot-shape-complex-myanmar-machine.rl" + + + p = 0; + pe = eof = buffer->len; + + unsigned int last = 0; + unsigned int syllable_serial = 1; + +#line 306 "hb-ot-shape-complex-myanmar-machine.hh.tmp" + { + int _slen; + int _trans; + const unsigned char *_keys; + const char *_inds; + if ( p == pe ) + goto _test_eof; +_resume: + switch ( _myanmar_syllable_machine_from_state_actions[cs] ) { + case 2: +#line 1 "NONE" + {ts = p;} + break; +#line 320 "hb-ot-shape-complex-myanmar-machine.hh.tmp" + } + + _keys = _myanmar_syllable_machine_trans_keys + (cs<<1); + _inds = _myanmar_syllable_machine_indicies + _myanmar_syllable_machine_index_offsets[cs]; + + _slen = _myanmar_syllable_machine_key_spans[cs]; + _trans = _inds[ _slen > 0 && _keys[0] <=( info[p].myanmar_category()) && + ( info[p].myanmar_category()) <= _keys[1] ? + ( info[p].myanmar_category()) - _keys[0] : _slen ]; + +_eof_trans: + cs = _myanmar_syllable_machine_trans_targs[_trans]; + + if ( _myanmar_syllable_machine_trans_actions[_trans] == 0 ) + goto _again; + + switch ( _myanmar_syllable_machine_trans_actions[_trans] ) { + case 7: +#line 85 "../../src/hb-ot-shape-complex-myanmar-machine.rl" + {te = p+1;{ found_syllable (consonant_syllable); }} + break; + case 5: +#line 86 "../../src/hb-ot-shape-complex-myanmar-machine.rl" + {te = p+1;{ found_syllable (non_myanmar_cluster); }} + break; + case 10: +#line 87 "../../src/hb-ot-shape-complex-myanmar-machine.rl" + {te = p+1;{ found_syllable (punctuation_cluster); }} + break; + case 4: +#line 88 "../../src/hb-ot-shape-complex-myanmar-machine.rl" + {te = p+1;{ found_syllable (broken_cluster); }} + break; + case 3: +#line 89 "../../src/hb-ot-shape-complex-myanmar-machine.rl" + {te = p+1;{ found_syllable (non_myanmar_cluster); }} + break; + case 6: +#line 85 "../../src/hb-ot-shape-complex-myanmar-machine.rl" + {te = p;p--;{ found_syllable (consonant_syllable); }} + break; + case 8: +#line 88 "../../src/hb-ot-shape-complex-myanmar-machine.rl" + {te = p;p--;{ found_syllable (broken_cluster); }} + break; + case 9: +#line 89 "../../src/hb-ot-shape-complex-myanmar-machine.rl" + {te = p;p--;{ found_syllable (non_myanmar_cluster); }} + break; +#line 370 "hb-ot-shape-complex-myanmar-machine.hh.tmp" + } + +_again: + switch ( _myanmar_syllable_machine_to_state_actions[cs] ) { + case 1: +#line 1 "NONE" + {ts = 0;} + break; +#line 379 "hb-ot-shape-complex-myanmar-machine.hh.tmp" + } + + if ( ++p != pe ) + goto _resume; + _test_eof: {} + if ( p == eof ) + { + if ( _myanmar_syllable_machine_eof_trans[cs] > 0 ) { + _trans = _myanmar_syllable_machine_eof_trans[cs] - 1; + goto _eof_trans; + } + } + + } + +#line 123 "../../src/hb-ot-shape-complex-myanmar-machine.rl" + +} + +#undef found_syllable + +#endif /* HB_OT_SHAPE_COMPLEX_MYANMAR_MACHINE_HH */ diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-myanmar-machine.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-myanmar-machine.rl index 51d42dd64ab..58ca8c82289 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-myanmar-machine.rl +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-myanmar-machine.rl @@ -61,6 +61,7 @@ VS = 30; ZWJ = 6; ZWNJ = 5; Ra = 16; +P = 31; j = ZWJ|ZWNJ; # Joiners k = (Ra As H); # Kinzi @@ -70,18 +71,20 @@ c = C|Ra; # is_consonant medial_group = MY? MR? ((MW MH? | MH) As?)?; main_vowel_group = VPre* VAbv* VBlw* A* (DB As?)?; post_vowel_group = VPst MH? As* VAbv* A* (DB As?)?; -pwo_tone_group = PT A* (DB As?)?; +pwo_tone_group = PT A* DB? As?; complex_syllable_tail = As* medial_group main_vowel_group post_vowel_group* pwo_tone_group* V* j?; syllable_tail = (H | complex_syllable_tail); consonant_syllable = k? (c|IV|D|GB).VS? (H (c|IV).VS?)* syllable_tail; +punctuation_cluster = P V; broken_cluster = k? VS? syllable_tail; other = any; main := |* consonant_syllable => { found_syllable (consonant_syllable); }; j => { found_syllable (non_myanmar_cluster); }; + punctuation_cluster => { found_syllable (punctuation_cluster); }; broken_cluster => { found_syllable (broken_cluster); }; other => { found_syllable (non_myanmar_cluster); }; *|; diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-myanmar.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-myanmar.cc index a32405a8219..25ba7264cae 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-myanmar.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-myanmar.cc @@ -119,6 +119,7 @@ override_features_myanmar (hb_ot_shape_planner_t *plan) enum syllable_type_t { consonant_syllable, + punctuation_cluster, broken_cluster, non_myanmar_cluster, }; @@ -143,7 +144,8 @@ enum myanmar_category_t { OT_VBlw = 27, OT_VPre = 28, OT_VPst = 29, - OT_VS = 30 /* Variation selectors */ + OT_VS = 30, /* Variation selectors */ + OT_P = 31 /* Punctuation */ }; @@ -186,6 +188,10 @@ set_myanmar_properties (hb_glyph_info_t &info) switch (u) { + case 0x104E: + cat = (indic_category_t) OT_C; /* The spec says C, IndicSyllableCategory doesn't have. */ + break; + case 0x002D: case 0x00A0: case 0x00D7: case 0x2012: case 0x2013: case 0x2014: case 0x2015: case 0x2022: case 0x25CC: case 0x25FB: case 0x25FC: case 0x25FD: @@ -243,6 +249,10 @@ set_myanmar_properties (hb_glyph_info_t &info) case 0x108F: case 0x109A: case 0x109B: case 0x109C: cat = (indic_category_t) OT_SM; break; + + case 0x104A: case 0x104B: + cat = (indic_category_t) OT_P; + break; } if (cat == OT_M) @@ -406,6 +416,16 @@ initial_reordering_broken_cluster (const hb_ot_shape_plan_t *plan, } static void +initial_reordering_punctuation_cluster (const hb_ot_shape_plan_t *plan HB_UNUSED, + hb_face_t *face HB_UNUSED, + hb_buffer_t *buffer HB_UNUSED, + unsigned int start HB_UNUSED, unsigned int end HB_UNUSED) +{ + /* Nothing to do right now. If we ever switch to using the output + * buffer in the reordering process, we'd need to next_glyph() here. */ +} + +static void initial_reordering_non_myanmar_cluster (const hb_ot_shape_plan_t *plan HB_UNUSED, hb_face_t *face HB_UNUSED, hb_buffer_t *buffer HB_UNUSED, @@ -425,6 +445,7 @@ initial_reordering_syllable (const hb_ot_shape_plan_t *plan, syllable_type_t syllable_type = (syllable_type_t) (buffer->info[start].syllable() & 0x0F); switch (syllable_type) { case consonant_syllable: initial_reordering_consonant_syllable (plan, face, buffer, start, end); return; + case punctuation_cluster: initial_reordering_punctuation_cluster (plan, face, buffer, start, end); return; case broken_cluster: initial_reordering_broken_cluster (plan, face, buffer, start, end); return; case non_myanmar_cluster: initial_reordering_non_myanmar_cluster (plan, face, buffer, start, end); return; } diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-private.hh index ac0072ba565..ac0072ba565 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-sea-machine.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-sea-machine.hh index 86b7ae7d5ca..86b7ae7d5ca 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-sea-machine.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-sea-machine.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-sea-machine.rl b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-sea-machine.rl index 46140fc4d5f..46140fc4d5f 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-sea-machine.rl +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-sea-machine.rl diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-sea.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-sea.cc index da687ed6467..da687ed6467 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-sea.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-sea.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-thai.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-thai.cc index 45945339d6b..45945339d6b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-complex-thai.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-complex-thai.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-fallback-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-fallback-private.hh index ec653513f1b..ec653513f1b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-fallback-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-fallback-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-fallback.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-fallback.cc index 449b64e5ca7..449b64e5ca7 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-fallback.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-fallback.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-normalize-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-normalize-private.hh index 085d48511d0..085d48511d0 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-normalize-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-normalize-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-normalize.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-normalize.cc index 6531e1b215c..6531e1b215c 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-normalize.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-normalize.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-private.hh index 817147199fd..cbfab5b40c9 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape-private.hh @@ -66,7 +66,7 @@ struct hb_ot_shape_planner_t hb_ot_map_builder_t map; hb_ot_shape_planner_t (const hb_shape_plan_t *master_plan) : - face (master_plan->face), + face (master_plan->face_unsafe), props (master_plan->props), shaper (NULL), map (face, &props) {} diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape.cc index 63c36f936fb..63c36f936fb 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-shape.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-shape.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-tag.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-tag.cc index 91ebec76ee3..d9bc2f6b0aa 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-tag.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-tag.cc @@ -167,9 +167,12 @@ typedef struct { * * Generated by intersecting the OpenType language tag list from * Draft OpenType 1.5 spec, with with the ISO 639-3 codes from - * 2008/08/04, matching on name, and finally adjusted manually. + * 2008-08-04, matching on name, and finally adjusted manually. * - * Updated on 2012/12/07 with more research into remaining codes. + * Updated on 2012-12-07 with more research into remaining codes. + * + * Updated on 2013-11-23 based on usage in SIL and Microsoft fonts, + * the new proposal from Microsoft, and latest ISO 639-3 names. * * Some items still missing. Those are commented out at the end. * Keep sorted for bsearch. @@ -179,57 +182,90 @@ static const LangTag ot_languages[] = { {"aa", HB_TAG('A','F','R',' ')}, /* Afar */ {"ab", HB_TAG('A','B','K',' ')}, /* Abkhazian */ {"abq", HB_TAG('A','B','A',' ')}, /* Abaza */ + {"ach", HB_TAG('A','C','H',' ')}, /* Acoli */ {"ada", HB_TAG('D','N','G',' ')}, /* Dangme */ {"ady", HB_TAG('A','D','Y',' ')}, /* Adyghe */ {"af", HB_TAG('A','F','K',' ')}, /* Afrikaans */ {"aii", HB_TAG('S','W','A',' ')}, /* Swadaya Aramaic */ + {"aio", HB_TAG('A','I','O',' ')}, /* Aiton */ {"aiw", HB_TAG('A','R','I',' ')}, /* Aari */ + {"ak", HB_TAG('T','W','I',' ')}, /* Akan [macrolanguage] */ {"alt", HB_TAG('A','L','T',' ')}, /* [Southern] Altai */ {"am", HB_TAG('A','M','H',' ')}, /* Amharic */ {"amf", HB_TAG('H','B','N',' ')}, /* Hammer-Banna */ - {"ar", HB_TAG('A','R','A',' ')}, /* Arabic */ + {"an", HB_TAG('A','R','G',' ')}, /* Aragonese */ + {"ang", HB_TAG('A','N','G',' ')}, /* Old English (ca. 450-1100) */ + {"ar", HB_TAG('A','R','A',' ')}, /* Arabic [macrolanguage] */ + {"arb", HB_TAG('A','R','A',' ')}, /* Standard Arabic */ {"arn", HB_TAG('M','A','P',' ')}, /* Mapudungun */ + {"ary", HB_TAG('M','O','R',' ')}, /* Moroccan Arabic */ {"as", HB_TAG('A','S','M',' ')}, /* Assamese */ + {"ast", HB_TAG('A','S','T',' ')}, /* Asturian/Asturleonese/Bable/Leonese */ {"ath", HB_TAG('A','T','H',' ')}, /* Athapaskan [family] */ {"atv", HB_TAG('A','L','T',' ')}, /* [Northern] Altai */ {"av", HB_TAG('A','V','R',' ')}, /* Avaric */ {"awa", HB_TAG('A','W','A',' ')}, /* Awadhi */ - {"ay", HB_TAG('A','Y','M',' ')}, /* Aymara */ - {"az", HB_TAG('A','Z','E',' ')}, /* Azerbaijani */ + {"ay", HB_TAG('A','Y','M',' ')}, /* Aymara [macrolanguage] */ + {"az", HB_TAG('A','Z','E',' ')}, /* Azerbaijani [macrolanguage] */ + {"azb", HB_TAG('A','Z','B',' ')}, /* South Azerbaijani */ + {"azj", HB_TAG('A','Z','E',' ')}, /* North Azerbaijani */ {"ba", HB_TAG('B','S','H',' ')}, /* Bashkir */ {"bai", HB_TAG('B','M','L',' ')}, /* Bamileke [family] */ - {"bal", HB_TAG('B','L','I',' ')}, /* Baluchi */ - {"bci", HB_TAG('B','A','U',' ')}, /* Baule */ + {"bal", HB_TAG('B','L','I',' ')}, /* Baluchi [macrolangauge] */ + {"ban", HB_TAG('B','A','N',' ')}, /* Balinese */ + {"bar", HB_TAG('B','A','R',' ')}, /* Bavarian */ + {"bbc", HB_TAG('B','B','C',' ')}, /* Batak Toba */ + {"bci", HB_TAG('B','A','U',' ')}, /* Baoulé */ + {"bcl", HB_TAG('B','I','K',' ')}, /* Central Bikol */ {"bcq", HB_TAG('B','C','H',' ')}, /* Bench */ - {"be", HB_TAG('B','E','L',' ')}, /* Belarussian */ + {"be", HB_TAG('B','E','L',' ')}, /* Belarusian */ {"bem", HB_TAG('B','E','M',' ')}, /* Bemba (Zambia) */ {"ber", HB_TAG('B','E','R',' ')}, /* Berber [family] */ {"bfq", HB_TAG('B','A','D',' ')}, /* Badaga */ {"bft", HB_TAG('B','L','T',' ')}, /* Balti */ {"bfy", HB_TAG('B','A','G',' ')}, /* Baghelkhandi */ {"bg", HB_TAG('B','G','R',' ')}, /* Bulgarian */ + {"bgc", HB_TAG('B','G','C',' ')}, /* Haryanvi */ + {"bgq", HB_TAG('B','G','Q',' ')}, /* Bagri */ {"bhb", HB_TAG('B','H','I',' ')}, /* Bhili */ + {"bhk", HB_TAG('B','I','K',' ')}, /* Albay Bicolano (retired code) */ {"bho", HB_TAG('B','H','O',' ')}, /* Bhojpuri */ - {"bik", HB_TAG('B','I','K',' ')}, /* Bikol */ + {"bi", HB_TAG('B','I','S',' ')}, /* Bislama */ + {"bik", HB_TAG('B','I','K',' ')}, /* Bikol [macrolanguage] */ {"bin", HB_TAG('E','D','O',' ')}, /* Bini */ + {"bjj", HB_TAG('B','J','J',' ')}, /* Kanauji */ {"bjt", HB_TAG('B','L','N',' ')}, /* Balanta-Ganja */ {"bla", HB_TAG('B','K','F',' ')}, /* Blackfoot */ {"ble", HB_TAG('B','L','N',' ')}, /* Balanta-Kentohe */ + {"blk", HB_TAG('B','L','K',' ')}, /* Pa'O/Pa'o Karen */ + {"bln", HB_TAG('B','I','K',' ')}, /* Southern Catanduanes Bikol */ {"bm", HB_TAG('B','M','B',' ')}, /* Bambara */ {"bn", HB_TAG('B','E','N',' ')}, /* Bengali */ {"bo", HB_TAG('T','I','B',' ')}, /* Tibetan */ + {"bpy", HB_TAG('B','P','Y',' ')}, /* Bishnupriya */ + {"bqi", HB_TAG('L','R','C',' ')}, /* Bakhtiari */ {"br", HB_TAG('B','R','E',' ')}, /* Breton */ {"bra", HB_TAG('B','R','I',' ')}, /* Braj Bhasha */ {"brh", HB_TAG('B','R','H',' ')}, /* Brahui */ + {"brx", HB_TAG('B','R','X',' ')}, /* Bodo (India) */ {"bs", HB_TAG('B','O','S',' ')}, /* Bosnian */ {"btb", HB_TAG('B','T','I',' ')}, /* Beti (Cameroon) */ + {"bto", HB_TAG('B','I','K',' ')}, /* Rinconada Bikol */ + {"bts", HB_TAG('B','T','S',' ')}, /* Batak Simalungun */ + {"bug", HB_TAG('B','U','G',' ')}, /* Buginese */ {"bxr", HB_TAG('R','B','U',' ')}, /* Russian Buriat */ {"byn", HB_TAG('B','I','L',' ')}, /* Bilen */ {"ca", HB_TAG('C','A','T',' ')}, /* Catalan */ + {"cbk", HB_TAG('C','B','K',' ')}, /* Chavacano */ {"ce", HB_TAG('C','H','E',' ')}, /* Chechen */ {"ceb", HB_TAG('C','E','B',' ')}, /* Cebuano */ + {"cgg", HB_TAG('C','G','G',' ')}, /* Chiga */ + {"ch", HB_TAG('C','H','A',' ')}, /* Chamorro */ + {"cho", HB_TAG('C','H','O',' ')}, /* Choctaw */ {"chp", HB_TAG('C','H','P',' ')}, /* Chipewyan */ {"chr", HB_TAG('C','H','R',' ')}, /* Cherokee */ + {"chy", HB_TAG('C','H','Y',' ')}, /* Cheyenne */ + {"ckb", HB_TAG('K','U','R',' ')}, /* Central Kurdish (Sorani) */ {"ckt", HB_TAG('C','H','K',' ')}, /* Chukchi */ {"cop", HB_TAG('C','O','P',' ')}, /* Coptic */ {"cr", HB_TAG('C','R','E',' ')}, /* Cree */ @@ -239,6 +275,9 @@ static const LangTag ot_languages[] = { {"crm", HB_TAG('M','C','R',' ')}, /* Moose Cree */ {"crx", HB_TAG('C','R','R',' ')}, /* Carrier */ {"cs", HB_TAG('C','S','Y',' ')}, /* Czech */ + {"csb", HB_TAG('C','S','B',' ')}, /* Kashubian */ + {"ctg", HB_TAG('C','T','G',' ')}, /* Chittagonian */ + {"cts", HB_TAG('B','I','K',' ')}, /* Northern Catanduanes Bikol */ {"cu", HB_TAG('C','S','L',' ')}, /* Church Slavic */ {"cv", HB_TAG('C','H','U',' ')}, /* Chuvash */ {"cwd", HB_TAG('D','C','R',' ')}, /* Woods Cree */ @@ -247,34 +286,42 @@ static const LangTag ot_languages[] = { {"dap", HB_TAG('N','I','S',' ')}, /* Nisi (India) */ {"dar", HB_TAG('D','A','R',' ')}, /* Dargwa */ {"de", HB_TAG('D','E','U',' ')}, /* German */ - {"din", HB_TAG('D','N','K',' ')}, /* Dinka */ - {"dje", HB_TAG('D','J','R',' ')}, /* Djerma */ + {"dgo", HB_TAG('D','G','O',' ')}, /* Dogri */ + {"dhd", HB_TAG('M','A','W',' ')}, /* Dhundari */ + {"din", HB_TAG('D','N','K',' ')}, /* Dinka [macrolanguage] */ + {"diq", HB_TAG('D','I','Q',' ')}, /* Dimli */ + {"dje", HB_TAG('D','J','R',' ')}, /* Zarma */ {"dng", HB_TAG('D','U','N',' ')}, /* Dungan */ - {"doi", HB_TAG('D','G','R',' ')}, /* Dogri */ + {"doi", HB_TAG('D','G','R',' ')}, /* Dogri [macrolanguage] */ {"dsb", HB_TAG('L','S','B',' ')}, /* Lower Sorbian */ - {"dv", HB_TAG('D','I','V',' ')}, /* Dhivehi */ + {"dv", HB_TAG('D','I','V',' ')}, /* Dhivehi/Divehi/Maldivian */ {"dyu", HB_TAG('J','U','L',' ')}, /* Jula */ {"dz", HB_TAG('D','Z','N',' ')}, /* Dzongkha */ {"ee", HB_TAG('E','W','E',' ')}, /* Ewe */ {"efi", HB_TAG('E','F','I',' ')}, /* Efik */ + {"ekk", HB_TAG('E','T','I',' ')}, /* Standard Estonian */ {"el", HB_TAG('E','L','L',' ')}, /* Modern Greek (1453-) */ + {"emk", HB_TAG('M','N','K',' ')}, /* Eastern Maninkakan */ {"en", HB_TAG('E','N','G',' ')}, /* English */ {"eo", HB_TAG('N','T','O',' ')}, /* Esperanto */ {"eot", HB_TAG('B','T','I',' ')}, /* Beti (Côte d'Ivoire) */ {"es", HB_TAG('E','S','P',' ')}, /* Spanish */ - {"et", HB_TAG('E','T','I',' ')}, /* Estonian */ + {"et", HB_TAG('E','T','I',' ')}, /* Estonian [macrolanguage] */ {"eu", HB_TAG('E','U','Q',' ')}, /* Basque */ {"eve", HB_TAG('E','V','N',' ')}, /* Even */ {"evn", HB_TAG('E','V','K',' ')}, /* Evenki */ - {"fa", HB_TAG('F','A','R',' ')}, /* Persian */ - {"ff", HB_TAG('F','U','L',' ')}, /* Fulah */ + {"fa", HB_TAG('F','A','R',' ')}, /* Persian [macrolanguage] */ + {"ff", HB_TAG('F','U','L',' ')}, /* Fulah [macrolanguage] */ {"fi", HB_TAG('F','I','N',' ')}, /* Finnish */ {"fil", HB_TAG('P','I','L',' ')}, /* Filipino */ {"fj", HB_TAG('F','J','I',' ')}, /* Fijian */ {"fo", HB_TAG('F','O','S',' ')}, /* Faroese */ {"fon", HB_TAG('F','O','N',' ')}, /* Fon */ {"fr", HB_TAG('F','R','A',' ')}, /* French */ + {"frc", HB_TAG('F','R','C',' ')}, /* Cajun French */ + {"frp", HB_TAG('F','R','P',' ')}, /* Arpitan/Francoprovençal */ {"fur", HB_TAG('F','R','L',' ')}, /* Friulian */ + {"fuv", HB_TAG('F','U','V',' ')}, /* Nigerian Fulfulde */ {"fy", HB_TAG('F','R','I',' ')}, /* Western Frisian */ {"ga", HB_TAG('I','R','I',' ')}, /* Irish */ {"gaa", HB_TAG('G','A','D',' ')}, /* Ga */ @@ -282,113 +329,167 @@ static const LangTag ot_languages[] = { {"gbm", HB_TAG('G','A','W',' ')}, /* Garhwali */ {"gd", HB_TAG('G','A','E',' ')}, /* Scottish Gaelic */ {"gez", HB_TAG('G','E','Z',' ')}, /* Ge'ez */ + {"ggo", HB_TAG('G','O','N',' ')}, /* Southern Gondi */ {"gl", HB_TAG('G','A','L',' ')}, /* Galician */ {"gld", HB_TAG('N','A','N',' ')}, /* Nanai */ - {"gn", HB_TAG('G','U','A',' ')}, /* Guarani */ - {"gon", HB_TAG('G','O','N',' ')}, /* Gondi */ + {"glk", HB_TAG('G','L','K',' ')}, /* Gilaki */ + {"gn", HB_TAG('G','U','A',' ')}, /* Guarani [macrolanguage] */ + {"gno", HB_TAG('G','O','N',' ')}, /* Northern Gondi */ + {"gog", HB_TAG('G','O','G',' ')}, /* Gogo */ + {"gon", HB_TAG('G','O','N',' ')}, /* Gondi [macrolanguage] */ {"grt", HB_TAG('G','R','O',' ')}, /* Garo */ {"gru", HB_TAG('S','O','G',' ')}, /* Sodo Gurage */ {"gu", HB_TAG('G','U','J',' ')}, /* Gujarati */ + {"guc", HB_TAG('G','U','C',' ')}, /* Wayuu */ {"guk", HB_TAG('G','M','Z',' ')}, /* Gumuz */ - {"gv", HB_TAG('M','N','X',' ')}, /* Manx Gaelic */ +/*{"guk", HB_TAG('G','U','K',' ')},*/ /* Gumuz (in SIL fonts) */ + {"guz", HB_TAG('G','U','Z',' ')}, /* Ekegusii/Gusii */ + {"gv", HB_TAG('M','N','X',' ')}, /* Manx */ {"ha", HB_TAG('H','A','U',' ')}, /* Hausa */ {"har", HB_TAG('H','R','I',' ')}, /* Harari */ - {"haw", HB_TAG('H','A','W',' ')}, /* Hawaiin */ + {"haw", HB_TAG('H','A','W',' ')}, /* Hawaiian */ + {"hay", HB_TAG('H','A','Y',' ')}, /* Haya */ + {"haz", HB_TAG('H','A','Z',' ')}, /* Hazaragi */ {"he", HB_TAG('I','W','R',' ')}, /* Hebrew */ + {"hz", HB_TAG('H','E','R',' ')}, /* Herero */ {"hi", HB_TAG('H','I','N',' ')}, /* Hindi */ {"hil", HB_TAG('H','I','L',' ')}, /* Hiligaynon */ {"hnd", HB_TAG('H','N','D',' ')}, /* [Southern] Hindko */ {"hne", HB_TAG('C','H','H',' ')}, /* Chattisgarhi */ {"hno", HB_TAG('H','N','D',' ')}, /* [Northern] Hindko */ + {"ho", HB_TAG('H','M','O',' ')}, /* Hiri Motu */ {"hoc", HB_TAG('H','O',' ',' ')}, /* Ho */ {"hoj", HB_TAG('H','A','R',' ')}, /* Harauti */ {"hr", HB_TAG('H','R','V',' ')}, /* Croatian */ {"hsb", HB_TAG('U','S','B',' ')}, /* Upper Sorbian */ - {"ht", HB_TAG('H','A','I',' ')}, /* Haitian */ + {"ht", HB_TAG('H','A','I',' ')}, /* Haitian/Haitian Creole */ {"hu", HB_TAG('H','U','N',' ')}, /* Hungarian */ {"hy", HB_TAG('H','Y','E',' ')}, /* Armenian */ + {"hz", HB_TAG('H','E','R',' ')}, /* Herero */ + {"ia", HB_TAG('I','N','A',' ')}, /* Interlingua (International Auxiliary Language Association) */ + {"ibb", HB_TAG('I','B','B',' ')}, /* Ibibio */ {"id", HB_TAG('I','N','D',' ')}, /* Indonesian */ + {"ie", HB_TAG('I','L','E',' ')}, /* Interlingue/Occidental */ {"ig", HB_TAG('I','B','O',' ')}, /* Igbo */ {"igb", HB_TAG('E','B','I',' ')}, /* Ebira */ + {"ijc", HB_TAG('I','J','O',' ')}, /* Izon */ {"ijo", HB_TAG('I','J','O',' ')}, /* Ijo [family] */ + {"ik", HB_TAG('I','P','K',' ')}, /* Inupiaq [macrolanguage] */ {"ilo", HB_TAG('I','L','O',' ')}, /* Ilokano */ {"inh", HB_TAG('I','N','G',' ')}, /* Ingush */ + {"io", HB_TAG('I','D','O',' ')}, /* Ido */ {"is", HB_TAG('I','S','L',' ')}, /* Icelandic */ {"it", HB_TAG('I','T','A',' ')}, /* Italian */ - {"iu", HB_TAG('I','N','U',' ')}, /* Inuktitut */ + {"iu", HB_TAG('I','N','U',' ')}, /* Inuktitut [macrolanguage] */ {"ja", HB_TAG('J','A','N',' ')}, /* Japanese */ + {"jam", HB_TAG('J','A','M',' ')}, /* Jamaican Creole English */ + {"jbo", HB_TAG('J','B','O',' ')}, /* Lojban */ {"jv", HB_TAG('J','A','V',' ')}, /* Javanese */ {"ka", HB_TAG('K','A','T',' ')}, /* Georgian */ {"kaa", HB_TAG('K','R','K',' ')}, /* Karakalpak */ + {"kab", HB_TAG('K','A','B',' ')}, /* Kabyle */ {"kam", HB_TAG('K','M','B',' ')}, /* Kamba (Kenya) */ {"kar", HB_TAG('K','R','N',' ')}, /* Karen [family] */ {"kbd", HB_TAG('K','A','B',' ')}, /* Kabardian */ + {"kde", HB_TAG('K','D','E',' ')}, /* Makonde */ {"kdr", HB_TAG('K','R','M',' ')}, /* Karaim */ {"kdt", HB_TAG('K','U','Y',' ')}, /* Kuy */ {"kex", HB_TAG('K','K','N',' ')}, /* Kokni */ {"kfr", HB_TAG('K','A','C',' ')}, /* Kachchi */ {"kfy", HB_TAG('K','M','N',' ')}, /* Kumaoni */ + {"kg", HB_TAG('K','O','N',' ')}, /* Kongo [macrolanguage] */ {"kha", HB_TAG('K','S','I',' ')}, /* Khasi */ - {"khb", HB_TAG('X','B','D',' ')}, /* Tai Lue */ + {"khb", HB_TAG('X','B','D',' ')}, /* Lü */ + {"kht", HB_TAG('K','H','N',' ')}, /* Khamti (Microsoft fonts) */ +/*{"kht", HB_TAG('K','H','T',' ')},*/ /* Khamti (OpenType spec and SIL fonts) */ {"khw", HB_TAG('K','H','W',' ')}, /* Khowar */ - {"ki", HB_TAG('K','I','K',' ')}, /* Kikuyu */ + {"ki", HB_TAG('K','I','K',' ')}, /* Gikuyu/Kikuyu */ + {"kj", HB_TAG('K','U','A',' ')}, /* Kuanyama/Kwanyama */ {"kjh", HB_TAG('K','H','A',' ')}, /* Khakass */ + {"kjp", HB_TAG('K','J','P',' ')}, /* Pwo Eastern Karen */ {"kk", HB_TAG('K','A','Z',' ')}, /* Kazakh */ {"kl", HB_TAG('G','R','N',' ')}, /* Kalaallisut */ {"kln", HB_TAG('K','A','L',' ')}, /* Kalenjin */ {"km", HB_TAG('K','H','M',' ')}, /* Central Khmer */ - {"kmb", HB_TAG('M','B','N',' ')}, /* [North] Mbundu */ + {"kmb", HB_TAG('M','B','N',' ')}, /* Kimbundu */ {"kmw", HB_TAG('K','M','O',' ')}, /* Komo (Democratic Republic of Congo) */ {"kn", HB_TAG('K','A','N',' ')}, /* Kannada */ + {"knn", HB_TAG('K','O','K',' ')}, /* Konkani */ {"ko", HB_TAG('K','O','R',' ')}, /* Korean */ {"koi", HB_TAG('K','O','P',' ')}, /* Komi-Permyak */ - {"kok", HB_TAG('K','O','K',' ')}, /* Konkani */ - {"kpe", HB_TAG('K','P','L',' ')}, /* Kpelle */ + {"kok", HB_TAG('K','O','K',' ')}, /* Konkani [macrolanguage] */ + {"kpe", HB_TAG('K','P','L',' ')}, /* Kpelle [macrolanguage] */ {"kpv", HB_TAG('K','O','Z',' ')}, /* Komi-Zyrian */ {"kpy", HB_TAG('K','Y','K',' ')}, /* Koryak */ {"kqy", HB_TAG('K','R','T',' ')}, /* Koorete */ - {"kr", HB_TAG('K','N','R',' ')}, /* Kanuri */ + {"kr", HB_TAG('K','N','R',' ')}, /* Kanuri [macrolanguage] */ {"kri", HB_TAG('K','R','I',' ')}, /* Krio */ {"krl", HB_TAG('K','R','L',' ')}, /* Karelian */ {"kru", HB_TAG('K','U','U',' ')}, /* Kurukh */ {"ks", HB_TAG('K','S','H',' ')}, /* Kashmiri */ - {"ku", HB_TAG('K','U','R',' ')}, /* Kurdish */ + {"ksh", HB_TAG('K','S','H',' ')}, /* Kölsch */ +/*{"ksw", HB_TAG('K','R','N',' ')},*/ /* S'gaw Karen (Microsoft fonts?) */ + {"ksw", HB_TAG('K','S','W',' ')}, /* S'gaw Karen (OpenType spec and SIL fonts) */ + {"ku", HB_TAG('K','U','R',' ')}, /* Kurdish [macrolanguage] */ {"kum", HB_TAG('K','U','M',' ')}, /* Kumyk */ + {"kv", HB_TAG('K','O','M',' ')}, /* Komi [macrolanguage] */ {"kvd", HB_TAG('K','U','I',' ')}, /* Kui (Indonesia) */ + {"kw", HB_TAG('C','O','R',' ')}, /* Cornish */ {"kxc", HB_TAG('K','M','S',' ')}, /* Komso */ {"kxu", HB_TAG('K','U','I',' ')}, /* Kui (India) */ - {"ky", HB_TAG('K','I','R',' ')}, /* Kirghiz */ + {"ky", HB_TAG('K','I','R',' ')}, /* Kirghiz/Kyrgyz */ + {"kyu", HB_TAG('K','Y','U',' ')}, /* Western Kayah */ {"la", HB_TAG('L','A','T',' ')}, /* Latin */ {"lad", HB_TAG('J','U','D',' ')}, /* Ladino */ {"lb", HB_TAG('L','T','Z',' ')}, /* Luxembourgish */ {"lbe", HB_TAG('L','A','K',' ')}, /* Lak */ {"lbj", HB_TAG('L','D','K',' ')}, /* Ladakhi */ {"lez", HB_TAG('L','E','Z',' ')}, /* Lezgi */ - {"lg", HB_TAG('L','U','G',' ')}, /* Luganda */ + {"lg", HB_TAG('L','U','G',' ')}, /* Ganda */ + {"li", HB_TAG('L','I','M',' ')}, /* Limburgan/Limburger/Limburgish */ {"lif", HB_TAG('L','M','B',' ')}, /* Limbu */ + {"lij", HB_TAG('L','I','J',' ')}, /* Ligurian */ + {"lis", HB_TAG('L','I','S',' ')}, /* Lisu */ + {"ljp", HB_TAG('L','J','P',' ')}, /* Lampung Api */ + {"lki", HB_TAG('L','K','I',' ')}, /* Laki */ {"lld", HB_TAG('L','A','D',' ')}, /* Ladin */ {"lmn", HB_TAG('L','A','M',' ')}, /* Lambani */ + {"lmo", HB_TAG('L','M','O',' ')}, /* Lombard */ {"ln", HB_TAG('L','I','N',' ')}, /* Lingala */ {"lo", HB_TAG('L','A','O',' ')}, /* Lao */ + {"lrc", HB_TAG('L','R','C',' ')}, /* Northern Luri */ {"lt", HB_TAG('L','T','H',' ')}, /* Lithuanian */ {"lu", HB_TAG('L','U','B',' ')}, /* Luba-Katanga */ {"lua", HB_TAG('L','U','B',' ')}, /* Luba-Kasai */ {"luo", HB_TAG('L','U','O',' ')}, /* Luo (Kenya and Tanzania) */ {"lus", HB_TAG('M','I','Z',' ')}, /* Mizo */ - {"luy", HB_TAG('L','U','H',' ')}, /* Luhya [macrolanguage] */ + {"luy", HB_TAG('L','U','H',' ')}, /* Luyia/Oluluyia [macrolanguage] */ + {"luz", HB_TAG('L','R','C',' ')}, /* Southern Luri */ {"lv", HB_TAG('L','V','I',' ')}, /* Latvian */ {"lzz", HB_TAG('L','A','Z',' ')}, /* Laz */ + {"mad", HB_TAG('M','A','D',' ')}, /* Madurese */ + {"mag", HB_TAG('M','A','G',' ')}, /* Magahi */ {"mai", HB_TAG('M','T','H',' ')}, /* Maithili */ + {"mak", HB_TAG('M','K','R',' ')}, /* Makasar */ + {"man", HB_TAG('M','N','K',' ')}, /* Manding/Mandingo [macrolanguage] */ {"mdc", HB_TAG('M','L','E',' ')}, /* Male (Papua New Guinea) */ {"mdf", HB_TAG('M','O','K',' ')}, /* Moksha */ + {"mdr", HB_TAG('M','D','R',' ')}, /* Mandar */ {"mdy", HB_TAG('M','L','E',' ')}, /* Male (Ethiopia) */ {"men", HB_TAG('M','D','E',' ')}, /* Mende (Sierra Leone) */ - {"mg", HB_TAG('M','L','G',' ')}, /* Malagasy */ + {"mer", HB_TAG('M','E','R',' ')}, /* Meru */ + {"mfe", HB_TAG('M','F','E',' ')}, /* Morisyen */ + {"mg", HB_TAG('M','L','G',' ')}, /* Malagasy [macrolanguage] */ + {"mh", HB_TAG('M','A','H',' ')}, /* Marshallese */ {"mhr", HB_TAG('L','M','A',' ')}, /* Low Mari */ {"mi", HB_TAG('M','R','I',' ')}, /* Maori */ + {"min", HB_TAG('M','I','N',' ')}, /* Minangkabau */ {"mk", HB_TAG('M','K','D',' ')}, /* Macedonian */ + {"mku", HB_TAG('M','N','K',' ')}, /* Konyanka Maninka */ + {"mkw", HB_TAG('M','K','W',' ')}, /* Kituba (Congo) */ {"ml", HB_TAG('M','L','R',' ')}, /* Malayalam */ - {"mn", HB_TAG('M','N','G',' ')}, /* Mongolian */ + {"mlq", HB_TAG('M','N','K',' ')}, /* Western Maninkakan */ + {"mn", HB_TAG('M','N','G',' ')}, /* Mongolian [macrolanguage] */ {"mnc", HB_TAG('M','C','H',' ')}, /* Manchu */ {"mni", HB_TAG('M','N','I',' ')}, /* Manipuri */ {"mnk", HB_TAG('M','N','D',' ')}, /* Mandinka */ @@ -396,72 +497,119 @@ static const LangTag ot_languages[] = { {"mnw", HB_TAG('M','O','N',' ')}, /* Mon */ {"mo", HB_TAG('M','O','L',' ')}, /* Moldavian */ {"moh", HB_TAG('M','O','H',' ')}, /* Mohawk */ + {"mos", HB_TAG('M','O','S',' ')}, /* Mossi */ {"mpe", HB_TAG('M','A','J',' ')}, /* Majang */ {"mr", HB_TAG('M','A','R',' ')}, /* Marathi */ {"mrj", HB_TAG('H','M','A',' ')}, /* High Mari */ - {"ms", HB_TAG('M','L','Y',' ')}, /* Malay */ + {"ms", HB_TAG('M','L','Y',' ')}, /* Malay [macrolanguage] */ + {"msc", HB_TAG('M','N','K',' ')}, /* Sankaran Maninka */ {"mt", HB_TAG('M','T','S',' ')}, /* Maltese */ - {"mwr", HB_TAG('M','A','W',' ')}, /* Marwari */ + {"mtr", HB_TAG('M','A','W',' ')}, /* Mewari */ + {"mus", HB_TAG('M','U','S',' ')}, /* Creek */ + {"mve", HB_TAG('M','A','W',' ')}, /* Marwari (Pakistan) */ + {"mwk", HB_TAG('M','N','K',' ')}, /* Kita Maninkakan */ + {"mwl", HB_TAG('M','W','L',' ')}, /* Mirandese */ + {"mwr", HB_TAG('M','A','W',' ')}, /* Marwari [macrolanguage] */ + {"mww", HB_TAG('M','W','W',' ')}, /* Hmong Daw */ {"my", HB_TAG('B','R','M',' ')}, /* Burmese */ {"mym", HB_TAG('M','E','N',' ')}, /* Me'en */ + {"myq", HB_TAG('M','N','K',' ')}, /* Forest Maninka (retired code) */ {"myv", HB_TAG('E','R','Z',' ')}, /* Erzya */ + {"mzn", HB_TAG('M','Z','N',' ')}, /* Mazanderani */ + {"na", HB_TAG('N','A','U',' ')}, /* Nauru */ {"nag", HB_TAG('N','A','G',' ')}, /* Naga-Assamese */ + {"nah", HB_TAG('N','A','H',' ')}, /* Nahuatl [family] */ + {"nap", HB_TAG('N','A','P',' ')}, /* Neapolitan */ {"nb", HB_TAG('N','O','R',' ')}, /* Norwegian Bokmål */ {"nco", HB_TAG('S','I','B',' ')}, /* Sibe */ {"nd", HB_TAG('N','D','B',' ')}, /* [North] Ndebele */ + {"ndc", HB_TAG('N','D','C',' ')}, /* Ndau */ + {"nds", HB_TAG('N','D','S',' ')}, /* Low German/Low Saxon */ {"ne", HB_TAG('N','E','P',' ')}, /* Nepali */ {"new", HB_TAG('N','E','W',' ')}, /* Newari */ {"ng", HB_TAG('N','D','G',' ')}, /* Ndonga */ + {"nga", HB_TAG('N','G','A',' ')}, /* Ngabaka */ {"ngl", HB_TAG('L','M','W',' ')}, /* Lomwe */ {"niu", HB_TAG('N','I','U',' ')}, /* Niuean */ {"niv", HB_TAG('G','I','L',' ')}, /* Gilyak */ {"nl", HB_TAG('N','L','D',' ')}, /* Dutch */ {"nn", HB_TAG('N','Y','N',' ')}, /* Norwegian Nynorsk */ - {"no", HB_TAG('N','O','R',' ')}, /* Norwegian (deprecated) */ - {"nod", HB_TAG('N','T','A',' ')}, /* Northern Tai */ + {"no", HB_TAG('N','O','R',' ')}, /* Norwegian [macrolanguage] */ + {"nod", HB_TAG('N','T','A',' ')}, /* Northern Thai */ + {"noe", HB_TAG('N','O','E',' ')}, /* Nimadi */ {"nog", HB_TAG('N','O','G',' ')}, /* Nogai */ + {"nov", HB_TAG('N','O','V',' ')}, /* Novial */ {"nqo", HB_TAG('N','K','O',' ')}, /* N'Ko */ {"nr", HB_TAG('N','D','B',' ')}, /* [South] Ndebele */ {"nsk", HB_TAG('N','A','S',' ')}, /* Naskapi */ {"nso", HB_TAG('S','O','T',' ')}, /* [Northern] Sotho */ - {"ny", HB_TAG('C','H','I',' ')}, /* Nyanja */ - {"nyn", HB_TAG('N','K','L',' ')}, /* Nkole */ + {"ny", HB_TAG('C','H','I',' ')}, /* Chewa/Chichwa/Nyanja */ + {"nym", HB_TAG('N','Y','M',' ')}, /* Nyamwezi */ + {"nyn", HB_TAG('N','K','L',' ')}, /* Nyankole */ {"oc", HB_TAG('O','C','I',' ')}, /* Occitan (post 1500) */ - {"oj", HB_TAG('O','J','B',' ')}, /* Ojibwa */ + {"oj", HB_TAG('O','J','B',' ')}, /* Ojibwa [macrolanguage] */ {"ojs", HB_TAG('O','C','R',' ')}, /* Oji-Cree */ - {"om", HB_TAG('O','R','O',' ')}, /* Oromo */ + {"om", HB_TAG('O','R','O',' ')}, /* Oromo [macrolanguage] */ {"or", HB_TAG('O','R','I',' ')}, /* Oriya */ {"os", HB_TAG('O','S','S',' ')}, /* Ossetian */ {"pa", HB_TAG('P','A','N',' ')}, /* Panjabi */ + {"pag", HB_TAG('P','A','G',' ')}, /* Pangasinan */ + {"pam", HB_TAG('P','A','M',' ')}, /* Kapampangan/Pampanga */ + {"pap", HB_TAG('P','A','P',' ')}, /* Papiamento */ + {"pcc", HB_TAG('P','C','C',' ')}, /* Bouyei */ + {"pcd", HB_TAG('P','C','D',' ')}, /* Picard */ {"pce", HB_TAG('P','L','G',' ')}, /* [Ruching] Palaung */ + {"pdc", HB_TAG('P','D','C',' ')}, /* Pennsylvania German */ + {"pes", HB_TAG('F','A','R',' ')}, /* Iranian Persian */ + {"phk", HB_TAG('P','H','K',' ')}, /* Phake */ {"pi", HB_TAG('P','A','L',' ')}, /* Pali */ + {"pih", HB_TAG('P','I','H',' ')}, /* Pitcairn-Norfolk */ {"pl", HB_TAG('P','L','K',' ')}, /* Polish */ {"pll", HB_TAG('P','L','G',' ')}, /* [Shwe] Palaung */ {"plp", HB_TAG('P','A','P',' ')}, /* Palpa */ - {"prs", HB_TAG('D','R','I',' ')}, /* Dari */ - {"ps", HB_TAG('P','A','S',' ')}, /* Pushto */ + {"pms", HB_TAG('P','M','S',' ')}, /* Piemontese */ + {"pnb", HB_TAG('P','N','B',' ')}, /* Western Panjabi */ + {"prs", HB_TAG('D','R','I',' ')}, /* Afghan Persian/Dari */ + {"ps", HB_TAG('P','A','S',' ')}, /* Pashto/Pushto [macrolanguage] */ {"pt", HB_TAG('P','T','G',' ')}, /* Portuguese */ - {"raj", HB_TAG('R','A','J',' ')}, /* Rajasthani */ - {"rbb", HB_TAG('P','L','G',' ')}, /* [Rumai] Palaung */ + {"pwo", HB_TAG('P','W','O',' ')}, /* Pwo Western Karen */ + {"qu", HB_TAG('Q','U','Z',' ')}, /* Quechua [macrolanguage] */ + {"quc", HB_TAG('Q','U','C',' ')}, /* K'iche'/Quiché */ + {"quz", HB_TAG('Q','U','Z',' ')}, /* Cusco Quechua */ + {"raj", HB_TAG('R','A','J',' ')}, /* Rajasthani [macrolanguage] */ + {"rbb", HB_TAG('P','L','G',' ')}, /* Rumai Palaung */ + {"rej", HB_TAG('R','E','J',' ')}, /* Rejang */ {"ria", HB_TAG('R','I','A',' ')}, /* Riang (India) */ {"ril", HB_TAG('R','I','A',' ')}, /* Riang (Myanmar) */ - {"rki", HB_TAG('A','R','K',' ')}, /* Arakanese */ - {"rm", HB_TAG('R','M','S',' ')}, /* Rhaeto-Romanic */ + {"rki", HB_TAG('A','R','K',' ')}, /* Rakhine */ + {"rm", HB_TAG('R','M','S',' ')}, /* Romansh */ + {"rmy", HB_TAG('R','M','Y',' ')}, /* Vlax Romani */ + {"rn", HB_TAG('R','U','N',' ')}, /* Rundi */ {"ro", HB_TAG('R','O','M',' ')}, /* Romanian */ - {"rom", HB_TAG('R','O','Y',' ')}, /* Romany */ + {"rom", HB_TAG('R','O','Y',' ')}, /* Romany [macrolanguage] */ {"ru", HB_TAG('R','U','S',' ')}, /* Russian */ {"rue", HB_TAG('R','S','Y',' ')}, /* Rusyn */ - {"rw", HB_TAG('R','U','A',' ')}, /* Ruanda */ + {"rup", HB_TAG('R','U','P',' ')}, /* Aromanian/Arumanian/Macedo-Romanian */ + {"rw", HB_TAG('R','U','A',' ')}, /* Kinyarwanda */ + {"rwr", HB_TAG('M','A','W',' ')}, /* Marwari (India) */ {"sa", HB_TAG('S','A','N',' ')}, /* Sanskrit */ {"sah", HB_TAG('Y','A','K',' ')}, /* Yakut */ + {"sas", HB_TAG('S','A','S',' ')}, /* Sasak */ {"sat", HB_TAG('S','A','T',' ')}, /* Santali */ {"sck", HB_TAG('S','A','D',' ')}, /* Sadri */ + {"sc", HB_TAG('S','R','D',' ')}, /* Sardinian [macrolanguage] */ + {"scn", HB_TAG('S','C','N',' ')}, /* Sicilian */ + {"sco", HB_TAG('S','C','O',' ')}, /* Scots */ {"scs", HB_TAG('S','L','A',' ')}, /* [North] Slavey */ {"sd", HB_TAG('S','N','D',' ')}, /* Sindhi */ {"se", HB_TAG('N','S','M',' ')}, /* Northern Sami */ {"seh", HB_TAG('S','N','A',' ')}, /* Sena */ {"sel", HB_TAG('S','E','L',' ')}, /* Selkup */ {"sg", HB_TAG('S','G','O',' ')}, /* Sango */ + {"sga", HB_TAG('S','G','A',' ')}, /* Old Irish (to 900) */ + {"sgs", HB_TAG('S','G','S',' ')}, /* Samogitian */ + {"sgw", HB_TAG('C','H','G',' ')}, /* Sebat Bet Gurage */ +/*{"sgw", HB_TAG('S','G','W',' ')},*/ /* Sebat Bet Gurage (in SIL fonts) */ {"shn", HB_TAG('S','H','N',' ')}, /* Shan */ {"si", HB_TAG('S','N','H',' ')}, /* Sinhala */ {"sid", HB_TAG('S','I','D',' ')}, /* Sidamo */ @@ -474,60 +622,98 @@ static const LangTag ot_languages[] = { {"smj", HB_TAG('L','S','M',' ')}, /* Lule Sami */ {"smn", HB_TAG('I','S','M',' ')}, /* Inari Sami */ {"sms", HB_TAG('S','K','S',' ')}, /* Skolt Sami */ + {"sn", HB_TAG('S','N','A',' ')}, /* Shona */ {"snk", HB_TAG('S','N','K',' ')}, /* Soninke */ {"so", HB_TAG('S','M','L',' ')}, /* Somali */ - {"sq", HB_TAG('S','Q','I',' ')}, /* Albanian */ + {"sop", HB_TAG('S','O','P',' ')}, /* Songe */ + {"sq", HB_TAG('S','Q','I',' ')}, /* Albanian [macrolanguage] */ {"sr", HB_TAG('S','R','B',' ')}, /* Serbian */ {"srr", HB_TAG('S','R','R',' ')}, /* Serer */ - {"ss", HB_TAG('S','W','Z',' ')}, /* Swazi */ + {"ss", HB_TAG('S','W','Z',' ')}, /* Swati */ {"st", HB_TAG('S','O','T',' ')}, /* [Southern] Sotho */ + {"stq", HB_TAG('S','T','Q',' ')}, /* Saterfriesisch */ + {"stv", HB_TAG('S','I','G',' ')}, /* Silt'e */ + {"su", HB_TAG('S','U','N',' ')}, /* Sundanese */ + {"suk", HB_TAG('S','U','K',' ')}, /* Sukama */ {"suq", HB_TAG('S','U','R',' ')}, /* Suri */ {"sv", HB_TAG('S','V','E',' ')}, /* Swedish */ {"sva", HB_TAG('S','V','A',' ')}, /* Svan */ - {"sw", HB_TAG('S','W','K',' ')}, /* Swahili */ + {"sw", HB_TAG('S','W','K',' ')}, /* Swahili [macrolanguage] */ {"swb", HB_TAG('C','M','R',' ')}, /* Comorian */ - {"syr", HB_TAG('S','Y','R',' ')}, /* Syriac */ + {"swh", HB_TAG('S','W','K',' ')}, /* Kiswahili/Swahili */ + {"swv", HB_TAG('M','A','W',' ')}, /* Shekhawati */ + {"sxu", HB_TAG('S','X','U',' ')}, /* Upper Saxon */ + {"syl", HB_TAG('S','Y','L',' ')}, /* Sylheti */ + {"syr", HB_TAG('S','Y','R',' ')}, /* Syriac [macrolanguage] */ + {"szl", HB_TAG('S','Z','L',' ')}, /* Silesian */ {"ta", HB_TAG('T','A','M',' ')}, /* Tamil */ {"tab", HB_TAG('T','A','B',' ')}, /* Tabasaran */ {"tcy", HB_TAG('T','U','L',' ')}, /* Tulu */ + {"tdd", HB_TAG('T','D','D',' ')}, /* Tai Nüa */ {"te", HB_TAG('T','E','L',' ')}, /* Telugu */ {"tem", HB_TAG('T','M','N',' ')}, /* Temne */ + {"tet", HB_TAG('T','E','T',' ')}, /* Tetum */ {"tg", HB_TAG('T','A','J',' ')}, /* Tajik */ {"th", HB_TAG('T','H','A',' ')}, /* Thai */ {"ti", HB_TAG('T','G','Y',' ')}, /* Tigrinya */ {"tig", HB_TAG('T','G','R',' ')}, /* Tigre */ + {"tiv", HB_TAG('T','I','V',' ')}, /* Tiv */ {"tk", HB_TAG('T','K','M',' ')}, /* Turkmen */ + {"tl", HB_TAG('T','G','L',' ')}, /* Tagalog */ + {"tmh", HB_TAG('t','m','h',' ')}, /* Tamashek [macrolanguage] */ {"tn", HB_TAG('T','N','A',' ')}, /* Tswana */ {"to", HB_TAG('T','G','N',' ')}, /* Tonga (Tonga Islands) */ + {"tpi", HB_TAG('T','P','I',' ')}, /* Tok Pisin */ {"tr", HB_TAG('T','R','K',' ')}, /* Turkish */ {"tru", HB_TAG('T','U','A',' ')}, /* Turoyo Aramaic */ {"ts", HB_TAG('T','S','G',' ')}, /* Tsonga */ {"tt", HB_TAG('T','A','T',' ')}, /* Tatar */ + {"tum", HB_TAG('T','U','M',' ')}, /* Tumbuka */ {"tw", HB_TAG('T','W','I',' ')}, /* Twi */ {"ty", HB_TAG('T','H','T',' ')}, /* Tahitian */ {"tyv", HB_TAG('T','U','V',' ')}, /* Tuvin */ + {"tyz", HB_TAG('T','Y','Z',' ')}, /* Tày */ + {"tzm", HB_TAG('T','Z','M',' ')}, /* Central Atlas Tamazight */ {"udm", HB_TAG('U','D','M',' ')}, /* Udmurt */ {"ug", HB_TAG('U','Y','G',' ')}, /* Uighur */ {"uk", HB_TAG('U','K','R',' ')}, /* Ukrainian */ - {"umb", HB_TAG('M','B','N',' ')}, /* [South] Mbundu */ + {"umb", HB_TAG('U','M','B',' ')}, /* Umbundu */ {"unr", HB_TAG('M','U','N',' ')}, /* Mundari */ {"ur", HB_TAG('U','R','D',' ')}, /* Urdu */ - {"uz", HB_TAG('U','Z','B',' ')}, /* Uzbek */ + {"uz", HB_TAG('U','Z','B',' ')}, /* Uzbek [macrolanguage] */ + {"uzn", HB_TAG('U','Z','B',' ')}, /* Northern Uzbek */ + {"uzs", HB_TAG('U','Z','B',' ')}, /* Southern Uzbek */ {"ve", HB_TAG('V','E','N',' ')}, /* Venda */ + {"vec", HB_TAG('V','E','C',' ')}, /* Venetian */ + {"vls", HB_TAG('F','L','E',' ')}, /* Vlaams */ {"vi", HB_TAG('V','I','T',' ')}, /* Vietnamese */ - {"vmw", HB_TAG('M','A','K',' ')}, /* Makua */ + {"vmw", HB_TAG('M','A','K',' ')}, /* Makhuwa */ + {"vo", HB_TAG('V','O','L',' ')}, /* Volapük */ + {"vro", HB_TAG('V','R','O',' ')}, /* Võro */ + {"wa", HB_TAG('W','L','N',' ')}, /* Walloon */ + {"war", HB_TAG('W','A','R',' ')}, /* Waray (Philippines) */ {"wbm", HB_TAG('W','A',' ',' ')}, /* Wa */ {"wbr", HB_TAG('W','A','G',' ')}, /* Wagdi */ + {"wle", HB_TAG('S','I','G',' ')}, /* Wolane */ + {"wry", HB_TAG('M','A','W',' ')}, /* Merwari */ + {"wtm", HB_TAG('W','T','M',' ')}, /* Mewati */ {"wo", HB_TAG('W','L','F',' ')}, /* Wolof */ {"xal", HB_TAG('K','L','M',' ')}, /* Kalmyk */ {"xh", HB_TAG('X','H','S',' ')}, /* Xhosa */ + {"xog", HB_TAG('X','O','G',' ')}, /* Soga */ {"xom", HB_TAG('K','M','O',' ')}, /* Komo (Sudan) */ {"xsl", HB_TAG('S','S','L',' ')}, /* South Slavey */ - {"yi", HB_TAG('J','I','I',' ')}, /* Yiddish */ + {"xst", HB_TAG('S','I','G',' ')}, /* Silt'e (retired code) */ + {"xwo", HB_TAG('T','O','D',' ')}, /* Written Oirat (Todo) */ + {"yao", HB_TAG('Y','A','O',' ')}, /* Yao */ + {"yi", HB_TAG('J','I','I',' ')}, /* Yiddish [macrolanguage] */ {"yo", HB_TAG('Y','B','A',' ')}, /* Yoruba */ {"yso", HB_TAG('N','I','S',' ')}, /* Nisi (China) */ + {"za", HB_TAG('Z','H','A',' ')}, /* Chuang/Zhuang [macrolanguage] */ + {"zea", HB_TAG('Z','E','A',' ')}, /* Zeeuws */ {"zne", HB_TAG('Z','N','D',' ')}, /* Zande */ - {"zu", HB_TAG('Z','U','L',' ')} /* Zulu */ + {"zu", HB_TAG('Z','U','L',' ')}, /* Zulu */ + {"zum", HB_TAG('L','R','C',' ')} /* Kumzari */ /* The corresponding languages IDs for the following IDs are unclear, * overlap, or are architecturally weird. Needs more research. */ @@ -536,13 +722,13 @@ static const LangTag ot_languages[] = { /*{"gsw?/gsw-FR?", HB_TAG('A','L','S',' ')},*/ /* Alsatian */ /*{"krc", HB_TAG('B','A','L',' ')},*/ /* Balkar */ /*{"??", HB_TAG('B','C','R',' ')},*/ /* Bible Cree */ -/*{"sgw?", HB_TAG('C','H','G',' ')},*/ /* Chaha Gurage */ +/*{"zh?", HB_TAG('C','H','N',' ')},*/ /* Chinese (seen in Microsoft fonts) */ /*{"acf/gcf?", HB_TAG('F','A','N',' ')},*/ /* French Antillean */ -/*{"vls/nl-be", HB_TAG('F','L','E',' ')},*/ /* Flemish */ /*{"enf?/yrk?", HB_TAG('F','N','E',' ')},*/ /* Forest Nenets */ /*{"fuf?", HB_TAG('F','T','A',' ')},*/ /* Futa */ /*{"ar-Syrc?", HB_TAG('G','A','R',' ')},*/ /* Garshuni */ /*{"cfm/rnl?", HB_TAG('H','A','L',' ')},*/ /* Halam */ +/*{"fonipa", HB_TAG('I','P','P','H')},*/ /* Phonetic transcription—IPA conventions */ /*{"ga-Latg?/Latg?", HB_TAG('I','R','T',' ')},*/ /* Irish Traditional */ /*{"krc", HB_TAG('K','A','R',' ')},*/ /* Karachay */ /*{"alw?/ktb?", HB_TAG('K','E','B',' ')},*/ /* Kebena */ @@ -559,8 +745,6 @@ static const LangTag ot_languages[] = { /*{"??", HB_TAG('L','C','R',' ')},*/ /* L-Cree */ /*{"??", HB_TAG('M','A','L',' ')},*/ /* Malayalam Traditional */ /*{"mnk?/mlq?/...", HB_TAG('M','L','N',' ')},*/ /* Malinke */ -/*{"man?/myq?/mku?/msc?/...", HB_TAG('M','N','K',' ')},*/ /* Maninka */ -/*{"??", HB_TAG('M','O','R',' ')},*/ /* Moroccan */ /*{"??", HB_TAG('N','C','R',' ')},*/ /* N-Cree */ /*{"??", HB_TAG('N','H','C',' ')},*/ /* Norway House Cree */ /*{"jpa?/sam?", HB_TAG('P','A','A',' ')},*/ /* Palestinian Aramaic */ @@ -569,14 +753,12 @@ static const LangTag ot_languages[] = { /*{"??", HB_TAG('R','C','R',' ')},*/ /* R-Cree */ /*{"chp?", HB_TAG('S','A','Y',' ')},*/ /* Sayisi */ /*{"xan?", HB_TAG('S','E','K',' ')},*/ /* Sekota */ -/*{"stv/wle?/xst?", HB_TAG('S','I','G',' ')},*/ /* Silte Gurage */ /*{"ngo?", HB_TAG('S','X','T',' ')},*/ /* Sutu */ /*{"??", HB_TAG('T','C','R',' ')},*/ /* TH-Cree */ /*{"tnz?/tog?/toi?", HB_TAG('T','N','G',' ')},*/ /* Tonga */ /*{"enh?/yrk?", HB_TAG('T','N','E',' ')},*/ /* Tundra Nenets */ -/*{"??", HB_TAG('T','O','D',' ')},*/ /* Todo */ /*{"??", HB_TAG('W','C','R',' ')},*/ /* West-Cree */ -/*{"??", HB_TAG('Y','C','R',' ')},*/ /* Y-Cree */ +/*{"cre?", HB_TAG('Y','C','R',' ')},*/ /* Y-Cree */ /*{"??", HB_TAG('Y','I','C',' ')},*/ /* Yi Classic */ /*{"ii?/Yiii?", HB_TAG('Y','I','M',' ')},*/ /* Yi Modern */ /*{"??", HB_TAG('Z','H','P',' ')},*/ /* Chinese Phonetic */ diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-tag.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-tag.h index 1bf12ab3c09..1bf12ab3c09 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot-tag.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot-tag.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot.h index 80739063991..80739063991 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ot.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ot.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-private.hh index 4b72260ed5c..4b72260ed5c 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-set-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-set-private.hh index ca2a07b7619..ca2a07b7619 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-set-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-set-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-set.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-set.cc index 59a0af46ed4..59a0af46ed4 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-set.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-set.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-set.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-set.h index bafdae96333..bafdae96333 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-set.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-set.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-shape-plan-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shape-plan-private.hh index dd014e38d01..e12b05f97b5 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-shape-plan-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shape-plan-private.hh @@ -39,12 +39,15 @@ struct hb_shape_plan_t ASSERT_POD (); hb_bool_t default_shaper_list; - hb_face_t *face; + hb_face_t *face_unsafe; /* We don't carry a reference to face. */ hb_segment_properties_t props; hb_shape_func_t *shaper_func; const char *shaper_name; + hb_feature_t *user_features; + unsigned int num_user_features; + struct hb_shaper_data_t shaper_data; }; diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-shape-plan.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shape-plan.cc index b44a9e2ab77..e354f291763 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-shape-plan.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shape-plan.cc @@ -46,7 +46,7 @@ hb_shape_plan_plan (hb_shape_plan_t *shape_plan, #define HB_SHAPER_PLAN(shaper) \ HB_STMT_START { \ - if (hb_##shaper##_shaper_face_data_ensure (shape_plan->face)) { \ + if (hb_##shaper##_shaper_face_data_ensure (shape_plan->face_unsafe)) { \ HB_SHAPER_DATA (shaper, shape_plan) = \ HB_SHAPER_DATA_CREATE_FUNC (shaper, shape_plan) (shape_plan, user_features, num_user_features); \ shape_plan->shaper_func = _hb_##shaper##_shape; \ @@ -107,18 +107,27 @@ hb_shape_plan_create (hb_face_t *face, assert (props->direction != HB_DIRECTION_INVALID); hb_shape_plan_t *shape_plan; + hb_feature_t *features = NULL; if (unlikely (!face)) face = hb_face_get_empty (); if (unlikely (!props || hb_object_is_inert (face))) return hb_shape_plan_get_empty (); - if (!(shape_plan = hb_object_create<hb_shape_plan_t> ())) + if (num_user_features && !(features = (hb_feature_t *) malloc (num_user_features * sizeof (hb_feature_t)))) return hb_shape_plan_get_empty (); + if (!(shape_plan = hb_object_create<hb_shape_plan_t> ())) { + free (features); + return hb_shape_plan_get_empty (); + } hb_face_make_immutable (face); shape_plan->default_shaper_list = shaper_list == NULL; - shape_plan->face = hb_face_reference (face); + shape_plan->face_unsafe = face; shape_plan->props = *props; + shape_plan->num_user_features = num_user_features; + shape_plan->user_features = features; + if (num_user_features) + memcpy (features, user_features, num_user_features * sizeof (hb_feature_t)); hb_shape_plan_plan (shape_plan, user_features, num_user_features, shaper_list); @@ -147,6 +156,9 @@ hb_shape_plan_get_empty (void) NULL, /* shaper_func */ NULL, /* shaper_name */ + NULL, /* user_features */ + 0, /* num_user_featurs */ + { #define HB_SHAPER_IMPLEMENT(shaper) HB_SHAPER_DATA_INVALID, #include "hb-shaper-list.hh" @@ -190,7 +202,7 @@ hb_shape_plan_destroy (hb_shape_plan_t *shape_plan) #include "hb-shaper-list.hh" #undef HB_SHAPER_IMPLEMENT - hb_face_destroy (shape_plan->face); + free (shape_plan->user_features); free (shape_plan); } @@ -264,7 +276,7 @@ hb_shape_plan_execute (hb_shape_plan_t *shape_plan, hb_object_is_inert (buffer))) return false; - assert (shape_plan->face == font->face); + assert (shape_plan->face_unsafe == font->face); assert (hb_segment_properties_equal (&shape_plan->props, &buffer->props)); #define HB_SHAPER_EXECUTE(shaper) \ @@ -301,23 +313,55 @@ hb_shape_plan_hash (const hb_shape_plan_t *shape_plan) } #endif -/* TODO no user-feature caching for now. */ +/* User-feature caching is currently somewhat dumb: + * it only finds matches where the feature array is identical, + * not cases where the feature lists would be compatible for plan purposes + * but have different ranges, for example. + */ struct hb_shape_plan_proposal_t { const hb_segment_properties_t props; const char * const *shaper_list; + const hb_feature_t *user_features; + unsigned int num_user_features; hb_shape_func_t *shaper_func; }; +static inline hb_bool_t +hb_shape_plan_user_features_match (const hb_shape_plan_t *shape_plan, + const hb_shape_plan_proposal_t *proposal) +{ + if (proposal->num_user_features != shape_plan->num_user_features) return false; + for (unsigned int i = 0, n = proposal->num_user_features; i < n; i++) + if (proposal->user_features[i].tag != shape_plan->user_features[i].tag || + proposal->user_features[i].value != shape_plan->user_features[i].value || + proposal->user_features[i].start != shape_plan->user_features[i].start || + proposal->user_features[i].end != shape_plan->user_features[i].end) return false; + return true; +} + static hb_bool_t hb_shape_plan_matches (const hb_shape_plan_t *shape_plan, const hb_shape_plan_proposal_t *proposal) { return hb_segment_properties_equal (&shape_plan->props, &proposal->props) && + hb_shape_plan_user_features_match (shape_plan, proposal) && ((shape_plan->default_shaper_list && proposal->shaper_list == NULL) || (shape_plan->shaper_func == proposal->shaper_func)); } +static inline hb_bool_t +hb_non_global_user_features_present (const hb_feature_t *user_features, + unsigned int num_user_features) +{ + while (num_user_features) + if (user_features->start != 0 || user_features->end != (unsigned int) -1) + return true; + else + num_user_features--, user_features++; + return false; +} + /** * hb_shape_plan_create_cached: * @face: @@ -339,12 +383,11 @@ hb_shape_plan_create_cached (hb_face_t *face, unsigned int num_user_features, const char * const *shaper_list) { - if (num_user_features) - return hb_shape_plan_create (face, props, user_features, num_user_features, shaper_list); - hb_shape_plan_proposal_t proposal = { *props, shaper_list, + user_features, + num_user_features, NULL }; @@ -382,6 +425,11 @@ retry: hb_shape_plan_t *shape_plan = hb_shape_plan_create (face, props, user_features, num_user_features, shaper_list); + /* Don't add the plan to the cache if there were user features with non-global ranges */ + + if (hb_non_global_user_features_present (user_features, num_user_features)) + return shape_plan; + hb_face_t::plan_node_t *node = (hb_face_t::plan_node_t *) calloc (1, sizeof (hb_face_t::plan_node_t)); if (unlikely (!node)) return shape_plan; @@ -395,9 +443,6 @@ retry: goto retry; } - /* Release our reference on face. */ - hb_face_destroy (face); - return hb_shape_plan_reference (shape_plan); } diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-shape-plan.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shape-plan.h index 8f54552f90b..8f54552f90b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-shape-plan.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shape-plan.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-shape.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shape.cc index c1b752405e1..c1b752405e1 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-shape.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shape.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-shape.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shape.h index 10a35cb517e..10a35cb517e 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-shape.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shape.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-shaper-impl-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shaper-impl-private.hh index 7844081e95b..7844081e95b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-shaper-impl-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shaper-impl-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-shaper-list.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shaper-list.hh index b9c029e58f1..b9c029e58f1 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-shaper-list.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shaper-list.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-shaper-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shaper-private.hh index 29c4493943d..29c4493943d 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-shaper-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shaper-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-shaper.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shaper.cc index 44f718aa702..44f718aa702 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-shaper.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-shaper.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-tt-font.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-tt-font.cc index c503a404380..c503a404380 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-tt-font.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-tt-font.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ucdn.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ucdn.cc index 7d24559de67..7d24559de67 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-ucdn.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-ucdn.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-unicode-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-unicode-private.hh index dd4d00138e1..dd4d00138e1 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-unicode-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-unicode-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-unicode.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-unicode.cc index 5b44913bd35..5b44913bd35 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-unicode.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-unicode.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-unicode.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-unicode.h index 1c4e097b92d..1c4e097b92d 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-unicode.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-unicode.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-uniscribe.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-uniscribe.cc index fcb1aa65d4a..fcb1aa65d4a 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-uniscribe.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-uniscribe.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-uniscribe.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-uniscribe.h index 51887c8794b..51887c8794b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-uniscribe.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-uniscribe.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-utf-private.hh b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-utf-private.hh index b9a6519d28e..b9a6519d28e 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-utf-private.hh +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-utf-private.hh diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-version.h.in b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-version.h.in index 43634f91ce8..43634f91ce8 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-version.h.in +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-version.h.in diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-warning.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-warning.cc index 4f1f65f5a21..4f1f65f5a21 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb-warning.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb-warning.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb.h b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb.h index c5a938a3818..c5a938a3818 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/hb.h +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/hb.h diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/main.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/main.cc index ff75237b23f..ff75237b23f 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/main.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/main.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/test-buffer-serialize.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/test-buffer-serialize.cc index 18c46e9524b..18c46e9524b 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/test-buffer-serialize.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/test-buffer-serialize.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/test-size-params.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/test-size-params.cc index 35d9e3c8e25..35d9e3c8e25 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/test-size-params.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/test-size-params.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/test-would-substitute.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/test-would-substitute.cc index 8ea87cdf397..8ea87cdf397 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/test-would-substitute.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/test-would-substitute.cc diff --git a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/test.cc b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/test.cc index a8fe046f34c..a8fe046f34c 100644 --- a/Build/source/libs/harfbuzz/harfbuzz-0.9.24/src/test.cc +++ b/Build/source/libs/harfbuzz/harfbuzz-0.9.25/src/test.cc diff --git a/Build/source/libs/harfbuzz/version.ac b/Build/source/libs/harfbuzz/version.ac index 11c6b70555b..3b0d53976e2 100644 --- a/Build/source/libs/harfbuzz/version.ac +++ b/Build/source/libs/harfbuzz/version.ac @@ -8,4 +8,4 @@ dnl dnl -------------------------------------------------------- dnl dnl m4-include this file to define the current harfbuzz version -m4_define([harfbuzz_version], [0.9.24]) +m4_define([harfbuzz_version], [0.9.25]) |