|
b2a1accc
|
2020-06-18T16:41:31
|
|
Simplify get_glyph_alternates() dispatcher
Trying to make it **very simple** to add a specialized dispatcher for
one API to be routed to just a few objects (one in this case).
|
|
ffe8d3f3
|
2020-06-18T16:31:39
|
|
Use dispatch for get_glyph_alternates_t
First time we do this in a way that if target object doesn't have the matching
function we basically "ignore". Risky but I feel like is the right decision
for this case.
I'm going to put back the template varargs and use those, which would make
the dispatcher be just that: "dispatcher", and wouldn't need to carry the
call context. That would be a refreshing change I think.
|
|
bedf4171
|
2020-06-18T15:49:01
|
|
Push get_glyph_alternates() work all the way down
|
|
1bac8582
|
2020-06-18T22:56:07
|
|
[layout] Rename _get_alternates to _get_glyph_alternates
|
|
d3c16979
|
2020-06-18T08:37:21
|
|
[layout] move alternate buffer iteration logic to AlternateSet
|
|
1348a2c8
|
2020-06-16T21:05:16
|
|
[layout] hb_ot_layout_lookup_get_alternates, a new API
An API to retrieve one-to-one alternates from a given GSUB lookup index.
|
|
41ef75f6
|
2020-06-17T16:29:09
|
|
[gsub] Don't substitute in ReverseChainSingleSubstFormat1 if missing substitute
Fixes https://github.com/harfbuzz/harfbuzz/issues/2467
|
|
973c47f6
|
2020-06-11T11:27:57
|
|
[subset] Move 2 experimental public api methods to be private methods in GSUB/GPOS.
2 methods are: hb_ot_layout_closure_lookups and hb_ot_layout_closure_features
|
|
56719474
|
2020-06-05T12:57:23
|
|
s/blacklist/blocklist/g
|
|
5cf53c06
|
2020-04-23T10:55:41
|
|
Rename add_coverage to collect_coverage
|
|
188a0a47
|
2020-03-07T11:02:36
|
|
removed default base; replaced w/ bias if required
|
|
07504569
|
2020-02-21T13:05:44
|
|
[gsub] minor format
|
|
41122542
|
2020-02-20T13:43:06
|
|
Fix glyph closure for alternate substitution.
It was not filtering on the glyphs to be retained.
|
|
72cbfb90
|
2020-01-18T16:35:52
|
|
remove empty lookup subtables
Added a variant of subset_offset_array which takes an extra arg passed to serialize_subset for this impl.
Added a new api test "test-subset-gpos" for this.
|
|
e565d1f9
|
2019-11-01T10:21:36
|
|
[subset] subset lookup/feature/script lists for GSUB/GPOS
|
|
0b39c480
|
2019-10-22T16:00:43
|
|
[subset] closure lookups for GSUB/GPOS
|
|
a061e47f
|
2019-12-10T13:31:50
|
|
Change a few HB_INTERNAL static methods to static inline
|
|
dd3972a3
|
2019-12-10T13:21:26
|
|
[GSUB] Simplify Extension is_reverse()
We don't allow extension lookups to chain to another extension lookup.
Simplify code for that.
|
|
858b6279
|
2019-12-10T13:18:32
|
|
[machinery] Remove CastR<>()
|
|
e17e7443
|
2019-10-09T11:45:42
|
|
Convert existing uses of serialize_append in gsub subsetting to use subset_offset_array.
|
|
36f18cec
|
2019-10-07T14:02:31
|
|
Add subset_offset_array helper function which simplifies subsetting offset arrays during stream operations.
|
|
d512087e
|
2019-09-14T10:36:29
|
|
Rename GlyphID to HBGlyphID
Avoid collision with macOS's ATSUnicodeTypes.h GlyphID
|
|
38f95baf
|
2019-08-29T13:40:46
|
|
[subset] in SingleSubst subsetting, check for substitute in glyphset
That matches what fonttools does and allows for specifying exact
glyphset for subset.
|
|
49902964
|
2019-08-29T15:09:39
|
|
[gsub] Fix clang's semicolon complains
|
|
dc9222b1
|
2019-08-28T15:38:46
|
|
[subset] Implement AlternateSubst subsetting
|
|
23681b6d
|
2019-08-28T15:30:37
|
|
Minor
|
|
33c8e230
|
2019-08-28T15:25:55
|
|
[subset] Implement MultipleSubst subsetting
|
|
5c43a7ba
|
2019-08-28T15:09:58
|
|
[GSUB] Use dagger in Ligature::intersects()
|
|
b8c642c1
|
2019-08-28T15:06:45
|
|
Minor
|
|
bc5ef765
|
2019-08-28T14:51:28
|
|
[subset] Subset ligature substitutes!
Test with:
$ ./hb-subset -o out.ttf NotoSansArabic-Regular.ttf --drop-tables= سلام && ./hb-view out.ttf سلام
|
|
0a18efd7
|
2019-07-26T14:34:26
|
|
Minor
|
|
7dcf8e12
|
2019-06-26T13:44:10
|
|
[config] Fix build with HB_NO_OT_LAYOUT
|
|
2ad4ba7b
|
2019-05-31T15:48:54
|
|
[gsub] Minor
|
|
2dbdec66
|
2019-05-31T15:38:11
|
|
[gsub] Porting serialize to iterators
|
|
0af9de13
|
2019-05-20T15:04:20
|
|
[subset] For gsub subsetting only consider glyphs reachable via gsub closure.
|
|
bcd3ffc9
|
2019-05-16T13:22:09
|
|
Whitespace
|
|
05bc5f96
|
2019-05-16T13:05:58
|
|
[subset] Remove extra iteration
|
|
23768676
|
2019-05-15T21:57:26
|
|
Use hb_map(hb_add(this)) to dereference OffsetTo<>'s
|
|
d214b078
|
2019-05-15T19:07:39
|
|
Fix clang build
Ugh.
In file included from hb-ot-face.cc:41:
./hb-ot-layout-gsub-table.hh:293:7: error: template parameter redefines default argument
hb_requires (hb_is_sorted_source_of (Iterator,
^
./hb-meta.hh:59:27: note: expanded from macro 'hb_requires'
define hb_requires(Cond) hb_enable_if((Cond))
^
./hb-meta.hh:57:67: note: expanded from macro 'hb_enable_if'
define hb_enable_if(Cond) typename hb_enable_if<(Cond)>::type* = nullptr
^
./hb-ot-layout-gsub-table.hh:40:5: note: previous default template argument defined here
hb_requires (hb_is_sorted_source_of (Iterator,
^
./hb-meta.hh:59:27: note: expanded from macro 'hb_requires'
define hb_requires(Cond) hb_enable_if((Cond))
^
./hb-meta.hh:57:67: note: expanded from macro 'hb_enable_if'
define hb_enable_if(Cond) typename hb_enable_if<(Cond)>::type* = nullptr
^
|
|
371b55c7
|
2019-05-15T18:54:07
|
|
Fix clang build
In file included from hb-ot-face.cc:41:
./hb-ot-layout-gsub-table.hh:293:7: error: template parameter redefines default argument
hb_requires (hb_is_sorted_source_of (Iterator,
^
./hb-meta.hh:59:27: note: expanded from macro 'hb_requires'
define hb_requires(Cond) hb_enable_if((Cond))
^
./hb-meta.hh:57:67: note: expanded from macro 'hb_enable_if'
define hb_enable_if(Cond) typename hb_enable_if<(Cond)>::type* = nullptr
^
./hb-ot-layout-gsub-table.hh:40:5: note: previous default template argument defined here
hb_requires (hb_is_sorted_source_of (Iterator,
^
./hb-meta.hh:59:27: note: expanded from macro 'hb_requires'
define hb_requires(Cond) hb_enable_if((Cond))
^
./hb-meta.hh:57:67: note: expanded from macro 'hb_enable_if'
define hb_enable_if(Cond) typename hb_enable_if<(Cond)>::type* = nullptr
^
1 error generated.
|
|
f92d188d
|
2019-05-15T18:52:57
|
|
Whitespace
|
|
962f95cf
|
2019-05-09T13:04:11
|
|
[subset] Switch SingleSubst to use iterators in serialize.
|
|
78d35f0e
|
2019-05-15T18:15:05
|
|
Reduce captures of lambdas
|
|
d0df996c
|
2019-05-15T00:32:41
|
|
Use implicit lambda return type
|
|
7df3ecfb
|
2019-05-10T20:43:26
|
|
[meta] hb_void_t -> hb_empty_t
|
|
83e3eabd
|
2019-05-07T20:58:43
|
|
Whitespace
|
|
41248cce
|
2019-05-07T20:54:31
|
|
Remove MIN/MAX in favor of hb_min/hb_max
|
|
36bb24f7
|
2019-05-05T10:14:17
|
|
[dispatch] Forward arguments in all dispatch multiplexers
|
|
b10f6593
|
2019-05-05T09:23:35
|
|
[dispatch] Use functionality from previous commit
To remove a couple of unwanted wrapper methods
|
|
88a41472
|
2019-05-02T14:22:31
|
|
[serializer] Accept exact type in serialize_subset/copy()
|
|
92588782
|
2019-04-30T13:05:10
|
|
Remove space between right angle brackets now that we have C++11 (#1689)
|
|
42526d16
|
2019-04-24T10:24:33
|
|
[serialize] Fix SingleSubstFormat1 failure
|
|
915b9ea5
|
2019-04-24T10:07:19
|
|
[serialize] Add c->check_assign()
To check for assignment overflows.
|
|
00a00bc1
|
2019-04-24T10:01:30
|
|
Fix two TODOs
|
|
95df00ae
|
2019-04-12T17:50:03
|
|
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++
|
|
688069bb
|
2019-03-29T22:17:31
|
|
[iter] One more dagger
|
|
90b60bd6
|
2019-03-29T22:12:42
|
|
Remove HB_DEBUG_WOULD_APPLY
Not that useful.
|
|
4d28267e
|
2019-03-29T22:04:15
|
|
[iter] Port more to daggers
|
|
418e9d07
|
2019-03-29T21:57:26
|
|
Simplify code
|
|
bcab098c
|
2019-03-29T21:49:18
|
|
[iter] Port more code to daggers
|
|
4c75158e
|
2019-03-29T21:46:13
|
|
[iter] Port two more functions to daggers
|
|
f1dad91e
|
2019-03-29T21:17:08
|
|
Whitespace
|
|
896b3167
|
2019-03-29T21:16:30
|
|
[iter] Port two more loops to dagger
|
|
12a4c044
|
2019-03-29T21:06:10
|
|
Whitespace
|
|
b986c6a3
|
2019-03-29T20:17:46
|
|
[C++11] Remove IntType::set() in favor of operator=
|
|
f4cfd6b6
|
2019-02-14T13:45:52
|
|
[iter] A couple more hb_apply() + lambda uses
|
|
7514a49f
|
2019-02-14T13:16:33
|
|
[iter] Use hb_apply() with lambda functions in a few places
|
|
f8fcfb26
|
2019-02-14T11:03:29
|
|
[iter] Accept pointers to hb_sink()
|
|
bb139cb8
|
2019-02-14T10:51:47
|
|
[iter] Back to dagger formatting for pipelines
|
|
16cc313d
|
2019-02-14T10:40:05
|
|
[iter] Use hb_sink()
|
|
2d940946
|
2019-01-30T16:03:16
|
|
[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?!
|
|
cbe2118c
|
2019-01-30T15:07:09
|
|
Merge branch 'master' into iter
|
|
4842294b
|
2019-01-28T16:51:27
|
|
[subset] Update gsub to use glyphset() method of subset plan.
|
|
090fe56d
|
2019-01-25T15:34:03
|
|
Merge branch 'master' into iter
|
|
ef006549
|
2019-01-22T12:08:57
|
|
Convert tag enum class consts to static constexpr
Part of https://github.com/harfbuzz/harfbuzz/issues/1553
|
|
21c0713a
|
2019-01-09T21:24:51
|
|
Whitespace
|
|
420d8ac3
|
2019-01-09T20:58:25
|
|
[algs] Add hb_iter()
Makes it nicer in pipelines.
|
|
54ec48ea
|
2019-01-09T20:54:21
|
|
Use iter pipelines more
|
|
f4cbb1ee
|
2019-01-09T13:28:00
|
|
WIP
|
|
ede1a71b
|
2019-01-09T10:45:53
|
|
Minor rename
|
|
af2067e8
|
2019-01-09T10:17:33
|
|
Use hb_zip() moooore
|
|
0d1fdf93
|
2019-01-09T10:06:48
|
|
Use hb_zip() some mooore
|
|
83ad0b6d
|
2019-01-09T09:57:36
|
|
Use hb_zip() some more
|
|
f0dd0656
|
2019-01-09T09:52:10
|
|
Use hb_zip() some
|
|
815cde9f
|
2019-01-07T18:33:04
|
|
[iter] Use is_sorted_iterator
|
|
a46874f1
|
2018-12-28T21:23:26
|
|
[iter] Revert back uses of C++11 auto type deduction
|
|
d6024794
|
2018-12-27T09:56:41
|
|
Change hb_void_t implementation
|
|
e1688424
|
2018-12-26T22:27:23
|
|
[iter] Port Coverage iterator to hb_iter_t
|
|
89bcfb20
|
2019-01-18T14:59:18
|
|
Remove TRACE_COLLECT_GLYPHS
|
|
0772c06f
|
2019-01-18T12:53:06
|
|
Remove tracing from closure
|
|
474a1205
|
2018-12-21T18:46:51
|
|
[array/vector] Rename len to length
|
|
09740148
|
2018-12-21T15:56:01
|
|
[serialize] Use component_list by reference, as a supplier
|
|
f1e95e40
|
2018-12-18T16:49:08
|
|
[arrays] Remove hb_supplier_t<>
|
|
9aebfb41
|
2018-12-18T13:22:17
|
|
[serialize] Streamline error propagation
|
|
cf39c242
|
2018-12-17T22:36:23
|
|
[arrays] Rename Supplier to hb_supplier_t
|
|
e4120085
|
2018-12-17T21:31:01
|
|
Remove redundant void from C++ sources (#1486)
|
|
b2ebaa9a
|
2018-12-16T22:38:10
|
|
Remove redundant 'inline' from methods (#1483)
|
|
705e2f50
|
2018-12-13T17:48:42
|
|
[subset] Implement for ClassDef
|
|
6e33a395
|
2018-12-13T16:40:01
|
|
Minor
|
|
2cc993e0
|
2018-12-12T10:07:38
|
|
[dispatch] Minor
|