Rod Sheeter [Tue, 21 May 2019 18:14:31 +0000 (11:14 -0700)]
[subset] Write loca using more idiomatic harfbuzzese
Rod Sheeter [Tue, 21 May 2019 04:29:54 +0000 (21:29 -0700)]
Merge branch 'master' of https://github.com/harfbuzz/harfbuzz into glyf
Rod Sheeter [Tue, 21 May 2019 03:40:55 +0000 (20:40 -0700)]
[subset] Fix memory leak caused by failure to cleanup glyf accelerator
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
rsheeter [Tue, 21 May 2019 03:45:11 +0000 (20:45 -0700)]
[docs] Tweak fuzzer doc
Behdad Esfahbod [Mon, 20 May 2019 21:29:13 +0000 (17:29 -0400)]
[gen-ucd] Generate script order table
Behdad Esfahbod [Mon, 20 May 2019 21:17:38 +0000 (17:17 -0400)]
[gen-ucd] Start adding script-order
Behdad Esfahbod [Mon, 20 May 2019 20:57:04 +0000 (16:57 -0400)]
[gen-ucd] Add gc order
Behdad Esfahbod [Mon, 20 May 2019 19:47:49 +0000 (15:47 -0400)]
[gen-ucd] Flesh out a bit more
Behdad Esfahbod [Mon, 20 May 2019 19:33:23 +0000 (15:33 -0400)]
Add HB_OPTIMIZE_SIZE
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Garret Rieger [Fri, 17 May 2019 22:30:01 +0000 (15:30 -0700)]
[subset] Use hb_subset_input_t inside of subset_options_t so that input defaults are shared between the library and cli.
Garret Rieger [Thu, 16 May 2019 22:13:39 +0000 (15:13 -0700)]
[subset] Add drop-tables option to hb-subset util.
Garret Rieger [Thu, 16 May 2019 18:29:15 +0000 (11:29 -0700)]
[subset] Add drop tables to subset input.
Behdad Esfahbod [Mon, 20 May 2019 15:39:07 +0000 (11:39 -0400)]
[cff] Fix unlikely invocations
Behdad Esfahbod [Mon, 20 May 2019 15:38:02 +0000 (11:38 -0400)]
[test] Add one more
Behdad Esfahbod [Mon, 20 May 2019 15:37:16 +0000 (11:37 -0400)]
[STAT] Fix sanitize condition
Oops!
Fixes https://oss-fuzz.com/testcase-detail/
5696825891225600
Ebrahim Byagowi [Sat, 18 May 2019 14:44:48 +0000 (07:44 -0700)]
Don't set _POSIX_C_SOURCE in NetBSD
According to a harfbuzz package patch on NetBSD project
https://github.com/NetBSD/pkgsrc/blob/trunk/fonts/harfbuzz/patches/patch-src_hb-blob.cc
Behdad Esfahbod [Fri, 17 May 2019 23:21:34 +0000 (16:21 -0700)]
Oops, fix include
Behdad Esfahbod [Fri, 17 May 2019 23:20:36 +0000 (16:20 -0700)]
[set] Use StructAtOffsetUnaligned
rsheeter [Thu, 16 May 2019 22:58:49 +0000 (15:58 -0700)]
Update TESTING.md
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