Rod Sheeter [Fri, 17 May 2019 02:16:52 +0000 (19:16 -0700)]
[subset] Fix null pointer deref, tidy up a bit
Rod Sheeter [Fri, 17 May 2019 02:14:16 +0000 (19:14 -0700)]
[subset] Tests passing using iterator based glyf
Rod Sheeter [Thu, 16 May 2019 22:14:01 +0000 (15:14 -0700)]
Merge branch 'master' of https://github.com/harfbuzz/harfbuzz into glyf
rsheeter [Sun, 12 May 2019 06:16:40 +0000 (23:16 -0700)]
[subset] Tweak hint stripping
rsheeter [Sun, 12 May 2019 05:06:46 +0000 (22:06 -0700)]
[subset] Fix glyf tests except hint stripping & local test asan
Rod Sheeter [Fri, 10 May 2019 23:52:19 +0000 (16:52 -0700)]
[subset] Destroy blob
Rod Sheeter [Fri, 10 May 2019 16:32:43 +0000 (09:32 -0700)]
[subset] Correct flipped use short computation
Rod Sheeter [Fri, 10 May 2019 05:12:20 +0000 (22:12 -0700)]
[subset] Glyf by iter now runs but fails tests
Rod Sheeter [Fri, 10 May 2019 03:02:38 +0000 (20:02 -0700)]
Merge branch 'glyf' of github.com:googlefonts/harfbuzz into glyf
rsheeter [Wed, 8 May 2019 23:52:00 +0000 (16:52 -0700)]
[subset] Dinner time, checkpoint
rsheeter [Wed, 8 May 2019 21:59:03 +0000 (14:59 -0700)]
[subset] Remove subset-glyf; want everything to point to new iter-based edition. Some of the code will resurface as impl builds out.
rsheeter [Wed, 8 May 2019 21:43:18 +0000 (14:43 -0700)]
[subset] Starting to sketch glyf as iter
rsheeter [Wed, 8 May 2019 23:52:00 +0000 (16:52 -0700)]
[subset] Dinner time, checkpoint
rsheeter [Wed, 8 May 2019 23:45:35 +0000 (16:45 -0700)]
Merge branch 'master' of https://github.com/harfbuzz/harfbuzz into glyf
rsheeter [Wed, 8 May 2019 23:39:45 +0000 (16:39 -0700)]
Merge branch 'master' of https://github.com/harfbuzz/harfbuzz into glyf
rsheeter [Wed, 8 May 2019 21:59:03 +0000 (14:59 -0700)]
[subset] Remove subset-glyf; want everything to point to new iter-based edition. Some of the code will resurface as impl builds out.
rsheeter [Wed, 8 May 2019 21:43:18 +0000 (14:43 -0700)]
[subset] Starting to sketch glyf as iter
Behdad Esfahbod [Thu, 16 May 2019 20:32:56 +0000 (13:32 -0700)]
Fix msan issue
The fact that HB_AUTO_RETURN will return rvalue-references for rvalues
is very disturbing.
Even apart from that, I'm totally lost re any hb_move needs or
hb_forward'ing to functions/templates where the type is fixed by
explicitly specifying template parameters.
==1==ERROR: AddressSanitizer: stack-use-after-return on address 0x7f6ad65e51e0 at pc 0x0000005da240 bp 0x7ffc104ab670 sp 0x7ffc104ab668
READ of size 4 at 0x7f6ad65e51e0 thread T0
SCARINESS: 55 (4-byte-read-stack-use-after-return)
#0 0x5da23f in bool OT::Coverage::serialize<hb_map_iter_t<hb_map_iter_t<hb_filter_iter_t<OT::Coverage::iter_t, hb_set_t const&, $_7&, (void*)0>, OT::SingleSubstFormat1::subset(hb_subset_context_t*) const::'lambda'(unsigned int), (hb_function_sortedness_t)1, (void*)0>, $_20&, (hb_function_sortedness_t)1, (void*)0>, (void*)0>(hb_serialize_context_t*, hb_map_iter_t<hb_map_iter_t<hb_filter_iter_t<OT::Coverage::iter_t, hb_set_t const&, $_7&, (void*)0>, OT::SingleSubstFormat1::subset(hb_subset_context_t*) const::'lambda'(unsigned int), (hb_function_sortedness_t)1, (void*)0>, $_20&, (hb_function_sortedness_t)1, (void*)0>) harfbuzz/src/hb-ot-layout-common.hh:1055:16
#1 0x5d88f9 in bool OT::SingleSubstFormat1::serialize<hb_map_iter_t<hb_map_iter_t<hb_filter_iter_t<OT::Coverage::iter_t, hb_set_t const&, $_7&, (void*)0>, OT::SingleSubstFormat1::subset(hb_subset_context_t*) const::'lambda'(unsigned int), (hb_function_sortedness_t)1, (void*)0>, $_20&, (hb_function_sortedness_t)1, (void*)0>, (void*)0>(hb_serialize_context_t*, hb_map_iter_t<hb_map_iter_t<hb_filter_iter_t<OT::Coverage::iter_t, hb_set_t const&, $_7&, (void*)0>, OT::SingleSubstFormat1::subset(hb_subset_context_t*) const::'lambda'(unsigned int), (hb_function_sortedness_t)1, (void*)0>, $_20&, (hb_function_sortedness_t)1, (void*)0>, unsigned int) harfbuzz/src/hb-ot-layout-gsub-table.hh:98:9
Behdad Esfahbod [Thu, 16 May 2019 20:22:09 +0000 (13:22 -0700)]
Whitespace
Behdad Esfahbod [Thu, 16 May 2019 20:05:58 +0000 (13:05 -0700)]
[subset] Remove extra iteration
Garret Rieger [Wed, 15 May 2019 16:42:38 +0000 (09:42 -0700)]
[subset] Truncate empty gids at the end in retain-gids mode.
Behdad Esfahbod [Thu, 16 May 2019 04:57:26 +0000 (21:57 -0700)]
Use hb_map(hb_add(this)) to dereference OffsetTo<>'s
Behdad Esfahbod [Thu, 16 May 2019 04:41:12 +0000 (21:41 -0700)]
[algs] Rename hb_bind to hb_partial
Since our API is the invers of what std::bind is, and closer to Python
functools.partial().
Behdad Esfahbod [Thu, 16 May 2019 04:36:42 +0000 (21:36 -0700)]
[algs] Change hb_bind parameter number to be from one
To match std:;bind, even though our interfaces are very different.
Behdad Esfahbod [Thu, 16 May 2019 04:18:14 +0000 (21:18 -0700)]
Add back symmetric OffsetTo<>::friend operator+
Finally seems to be working now.
Behdad Esfahbod [Thu, 16 May 2019 04:12:22 +0000 (21:12 -0700)]
[algs] Partialize all operators
Behdad Esfahbod [Thu, 16 May 2019 04:09:56 +0000 (21:09 -0700)]
[algs] Rewrite bind API
And add a partialization API use example to hb_add()
Behdad Esfahbod [Thu, 16 May 2019 03:48:20 +0000 (20:48 -0700)]
[algs] Add hb_bind0 and hb_bind1
Behdad Esfahbod [Thu, 16 May 2019 02:07:39 +0000 (19:07 -0700)]
Fix clang build
Ugh.
In file included from hb-ot-face.cc:41:
./hb-ot-layout-gsub-table.hh:293:7: error: template parameter redefines default argument
hb_requires (hb_is_sorted_source_of (Iterator,
^
./hb-meta.hh:59:27: note: expanded from macro 'hb_requires'
define hb_requires(Cond) hb_enable_if((Cond))
^
./hb-meta.hh:57:67: note: expanded from macro 'hb_enable_if'
define hb_enable_if(Cond) typename hb_enable_if<(Cond)>::type* = nullptr
^
./hb-ot-layout-gsub-table.hh:40:5: note: previous default template argument defined here
hb_requires (hb_is_sorted_source_of (Iterator,
^
./hb-meta.hh:59:27: note: expanded from macro 'hb_requires'
define hb_requires(Cond) hb_enable_if((Cond))
^
./hb-meta.hh:57:67: note: expanded from macro 'hb_enable_if'
define hb_enable_if(Cond) typename hb_enable_if<(Cond)>::type* = nullptr
^
Behdad Esfahbod [Thu, 16 May 2019 01:54:07 +0000 (18:54 -0700)]
Fix clang build
In file included from hb-ot-face.cc:41:
./hb-ot-layout-gsub-table.hh:293:7: error: template parameter redefines default argument
hb_requires (hb_is_sorted_source_of (Iterator,
^
./hb-meta.hh:59:27: note: expanded from macro 'hb_requires'
define hb_requires(Cond) hb_enable_if((Cond))
^
./hb-meta.hh:57:67: note: expanded from macro 'hb_enable_if'
define hb_enable_if(Cond) typename hb_enable_if<(Cond)>::type* = nullptr
^
./hb-ot-layout-gsub-table.hh:40:5: note: previous default template argument defined here
hb_requires (hb_is_sorted_source_of (Iterator,
^
./hb-meta.hh:59:27: note: expanded from macro 'hb_requires'
define hb_requires(Cond) hb_enable_if((Cond))
^
./hb-meta.hh:57:67: note: expanded from macro 'hb_enable_if'
define hb_enable_if(Cond) typename hb_enable_if<(Cond)>::type* = nullptr
^
1 error generated.
Behdad Esfahbod [Thu, 16 May 2019 02:03:59 +0000 (19:03 -0700)]
[algs] Remove pair copy constructor
Use default.
Behdad Esfahbod [Thu, 16 May 2019 01:52:57 +0000 (18:52 -0700)]
Whitespace
Garret Rieger [Thu, 9 May 2019 20:04:11 +0000 (13:04 -0700)]
[subset] Switch SingleSubst to use iterators in serialize.
Behdad Esfahbod [Thu, 16 May 2019 01:15:05 +0000 (18:15 -0700)]
Reduce captures of lambdas
Behdad Esfahbod [Thu, 16 May 2019 00:59:00 +0000 (17:59 -0700)]
Fix tests
Oops.
Behdad Esfahbod [Thu, 16 May 2019 00:11:18 +0000 (17:11 -0700)]
Remove variadic form of hb_min/hb_max
Unused, and why here and not in other functions...
Behdad Esfahbod [Wed, 15 May 2019 23:59:36 +0000 (16:59 -0700)]
Add arithmetic operators
Behdad Esfahbod [Wed, 15 May 2019 23:49:35 +0000 (16:49 -0700)]
Add hb_bitwise_* ops
Behdad Esfahbod [Wed, 15 May 2019 23:30:08 +0000 (16:30 -0700)]
[array] Adjust operator!=
See comments.
Behdad Esfahbod [Wed, 15 May 2019 23:14:40 +0000 (16:14 -0700)]
More adjustment to OffsetTo<>::friend opeator+
Let's see if I break any bots. But yeah, it wasn't accepting a
non-const pointer. It just happens that we don't use that in the
code it seems.
Behdad Esfahbod [Wed, 15 May 2019 22:14:26 +0000 (15:14 -0700)]
[iter] Simplify operator!= of iterator filters
Both to save ops, and also because lambdas don't implement operator!=,
so this was failing in range-based for loop if a lambda was passed to
hb_map() or hb_filter(). Just check end-condition assuming that we
are comparing to .end() or iterators that are otherwise derived from
current iterator. Ie. don't compare things that are expected to be
in common.
Behdad Esfahbod [Wed, 15 May 2019 21:25:54 +0000 (14:25 -0700)]
Add all pair_t comparison operators
Behdad Esfahbod [Wed, 15 May 2019 21:19:20 +0000 (14:19 -0700)]
[iter] Use default operators instead of redefining empty ones
David Corbett [Wed, 15 May 2019 21:02:32 +0000 (17:02 -0400)]
Convert Consonant_Initial_Postfixed to CONS_MED
David Corbett [Wed, 15 May 2019 20:29:51 +0000 (16:29 -0400)]
Fix record-test.sh on machines without sha1sum
Ebrahim Byagowi [Wed, 15 May 2019 08:44:09 +0000 (13:14 +0430)]
[ci][test] Ignore other gcov symbols also
To fix https://travis-ci.org/harfbuzz/harfbuzz/jobs/
532693197
Ebrahim Byagowi [Wed, 15 May 2019 08:33:28 +0000 (13:03 +0430)]
[ci][travis] Update its distribution
It may break things, lets see
Behdad Esfahbod [Wed, 15 May 2019 08:15:11 +0000 (01:15 -0700)]
Another try
Behdad Esfahbod [Wed, 15 May 2019 08:12:04 +0000 (01:12 -0700)]
Completely revert the thing back
Behdad Esfahbod [Wed, 15 May 2019 08:10:31 +0000 (01:10 -0700)]
Another try at fix
Fails locally. Trying to understand. Sigh
Behdad Esfahbod [Wed, 15 May 2019 08:02:50 +0000 (01:02 -0700)]
Ugh. How was the Travis bot happy before, but isn't now?! :(
Behdad Esfahbod [Wed, 15 May 2019 07:52:17 +0000 (00:52 -0700)]
Move OffsetTo operator+ back out of class
Apparently there's different overload resolution rules that apply, at
least with some (older?) version of gcc.
hb-ot-name-table.hh: In member function ‘void OT::name::accelerator_t::init(hb_face_t*)’:
hb-ot-name-table.hh:244:62: error: ambiguous overload for ‘operator+’ (operand types are ‘hb_blob_ptr_t<OT::name>’ and ‘OT::NNOffsetTo<OT::UnsizedArrayOf<OT::IntType<unsigned char, 1u> > > {aka const OT::OffsetTo<OT::UnsizedArrayOf<OT::IntType<unsigned char, 1u> >, OT::IntType<short unsigned int, 2u>, false>}’)
this->pool = (const char *) (const void *) (this->table+this->table->stringOffset);
^
hb-ot-name-table.hh:244:62: note: candidates are:
hb-ot-name-table.hh:244:62: note: operator+(const C*, long int) <built-in>
hb-ot-name-table.hh:244:62: note: operator+(const char*, long int) <built-in>
Behdad Esfahbod [Wed, 15 May 2019 07:50:48 +0000 (00:50 -0700)]
Revert "Revert symmetric OffsetTo overloads"
This reverts commit
01912efb74fc554a81c8cfe572145ce45b8fa58b.
Actually this didn't break things. Fixing
Behdad Esfahbod [Wed, 15 May 2019 07:42:47 +0000 (00:42 -0700)]
Revert symmetric OffsetTo overloads
Reverts
57f65ae9355004044325dd6441cde761bca5e0a3
Caused ambiguous-overload on some gcc...
Behdad Esfahbod [Wed, 15 May 2019 07:32:41 +0000 (00:32 -0700)]
Use implicit lambda return type
Behdad Esfahbod [Wed, 15 May 2019 05:52:59 +0000 (22:52 -0700)]
Add symmetric friend operator+ for OffsetTo
Behdad Esfahbod [Wed, 15 May 2019 05:51:59 +0000 (22:51 -0700)]
Move OffsetTo<> deref operators in-class as friends
Behdad Esfahbod [Wed, 15 May 2019 05:45:03 +0000 (22:45 -0700)]
Whitespace
Behdad Esfahbod [Wed, 15 May 2019 05:28:07 +0000 (22:28 -0700)]
[iter] Remove sort categorization
See comments.
Behdad Esfahbod [Tue, 14 May 2019 16:07:20 +0000 (09:07 -0700)]
Start of gen-ucd.py, to replace UCDN
Qunxin Liu [Mon, 13 May 2019 16:38:42 +0000 (09:38 -0700)]
[subset] retian nameids from STAT and fvar tables
Behdad Esfahbod [Tue, 14 May 2019 14:44:03 +0000 (07:44 -0700)]
Hopefully last warning fix
Ebrahim Byagowi [Tue, 14 May 2019 11:46:46 +0000 (16:16 +0430)]
[ci] add HB_TINY to asmjs builder
Ebrahim Byagowi [Tue, 14 May 2019 11:28:51 +0000 (15:58 +0430)]
Fix -Wunused-function on HB_NO_SHAPE_AAT
We should add a bot for it
Part of #1652
Dominik Röttsches [Tue, 14 May 2019 10:26:18 +0000 (13:26 +0300)]
Fix building with HB_NO_SUBSET_LAYOUT
Fixes an unused function warning when building with HB_NO_SUBSET_LAYOUT
as part of the Chrome build.
Behdad Esfahbod [Tue, 14 May 2019 07:13:21 +0000 (00:13 -0700)]
[ucdn] Fix Hangul composition
https://github.com/grigorig/ucdn/issues/23
Behdad Esfahbod [Tue, 14 May 2019 06:47:28 +0000 (23:47 -0700)]
Fix more warnings
Behdad Esfahbod [Tue, 14 May 2019 06:43:45 +0000 (23:43 -0700)]
[config] Add NDEBUG and HB_NDEBUG
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod [Tue, 14 May 2019 01:04:09 +0000 (18:04 -0700)]
One more warning fix
No idea where these appear from...
Behdad Esfahbod [Tue, 14 May 2019 00:39:46 +0000 (17:39 -0700)]
[icu] Comment
Behdad Esfahbod [Tue, 14 May 2019 00:35:02 +0000 (17:35 -0700)]
Fix moreeeeeeeeeee
Behdad Esfahbod [Tue, 14 May 2019 00:28:59 +0000 (17:28 -0700)]
Fix more semi-colon issues
Behdad Esfahbod [Tue, 14 May 2019 00:25:07 +0000 (17:25 -0700)]
[iter] Fix zip iterator sortedness classification logic
Behdad Esfahbod [Mon, 13 May 2019 22:41:09 +0000 (15:41 -0700)]
Fix more excess semi-colon errors
Behdad Esfahbod [Mon, 13 May 2019 22:36:14 +0000 (15:36 -0700)]
[iter] Track strictly-sorted iterators
This make output of hb_enumerate() sorted regardless of input iterator.
Behdad Esfahbod [Mon, 13 May 2019 22:26:00 +0000 (15:26 -0700)]
[iter] Minor
Garret Rieger [Mon, 13 May 2019 21:57:40 +0000 (14:57 -0700)]
[subset] Fix shadowed 'groups' param in cmap.
Behdad Esfahbod [Mon, 13 May 2019 21:48:31 +0000 (14:48 -0700)]
Adjust uniscribe_bug_compatible mode
More correct behavior. We were commenting out some legit conditions
before.
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod [Mon, 13 May 2019 21:45:51 +0000 (14:45 -0700)]
[config] Better compile away morx/kerx/trak
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod [Mon, 13 May 2019 21:35:04 +0000 (14:35 -0700)]
[indic] Don't constrain how many C, M, ... occur
Fixes https://github.com/harfbuzz/harfbuzz/issues/1709
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod [Mon, 13 May 2019 21:33:06 +0000 (14:33 -0700)]
[test] Don't call deprecated API
Behdad Esfahbod [Mon, 13 May 2019 21:16:33 +0000 (14:16 -0700)]
Another extra semi-colon
Behdad Esfahbod [Mon, 13 May 2019 21:10:48 +0000 (14:10 -0700)]
Revert "[ragel] Regenerate ragel-generated files using ragel 7.0.0.11 May 2018"
This reverts commit
9b05db33b54e6e5f0b4658f4c06e7fe563f8923b.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1708
Behdad Esfahbod [Mon, 13 May 2019 21:10:28 +0000 (14:10 -0700)]
Revert "[ragel] Switch to -T1 output instead of -F1"
This reverts commit
ae8719eb596485ebff07dd5016256015cd0cf86b.
Part of https://github.com/harfbuzz/harfbuzz/issues/1708
Behdad Esfahbod [Mon, 13 May 2019 20:53:06 +0000 (13:53 -0700)]
Fix extra semi-colon
Behdad Esfahbod [Mon, 13 May 2019 19:27:10 +0000 (12:27 -0700)]
[ragel] Switch to -T1 output instead of -F1
Fedora upgraded to ragel 7, which is buggy if char is signed.
Switching to -G2 output fails with sign-compare error:
../../src/hb-buffer-deserialize-json.hh:107:12: error: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘const char’ [-Werror=sign-compare]
if ( 9u <= ( (*( p))) && ( (*( p))) <= 13u ) {
~~~^~~~~~~~~~~~~
Switching to -T1 for now. It actually results in smaller code,
at the expense of some binary searching instead of flat tables.
In the not distant future, we might actually generate two different
outputs and choose between depending on size-optimize options.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1708
Behdad Esfahbod [Mon, 13 May 2019 03:56:36 +0000 (20:56 -0700)]
Minor
Behdad Esfahbod [Sun, 12 May 2019 23:12:06 +0000 (16:12 -0700)]
Fix MSVC build
Behdad Esfahbod [Sun, 12 May 2019 22:56:25 +0000 (15:56 -0700)]
[config] Define HB_NO_SUBSET_LAYOUT in HB_LEAN
Assumning subsetter would be used for printing-like uses in that case,
which don't need GSUB/GPOS.
Behdad Esfahbod [Sun, 12 May 2019 22:47:46 +0000 (15:47 -0700)]
[config] Add HB_NO_UNISCRIBE_BUG_COMPATIBLE
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod [Sun, 12 May 2019 22:33:31 +0000 (15:33 -0700)]
[config] Disable buffer serialize routines in HB_TINY
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
n8willis [Sun, 12 May 2019 19:03:29 +0000 (20:03 +0100)]
Merge pull request #1665 from n8willis/docs-gtkdoc-colormath
[Docs] Add gtk-doc comments for OT color and OT math
Behdad Esfahbod [Sun, 12 May 2019 18:08:45 +0000 (11:08 -0700)]
Fix builds
Behdad Esfahbod [Sun, 12 May 2019 18:05:24 +0000 (11:05 -0700)]
[config] Enable HB_NO_MT in HB_TINY
Now that user can override it if needed...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod [Sun, 12 May 2019 17:29:47 +0000 (10:29 -0700)]
Force-disable CFF code under disabling conditions
Subsetter size goes down from 190kb to 119kb. Main library about 7kb.
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod [Sat, 11 May 2019 23:12:07 +0000 (16:12 -0700)]
[config] Allow overriding chosen config
Ebrahim Byagowi [Sat, 11 May 2019 22:48:41 +0000 (18:48 -0400)]
[test] minor, fix -Weverything bot
Ebrahim Byagowi [Sat, 11 May 2019 19:50:42 +0000 (19:50 +0000)]
[test] minor
style fix and add return statement
n8willis [Sat, 11 May 2019 19:16:57 +0000 (20:16 +0100)]
Merge branch 'master' into docs-gtkdoc-colormath
Nathan Willis [Sat, 11 May 2019 19:11:49 +0000 (20:11 +0100)]
Corrections to OT Color gtk-doc comments.