Behdad Esfahbod [Wed, 8 May 2019 16:33:09 +0000 (09:33 -0700)]
[iter] Default predicates to hb_identity instead of hb_bool
The bool conversion happens after predicate is called automatically.
Behdad Esfahbod [Wed, 8 May 2019 16:32:19 +0000 (09:32 -0700)]
Adjust hb_all/any/none
Behdad Esfahbod [Wed, 8 May 2019 16:16:33 +0000 (09:16 -0700)]
Add hb_match
Behdad Esfahbod [Wed, 8 May 2019 16:14:44 +0000 (09:14 -0700)]
[algs] Try f[v] in hb_get() as last resort
Behdad Esfahbod [Wed, 8 May 2019 14:47:36 +0000 (07:47 -0700)]
Fix a few more double-pomotion errors
Behdad Esfahbod [Wed, 8 May 2019 06:28:22 +0000 (23:28 -0700)]
Fix signed comparison on 32bit
Behdad Esfahbod [Wed, 8 May 2019 06:26:09 +0000 (23:26 -0700)]
Fix more double-promotion errors
WHy do only some of the clang bots catch this I have no idea :(.
Behdad Esfahbod [Wed, 8 May 2019 06:13:38 +0000 (23:13 -0700)]
Fix double-promotion warnings
Make it an error.
Behdad Esfahbod [Wed, 8 May 2019 06:10:59 +0000 (23:10 -0700)]
More tests
Behdad Esfahbod [Wed, 8 May 2019 06:08:49 +0000 (23:08 -0700)]
[algs] Sprinkle hb_min/max with hb-forward salad
Let's see if fixes MSVC fail. Though, the error doesn't make sense to me.
hb-blob.cc
c:\projects\harfbuzz\src\hb-algs.hh(166): error C2440: 'return': cannot convert from 'unsigned int' to 'unsigned int &&' [C:\projects\harfbuzz\build\harfbuzz.vcxproj]
c:\projects\harfbuzz\src\hb-algs.hh(166): note: You cannot bind an lvalue to an rvalue reference
c:\projects\harfbuzz\src\hb-algs.hh(174): note: see reference to function template instantiation 'T &&<unnamed-type-hb_min>::impl<T,unsigned int&>(T &&,T2) const' being compiled
with
[
T=unsigned int,
T2=unsigned int &
]
Behdad Esfahbod [Wed, 8 May 2019 05:52:43 +0000 (22:52 -0700)]
[iter] Add value and projection to hb_all/any/none
Allows for eg, checking all values equal 2: hb_all (it, 2).
Behdad Esfahbod [Wed, 8 May 2019 05:45:01 +0000 (22:45 -0700)]
[iter] Accept rvalues to hb_enumerate()
Behdad Esfahbod [Wed, 8 May 2019 05:29:40 +0000 (22:29 -0700)]
[meta] Move hb_invoke from algs to meta
Behdad Esfahbod [Wed, 8 May 2019 04:39:20 +0000 (21:39 -0700)]
[meta] Replace most hb_enable_if with hb_requires
They do absolutely same thing. hb_requires is to encode constraints,
whereas hb_enable_if is for more conditional enabling.
Behdad Esfahbod [Wed, 8 May 2019 04:33:26 +0000 (21:33 -0700)]
[algs] Accept varargs in hb_min/max
Behdad Esfahbod [Wed, 8 May 2019 04:00:23 +0000 (21:00 -0700)]
Rename
Behdad Esfahbod [Wed, 8 May 2019 03:58:43 +0000 (20:58 -0700)]
Whitespace
Behdad Esfahbod [Wed, 8 May 2019 03:55:33 +0000 (20:55 -0700)]
Use universal references in hb_min/max
Behdad Esfahbod [Wed, 8 May 2019 03:54:31 +0000 (20:54 -0700)]
Remove MIN/MAX in favor of hb_min/hb_max
Behdad Esfahbod [Wed, 8 May 2019 00:23:46 +0000 (17:23 -0700)]
[serializer] Accept pointer & reference in more methods
Behdad Esfahbod [Wed, 8 May 2019 00:21:27 +0000 (17:21 -0700)]
[serializer] Minor
Behdad Esfahbod [Wed, 8 May 2019 00:21:18 +0000 (17:21 -0700)]
[meta] Fix addressof()
Behdad Esfahbod [Tue, 7 May 2019 23:53:03 +0000 (16:53 -0700)]
Whitespace
Behdad Esfahbod [Tue, 7 May 2019 22:56:51 +0000 (15:56 -0700)]
Add comment
Behdad Esfahbod [Tue, 7 May 2019 22:46:24 +0000 (15:46 -0700)]
[serialize] FeatureVariations subset->copy
Behdad Esfahbod [Tue, 7 May 2019 21:26:03 +0000 (14:26 -0700)]
Minor
Behdad Esfahbod [Tue, 7 May 2019 21:09:00 +0000 (14:09 -0700)]
[iter] Require lvalue in operators that return reference
Behdad Esfahbod [Tue, 7 May 2019 20:45:48 +0000 (13:45 -0700)]
Minor
Behdad Esfahbod [Tue, 7 May 2019 20:37:43 +0000 (13:37 -0700)]
[name] Clean up some more
Behdad Esfahbod [Tue, 7 May 2019 20:29:01 +0000 (13:29 -0700)]
[name] Clean up serialize() API
Behdad Esfahbod [Tue, 7 May 2019 20:26:15 +0000 (13:26 -0700)]
[name] Use iterators more
Behdad Esfahbod [Tue, 7 May 2019 19:45:38 +0000 (12:45 -0700)]
[serialize] Minor
Behdad Esfahbod [Tue, 7 May 2019 18:51:10 +0000 (11:51 -0700)]
Fix signed-comparison error on 32bit
Behdad Esfahbod [Tue, 7 May 2019 18:47:02 +0000 (11:47 -0700)]
Comment
Behdad Esfahbod [Tue, 7 May 2019 18:46:11 +0000 (11:46 -0700)]
[doc] Make header search more resilient
How stupid to scan all files... Sigh.
Behdad Esfahbod [Tue, 7 May 2019 18:39:44 +0000 (11:39 -0700)]
[ragel] Regenerate ragel-generated files using ragel 7.0.0.11 May 2018
Behdad Esfahbod [Tue, 7 May 2019 18:08:08 +0000 (11:08 -0700)]
[subset] Add TODO
Behdad Esfahbod [Tue, 7 May 2019 18:06:43 +0000 (11:06 -0700)]
[serialize] Enable bias assertion
Behdad Esfahbod [Tue, 7 May 2019 18:05:51 +0000 (11:05 -0700)]
[serialize] Use range-based loop
Behdad Esfahbod [Tue, 7 May 2019 18:01:02 +0000 (11:01 -0700)]
[name] Remove dead code
Behdad Esfahbod [Thu, 2 May 2019 23:29:07 +0000 (16:29 -0700)]
[subset] fix for name table serializing with new serializer machinery
Behdad Esfahbod [Thu, 2 May 2019 23:29:07 +0000 (16:29 -0700)]
[WIP] [name] Port to fancy serializer machinery
Behdad Esfahbod [Tue, 7 May 2019 07:34:50 +0000 (00:34 -0700)]
Remove use of deprecated implicit copy/move assignment operators
By removing custom copy constructor.
Behdad Esfahbod [Tue, 7 May 2019 07:33:32 +0000 (00:33 -0700)]
Warn on -Wdeprecated
Ebrahim Byagowi [Tue, 7 May 2019 07:34:00 +0000 (12:04 +0430)]
[ci] Upgrade Ubuntu 17.10 bots to 19.04
Behdad Esfahbod [Tue, 7 May 2019 07:13:11 +0000 (00:13 -0700)]
Actually make it work
Behdad Esfahbod [Tue, 7 May 2019 07:05:37 +0000 (00:05 -0700)]
[iter] Make filter/map copyable
Behdad Esfahbod [Tue, 7 May 2019 07:03:35 +0000 (00:03 -0700)]
[meta] Add hb_reference_wrapper<>
Functionality kinda superset of std:: counterpart.
Behdad Esfahbod [Tue, 7 May 2019 06:39:26 +0000 (23:39 -0700)]
Whitespace
Behdad Esfahbod [Tue, 7 May 2019 06:39:13 +0000 (23:39 -0700)]
Add hb_ref()
Unused.
Behdad Esfahbod [Tue, 7 May 2019 06:17:39 +0000 (23:17 -0700)]
Rename hb_deref_pointer() to hb_deref()
Behdad Esfahbod [Tue, 7 May 2019 06:04:32 +0000 (23:04 -0700)]
[iter] Adjust hb_filter
Behdad Esfahbod [Tue, 7 May 2019 02:57:15 +0000 (19:57 -0700)]
[iter] Implement range-based for loops
Part of https://github.com/harfbuzz/harfbuzz/issues/1648
Ebrahim Byagowi [Mon, 6 May 2019 20:54:55 +0000 (01:24 +0430)]
Ignore -Wc++11-compat as we require C++11 actually
pollutes gcc bots logs https://circleci.com/gh/harfbuzz/harfbuzz/85395
Behdad Esfahbod [Mon, 6 May 2019 19:16:51 +0000 (12:16 -0700)]
Remove HB_NO_OPTIONS in favor of HB_NO_GETENV
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
Behdad Esfahbod [Sun, 5 May 2019 17:14:17 +0000 (10:14 -0700)]
[dispatch] Forward arguments in all dispatch multiplexers
Behdad Esfahbod [Sun, 5 May 2019 16:54:58 +0000 (09:54 -0700)]
Fix previous commit
Priority should be given to specific over dispatch. Broke sanitize before.
This fixes it, by moving prioritization to the context implementation, since
the correct priority cannot be done in the dispatch implementation. Done
for subset and sanitize only, which need it.
Behdad Esfahbod [Sun, 5 May 2019 16:23:35 +0000 (09:23 -0700)]
[dispatch] Use functionality from previous commit
To remove a couple of unwanted wrapper methods
Behdad Esfahbod [Sun, 5 May 2019 16:10:46 +0000 (09:10 -0700)]
[dispatch] Try obj.dispatch(c) before trying c->dispatch(obj)
Behdad Esfahbod [Fri, 3 May 2019 17:37:32 +0000 (10:37 -0700)]
Revert "[WIP] [name] Port to fancy serializer machinery"
This reverts commit
c7f366fbbb208d0a9103ac4ee4ac00ff726c31e4.
Don't know how it got to master!
Cody Planteen [Thu, 2 May 2019 19:03:15 +0000 (13:03 -0600)]
Add configuration option HB_NO_GETENV to disable use of getenv()
Behdad Esfahbod [Thu, 2 May 2019 23:29:07 +0000 (16:29 -0700)]
[WIP] [name] Port to fancy serializer machinery
Behdad Esfahbod [Thu, 2 May 2019 23:26:06 +0000 (16:26 -0700)]
[name] Add NameRecord::copy()
Behdad Esfahbod [Thu, 2 May 2019 23:25:00 +0000 (16:25 -0700)]
[name] Minor changes
Behdad Esfahbod [Thu, 2 May 2019 23:22:32 +0000 (16:22 -0700)]
[serialize] Disable assertion for now
Behdad Esfahbod [Thu, 2 May 2019 23:20:18 +0000 (16:20 -0700)]
[serialize] Misc getting copy() to work
Behdad Esfahbod [Thu, 2 May 2019 23:20:03 +0000 (16:20 -0700)]
[debug] Allow return_trace() to return any type
Behdad Esfahbod [Thu, 2 May 2019 23:19:34 +0000 (16:19 -0700)]
[test] Run "fonttools ttx" instead of "ttx"
Behdad Esfahbod [Thu, 2 May 2019 22:12:07 +0000 (15:12 -0700)]
[serialize] Check offset base is within (possibly end of) object
Behdad Esfahbod [Thu, 2 May 2019 22:03:41 +0000 (15:03 -0700)]
[name] Fix format of susbetted table to 0
Behdad Esfahbod [Thu, 2 May 2019 21:45:57 +0000 (14:45 -0700)]
[name] Use variable forwarding to simplify sanitize()
Behdad Esfahbod [Thu, 2 May 2019 21:42:37 +0000 (14:42 -0700)]
[name]
Behdad Esfahbod [Thu, 2 May 2019 21:39:52 +0000 (14:39 -0700)]
[serializer] Add copy() to (Unsized)ArrayOf
Behdad Esfahbod [Thu, 2 May 2019 21:22:31 +0000 (14:22 -0700)]
[serializer] Accept exact type in serialize_subset/copy()
Behdad Esfahbod [Thu, 2 May 2019 21:14:33 +0000 (14:14 -0700)]
[serialize] Take arguments in copy()
Behdad Esfahbod [Thu, 2 May 2019 21:04:51 +0000 (14:04 -0700)]
[serializer] Add serialize_copy()
Behdad Esfahbod [Thu, 2 May 2019 20:51:52 +0000 (13:51 -0700)]
Remove dead code
David Corbett [Thu, 2 May 2019 01:29:06 +0000 (21:29 -0400)]
Sync gen-vowel-constraints.py with current output
David Corbett [Wed, 1 May 2019 20:15:58 +0000 (16:15 -0400)]
Add dotted circles to more broken clusters
Ebrahim Byagowi [Tue, 30 Apr 2019 20:05:10 +0000 (13:05 -0700)]
Remove space between right angle brackets now that we have C++11 (#1689)
Ebrahim Byagowi [Tue, 30 Apr 2019 20:01:04 +0000 (13:01 -0700)]
[doc] Add documentation to hb_color_get_* and hb_directwrite_face_* (#1690)
David Corbett [Tue, 30 Apr 2019 17:35:50 +0000 (13:35 -0400)]
Fix some dead links
Ebrahim Byagowi [Mon, 29 Apr 2019 21:52:28 +0000 (14:52 -0700)]
Add color channels getters ABI (#1513)
So can be used with language wrappers
Ebrahim Byagowi [Mon, 29 Apr 2019 21:40:50 +0000 (02:10 +0430)]
[ci] Remove crosscompile-notest-freebsd9 bot
It was testing an old version of freebsd and now it's image is gone.
We really like to test the environment.
David Corbett [Mon, 29 Apr 2019 18:16:51 +0000 (14:16 -0400)]
Allow some Balinese Po & So as aksara modre bases
Ebrahim Byagowi [Sun, 28 Apr 2019 18:54:07 +0000 (11:54 -0700)]
[valgrind] Use libtool and support run-subset-fuzzer-tests (#1668)
Ebrahim Byagowi [Sun, 28 Apr 2019 17:55:07 +0000 (10:55 -0700)]
[test] Add crbug.com/oss-fuzz/14474 testcase
Fixed at
6977a95f
Behdad Esfahbod [Sat, 27 Apr 2019 17:05:25 +0000 (10:05 -0700)]
[subset] Don't crash if subsetting GSUB/GPOS fails
Fixes fuzzer issue.
Behdad Esfahbod [Sat, 27 Apr 2019 17:01:11 +0000 (10:01 -0700)]
[subset] Check error after calling serializer end
Behdad Esfahbod [Sat, 27 Apr 2019 00:14:25 +0000 (17:14 -0700)]
[meta] Add hb_type_identity<>
To block template argument deduction.
Qunxin Liu [Thu, 25 Apr 2019 16:17:58 +0000 (09:17 -0700)]
[subset] Updates due to changes in resolve_links() on master branch
Garret Rieger [Wed, 24 Apr 2019 22:15:36 +0000 (15:15 -0700)]
Move implementations of hb-ot-name-language.cc into a hb-static.cc
Qunxin Liu [Wed, 24 Apr 2019 21:02:29 +0000 (14:02 -0700)]
[subset] Update to use _subset2() for name table
Qunxin Liu [Mon, 22 Apr 2019 18:31:23 +0000 (11:31 -0700)]
[subset] Add unit test for str de-dup
Also move the implementation of some methods from the .cc to the .hh
Qunxin Liu [Tue, 16 Apr 2019 18:20:58 +0000 (11:20 -0700)]
[subset] update name table subsetting with new serializer
Qunxin Liu [Wed, 10 Apr 2019 23:38:35 +0000 (16:38 -0700)]
[subset] Subsetting Name Table Step 4
Add unit test and integration test
Qunxin Liu [Fri, 5 Apr 2019 17:05:55 +0000 (10:05 -0700)]
[subset] Subset name table step 3, add --nameids option to guide the
selection of which name records to keep in the subset method.
Qunxin Liu [Tue, 2 Apr 2019 20:38:27 +0000 (13:38 -0700)]
[subset] subset name table step 2, add implementation for collecting subset
elements and serialize method
Qunxin Liu [Fri, 29 Mar 2019 17:34:32 +0000 (10:34 -0700)]
[subset] subset name table step 1, write out table unmodified, use accelerator to access
string
Behdad Esfahbod [Fri, 26 Apr 2019 21:40:01 +0000 (14:40 -0700)]
Rewrite hb_is_signed()