platform/upstream/libHarfBuzzSharp.git
5 years ago[subset] More HB_NO_SUBSET_LAYOUT
Behdad Esfahbod [Sat, 11 May 2019 06:46:22 +0000 (23:46 -0700)]
[subset] More HB_NO_SUBSET_LAYOUT

Part of https://github.com/harfbuzz/harfbuzz/issues/1652

5 years ago[cff] Prune more code if HB_NO_OT_FONT_CFF
Behdad Esfahbod [Sat, 11 May 2019 06:39:53 +0000 (23:39 -0700)]
[cff] Prune more code if HB_NO_OT_FONT_CFF

Part of https://github.com/harfbuzz/harfbuzz/issues/1652

5 years ago[subset] Add HB_NO_SUBSET_CFF
Behdad Esfahbod [Sat, 11 May 2019 06:36:42 +0000 (23:36 -0700)]
[subset] Add HB_NO_SUBSET_CFF

Doesn't fully prune all the relevant code.  To be fixed later.

Part of https://github.com/harfbuzz/harfbuzz/issues/1652

5 years agoAdd HB_NO_AAT
Behdad Esfahbod [Sat, 11 May 2019 06:31:05 +0000 (23:31 -0700)]
Add HB_NO_AAT

Part of https://github.com/harfbuzz/harfbuzz/issues/1652

5 years ago[cff] Minor
Behdad Esfahbod [Sat, 11 May 2019 06:17:15 +0000 (23:17 -0700)]
[cff] Minor

5 years agoMinor
Behdad Esfahbod [Sat, 11 May 2019 06:15:58 +0000 (23:15 -0700)]
Minor

5 years ago[sanitize] Fix previous commit
Behdad Esfahbod [Sat, 11 May 2019 05:44:19 +0000 (22:44 -0700)]
[sanitize] Fix previous commit

5 years ago[sanitize] Simplify
Behdad Esfahbod [Sat, 11 May 2019 05:23:24 +0000 (22:23 -0700)]
[sanitize] Simplify

5 years ago[sanitize] Use hb_is_trivially_copyable()
Behdad Esfahbod [Sat, 11 May 2019 05:11:51 +0000 (22:11 -0700)]
[sanitize] Use hb_is_trivially_copyable()

5 years ago[meta] Add hb_is_trivial
Behdad Esfahbod [Sat, 11 May 2019 05:04:40 +0000 (22:04 -0700)]
[meta] Add hb_is_trivial

5 years ago[meta] Add hb_is_trivially_copyable()
Behdad Esfahbod [Sat, 11 May 2019 05:03:03 +0000 (22:03 -0700)]
[meta] Add hb_is_trivially_copyable()

5 years ago[meta] Add is_trivially_destructible
Behdad Esfahbod [Sat, 11 May 2019 04:59:57 +0000 (21:59 -0700)]
[meta] Add is_trivially_destructible

5 years agoRemove accidentally included include
Behdad Esfahbod [Sat, 11 May 2019 04:50:15 +0000 (21:50 -0700)]
Remove accidentally included include

5 years ago[meta] Add is_destructible
Behdad Esfahbod [Sat, 11 May 2019 04:49:25 +0000 (21:49 -0700)]
[meta] Add is_destructible

5 years ago[met]a Add is_constructible, ...
Behdad Esfahbod [Sat, 11 May 2019 04:42:59 +0000 (21:42 -0700)]
[met]a Add is_constructible, ...

5 years ago[iter] Adjust source_of/sink_of
Behdad Esfahbod [Sat, 11 May 2019 04:25:07 +0000 (21:25 -0700)]
[iter] Adjust source_of/sink_of

5 years agoUse hb_void_t<> the way it's supposed to be used
Behdad Esfahbod [Sat, 11 May 2019 04:03:14 +0000 (21:03 -0700)]
Use hb_void_t<> the way it's supposed to be used

5 years ago[meta] Minor
Behdad Esfahbod [Sat, 11 May 2019 04:01:19 +0000 (21:01 -0700)]
[meta] Minor

