Commit Graph

9577 Commits

Author SHA1 Message Date
Behdad Esfahbod a03ed95e7d [gen-ucd] Generate decomposition tables
Code is ugly.  Ugh.
2019-05-21 16:43:39 -04:00
Behdad Esfahbod 8a48c88fa9 [gen-ucd] Comment 2019-05-21 16:43:39 -04:00
Behdad Esfahbod b71d353cee [gen-ucd] Remove some code 2019-05-21 16:43:39 -04:00
Rod Sheeter 4ea44112b5 [subset] Remove missed reference to hb-subset-glyf, was deleted 2019-05-21 13:07:43 -07:00
Garret Rieger b928de91a7 [subset] Add test/subset/data/expected/layout to dist list. 2019-05-21 13:02:11 -07:00
Garret Rieger 0af9de13b7 [subset] For gsub subsetting only consider glyphs reachable via gsub closure. 2019-05-21 13:02:11 -07:00
Garret Rieger c740c8636b [subset] Add integration tests for SingleSubst. 2019-05-21 13:02:11 -07:00
Rod Sheeter 349d692b0e [subset] Iter in and out for loca 2019-05-21 12:38:53 -07:00
Rod Sheeter 95445d79be [subset] Write loca using more idiomatic harfbuzzese 2019-05-21 11:14:31 -07:00
Rod Sheeter d1b12a5465 Merge branch 'master' of https://github.com/harfbuzz/harfbuzz into glyf 2019-05-20 21:29:54 -07:00
Rod Sheeter 3a43603ece [subset] Fix memory leak caused by failure to cleanup glyf accelerator 2019-05-20 21:25:42 -07:00
Rod Sheeter 5cedda5e4a [subset] Fix null pointer deref, tidy up a bit 2019-05-20 21:25:42 -07:00
Rod Sheeter 8a84b540c7 [subset] Tests passing using iterator based glyf 2019-05-20 21:25:42 -07:00
Rod Sheeter 82bbec3063 Merge branch 'master' of https://github.com/harfbuzz/harfbuzz into glyf 2019-05-20 21:25:42 -07:00
rsheeter 9d09ac13a1 [subset] Tweak hint stripping 2019-05-20 21:25:42 -07:00
rsheeter 3a4c928fcf [subset] Fix glyf tests except hint stripping & local test asan 2019-05-20 21:25:42 -07:00
Rod Sheeter b77dde8f13 [subset] Destroy blob 2019-05-20 21:25:35 -07:00
Rod Sheeter 14db6512f8 [subset] Correct flipped use short computation 2019-05-20 21:25:29 -07:00
Rod Sheeter ab3fe5de2b [subset] Glyf by iter now runs but fails tests 2019-05-20 21:25:16 -07:00
Rod Sheeter f8de063b48 Merge branch 'glyf' of github.com:googlefonts/harfbuzz into glyf 2019-05-20 21:25:16 -07:00
rsheeter 0d7fef2d50 [subset] Dinner time, checkpoint 2019-05-20 21:25:11 -07:00
rsheeter 240bc86e3a [subset] Remove subset-glyf; want everything to point to new iter-based edition. Some of the code will resurface as impl builds out. 2019-05-20 21:25:05 -07:00
rsheeter 02d4d4f3e6 [subset] Starting to sketch glyf as iter 2019-05-20 21:24:59 -07:00
rsheeter 8f174870e9 [subset] Dinner time, checkpoint 2019-05-20 21:22:58 -07:00
rsheeter 723d054dcb Merge branch 'master' of https://github.com/harfbuzz/harfbuzz into glyf 2019-05-20 21:22:58 -07:00
rsheeter ed727d4bb7 Merge branch 'master' of https://github.com/harfbuzz/harfbuzz into glyf 2019-05-20 21:22:58 -07:00
rsheeter fb9bff955a [subset] Remove subset-glyf; want everything to point to new iter-based edition. Some of the code will resurface as impl builds out. 2019-05-20 21:22:52 -07:00
rsheeter f9b089b695 [subset] Starting to sketch glyf as iter 2019-05-20 21:22:44 -07:00
rsheeter f49a5bec9f
[docs] Tweak fuzzer doc 2019-05-20 20:45:11 -07:00
Behdad Esfahbod 1aadd1449c [gen-ucd] Generate script order table 2019-05-20 17:29:27 -04:00
Behdad Esfahbod be8de18867 [gen-ucd] Start adding script-order 2019-05-20 17:29:27 -04:00
Behdad Esfahbod 4a0eb066fd [gen-ucd] Add gc order 2019-05-20 17:29:27 -04:00
Behdad Esfahbod d1f9b2f961 [gen-ucd] Flesh out a bit more 2019-05-20 17:29:27 -04:00
Behdad Esfahbod d6de4659aa Add HB_OPTIMIZE_SIZE
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-05-20 17:29:27 -04:00
Garret Rieger 0ff3618c2d [subset] Use hb_subset_input_t inside of subset_options_t so that input defaults are shared between the library and cli. 2019-05-20 13:35:46 -07:00
Garret Rieger 67064294a0 [subset] Add drop-tables option to hb-subset util. 2019-05-20 13:35:46 -07:00
Garret Rieger 3be0ffe45d [subset] Add drop tables to subset input. 2019-05-20 13:35:46 -07:00
Behdad Esfahbod 0ca7ad4352 [cff] Fix unlikely invocations 2019-05-20 11:39:07 -04:00
Behdad Esfahbod 9ef241cd40 [test] Add one more 2019-05-20 11:38:02 -04:00
Behdad Esfahbod 3efb7af7e2 [STAT] Fix sanitize condition
Oops!

Fixes https://oss-fuzz.com/testcase-detail/5696825891225600
2019-05-20 11:37:16 -04:00
Ebrahim Byagowi e66eb21a46
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
2019-05-18 07:44:48 -07:00
Behdad Esfahbod 08c3648c6e Oops, fix include 2019-05-17 16:21:34 -07:00
Behdad Esfahbod 24958b8868 [set] Use StructAtOffsetUnaligned 2019-05-17 16:20:36 -07:00
rsheeter a0febbac43
Update TESTING.md 2019-05-16 15:58:49 -07:00
Behdad Esfahbod b7be59311f 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
2019-05-16 13:34:19 -07:00
Behdad Esfahbod bcd3ffc948 Whitespace 2019-05-16 13:27:08 -07:00
Behdad Esfahbod 05bc5f96fb [subset] Remove extra iteration 2019-05-16 13:05:58 -07:00
Garret Rieger 6555f20958 [subset] Truncate empty gids at the end in retain-gids mode. 2019-05-16 10:34:53 -07:00
Behdad Esfahbod 2376867649 Use hb_map(hb_add(this)) to dereference OffsetTo<>'s 2019-05-15 22:01:44 -07:00
Behdad Esfahbod 6f51e55524 [algs] Rename hb_bind to hb_partial
Since our API is the invers of what std::bind is, and closer to Python
functools.partial().
2019-05-15 21:41:12 -07:00