Commit Graph

8512 Commits

Author SHA1 Message Date
Behdad Esfahbod fa35d3fd81 [iter] Add hb_drain 2019-02-14 14:04:05 -08:00
Behdad Esfahbod f4cfd6b6ad [iter] A couple more hb_apply() + lambda uses 2019-02-14 13:45:52 -08:00
Behdad Esfahbod 7514a49f21 [iter] Use hb_apply() with lambda functions in a few places 2019-02-14 13:16:33 -08:00
Behdad Esfahbod 0670e1a6f5 [iter] Remove excess use of universal references
Every time I have to study these to understand why a change is right..
2019-02-14 11:53:40 -08:00
Behdad Esfahbod 773d75637c [iter] Add hb_apply() 2019-02-14 11:40:22 -08:00
Behdad Esfahbod 5b725784e5 Merge branch 'master' into iter 2019-02-14 11:34:55 -08:00
Behdad Esfahbod 28f7736132 [CI] Install more packages
Wish there was a way to streamline this :(.
2019-02-14 11:34:28 -08:00
Behdad Esfahbod 00db94095d [iter] Make hb_filter() a function-object 2019-02-14 11:10:13 -08:00
Behdad Esfahbod aa4c321262 [iter] Make hb_zip() a function-object 2019-02-14 11:07:12 -08:00
Behdad Esfahbod f8fcfb263e [iter] Accept pointers to hb_sink() 2019-02-14 11:03:29 -08:00
Behdad Esfahbod b530573ad9 [iter] Make hb_sink function-object 2019-02-14 11:00:10 -08:00
Behdad Esfahbod bb139cb8d0 [iter] Back to dagger formatting for pipelines 2019-02-14 10:52:02 -08:00
Behdad Esfahbod 5fa52e62b1 [iter] Accept iterator, not iterable, in hb_sink()() 2019-02-14 10:51:02 -08:00
Behdad Esfahbod 0f292ea85f [iter] Accept iterator, not iterable, in hb_filter()() 2019-02-14 10:49:31 -08:00
Behdad Esfahbod 345bfbb207 [iter] Accept iterator, not iterable, in hb_map()() 2019-02-14 10:48:20 -08:00
Behdad Esfahbod 16cc313dcd [iter] Use hb_sink() 2019-02-14 10:40:05 -08:00
Behdad Esfahbod b702a0cbf8 [iter] Add hb_sink() 2019-02-14 10:39:58 -08:00
Behdad Esfahbod 9e7383d124 [CI] Disable cmake-oracledeveloperstudio bot
Weird error:

"/root/project/src/hb-iter.hh", line 277: Error: Type name expected instead of "decltype()".
"/root/project/src/hb-iter.hh", line 278: Error: Invalid type while substituting into Iter::item_t.
"/root/project/src/hb-iter.hh", line 317: Error: Type name expected instead of "decltype()".
"/root/project/src/hb-iter.hh", line 318: Error: Invalid type while substituting into Iter::item_t.
2019-02-13 23:54:36 -08:00
Behdad Esfahbod 4103252323 Merge branch 'master' into iter 2019-02-13 23:46:43 -08:00
Behdad Esfahbod d5287e1ba4 [CI] Install wget on clang-O3-O0 bot 2019-02-13 23:46:17 -08:00
Behdad Esfahbod f1b8934400 [CI] Remove macos-notest-ios bot
Not sure what ancient compiler it is (gcc 4.2?), but didn't like hb_zip SFINAE
apparently:

In file included from /Users/distiller/project/src/hb-aat-layout.cc:28:
In file included from /Users/distiller/project/src/hb-open-type.hh:32:
In file included from /Users/distiller/project/src/hb.hh:642:
/Users/distiller/project/src/hb-iter.hh:364:1: note: candidate template ignored: substitution failure [with A = OT::Coverage, B = OT::OffsetArrayOf<OT::ChainRuleSet>]: non-type template argument does not refer to any declaration
hb_zip (const A& a, const B &b)
^
In file included from /Users/distiller/project/src/hb-aat-layout.cc:37:
In file included from /Users/distiller/project/src/hb-aat-layout-kerx-table.hh:31:
In file included from /Users/distiller/project/src/hb-kern.hh:32:
/Users/distiller/project/src/hb-ot-layout-gpos-table.hh:725:20: error: no matching function for call to 'hb_zip'
    for (auto it = hb_zip (this+coverage, pairSet)
                   ^~~~~~

Not going to try to appease.
2019-02-13 23:30:21 -08:00
Behdad Esfahbod 7d2376de33 Merge branch 'master' into iter 2019-02-13 22:13:37 -08:00
Ebrahim Byagowi 890d0ee77f
Minor, use a meaningful naming in template parameter (#1582) 2019-02-14 00:27:01 +03:30
Ebrahim Byagowi 1e1d0e63df
Fix djgpp complains by tweaking templates (#1579)
For some reasons djgpp doesn't understand "unsigned int" can be same
with one of uint*_t anyway so lets do that for it explicitly.

Just to note, our CI's djgpp is based GCC 7.2.0 and isn't old.
2019-02-13 12:58:01 +03:30
Ken fdfa3d29b7 hb-coretext.cc: remove TARGET_OS_MAC from test (#1578)
it is always true when building on APPLE systems
and this file only builds on APPLE systems
2019-02-11 11:16:05 +03:30
Ebrahim Byagowi f55e7bf583
[ci] Install 'base-devel' on ArchLinux CI bot 2019-02-10 01:08:05 +03:30
Ebrahim Byagowi 8f4eb919bd
[ci] Install 'which' in ArchLinux bot 2019-02-09 16:58:02 +03:30
Ebrahim Byagowi 0229434961
[ci] Speculative fix for Alpine and ArchLinux bots 2019-02-09 16:33:28 +03:30
Ebrahim Byagowi 84694af723
[ci] Disable the just added bot
Doesn't play well with CircleCI apparently

https://circleci.com/gh/harfbuzz/harfbuzz/74289
2019-02-08 15:30:17 +03:30
Ebrahim Byagowi 81ae4974e3
[ci] Add a Void Linux bot
https://voidlinux.org/ is yet another and different distro written from scratch, thus completely eligible to have a bot here!

Seriously however not that useful yet however but I will try to overload it other tasks later, like our other bots.

No test yet also, couldn't install cairo-devel, will try to fix that later.

Their harfbuzz package source: https://github.com/void-linux/void-packages/blob/master/srcpkgs/harfbuzz/template
2019-02-08 15:18:26 +03:30
Behdad Esfahbod 126abca98a
Merge pull request #1571 from kencu/cleanostests
hb-coretext.cc: clean up macosx test
2019-02-06 13:36:52 -08:00
Ken Cunningham 7859decdd0 hb-coretext.cc: clean up macosx test
TARGET_OS_OSX was introduced only in late OS versions
so always returns as "0" on older systems.

if !TARGET_OS_IPHONE can work, as it returns as !0 on older
systems where TARGET_OS_IPHONE is not defined, but is not
specific

if TARGET_OS_MAC && !(defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
is both specific and accurate on all systems.
2019-02-05 20:26:49 -08:00
Behdad Esfahbod 1e06282105 Adjust hb_is_signed<>
Fixes https://github.com/harfbuzz/harfbuzz/issues/1535
2019-01-31 13:57:17 -08:00
Behdad Esfahbod 21ea1c9152 Remove stale comment 2019-01-31 13:57:17 -08:00
Behdad Esfahbod 2d940946d5 [iter] Fix mystery crash
Fuzzer caught it:

==14==ERROR: AddressSanitizer: stack-use-after-return on address 0x7fca2ed7a3e0 at pc 0x0000006057aa bp 0x7ffc3290f1d0 sp 0x7ffc3290f1c8
READ of size 4 at 0x7fca2ed7a3e0 thread T0
SCARINESS: 55 (4-byte-read-stack-use-after-return)
    #0 0x6057a9 in OT::SingleSubstFormat2::subset(hb_subset_context_t*) const /src/harfbuzz/src/./hb-ot-layout-gsub-table.hh:194:40
    #1 0x5ff921 in hb_subset_context_t::return_t OT::SingleSubst::dispatch<hb_subset_context_t>(hb_subset_context_t*) const /src/harfbuzz/src/./hb-ot-layout-gsub-table.hh:256:13

I can't reproduce locally, but many of the bots are failing because of this
as well.

It's a pity that operator-> must return pointer.  Ugh.  Why?!
2019-01-30 16:03:16 -08:00
Behdad Esfahbod d14d2c20b0
Merge pull request #1567 from googlefonts/fuzzer
[subset] Update the subset fuzzer to get  options to use from test case.
2019-01-30 18:36:57 -05:00
Garret Rieger dc04261a5b [subset] Update the subset fuzzer to determine which options to use based on data in the fuzzing test case.
Add support for toggling retain_gids.
2019-01-30 15:23:19 -08:00
Behdad Esfahbod 2e675d49f2 Merge branch 'master' into iter 2019-01-30 15:10:43 -08:00
Behdad Esfahbod acf5f0a3af [configure] Fix up 2019-01-30 15:10:33 -08:00
Behdad Esfahbod ede117dc40 [configure] Fix up 2019-01-30 15:10:23 -08:00
Behdad Esfahbod cbe2118c58 Merge branch 'master' into iter 2019-01-30 15:07:09 -08:00
Behdad Esfahbod 6b834c1c76 [configure] Print compiler version info in report 2019-01-30 15:07:00 -08:00
Behdad Esfahbod 8b46c2d933 [configure] Print compiler version info in report 2019-01-30 15:06:22 -08:00
Behdad Esfahbod 4aa4eedfd5 [ci] Switch clang-O3-O0 bot to Ubuntu image
https://github.com/harfbuzz/harfbuzz/issues/1566
2019-01-30 15:02:29 -08:00
Behdad Esfahbod 7c292c0853 [iter] Warning fix
Not sure why I don't get it, but this warning:

warning: base class ‘struct hb_iter_fallback_mixin_t<hb_array_t<const OT::UVSMapping>, const OT::UVSMapping&>’ should be explicitly initialized in the copy constructor [-Wextra]
2019-01-30 14:54:23 -08:00
Behdad Esfahbod a84b0145ea [ci] Disable -Wunused-template on -Weverything bot
./hb-algs.hh:37:3: error: unused function template 'operator()' [-Werror,-Wunused-template]
  operator () (const T& v) const { return v; }
  ^
2019-01-30 14:42:48 -08:00
Behdad Esfahbod d983c529b6
Merge pull request #1564 from googlefonts/retain_gids
[subset] Add --retain-gids option to the subsetter.
2019-01-30 17:17:59 -05:00
Behdad Esfahbod 55d1d7c8bc 2.3.1 2019-01-30 13:54:15 -08:00
Behdad Esfahbod e799004e9f [iter] Whitespace 2019-01-29 17:15:12 -08:00
Behdad Esfahbod 849a0f1758 [iter] Add hb_iter_with_fallback_t instead 2019-01-29 17:10:19 -08:00