5 years ago[meta] More rewrites
Behdad Esfahbod [Sat, 11 May 2019 03:56:16 +0000 (20:56 -0700)]
[meta] More rewrites

5 years ago[meta] Rewrite hb_int_min/max
Behdad Esfahbod [Sat, 11 May 2019 03:49:52 +0000 (20:49 -0700)]
[meta] Rewrite hb_int_min/max

5 years ago[meta] void_tt -> void_t
Behdad Esfahbod [Sat, 11 May 2019 03:43:51 +0000 (20:43 -0700)]
[meta] void_tt -> void_t

5 years ago[meta] hb_void_t -> hb_empty_t
Behdad Esfahbod [Sat, 11 May 2019 03:43:26 +0000 (20:43 -0700)]
[meta] hb_void_t -> hb_empty_t

5 years ago[meta] Minor
Behdad Esfahbod [Sat, 11 May 2019 03:34:52 +0000 (20:34 -0700)]
[meta] Minor

5 years agoMinor
Behdad Esfahbod [Sat, 11 May 2019 03:31:20 +0000 (20:31 -0700)]
Minor

5 years ago[meta] Rewrite is_signed, add is_unsigned
Behdad Esfahbod [Sat, 11 May 2019 03:26:29 +0000 (20:26 -0700)]
[meta] Rewrite is_signed, add is_unsigned

5 years ago[meta] Rewrite is_integral / is_floating_point, add is_arithmetic
Behdad Esfahbod [Sat, 11 May 2019 03:20:51 +0000 (20:20 -0700)]
[meta] Rewrite is_integral / is_floating_point, add is_arithmetic

5 years ago[meta] Rewrite is_cr_convertible
Behdad Esfahbod [Sat, 11 May 2019 03:17:30 +0000 (20:17 -0700)]
[meta] Rewrite is_cr_convertible

5 years ago[meta] Rewrite is_base_of
Behdad Esfahbod [Sat, 11 May 2019 03:15:03 +0000 (20:15 -0700)]
[meta] Rewrite is_base_of

5 years ago[null] Modernize template work
Behdad Esfahbod [Sat, 11 May 2019 03:11:29 +0000 (20:11 -0700)]
[null] Modernize template work

5 years ago[meta] Add integral_constant, true_t -> true_type, false_t -> false_type
Behdad Esfahbod [Sat, 11 May 2019 03:06:31 +0000 (20:06 -0700)]
[meta] Add integral_constant, true_t -> true_type, false_t -> false_type

5 years ago[meta] bool_tt -> bool_constant
Behdad Esfahbod [Sat, 11 May 2019 03:03:14 +0000 (20:03 -0700)]
[meta] bool_tt -> bool_constant

5 years ago[meta] Add is_floating_point
Behdad Esfahbod [Sat, 11 May 2019 02:56:36 +0000 (19:56 -0700)]
[meta] Add is_floating_point

5 years ago[meta] Add is_signed for floating point types
Behdad Esfahbod [Sat, 11 May 2019 02:49:26 +0000 (19:49 -0700)]
[meta] Add is_signed for floating point types

5 years ago[meta] is_integer -> is_integral
Behdad Esfahbod [Sat, 11 May 2019 02:48:02 +0000 (19:48 -0700)]
[meta] is_integer -> is_integral

5 years ago[meta] Add add_const, add_pointer, add_lvalue_reference, add_rvalue_reference
Behdad Esfahbod [Sat, 11 May 2019 02:29:32 +0000 (19:29 -0700)]
[meta] Add add_const, add_pointer, add_lvalue_reference, add_rvalue_reference

5 years ago[vector] Simplify arrayZ
Behdad Esfahbod [Sat, 11 May 2019 01:40:29 +0000 (18:40 -0700)]
[vector] Simplify arrayZ

Was turned into function when we had static ones and wanted to be
move-safe...  Not the case anymore.

