Commit Graph

8497 Commits

Author SHA1 Message Date
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
Behdad Esfahbod 4d40ed9d1a [iter] Add hb_iter_with_mixin_t<> 2019-01-29 13:55:23 -08:00
Behdad Esfahbod 6521d5b201 [iter] Export operator << / >> 2019-01-29 13:44:39 -08:00
Behdad Esfahbod 84a25d79c6 [iter] Rename 2019-01-29 13:39:19 -08:00
Garret Rieger e6ffcc5904 [subset] Add expected files for retain-gids integration tests. 2019-01-29 13:19:21 -08:00
Garret Rieger 198859bb37 [subset] For retain gids don't truncate glyphs past the highest requested subset glyph. 2019-01-29 13:19:21 -08:00
Garret Rieger 490d52f908 [subset] Add retain-gids option to hb-subset executable. 2019-01-29 13:19:21 -08:00
Garret Rieger a903f9c228 [subset] Add some subsetting integration tests covering retain gids. 2019-01-29 13:19:21 -08:00
Garret Rieger 05e99c86ba [subset] A few small fixes for the new subset plan api. 2019-01-29 13:19:21 -08:00
Garret Rieger bdbe047d6c [subset] Update hb-subset-plan.cc to match hb-subset-plan.hh. 2019-01-29 13:19:21 -08:00
Garret Rieger 74c44ffeba [subset] Update hb-subset-glyf.cc to use new hb-subset-plan API. 2019-01-29 13:19:21 -08:00
Garret Rieger 4842294b86 [subset] Update gsub to use glyphset() method of subset plan. 2019-01-29 13:19:21 -08:00
Garret Rieger 853b1f1aa5 [subset] Correct maxp num glyph's to use new subset plan method. 2019-01-29 13:19:21 -08:00
Garret Rieger 846e05a298 [subset] Re-add glyphs array to subset plan, with new name 'glyphs_deprecated'. Switch CFF subsetting to use it. 2019-01-29 13:19:21 -08:00
Garret Rieger 03e88eab5c Re-implement HMTX/VMTX subsetting. Update it to support glyph renumbering and simplify the implementation. 2019-01-29 13:19:21 -08:00
Garret Rieger 925be29223 Update hb-ot-vorg-table and hb-ot-layout-common to use the updated subset plan api. 2019-01-29 13:19:21 -08:00