Behdad Esfahbod
6916b77863
One more auto return type
2019-04-16 18:33:51 -04:00
Behdad Esfahbod
5b33427f2c
Rename HB_AUTO_RETURN_EXPR to HB_AUTO_RETURN
2019-04-16 18:28:17 -04:00
Behdad Esfahbod
da293b0e59
Use HB_AUTO_RETURN_EXPR in hb_min/max
2019-04-16 18:27:25 -04:00
Behdad Esfahbod
0241a40f2a
Use auto return type for hb_first/hb_second
2019-04-16 18:26:30 -04:00
Behdad Esfahbod
fe30fcd228
Use hb_deref_pointer() to reduce number of overloads
2019-04-16 17:34:06 -04:00
Behdad Esfahbod
c918a6706f
Properly prioritize hb_hash()
2019-04-16 17:28:18 -04:00
Behdad Esfahbod
75fd845a4a
Move around
2019-04-16 17:22:29 -04:00
Behdad Esfahbod
973717175d
Fix priorities
2019-04-16 16:50:07 -04:00
Behdad Esfahbod
54ece299bc
Use type aliasing for meta-functions, ie. those returning a type
2019-04-16 16:45:53 -04:00
David Corbett
1ce11b4437
Reduce LangTag from 3 language system tags to 1
2019-04-16 11:41:01 -04:00
Behdad Esfahbod
155e92f259
Reduce NullPool size
2019-04-16 11:35:09 -04:00
Behdad Esfahbod
4fc2d2d724
[meta] Flesh out hb_invoke()
2019-04-16 11:24:42 -04:00
Behdad Esfahbod
e03d9395aa
Comment
2019-04-16 11:20:16 -04:00
Behdad Esfahbod
b8e763fd71
[meta] Add hb_invoke()
2019-04-16 10:54:24 -04:00
Behdad Esfahbod
a3fcb9a370
[meta] Add HB_AUTO_RETURN_EXPR, HB_VOID_RETURN_EXPR, hb_priority, hb_has(), hb_get()
...
The first three based on range-v3.
2019-04-16 10:45:57 -04:00
Behdad Esfahbod
ff68be31bf
Add hb_void_tt<> ala std::void_t
2019-04-16 09:59:51 -04:00
Behdad Esfahbod
89fea21697
Fix copyright
2019-04-15 17:36:09 -04:00
Behdad Esfahbod
07776b6096
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.
2019-04-15 16:43:34 -04:00
Behdad Esfahbod
699de689e9
Delete default assignment operator Offset<>
2019-04-15 16:00:20 -04:00
Behdad Esfahbod
02d864aa26
Add HB_FUNCOBJ()
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1651
2019-04-15 15:39:30 -04:00
Behdad Esfahbod
38b1d0b9b2
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
2019-04-15 12:45:21 -04:00
Behdad Esfahbod
19e800c9d8
Ugh. Another try, to unbreak gcc this time!
...
Jenga.
2019-04-15 12:07:00 -04:00
Behdad Esfahbod
3a88f55c15
Move location of HB_UNUSED to make MSVC happy
2019-04-15 11:59:57 -04:00
Behdad Esfahbod
1ae265888e
Fix gcc warning
2019-04-15 11:31:40 -04:00
Behdad Esfahbod
47e538a35f
Add HB_NO_SUBSET_LAYOUT
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-04-12 22:54:15 -04:00
Behdad Esfahbod
a98e4068e7
Revert "Hide symbols in hb-iter"
...
This reverts commit 98f14c4cdb
.
Same as previous commit.
2019-04-12 22:42:44 -04:00
Behdad Esfahbod
dab92bdd46
Revert "Hide more symbols"
...
This reverts commit 2e86d50915
.
I think the setup that caused me to do this is faulty and not hiding inlines.
2019-04-12 22:39:38 -04:00
Behdad Esfahbod
98f14c4cdb
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.
2019-04-12 18:12:06 -04:00
Behdad Esfahbod
2e86d50915
Hide more symbols
...
Exposed by:
$ make -j5 CPPFLAGS="-O0" CXXFLAGS=-flto=thin LDFLAGS=-lc++ && ./check-symbols.sh
2019-04-12 18:07:42 -04:00
Behdad Esfahbod
caa20e4ef9
Hide a few more symbols
...
Exposed by:
$ make CPPFLAGS=-O0
2019-04-12 18:00:58 -04:00
Behdad Esfahbod
95df00aec1
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++
2019-04-12 17:51:14 -04:00
Behdad Esfahbod
2f4be4ba54
Add HB_NO_OPTIONS
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-04-12 16:21:58 -04:00
Behdad Esfahbod
079d2dcbb2
Add HB_NO_NAME_TABLE_AAT
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-04-12 15:00:37 -04:00
Behdad Esfahbod
60a58aa61c
Add HB_NO_OT_FONT_BITMAP
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-04-12 14:58:53 -04:00
Behdad Esfahbod
160c4d8b2d
Add HB_NO_OT_FONT_CFF
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-04-12 14:57:49 -04:00
Behdad Esfahbod
35f3b97fac
Add HB_NO_OT_SHAPE_COMPLEX_HEBREW_FALLBACK
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-04-12 10:16:12 -04:00
Behdad Esfahbod
414c5de26b
Add HB_NO_OT_SHAPE_FALLBACK
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-04-12 10:12:11 -04:00
Behdad Esfahbod
fe0018f7ef
Add HB_NO_OT_SHAPE_COMPLEX_THAI_FALLBACK
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-04-12 09:35:29 -04:00
Behdad Esfahbod
9ddbfa006d
Add HB_NO_OT_LAYOUT_BLACKLIST
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-04-12 09:33:25 -04:00
Behdad Esfahbod
571fad4cf1
Add HB_NO_OT_SHAPE_COMPLEX_VOWEL_CONSTRAINTS
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-04-11 19:42:05 -04:00
Nathan Willis
3db227265b
Update gtk-doc annotations for inout counts on various getter functions.
2019-04-12 00:00:47 +02:00
Nathan Willis
c08ddbd91b
[Docs] Minor edits to gtk-doc inline comment review.
2019-04-12 00:00:47 +02:00
Nathan Willis
af5230bce3
[Docs] Minor; fix formatting for gtk-doc multiple-annotations.
2019-04-12 00:00:47 +02:00
Nathan Willis
6c0a1e8cd6
[Docs] Annotate gtk-doc formatting with some un-annotated (out)s.
2019-04-12 00:00:47 +02:00
Nathan Willis
5122805c74
[Docs] Fix gtk-doc formatting for (out) and (inout).
2019-04-12 00:00:47 +02:00
Nathan Willis
d3178aa52a
[Docs] Fix gtk-doc references to 'kern' table functions, clarifying that GPOS is not examined.
2019-04-12 00:00:47 +02:00
Nathan Willis
3449031fad
[Docs] Add inline gtk-doc documentation of GDEF glyph classes.
2019-04-12 00:00:47 +02:00
Nathan Willis
930f6fc3da
[Docs] Add inlind gtk-doc comments for hb-ot-layout functions.
2019-04-12 00:00:47 +02:00
Behdad Esfahbod
b52c0e54b9
Use injected class name to simplify macros
2019-04-11 11:20:10 -04:00
Behdad Esfahbod
baf1e79075
[C++11] Use deleted methods
2019-04-11 11:18:04 -04:00
Behdad Esfahbod
824fd342d5
Rename a few macros
2019-04-11 11:16:01 -04:00
Behdad Esfahbod
edfc6be4a0
[arabic] Disable fallback shaping if HB_NO_OT_SHAPE_COMPLEX_ARABIC_FALLBACK defined
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-04-10 16:10:54 -04:00
Behdad Esfahbod
4d31662b5d
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
2019-04-10 15:40:55 -04:00
Behdad Esfahbod
b111b3de02
Don't use any default unicode funcs if HB_NO_UNICODE_FUNCS is defined
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
2019-04-10 15:39:48 -04:00
Behdad Esfahbod
c5509be93a
[coretext] Fix unused-variable error
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1659
2019-04-08 14:50:58 -04:00
Maks Naumov
4c19aa2620
Fix MSVC C4068 warning ( #1656 )
2019-04-05 11:46:27 -07:00
Maks Naumov
a96d003d6e
Fix MSVC C4138 warning ( #1657 )
2019-04-05 02:29:56 -07:00
Behdad Esfahbod
c68eb7002f
Minor
2019-04-03 16:24:12 -07:00
Behdad Esfahbod
85adf4ad5c
[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
2019-04-03 16:07:36 -07:00
Behdad Esfahbod
ecabdffc61
[algs] Add hb_min() and hb_max()
2019-04-03 16:06:34 -07:00
Behdad Esfahbod
7b863142ce
[serialize] Make putting breakpoint on out-of-memory easier
2019-04-03 15:48:27 -07:00
Behdad Esfahbod
2bd2750234
[iter] Tweak SFINAE again
...
Don't think we need hb_is_same().
2019-04-03 15:31:53 -07:00
Behdad Esfahbod
f02ebc89ec
[array] Add compy assignment operator since copy constructor is explicit
2019-04-03 15:23:06 -07:00
Behdad Esfahbod
20a73da2c9
[array] Add default copy constructor
...
MSVC seems to need it.
2019-04-03 14:32:15 -07:00
Behdad Esfahbod
d419a9a437
[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.
2019-04-03 14:18:19 -07:00
Behdad Esfahbod
2778df7972
[meta] Add hb_is_same()
2019-04-03 14:15:01 -07:00
Behdad Esfahbod
6215fb8e68
[serialize] Actually reclaim storage from duplicate objects
2019-04-02 23:10:03 -07:00
Behdad Esfahbod
3305a2cad2
[serialize] Port to use object pool
...
Tested, but feels fragile :(.
2019-04-02 22:58:49 -07:00
Behdad Esfahbod
5efbc01174
[pool] Uses memset() instead of assigning Null()
...
Assignment is invalid on invalid object.
2019-04-02 22:41:06 -07:00
Behdad Esfahbod
434d78bf91
Add hb_pool_t<> for pooled memory allocation
2019-04-02 21:46:40 -07:00
Behdad Esfahbod
8e4df1a152
[serialize] Disable packed_map again
...
Ugh. Need to think of something else.
2019-04-02 20:20:53 -07:00
Behdad Esfahbod
31c1a83899
[map] Protect more against pointer deref
2019-04-02 20:17:27 -07:00
Behdad Esfahbod
5bffa9e375
More
2019-04-02 20:13:16 -07:00
Behdad Esfahbod
5b66b033fd
[serialize] Fix hb_hashmap_t<> for pointers and use in packed_map
2019-04-02 19:30:22 -07:00
Behdad Esfahbod
42ab32cbba
[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.
2019-04-02 18:42:51 -07:00
Behdad Esfahbod
d0da547b37
[array] Use dagger for hashing array
...
Also switch to better mixing.
2019-04-02 18:23:05 -07:00
Behdad Esfahbod
b6f29bf141
[iter] Accept pointers in hb_iter()
...
No idea how to avoid dupicating code. Was hoping hb_deref_pointer()
would do it, but looks like a pointer can't bind to a universal
reference T&&. Humm.
2019-04-02 18:12:01 -07:00
Behdad Esfahbod
fc24bb9046
[serialize] Towards maintaining packed_map
2019-04-02 17:49:52 -07:00
Behdad Esfahbod
aa2293a55e
[serialize] Minor
2019-04-02 17:42:10 -07:00
Behdad Esfahbod
e42b82c828
[serialize] Handle non-nullable offsets
2019-04-02 17:23:16 -07:00
Behdad Esfahbod
e04518bafc
[serialize] Movce empty-object handling earlier
2019-04-02 17:20:04 -07:00
Behdad Esfahbod
7f73c9744e
[serialize] Minor
2019-04-02 17:12:24 -07:00
Behdad Esfahbod
5a3de4f4f8
[serialize] Allow offset links that have base offset from the object base
...
Rarely used, but used, in name table or similar constructs.
2019-04-02 16:53:42 -07:00
Ebrahim Byagowi
edad6b2c45
[test][iter] minor, fix double promotion warning
2019-04-03 00:48:59 +04:30
Ebrahim Byagowi
062f5d6e7a
[test] minor, c style comments
2019-04-02 20:27:00 +04:30
Ebrahim Byagowi
afdbf960d6
[iter][test] Add another test for hb_reduce
...
Different initial and accumulator types
2019-04-02 20:25:06 +04:30
Behdad Esfahbod
bfa02bef45
[serialize] Switch to tetris-packing
2019-04-01 21:36:13 -07:00
Behdad Esfahbod
f0ea3ac17b
[serialize] Fix linking
2019-04-01 21:36:03 -07:00
Behdad Esfahbod
7c0e2054e0
[serialize] Minor
2019-04-01 21:32:29 -07:00
Behdad Esfahbod
64d0f08938
[cmap] Minor
2019-04-01 16:56:41 -07:00
Behdad Esfahbod
2e675cc7b5
[subset] Call serialize start/end around it
...
To be cleaned up.
2019-04-01 16:56:41 -07:00
Behdad Esfahbod
abe33c6149
[serialize] Assert stack
2019-04-01 16:56:41 -07:00
Behdad Esfahbod
72e9b2c16c
[serialize] Add add_link() to add link
2019-04-01 16:56:41 -07:00
Behdad Esfahbod
74addbecac
[serialize] Add default template type to push()
2019-04-01 16:56:41 -07:00
Ebrahim Byagowi
b8642087e6
[iter] hb_reduce, accumulator with a different type
2019-04-01 16:56:29 -07:00
Ebrahim Byagowi
e526414c75
[iter] Implement hb_reduce
2019-04-01 16:56:29 -07:00
Behdad Esfahbod
f3aca6aa26
[serialize] Implement linking
...
Untested!
2019-03-31 21:37:14 -07:00
Behdad Esfahbod
17f0cfa7ea
Move BEInt to hb.hh
...
I knows...
2019-03-31 21:34:19 -07:00
Behdad Esfahbod
78fc43f293
[iter] Fix up build, ouch
...
Yeah, some things not very clear...
2019-03-31 19:17:07 -07:00
Jonathan Kew
e5d6fe9782
Don't skip setting the .end field of the first range
...
Fixes a bug in CoverageFormat2::serialize whereby the first range
was not serialized correctly if it consists of only a single glyph ID.
This broke shaping of U+0626 in the Arabic fallback shaper, because it
is not found in the coverage table of the 'init' and 'medi' lookups.
Also fix similar bug in ClassDefFormat2::serialize, noted during code
inspection (I haven't observed a case that was actually affected by
this, but it looks broken).
Fixes https://github.com/harfbuzz/harfbuzz/issues/1504
2019-03-31 19:02:47 -07:00
Behdad Esfahbod
8a8d45b924
[iter] Adjust hb_copy() and use it
...
Untested.
2019-03-31 19:00:09 -07:00
Ebrahim Byagowi
ba4b7be455
Remove coretext_aat shaper ( #1581 )
...
coretext_aat was a temporary shaper to redirect shaping of AAT fonts
to CoreText and leaving the rest for HarfBuzz. As HarfBuzz now supports
AAT and Chrome now actually ships that on a stable version on macOS,
we no longer care about such use-case. If a client really wants 100%
metrics compatibility with CoreText better to use it directly or through
our API. Replicating the same behavior still is possible using
hb_shape_full, something we don't care or like to offer anymore.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1478
2019-03-31 01:32:30 -07:00
Behdad Esfahbod
d6005b49b3
[serialize] Start implementing linking
2019-03-30 19:49:56 -07:00
Behdad Esfahbod
313b3057c3
[serializer] Implement dedup!
2019-03-30 19:46:35 -07:00
Behdad Esfahbod
b189bbc48f
Implement hashing of objects
...
Should be improved for hb_bytes_t.
2019-03-30 19:41:48 -07:00
Behdad Esfahbod
d6b28057a5
Fix hb_hash(pointer)
2019-03-30 19:31:51 -07:00
Behdad Esfahbod
d74dc3ef65
[serialize] Don't insert empty object into tree
2019-03-30 19:26:37 -07:00
Behdad Esfahbod
7fd8228326
[serialize] Towards maintaining hashmap
2019-03-30 19:16:20 -07:00
Behdad Esfahbod
f254f45a1e
[serialize] Only pack main object if there are other objects
...
Avoids a memmove for tables that don't use the object packing mechanism.
2019-03-30 19:05:51 -07:00
Behdad Esfahbod
946d446f9b
[serialize] Copy both sides of the buffer
2019-03-30 19:03:55 -07:00
Behdad Esfahbod
8512dc565d
[serialize] Simplify copy
2019-03-30 19:01:23 -07:00
Behdad Esfahbod
0b1fe7b716
[serializer] Unbreak for now
2019-03-30 18:48:26 -07:00
Behdad Esfahbod
10f062234e
[map] Shuffle fini code
2019-03-30 18:44:01 -07:00
Behdad Esfahbod
e6b78003ef
[vector] Add move semantics
2019-03-30 18:33:30 -07:00
Behdad Esfahbod
4c4d3c3ed5
[vector] Add some move and forwarding
2019-03-30 18:30:50 -07:00
Behdad Esfahbod
7c9ceabcef
[meta] Add hb_move and hb_forward ala std::
2019-03-30 18:23:24 -07:00
Behdad Esfahbod
9a19b885f9
[serialize] Flesh out packing
2019-03-30 18:14:30 -07:00
Behdad Esfahbod
357c7c611c
[vector] Add copy constructor and assignment operator
2019-03-30 18:13:57 -07:00
Behdad Esfahbod
6f69c9d26f
[serialize] Minor
2019-03-30 18:00:03 -07:00
Behdad Esfahbod
a43290192b
[serialize] Add packed_map
2019-03-30 17:57:33 -07:00
Behdad Esfahbod
bed150bd2e
[serialize] Start fleshing out object stack
2019-03-30 17:43:43 -07:00
Behdad Esfahbod
63c3565189
[serialize] Simplify propagate_error()
2019-03-30 17:12:40 -07:00
Behdad Esfahbod
dbe9ba6711
[serialize] Add object_t, link_t, and snapshot_t
2019-03-30 17:10:59 -07:00
Behdad Esfahbod
38d57b9a66
[map] Add another TODO item
2019-03-30 16:38:06 -07:00
Behdad Esfahbod
7fd940f899
[map] Add TODO
2019-03-30 16:29:19 -07:00
Behdad Esfahbod
6dcf7c4017
[serialize] Add unused 'tail'
2019-03-30 15:08:39 -07:00
Behdad Esfahbod
fe05e48086
[serialize] Add ran_out_of_room
2019-03-30 15:06:25 -07:00
Behdad Esfahbod
a7c63cd8f8
Split sanitize and dispatch into their own files
2019-03-30 14:59:40 -07:00
Behdad Esfahbod
be66b575fc
Move serializer to hb-serialize.hh
2019-03-30 14:53:54 -07:00
Behdad Esfahbod
bb22462f29
Whitespace
2019-03-30 14:46:54 -07:00
Behdad Esfahbod
ef33b5d1f6
[map] Deref pointers before equality check
2019-03-30 14:39:21 -07:00
Behdad Esfahbod
c98f51da71
[map] Templatize hb_map_t
...
Template name is hb_hashmap_t<K,V>.
2019-03-30 14:32:52 -07:00
Behdad Esfahbod
4b7f4dbc0c
Add hb_deref_pointer()
2019-03-30 13:48:32 -07:00
Behdad Esfahbod
e530692799
[iter] Fix bug in hb_any() and hb_none()
2019-03-29 23:31:39 -07:00
Behdad Esfahbod
f505b5d5c9
[iter] Port remaining "for (auto" instances to daggers
2019-03-29 22:55:02 -07:00
Behdad Esfahbod
668d2d562f
[iter] One more dagger
2019-03-29 22:48:38 -07:00
Behdad Esfahbod
d51452500f
[iter] Remove more wrong &&'s
...
Sigh...
2019-03-29 22:48:12 -07:00
Behdad Esfahbod
05f2130a1c
[iter] More daggers
2019-03-29 22:43:12 -07:00
Behdad Esfahbod
22ec4c3aa5
[iter] More daggers
2019-03-29 22:29:00 -07:00
Behdad Esfahbod
688069bbfb
[iter] One more dagger
2019-03-29 22:17:31 -07:00
Behdad Esfahbod
90b60bd690
Remove HB_DEBUG_WOULD_APPLY
...
Not that useful.
2019-03-29 22:12:42 -07:00
Behdad Esfahbod
4d28267e59
[iter] Port more to daggers
2019-03-29 22:04:15 -07:00
Behdad Esfahbod
9d8c72042b
Whitespace
2019-03-29 21:59:28 -07:00
Behdad Esfahbod
418e9d07e2
Simplify code
2019-03-29 21:57:26 -07:00
Behdad Esfahbod
f5ef8a7347
[iter] Port one more function to dagger
2019-03-29 21:57:17 -07:00
Behdad Esfahbod
bcab098c8f
[iter] Port more code to daggers
2019-03-29 21:49:18 -07:00
Behdad Esfahbod
4c75158e18
[iter] Port two more functions to daggers
2019-03-29 21:46:13 -07:00
Behdad Esfahbod
e70ccbe9ed
Fix pair signature
...
Oh well. Again, who does fully understand what is right???
2019-03-29 21:45:49 -07:00
Behdad Esfahbod
6237b47f0c
[iter] Add hb_unzip()
2019-03-29 21:36:49 -07:00
Behdad Esfahbod
f1dad91eb3
Whitespace
2019-03-29 21:17:08 -07:00
Behdad Esfahbod
896b31670d
[iter] Port two more loops to dagger
2019-03-29 21:16:30 -07:00
Behdad Esfahbod
8e34cb251a
[iter] Remove unneeded &&
...
Next commit needs this. I never fully get this, sigh.
2019-03-29 21:14:20 -07:00
Behdad Esfahbod
12a4c0441f
Whitespace
2019-03-29 21:06:10 -07:00
Behdad Esfahbod
4c38a9f601
Remove hb_assign()
...
Not needed anymore. We just use operator= now.
2019-03-29 20:23:07 -07:00
Behdad Esfahbod
b986c6a321
[C++11] Remove IntType::set() in favor of operator=
2019-03-29 20:21:21 -07:00
Behdad Esfahbod
58ad357951
[vector] Accept all types in push(...)
...
Let assignment operator worry about conversion.
2019-03-29 20:05:19 -07:00
Behdad Esfahbod
489faf826c
[C++11] Use type aliases for template partial instantiations
2019-03-29 20:01:37 -07:00
Behdad Esfahbod
4fd02f6ee5
Remove unused line
2019-03-29 17:58:23 -07:00
Behdad Esfahbod
9a5b15dc1e
[C++11] Replace BEInt.set() with operator=
2019-03-29 17:58:19 -07:00
Behdad Esfahbod
0aa59b1de3
[C++11] Add operator= to IntType<>
...
Now that we require C++11 we can do this.
2019-03-29 17:58:15 -07:00
Behdad Esfahbod
eca466e6b1
Err. Fixup C++11 polyfill removal
...
Fixes 1d75db19fb
2019-03-29 15:59:04 -07:00
Behdad Esfahbod
3f36c89f2e
Inline explicit_operator macro
...
Now that we require C++11, no need to macro.
2019-03-29 15:22:46 -07:00
Behdad Esfahbod
1d75db19fb
Remove C++<11 polyfill
...
Leaving hb-atomic.hh as is since harmless and other projects might
copy from that file.
2019-03-29 15:20:34 -07:00
Behdad Esfahbod
8e7887ca5f
Merge branch 'master' into iter
2019-03-29 14:37:04 -07:00
Ebrahim Byagowi
b292772e6e
[dwrite] A new API, hb_directwrite_face_get_font_face ( #1600 )
...
Can be useful when using HarfBuzz for font loading and shaping
but using DirectWrite for rendering.
2019-03-29 13:00:56 -07:00
Behdad Esfahbod
59f36f3682
Replace REPLACEME's left out of 2.4.0
...
https://github.com/harfbuzz/harfbuzz/issues/1641
2019-03-29 10:55:12 -07:00
Behdad Esfahbod
443db2a246
[iter] Remove hb_len()
...
Not planning on using it. So remove. Can add later if needed.
2019-03-29 10:47:13 -07:00
Behdad Esfahbod
bdd5a9c48d
Add hb_hash()
...
I don't like the hb_remove_reference() hack, but necessary.
2019-03-28 21:58:07 -07:00
Behdad Esfahbod
343e6063dc
Add hb_is_integer(T)
2019-03-28 21:44:12 -07:00
Behdad Esfahbod
f639b9a8ea
[iter] Add hb_len() function-object
2019-03-28 21:34:47 -07:00
Behdad Esfahbod
a030ce4ff8
Merge branch 'master' into iter
2019-03-28 21:26:50 -07:00
Behdad Esfahbod
d6fc1d49aa
2.4.0
2019-03-28 21:21:26 -07:00
Behdad Esfahbod
d2db71fdc4
Use internal bsearch() for language tags
...
Fixes https://github.com/harfbuzz/harfbuzz/pull/1639
2019-03-28 21:04:34 -07:00
Behdad Esfahbod
21bb80ebf2
[indic] Add back medial-consonant to grammar
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1592
2019-03-28 20:50:04 -07:00
Behdad Esfahbod
5ab6de7a6f
[khmer] Add trailing Coeng to syllable grammar
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1541
2019-03-28 20:23:12 -07:00
Behdad Esfahbod
160b4a2b01
Fix shell syntax error
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1612
2019-03-28 13:44:59 -07:00
Behdad Esfahbod
8665b9b0a2
Comment
2019-03-28 13:44:59 -07:00
punchcutter
a7eed7e41d
Override USE category for Grantha and Tirhuta visargas to allow marks
2019-03-28 13:31:45 -07:00
Egor Pugin
cf040c0fef
Disable unwanted C++ definitions for MSVC.
...
MSVC does not set __cplusplus to the latest standard and also it does not like redefining some keywords.
2019-03-28 11:10:42 -07:00
Behdad Esfahbod
ec2a5dc859
Use class templates for Null objects
...
This allows partial-instantiating custom Null object for template Lookup<T>.
Before, this had to be handcoded per instantiation. Apparently I missed
adding one for AAT::ankr.lookupTable, so it was getting the wrong (generic)
null for Lookup object, which is wrong and unsafe.
Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=944346
2019-03-26 16:23:40 -07:00
Behdad Esfahbod
96f1237794
[aat] Add missing check to ankr table
...
Isn't absolutely needed. But helps.
2019-03-26 16:17:45 -07:00
Qunxin Liu
2d9034491e
completely remove lines that are commented out
2019-03-26 13:39:33 -07:00
Qunxin Liu
3147133b61
update arguments in_populate_gids_to_retain() and _create_old_gid_to_new_gid_map()
...
so they don't use deprecated variable
2019-03-26 13:39:33 -07:00
Qunxin Liu
79a6c25849
try to remove deprecated variable from struct definition
2019-03-26 13:39:33 -07:00
Michiharu Ariza
bcb4e505d6
cff2 subset fuzzer issues ( #1619 )
...
* add check to FDArray::serialize
* add test files
* fix off by one
2019-03-15 13:46:25 -07:00
Ebrahim Byagowi
8aaab78efc
Allow zero length ranges in sanitization ( #1617 )
...
Fixes fvar table sanitization where there are no named instance
by allowing zero length ranges starting from Null() address.
Fixes #1607
2019-03-14 16:49:42 -07:00
David Corbett
7de9f92ee9
Categorize U+09FC as Consonant_Placeholder
2019-03-13 12:59:56 -07:00
Behdad Esfahbod
e52ec3fc23
Remove redundant hb_ot_layout_lookup_would_substitute_fast
2019-03-11 18:09:51 -07:00
Khaled Hosny
c2442c90d6
[doc] Add placeholder since version for new flag
2019-03-12 01:10:52 +02:00
David Corbett
8c42f03215
Remove obsolete overrides from Indic/USE scripts
2019-03-11 16:07:52 -07:00
Eric Muller
b38bab8622
Update generation code for hb-ot-shape-complex-vowel-constraints.cc. Remove 'unlikely'
2019-03-11 16:06:41 -07:00
Eric Muller
44a67ddeb8
Fix coding style.
2019-03-11 16:06:41 -07:00
Eric Muller
30d7c40f8c
Add a flag to hb_buffer_t to prevent the insertion of dotted circles on incorrect character sequences.
...
Current behavior unchanged if this flag is not set (and it isn't by default).
2019-03-11 16:06:41 -07:00
David Corbett
e723c04de1
Update to Unicode 12.0.0
2019-03-07 10:15:31 -08:00
Adrian Wong
2f125b0fa7
[indic] Remove superfluous ZWNJ check in final reorder of pre-base matras
2019-03-05 16:41:49 -08:00
Stephan Bergmann
d936ad4582
Fix hb_atomic_* variants based on C++11 atomics
...
I stumbled over this when trying to upgrade the version of HarfBuzz used by
LibreOffice to 3.2.1 (see <https://gerrit.libreoffice.org/plugins/gitiles/core/
+/b7ddc514bff9bdf682abae537f990aa01dc2c0fb%5E!/> "Upgrade to latest
HarfBuzz 2.3.1"), where building with MSVC 2017 failed like
> c:\cygwin\home\tdf\lode\jenkins\workspace\gerrit_windows\workdir\unpackedtarball\harfbuzz\src\hb-atomic.hh(272): error C2440: 'reinterpret_cast': cannot convert from 'const int *' to 'std::atomic<int> *'
> c:\cygwin\home\tdf\lode\jenkins\workspace\gerrit_windows\workdir\unpackedtarball\harfbuzz\src\hb-atomic.hh(272): note: Conversion loses qualifiers
> c:\cygwin\home\tdf\lode\jenkins\workspace\gerrit_windows\workdir\unpackedtarball\harfbuzz\src\hb-atomic.hh(272): error C2227: left of '->load' must point to class/struct/union/generic type
(see <https://ci.libreoffice.org/job/gerrit_windows/29916/ >).
I added all the necessary "const" to make building of HarfBuzz 2.3.1 with
MSVC 2017 succeed for me. There may be more missing at least conceptually.
2019-03-05 12:11:32 -08:00
Martin Hosken
731b13e4e9
Fix offset drift in graphite integration
2019-03-03 22:10:46 -08:00
Garret Rieger
4f37ab63de
Make hb_subset_input_glyph_set () actually do something.
2019-03-01 10:49:46 -08:00
Ebrahim Byagowi
45149eb34f
[dwrite] hb_directwrite_face_create, a new API
...
It makes a hb_face_t from IDWriteFontFace, useful when using
DirectWrite facilities for font selection, loading and rendering
but using harfbuzz for shaping.
2019-02-26 15:42:38 -08:00
David Corbett
45adc18526
Fix or document unsupported font-feature-settings
2019-02-25 17:48:16 -05:00
Michiharu Ariza
93739242e1
minor edit
2019-02-20 13:23:12 -08:00
Michiharu Ariza
eebc21c8de
fix crash in hb_map_t::clear()
...
in case called immediately after init()
2019-02-20 12:43:18 -08:00
Evgeniy Reizner
d29c8424c8
Typo ( #1588 )
...
Fixed a small typo.
[skip ci]
2019-02-19 20:05:00 +03:30
Khaled Hosny
6bd4c082e4
[doc] Document hb_feature_from_string() syntax
...
Copied and edited from the util option documentation. The docbook table
syntax is too verbose, but that is the best I can come up with.
2019-02-18 17:00:44 -08:00
Behdad Esfahbod
11456b2d9c
WHitespace
2019-02-15 16:58:43 -08:00
Behdad Esfahbod
77060bcda2
[iter] Add hb_all, hb_any, hb_none
2019-02-15 16:55:08 -08:00
Behdad Esfahbod
72dd5e34e0
[iter] Make hb_iter() into function-object
2019-02-15 16:15:50 -08:00
Behdad Esfahbod
98be7bd77a
[iter] Make hb_map into function-object
2019-02-15 16:09:29 -08:00
Behdad Esfahbod
c1e5ba81fe
Merge remote-tracking branch 'origin/master' into iter
2019-02-15 16:06:03 -08:00
Behdad Esfahbod
b8b3b3e38b
[iter] Add hb_enumerate() and use it
2019-02-15 16:05:36 -08:00
Behdad Esfahbod
3da79dd5b9
Merge pull request #1557 from harfbuzz/cff-more-arrayof-fixes
...
CFF more arrayof fixes
2019-02-15 15:54:51 -08:00
Michiharu Ariza
d8a68728a0
Merge branch 'master' into cff-more-arrayof-fixes
2019-02-15 14:48:10 -08:00
Michiharu Ariza
90c8bbf987
Merge branch 'master' into cff-retain-gids
2019-02-15 14:47:38 -08:00
Martin
5c2bb1de8d
Support xlclang++ on AIX. ( #1584 )
2019-02-15 21:53:46 +03:30
Behdad Esfahbod
1558a43342
[test] Minor
2019-02-14 20:46:13 -08:00
Behdad Esfahbod
fa373584de
[algs] Test pair more
2019-02-14 20:15:07 -08:00
Behdad Esfahbod
0d7af5fb02
[algs] Use universal references for hb_pair()
...
Such that it carries lvalues inside.
2019-02-14 19:37:57 -08:00
Behdad Esfahbod
5b99c92d4c
[iter] Use more
2019-02-14 17:10:04 -08:00
Behdad Esfahbod
72c1b59588
[iter] Use in more places
2019-02-14 15:43:20 -08:00
Behdad Esfahbod
40cce41eae
[iter] Use in a couple more intersects() calls
2019-02-14 15:14:37 -08:00
Behdad Esfahbod
bafdf1829d
[iter] Use in a couple more closure() calls
2019-02-14 15:13:16 -08:00
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
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
Michiharu Ariza
1cb1d5d7fb
Merge branch 'master' into cff-more-arrayof-fixes
2019-02-14 10:09:19 -08:00
Michiharu Ariza
6f1dfd082c
Merge branch 'master' into cff-retain-gids
2019-02-14 10:08:16 -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
Michiharu Ariza
8a568a8858
Merge branch 'master' into cff-more-arrayof-fixes
2019-02-13 11:25:00 -08:00
Michiharu Ariza
b1dbc77fa6
Merge branch 'master' into cff-retain-gids
2019-02-13 11:24:38 -08:00
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
Michiharu Ariza
bc33c617b8
Merge branch 'master' into cff-retain-gids
2019-02-12 15:10:50 -08:00
Michiharu Ariza
c6af846178
tweaked --desubroutinize to remove hintmask only subrs
2019-02-12 15:10:43 -08:00
Michiharu Ariza
c83412e4ce
Merge branch 'master' into cff-more-arrayof-fixes
2019-02-11 14:16:25 -08:00
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
Michiharu Ariza
e2856c2d85
retain FDSelect & FDArray with --retain-gids
...
so in sync with fonttools behavior
2019-02-07 15:32:32 -08:00
Michiharu Ariza
1239b6b2b4
Merge branch 'master' into cff-more-arrayof-fixes
2019-02-07 10:29:40 -08:00
Michiharu Ariza
a5fa76977b
Merge branch 'master' into cff-retain-gids
2019-02-07 10:28:13 -08:00