5 years ago[subset] Use more auto typing
Behdad Esfahbod [Fri, 10 May 2019 23:35:31 +0000 (16:35 -0700)]
[subset] Use more auto typing

5 years agoMinor
Behdad Esfahbod [Fri, 10 May 2019 23:26:19 +0000 (16:26 -0700)]
Minor

5 years ago[serialize] More rewrite
Behdad Esfahbod [Fri, 10 May 2019 23:21:03 +0000 (16:21 -0700)]
[serialize] More rewrite

5 years ago[serialize] Fix a TODO
Behdad Esfahbod [Fri, 10 May 2019 23:07:51 +0000 (16:07 -0700)]
[serialize] Fix a TODO

5 years agoUpdate TESTING.md
rsheeter [Fri, 10 May 2019 23:52:43 +0000 (16:52 -0700)]
Update TESTING.md

5 years agoFix sanitize fail of extension sublookups
Behdad Esfahbod [Fri, 10 May 2019 23:01:39 +0000 (16:01 -0700)]
Fix sanitize fail of extension sublookups

Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=960331

5 years agoMinor
Behdad Esfahbod [Fri, 10 May 2019 20:56:50 +0000 (13:56 -0700)]
Minor

5 years agoMinor
Behdad Esfahbod [Fri, 10 May 2019 20:53:15 +0000 (13:53 -0700)]
Minor

5 years agoMinor again
Behdad Esfahbod [Fri, 10 May 2019 20:51:12 +0000 (13:51 -0700)]
Minor again

5 years agoMinor
Behdad Esfahbod [Fri, 10 May 2019 20:43:29 +0000 (13:43 -0700)]
Minor

5 years ago[gsubgpos] Minor
Behdad Esfahbod [Fri, 10 May 2019 20:17:41 +0000 (13:17 -0700)]
[gsubgpos] Minor

5 years agoGenerate tarball in .xz instead of .bz2
Behdad Esfahbod [Fri, 10 May 2019 18:53:02 +0000 (11:53 -0700)]
Generate tarball in .xz instead of .bz2

Fixes https://github.com/harfbuzz/harfbuzz/issues/1662

5 years agoFix bot
Behdad Esfahbod [Fri, 10 May 2019 18:32:59 +0000 (11:32 -0700)]
Fix bot

Any way to catch these?

5 years ago[meta] Add hb_is_base_of
Behdad Esfahbod [Fri, 10 May 2019 18:26:39 +0000 (11:26 -0700)]
[meta] Add hb_is_base_of

5 years ago[iter] Adjust is_source_of / is_sink_of
Behdad Esfahbod [Fri, 10 May 2019 18:18:52 +0000 (11:18 -0700)]
[iter] Adjust is_source_of / is_sink_of

There are two cases that we accept.  Encode both.

5 years agoUpdate TESTING.md
rsheeter [Fri, 10 May 2019 03:06:29 +0000 (20:06 -0700)]
Update TESTING.md

5 years ago[iter] Rewrite test functions
Behdad Esfahbod [Thu, 9 May 2019 23:58:28 +0000 (16:58 -0700)]
[iter] Rewrite test functions

Notably, add hb_is_source_of(,) and hb_is_sink_of(,) to replace most
uses of hb_is_iterator_of(,).

5 years agoMinor
Behdad Esfahbod [Thu, 9 May 2019 23:22:08 +0000 (16:22 -0700)]
Minor

5 years agoWhitespace
Behdad Esfahbod [Thu, 9 May 2019 23:08:10 +0000 (16:08 -0700)]
Whitespace

5 years agoFix bot
Behdad Esfahbod [Thu, 9 May 2019 22:39:32 +0000 (15:39 -0700)]
Fix bot

5 years ago[algs] Implement implicit casting between compatible pair types
Behdad Esfahbod [Thu, 9 May 2019 22:31:24 +0000 (15:31 -0700)]
[algs] Implement implicit casting between compatible pair types

5 years ago[meta] Rewrite hb_is_cr_converitble
Behdad Esfahbod [Thu, 9 May 2019 22:24:14 +0000 (15:24 -0700)]
[meta] Rewrite hb_is_cr_converitble

