Behdad Esfahbod [Mon, 22 Apr 2019 19:20:25 +0000 (15:20 -0400)]
Use variadic template args for propagate_error()
Let's see if bots happy.
Not sure where else we can use these. Mm. Maybe in hb_invoke().
Behdad Esfahbod [Mon, 22 Apr 2019 19:16:35 +0000 (15:16 -0400)]
Simplify propagate_error()
Behdad Esfahbod [Sun, 21 Apr 2019 16:27:32 +0000 (12:27 -0400)]
[docs] Remove fdo repo
Has not been updated.
Behdad Esfahbod [Sun, 21 Apr 2019 16:25:19 +0000 (12:25 -0400)]
Update AUTHORS / COPYING
Ebrahim Byagowi [Fri, 19 Apr 2019 19:14:09 +0000 (12:14 -0700)]
Revert "Add harfbuzzjs build configuration (#1636)" (#1675)
This reverts commit
694cb1beeefe1c54b2e613d2d566a21e248a2c9c.
Ebrahim Byagowi [Fri, 19 Apr 2019 14:51:04 +0000 (07:51 -0700)]
Add harfbuzzjs build configuration (#1636)
Behdad Esfahbod [Thu, 18 Apr 2019 23:04:59 +0000 (19:04 -0400)]
Minor warning fix again
Michiharu Ariza [Thu, 18 Apr 2019 22:17:10 +0000 (15:17 -0700)]
add spaces
Michiharu Ariza [Thu, 18 Apr 2019 21:53:35 +0000 (14:53 -0700)]
fix oss-fuzz issue 14345
Michiharu Ariza [Thu, 18 Apr 2019 20:54:58 +0000 (13:54 -0700)]
silence MVC warnings 3rd attempt
Michiharu Ariza [Thu, 18 Apr 2019 18:32:10 +0000 (11:32 -0700)]
silence MVC warnings 2nd attempt
Michiharu Ariza [Thu, 18 Apr 2019 17:38:57 +0000 (10:38 -0700)]
silence MVC warnings
Behdad Esfahbod [Thu, 18 Apr 2019 16:21:25 +0000 (12:21 -0400)]
Minor
Behdad Esfahbod [Thu, 18 Apr 2019 14:04:10 +0000 (10:04 -0400)]
[array] Simplify copy assignment/constructor
To fix bogus MSVC warnings:
c:\projects\harfbuzz\src\hb-array.hh(189): warning C4521: 'hb_array_t<Type>': multiple copy constructors specified [C:\projects\harfbuzz\build\harfbuzz.vcxproj]
c:\projects\harfbuzz\src\hb-array.hh(189): warning C4522: 'hb_array_t<Type>': multiple assignment operators specified [C:\projects\harfbuzz\build\harfbuzz.vcxproj]
Behdad Esfahbod [Wed, 17 Apr 2019 21:59:39 +0000 (17:59 -0400)]
[serialize] Fix offset calculation
Behdad Esfahbod [Wed, 17 Apr 2019 21:58:13 +0000 (17:58 -0400)]
[subset] Assert offsets are zero during relocation
If they're not, it's a bug in our subsetting logic somewhere. So check.
Behdad Esfahbod [Wed, 17 Apr 2019 15:00:08 +0000 (11:00 -0400)]
[serializer] Add copy()
Calls obj.copy() or obj.operator=() in that order.
Behdad Esfahbod [Wed, 17 Apr 2019 14:20:02 +0000 (10:20 -0400)]
Add HB_RETURN
David Corbett [Tue, 16 Apr 2019 21:29:34 +0000 (17:29 -0400)]
Comment out ot_languages where fallback suffices
David Corbett [Wed, 17 Apr 2019 13:11:44 +0000 (09:11 -0400)]
Fix "hb_script_" doc typo
Behdad Esfahbod [Tue, 16 Apr 2019 22:33:51 +0000 (18:33 -0400)]
One more auto return type
Behdad Esfahbod [Tue, 16 Apr 2019 22:28:17 +0000 (18:28 -0400)]
Rename HB_AUTO_RETURN_EXPR to HB_AUTO_RETURN
Behdad Esfahbod [Tue, 16 Apr 2019 22:27:25 +0000 (18:27 -0400)]
Use HB_AUTO_RETURN_EXPR in hb_min/max
Behdad Esfahbod [Tue, 16 Apr 2019 22:26:30 +0000 (18:26 -0400)]
Use auto return type for hb_first/hb_second
Behdad Esfahbod [Tue, 16 Apr 2019 21:34:06 +0000 (17:34 -0400)]
Use hb_deref_pointer() to reduce number of overloads
Behdad Esfahbod [Tue, 16 Apr 2019 21:28:18 +0000 (17:28 -0400)]
Properly prioritize hb_hash()
Behdad Esfahbod [Tue, 16 Apr 2019 21:22:29 +0000 (17:22 -0400)]
Move around
Behdad Esfahbod [Tue, 16 Apr 2019 20:50:07 +0000 (16:50 -0400)]
Fix priorities
Behdad Esfahbod [Tue, 16 Apr 2019 20:45:53 +0000 (16:45 -0400)]
Use type aliasing for meta-functions, ie. those returning a type
David Corbett [Tue, 16 Apr 2019 14:04:45 +0000 (10:04 -0400)]
Reduce LangTag from 3 language system tags to 1
Behdad Esfahbod [Tue, 16 Apr 2019 15:35:09 +0000 (11:35 -0400)]
Reduce NullPool size
Behdad Esfahbod [Tue, 16 Apr 2019 15:24:42 +0000 (11:24 -0400)]
[meta] Flesh out hb_invoke()
Behdad Esfahbod [Tue, 16 Apr 2019 15:20:16 +0000 (11:20 -0400)]
Comment
Behdad Esfahbod [Tue, 16 Apr 2019 14:50:22 +0000 (10:50 -0400)]
[meta] Add hb_invoke()
Behdad Esfahbod [Tue, 16 Apr 2019 14:45:20 +0000 (10:45 -0400)]
[meta] Add HB_AUTO_RETURN_EXPR, HB_VOID_RETURN_EXPR, hb_priority, hb_has(), hb_get()
The first three based on range-v3.
Behdad Esfahbod [Tue, 16 Apr 2019 13:59:08 +0000 (09:59 -0400)]
Add hb_void_tt<> ala std::void_t
Behdad Esfahbod [Mon, 15 Apr 2019 21:36:09 +0000 (17:36 -0400)]
Fix copyright
Behdad Esfahbod [Mon, 15 Apr 2019 20:53:10 +0000 (16:53 -0400)]
[fuzzing] Run valgrind with --leak-check=full
Behdad Esfahbod [Mon, 15 Apr 2019 20:52:21 +0000 (16:52 -0400)]
[fuzzing] Fail if valgrind is requested but not found
Behdad Esfahbod [Mon, 15 Apr 2019 20:43:34 +0000 (16:43 -0400)]
More tweaks to previous commit
Delete assignment operator of OffsetTo<> instead of Offset<>.
In simple ArrayOf<>::sanitize() assert that Type has assignment operator.
Ideally we should SFINAE this and fallback to calling Type::sanitize()
if assignment operator is not available. But we don't have a case of
that in the codebase.
Behdad Esfahbod [Mon, 15 Apr 2019 20:00:20 +0000 (16:00 -0400)]
Delete default assignment operator Offset<>
Behdad Esfahbod [Mon, 15 Apr 2019 19:39:03 +0000 (15:39 -0400)]
Add HB_FUNCOBJ()
Fixes https://github.com/harfbuzz/harfbuzz/issues/1651
Nathan Willis [Mon, 15 Apr 2019 17:05:14 +0000 (18:05 +0100)]
[Usermanual]: fix Tamil error in Why-do-I-need-a-shaping-engine section.
Behdad Esfahbod [Mon, 15 Apr 2019 16:44:31 +0000 (12:44 -0400)]
Move static const to post-struct for a function object
Just sending this to bots to see if all happy, then turn it into macro and
apply everywhere.
Part of https://github.com/harfbuzz/harfbuzz/issues/1651
Behdad Esfahbod [Mon, 15 Apr 2019 16:07:00 +0000 (12:07 -0400)]
Ugh. Another try, to unbreak gcc this time!
Jenga.
Behdad Esfahbod [Mon, 15 Apr 2019 15:59:57 +0000 (11:59 -0400)]
Move location of HB_UNUSED to make MSVC happy
Behdad Esfahbod [Mon, 15 Apr 2019 15:31:40 +0000 (11:31 -0400)]
Fix gcc warning
Ebrahim Byagowi [Sun, 14 Apr 2019 20:04:04 +0000 (00:34 +0430)]
[ci] Fix macOS glib issue
Behdad Esfahbod [Sat, 13 Apr 2019 02:50:22 +0000 (22:50 -0400)]
Add HB_NO_SUBSET_LAYOUT
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod [Sat, 13 Apr 2019 02:42:44 +0000 (22:42 -0400)]
Revert "Hide symbols in hb-iter"
This reverts commit
98f14c4cdb837a962083a6702f401d41b4c1ec5c.
Same as previous commit.
Behdad Esfahbod [Sat, 13 Apr 2019 02:39:38 +0000 (22:39 -0400)]
Revert "Hide more symbols"
This reverts commit
2e86d50915cf1a791da9acb95245aa820a3d70f4.
I think the setup that caused me to do this is faulty and not hiding inlines.
Behdad Esfahbod [Fri, 12 Apr 2019 22:11:18 +0000 (18:11 -0400)]
Hide symbols in hb-iter
Painful. All template methods need to be explicitly hidden :(.
Maybe we should switch to -fvisibility=hidden pragma.
A LOT more to go.
Behdad Esfahbod [Fri, 12 Apr 2019 22:07:42 +0000 (18:07 -0400)]
Hide more symbols
Exposed by:
$ make -j5 CPPFLAGS="-O0" CXXFLAGS=-flto=thin LDFLAGS=-lc++ && ./check-symbols.sh
Behdad Esfahbod [Fri, 12 Apr 2019 21:59:18 +0000 (17:59 -0400)]
Hide a few more symbols
Exposed by:
$ make CPPFLAGS=-O0
Behdad Esfahbod [Fri, 12 Apr 2019 21:50:03 +0000 (17:50 -0400)]
Hide a few static methods
Looks like static methods that do not get inlined end up exported.
We have a lot more. Need to protect all at some point. Wish there
was an easier way, like the visibility flag we pass that automatically
hides all inline methods.
Was exposed by check-symbols.sh when compiling on OS X 10.14 with:
$ make CPPFLAGS=-Oz CXXFLAGS=-flto=thin LDFLAGS=-lc++
Behdad Esfahbod [Fri, 12 Apr 2019 20:21:58 +0000 (16:21 -0400)]
Add HB_NO_OPTIONS
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod [Fri, 12 Apr 2019 19:00:37 +0000 (15:00 -0400)]
Add HB_NO_NAME_TABLE_AAT
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod [Fri, 12 Apr 2019 18:58:53 +0000 (14:58 -0400)]
Add HB_NO_OT_FONT_BITMAP
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod [Fri, 12 Apr 2019 18:57:49 +0000 (14:57 -0400)]
Add HB_NO_OT_FONT_CFF
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod [Fri, 12 Apr 2019 14:16:12 +0000 (10:16 -0400)]
Add HB_NO_OT_SHAPE_COMPLEX_HEBREW_FALLBACK
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod [Fri, 12 Apr 2019 14:12:11 +0000 (10:12 -0400)]
Add HB_NO_OT_SHAPE_FALLBACK
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod [Fri, 12 Apr 2019 13:35:29 +0000 (09:35 -0400)]
Add HB_NO_OT_SHAPE_COMPLEX_THAI_FALLBACK
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod [Fri, 12 Apr 2019 13:33:25 +0000 (09:33 -0400)]
Add HB_NO_OT_LAYOUT_BLACKLIST
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod [Thu, 11 Apr 2019 21:54:38 +0000 (17:54 -0400)]
Add HB_NO_OT_SHAPE_COMPLEX_VOWEL_CONSTRAINTS
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Nathan Willis [Tue, 2 Apr 2019 17:49:40 +0000 (18:49 +0100)]
Update gtk-doc annotations for inout counts on various getter functions.
Nathan Willis [Sun, 24 Mar 2019 15:07:07 +0000 (15:07 +0000)]
[Docs] Minor edits to gtk-doc inline comment review.
Nathan Willis [Mon, 18 Mar 2019 14:03:16 +0000 (14:03 +0000)]
[Docs] Minor; fix formatting for gtk-doc multiple-annotations.
Nathan Willis [Sun, 17 Mar 2019 14:50:47 +0000 (14:50 +0000)]
[Docs] Annotate gtk-doc formatting with some un-annotated (out)s.
Nathan Willis [Sun, 17 Mar 2019 14:43:06 +0000 (14:43 +0000)]
[Docs] Fix gtk-doc formatting for (out) and (inout).
Nathan Willis [Sun, 17 Mar 2019 14:27:27 +0000 (14:27 +0000)]
[Docs] Fix gtk-doc references to 'kern' table functions, clarifying that GPOS is not examined.
Nathan Willis [Sat, 16 Mar 2019 15:38:08 +0000 (15:38 +0000)]
[Docs] Add inline gtk-doc documentation of GDEF glyph classes.
Nathan Willis [Sat, 16 Mar 2019 15:10:21 +0000 (15:10 +0000)]
[Docs] Add inlind gtk-doc comments for hb-ot-layout functions.
Behdad Esfahbod [Thu, 11 Apr 2019 15:20:10 +0000 (11:20 -0400)]
Use injected class name to simplify macros
Behdad Esfahbod [Thu, 11 Apr 2019 15:18:04 +0000 (11:18 -0400)]
[C++11] Use deleted methods
Behdad Esfahbod [Thu, 11 Apr 2019 15:16:01 +0000 (11:16 -0400)]
Rename a few macros
Behdad Esfahbod [Wed, 10 Apr 2019 19:53:48 +0000 (15:53 -0400)]
[arabic] Disable fallback shaping if HB_NO_OT_SHAPE_COMPLEX_ARABIC_FALLBACK defined
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod [Wed, 10 Apr 2019 19:40:03 +0000 (15:40 -0400)]
Don't install ot-font funcs on new fonts if HB_NO_OT_FONT defined
Currently linker cannot GC hb-ot-font completely because we install
it on fonts by default. Don't do that if HB_NO_OT_FONT defined.
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod [Wed, 10 Apr 2019 19:38:15 +0000 (15:38 -0400)]
Don't use any default unicode funcs if HB_NO_UNICODE_FUNCS is defined
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod [Mon, 8 Apr 2019 18:50:58 +0000 (14:50 -0400)]
[coretext] Fix unused-variable error
Fixes https://github.com/harfbuzz/harfbuzz/issues/1659
Maks Naumov [Fri, 5 Apr 2019 18:46:27 +0000 (21:46 +0300)]
Fix MSVC C4068 warning (#1656)
Michiharu Ariza [Fri, 5 Apr 2019 17:15:08 +0000 (10:15 -0700)]
replace test font SourceHanSans with its subet
Maks Naumov [Fri, 5 Apr 2019 09:29:56 +0000 (12:29 +0300)]
Fix MSVC C4138 warning (#1657)
Behdad Esfahbod [Wed, 3 Apr 2019 23:24:12 +0000 (16:24 -0700)]
Minor
Behdad Esfahbod [Wed, 3 Apr 2019 23:06:55 +0000 (16:06 -0700)]
[GDEF] Don't assume glyphlist is sorted
As was hit by the fuzzer.
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14032
Behdad Esfahbod [Wed, 3 Apr 2019 23:06:34 +0000 (16:06 -0700)]
[algs] Add hb_min() and hb_max()
Behdad Esfahbod [Wed, 3 Apr 2019 22:48:27 +0000 (15:48 -0700)]
[serialize] Make putting breakpoint on out-of-memory easier
Behdad Esfahbod [Wed, 3 Apr 2019 22:31:53 +0000 (15:31 -0700)]
[iter] Tweak SFINAE again
Don't think we need hb_is_same().
Behdad Esfahbod [Wed, 3 Apr 2019 22:23:06 +0000 (15:23 -0700)]
[array] Add compy assignment operator since copy constructor is explicit
Behdad Esfahbod [Wed, 3 Apr 2019 21:32:15 +0000 (14:32 -0700)]
[array] Add default copy constructor
MSVC seems to need it.
Behdad Esfahbod [Wed, 3 Apr 2019 21:18:19 +0000 (14:18 -0700)]
[iter] Use different SFINAE scheme to make MSVC happy
From Orvid King: TLDR; MSVC has some issues using sizeof(declval<T>()) for
SFINAE of templated types, so I just used SFINAE in a different context where
MSVC doesn't have the issue.
Behdad Esfahbod [Wed, 3 Apr 2019 21:15:01 +0000 (14:15 -0700)]
[meta] Add hb_is_same()
Behdad Esfahbod [Wed, 3 Apr 2019 06:10:03 +0000 (23:10 -0700)]
[serialize] Actually reclaim storage from duplicate objects
Behdad Esfahbod [Wed, 3 Apr 2019 05:42:22 +0000 (22:42 -0700)]
[serialize] Port to use object pool
Tested, but feels fragile :(.
Behdad Esfahbod [Wed, 3 Apr 2019 05:41:06 +0000 (22:41 -0700)]
[pool] Uses memset() instead of assigning Null()
Assignment is invalid on invalid object.
Behdad Esfahbod [Wed, 3 Apr 2019 04:46:40 +0000 (21:46 -0700)]
Add hb_pool_t<> for pooled memory allocation
Behdad Esfahbod [Wed, 3 Apr 2019 03:20:53 +0000 (20:20 -0700)]
[serialize] Disable packed_map again
Ugh. Need to think of something else.
Behdad Esfahbod [Wed, 3 Apr 2019 03:17:27 +0000 (20:17 -0700)]
[map] Protect more against pointer deref
Behdad Esfahbod [Wed, 3 Apr 2019 03:13:16 +0000 (20:13 -0700)]
More
Behdad Esfahbod [Wed, 3 Apr 2019 02:27:02 +0000 (19:27 -0700)]
[serialize] Fix hb_hashmap_t<> for pointers and use in packed_map
Behdad Esfahbod [Wed, 3 Apr 2019 01:41:33 +0000 (18:41 -0700)]
[iter] Remove passing pointer to hb_iter()
While doable with hb_deref_pointer() as well, we also would then
need to do it in a ton of places. Not worth it / messy.