5 years agoFix compile
Behdad Esfahbod [Thu, 9 May 2019 22:19:42 +0000 (15:19 -0700)]
Fix compile

NameRecord is not copy-constructible, so should be iterator of
const-reference.

5 years agoAdjust is_cr_convertible
Behdad Esfahbod [Thu, 9 May 2019 22:09:07 +0000 (15:09 -0700)]
Adjust is_cr_convertible

If To is const& then From doesn't need to be &.

5 years ago[iter] Make hb_is_iterator_of() check is_convertible
Behdad Esfahbod [Thu, 9 May 2019 21:53:02 +0000 (14:53 -0700)]
[iter] Make hb_is_iterator_of() check is_convertible

Instead of is_cr_convertible.

5 years ago[meta] Add hb_conditional<> and hb_is_convertible()
Behdad Esfahbod [Thu, 9 May 2019 21:35:15 +0000 (14:35 -0700)]
[meta] Add hb_conditional<> and hb_is_convertible()

5 years ago[subset] Switch building of glyph maps in subset plan to use iterators.
Garret Rieger [Wed, 8 May 2019 23:33:03 +0000 (16:33 -0700)]
[subset] Switch building of glyph maps in subset plan to use iterators.

5 years agoAdd sink support for hb_hashmap_t and a reverse call to hb_pair_t.
Garret Rieger [Wed, 8 May 2019 23:31:52 +0000 (16:31 -0700)]
Add sink support for hb_hashmap_t and a reverse call to hb_pair_t.

5 years agoAdd hb_pair_t(,) macro as alternative to hb_pair_t<,>
Behdad Esfahbod [Thu, 9 May 2019 20:15:36 +0000 (13:15 -0700)]
Add hb_pair_t(,) macro as alternative to hb_pair_t<,>

Just so it's easier to use it in other macros.

5 years agoAdd hb_lidentity(), and rename hb_rvalue() to hb_ridentity()
Behdad Esfahbod [Thu, 9 May 2019 19:43:57 +0000 (12:43 -0700)]
Add hb_lidentity(), and rename hb_rvalue() to hb_ridentity()

5 years ago[hdmx] Adjust to hb_iota() behavior change
Behdad Esfahbod [Thu, 9 May 2019 19:14:36 +0000 (12:14 -0700)]
[hdmx] Adjust to hb_iota() behavior change

Use hb_range() instead.

5 years ago[enumerate] Fix hb_enumerate() len for step=0
Behdad Esfahbod [Thu, 9 May 2019 19:07:45 +0000 (12:07 -0700)]
[enumerate] Fix hb_enumerate() len for step=0

5 years ago[iter] Fix hb_zip() end condition
Behdad Esfahbod [Thu, 9 May 2019 18:30:31 +0000 (11:30 -0700)]
[iter] Fix hb_zip() end condition

We should compare-equal to end if either iterator's end reaches,
not if both reach at the same time.  Fixes infinite-loop in test
which was happening after hb_enumerate() switched to using hb_zip().

5 years ago[iter] Minor
Behdad Esfahbod [Thu, 9 May 2019 18:30:27 +0000 (11:30 -0700)]
[iter] Minor

5 years ago[iter] Minor
Behdad Esfahbod [Thu, 9 May 2019 18:25:02 +0000 (11:25 -0700)]
[iter] Minor

5 years ago[test-iter] Don't walk past end
Behdad Esfahbod [Thu, 9 May 2019 18:23:41 +0000 (11:23 -0700)]
[test-iter] Don't walk past end

That's not legal.

5 years ago[iter] Allow negative step in hb_iota()
Behdad Esfahbod [Thu, 9 May 2019 18:20:41 +0000 (11:20 -0700)]
[iter] Allow negative step in hb_iota()

5 years ago[iter] Minor
Behdad Esfahbod [Thu, 9 May 2019 18:14:06 +0000 (11:14 -0700)]
[iter] Minor

5 years ago[iter] Bug fix
Behdad Esfahbod [Thu, 9 May 2019 18:10:31 +0000 (11:10 -0700)]
[iter] Bug fix

5 years ago[iter] Fix
Behdad Esfahbod [Thu, 9 May 2019 18:08:25 +0000 (11:08 -0700)]
[iter] Fix

5 years ago[iter] Take start value in hb_enumerate()
Behdad Esfahbod [Thu, 9 May 2019 18:07:38 +0000 (11:07 -0700)]
[iter] Take start value in hb_enumerate()

Also rewrite it via composition.

5 years ago[iter] Add hb_range()
Behdad Esfahbod [Thu, 9 May 2019 18:02:56 +0000 (11:02 -0700)]
[iter] Add hb_range()

hb_range() is like Python range.  hb_iota() has slightly different API.
Ie. it takes a start, instead of end.

5 years ago[meta] Add hb_int_max()
Behdad Esfahbod [Thu, 9 May 2019 18:00:43 +0000 (11:00 -0700)]
[meta] Add hb_int_max()

5 years ago[iota] end -> end_ to not shadow
Behdad Esfahbod [Thu, 9 May 2019 17:46:49 +0000 (10:46 -0700)]
[iota] end -> end_ to not shadow

5 years agoMerge pull request #1680 from n8willis/usermanual-obj
n8willis [Thu, 9 May 2019 13:39:05 +0000 (14:39 +0100)]
Merge pull request #1680 from n8willis/usermanual-obj

Usermanual: object-model chapter

5 years agoRemove unnecessary template keyword
Behdad Esfahbod [Thu, 9 May 2019 04:14:01 +0000 (21:14 -0700)]
Remove unnecessary template keyword

Should fix MSVC.

5 years agoRemove unused var
Behdad Esfahbod [Wed, 8 May 2019 23:41:39 +0000 (16:41 -0700)]
Remove unused var

5 years ago[array] Add .copy()
Behdad Esfahbod [Wed, 8 May 2019 23:37:38 +0000 (16:37 -0700)]
[array] Add .copy()

5 years agoFix msan issue
Behdad Esfahbod [Wed, 8 May 2019 23:16:43 +0000 (16:16 -0700)]
Fix msan issue

hb_identity returns rvalue-reference if input is rvalue.  That, can leak
the reference and cause in bad access to temporaries after they are
destructed.  This is unfortunately unfixable given the desired
transparency of hb_identity :(.  Just don't use it with hb_map().

5 years agoMove hb_invoke() back to hb-algs.hh
Behdad Esfahbod [Wed, 8 May 2019 22:57:33 +0000 (15:57 -0700)]
Move hb_invoke() back to hb-algs.hh

5 years ago[hdmx] Touch up
Behdad Esfahbod [Wed, 8 May 2019 22:46:51 +0000 (15:46 -0700)]
[hdmx] Touch up

5 years ago[subset] WIP convert hdmx subsetting to use iterators.
Garret Rieger [Wed, 8 May 2019 00:23:02 +0000 (17:23 -0700)]
[subset] WIP convert hdmx subsetting to use iterators.

5 years ago[subset] Move hdmx to subset2.
Garret Rieger [Tue, 7 May 2019 22:47:38 +0000 (15:47 -0700)]
[subset] Move hdmx to subset2.

5 years ago[map] Return rvalues from keys()/values()
Behdad Esfahbod [Wed, 8 May 2019 22:32:57 +0000 (15:32 -0700)]
[map] Return rvalues from keys()/values()

5 years ago[map] Fix bots
Behdad Esfahbod [Wed, 8 May 2019 22:28:39 +0000 (15:28 -0700)]
[map] Fix bots

Older compilers don't like calling iter() from return-type decltype()

../src/hb-map.hh:226:12: error: cannot call member function 'decltype ((((+ hb_array(((const hb_hashmap_t<K, V, kINVALID, vINVALID>*)this)->hb_hashmap_t<K, V, kINVALID, vINVALID>::items, (((const hb_hashmap_t<K, V, kINVALID, vINVALID>*)this)->hb_hashmap_t<K, V, kINVALID, vINVALID>::mask ? (((const hb_hashmap_t<K, V, kINVALID, vINVALID>*)this)->hb_hashmap_t<K, V, kINVALID, vINVALID>::mask + 1) : 0))) | hb_filter((& hb_hashmap_t<K, V, kINVALID, vINVALID>::item_t:: is_real))) | hb_map((& hb_hashmap_t<K, V, kINVALID, vINVALID>::item_t:: get_pair)))) hb_hashmap_t<K, V, kINVALID, vINVALID>::iter() const [with K = const hb_serialize_context_t::object_t*; V = unsigned int; K kINVALID = 0u; V vINVALID = 0u; decltype ((((+ hb_array(((const hb_hashmap_t<K, V, kINVALID, vINVALID>*)this)->hb_hashmap_t<K, V, kINVALID, vINVALID>::items, (((const hb_hashmap_t<K, V, kINVALID, vINVALID>*)this)->hb_hashmap_t<K, V, kINVALID, vINVALID>::mask ? (((const hb_hashmap_t<K, V, kINVALID, vINVALID>*)this)->hb_hashmap_t<K, V, kINVALID, vINVALID>::mask + 1) : 0))) | hb_filter((& hb_hashmap_t<K, V, kINVALID, vINVALID>::item_t:: is_real))) | hb_map((& hb_hashmap_t<K, V, kINVALID, vINVALID>::item_t:: get_pair)))) = hb_map_iter_t<hb_filter_iter_t<hb_array_t<hb_hashmap_t<const hb_serialize_context_t::object_t*, unsigned int, 0u, 0u>::item_t>, bool (hb_hashmap_t<const hb_serialize_context_t::object_t*, unsigned int, 0u, 0u>::item_t::*)() const, const<anonymous struct>&, 0u>, hb_pair_t<const hb_serialize_context_t::object_t*, unsigned int> (hb_hashmap_t<const hb_serialize_context_t::object_t*, unsigned int, 0u, 0u>::item_t::*)() const, 0u>]' without object
     + iter()
            ^
../src/hb-meta.hh:58:41: note: in definition of macro 'HB_AUTO_RETURN'
 #define HB_AUTO_RETURN(E) -> decltype ((E)) { return (E); }
                                         ^

5 years ago[map] Add .values() iterator
Behdad Esfahbod [Wed, 8 May 2019 22:08:10 +0000 (15:08 -0700)]
[map] Add .values() iterator

5 years ago[map] Fix iter
Behdad Esfahbod [Wed, 8 May 2019 22:05:10 +0000 (15:05 -0700)]
[map] Fix iter

5 years ago[algs] Fix identity return type
Behdad Esfahbod [Wed, 8 May 2019 21:59:25 +0000 (14:59 -0700)]
[algs] Fix identity return type

5 years agoWhitespace
Behdad Esfahbod [Wed, 8 May 2019 21:46:55 +0000 (14:46 -0700)]
Whitespace

5 years ago[meta] Capture rvalue-references in is_reference / remove_reference
Behdad Esfahbod [Wed, 8 May 2019 21:44:11 +0000 (14:44 -0700)]
[meta] Capture rvalue-references in is_reference / remove_reference

5 years agoMinor
Behdad Esfahbod [Wed, 8 May 2019 21:24:57 +0000 (14:24 -0700)]
Minor

5 years ago[map] tweak test-iter.cc
rsheeter [Wed, 8 May 2019 20:51:11 +0000 (13:51 -0700)]
[map] tweak test-iter.cc

5 years ago[map] add keys()
rsheeter [Wed, 8 May 2019 19:47:18 +0000 (12:47 -0700)]
[map] add keys()

5 years ago[map] add a test for iteration
rsheeter [Wed, 8 May 2019 19:09:10 +0000 (12:09 -0700)]
[map] add a test for iteration