|
6f98a8ed
|
2021-04-02T14:37:10
|
|
[subset] Anchor should only use format 1 when hints are dropped.
Refactor Anchor to have a subset method instead of copy. This also allows
use to use serialize_subset in several places which simplifies calculating
offset bases.
|
|
5639e253
|
2021-03-31T16:04:43
|
|
Add Array16Of<>
|
|
5efe3609
|
2021-03-31T15:33:22
|
|
Rename (Unsized)OffsetListOf
|
|
6c4e0491
|
2021-03-31T15:31:32
|
|
s/OffsetArrayOf/Array16OfOffset16To/g
|
|
ad28f973
|
2021-03-31T12:49:14
|
|
Rename offset types to be explicit about their size
Add Offset16To<>, Offset24To<>, and Offset32To<> for most use-cases.
|
|
b14475d2
|
2021-03-18T10:51:26
|
|
[subset] further changes to serializer error handling.
- Rename enum type and enum members.
- in_errors() now returns true for any error having been set. hb-subset now looks for offset overflow only errors to divert to repacker.
- Added INT_OVERFLOW and ARRAY_OVERFLOW enum values.
|
|
73ed59f7
|
2021-03-17T15:53:10
|
|
[subset] store errors in the serializer as a flag set.
Make check_assign/check_equal specify the type of error to set.
|
|
56ca4357
|
2021-01-28T15:21:26
|
|
[subset] fix for collect_features and remove_redundant_lamngsys
previously remove_redundant_sys () is missing in harfbuzz, after
redundant langsys removal, some features are removed as well in
prune_features() in fonttools. This change is trying to get the same
result between harfbuzz and fonttools.
|
|
2df39bca
|
2021-03-16T14:20:49
|
|
[subset] don't allocate a set to use as a glyph filter for PairPosFormat2.
|
|
bb54e104
|
2021-03-16T13:19:26
|
|
[subset] Also filter class1 by coverage when collecting variation indices for PairPosFormat2.
|
|
190b7a98
|
2020-10-08T14:44:54
|
|
[subset] Update PairPosFormat2 subsetting to match fontTools updated subsetting (https://github.com/fonttools/fonttools/pull/2221)
- subset class def 1 against the coverage table.
- Don't re-use class 0 in class def 2.
- Ignore class 0 glyphs for the purposes of determing format 1 vs format 2 encoding for ClassDef.
Add an additional test case which demonstrates these issues.
|
|
103ed7da
|
2021-02-19T16:48:30
|
|
[subset] Use dagger
Better fix for https://github.com/harfbuzz/harfbuzz/pull/2858
|
|
5ca353a2
|
2021-02-12T15:16:59
|
|
[subset] fix heap buffer overflow found by fuzzer.
|
|
c7d232ce
|
2021-02-10T18:13:38
|
|
Merge pull request #2701 from googlefonts/Mark-To-Ligature_grieger
[subset] GPOS 5 MarkToLigature subsetting support
|
|
1d9801e0
|
2020-10-05T14:41:55
|
|
[subset] In AnchorMatrix::subset eliminate the use of dynamically allocated vector.
|
|
093909b2
|
2020-10-05T13:14:53
|
|
[subset] Fix wrong offset base for subsetting LigatureArray.
Offsets from LigatureArray must be relative to the beginning of the LigatureArray table. For the serialization mechanism to use the correct beginning point the LigatureArray must be created using the push()/pop() mechanism. So convert LigatureArray subsetting to use serialize_subset() instead of a manually called serialize and subset.
|
|
147e93b9
|
2020-10-01T16:44:16
|
|
[subset] Fixes to get GPOS 5 subsetting code compiling.
|
|
3a0b05fa
|
2020-02-06T15:08:26
|
|
[subset] GPOS 5 MarkToLigature subsetting support
|
|
e5835053
|
2020-09-29T11:05:08
|
|
[subset] Use plan->glyphset_gsub instead of plan->glyphset for GSUB/GPOS
This matches fontTools behaviour. glyphset_gsub does not contain gids added from closing over composite glyphs in glyf, since these cannot particpate in GSUB/GPOS processing.
|
|
fce64a40
|
2020-08-08T14:04:54
|
|
Minor
|
|
5a7cc7fd
|
2020-07-29T08:33:32
|
|
minor spacing tweak
|
|
d0e2addd
|
2020-07-18T22:14:52
|
|
minor
|
|
9ef9ac37
|
2020-06-17T17:41:15
|
|
[gpos] Break cycle-of-2 when cursive attaching
Fix thinko this time around.
Fixes https://github.com/harfbuzz/harfbuzz/issues/2469
|
|
3fe71957
|
2020-06-17T17:51:08
|
|
Revert "[gpos] Break cycle-of-2 when cursive attaching"
This reverts commit 7090707de67e660ae626ecf774f6af8a63a692ab.
|
|
7090707d
|
2020-06-17T17:41:15
|
|
[gpos] Break cycle-of-2 when cursive attaching
Fixes https://github.com/harfbuzz/harfbuzz/issues/2469
|
|
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
|
|
d7c012a0
|
2020-02-26T13:11:42
|
|
[subset] GDEF Variation Store: step 2
do subset based on variation indices collected in step 1
|
|
8200e48f
|
2020-02-26T13:11:42
|
|
[subset] GDEF Variation Store: step 1
closure device variation indexes, create old->new variation idx mapping
and store them in subset-plan
|
|
5cf53c06
|
2020-04-23T10:55:41
|
|
Rename add_coverage to collect_coverage
|
|
2dda6dd7
|
2020-04-20T14:12:45
|
|
minor, tweak spacing
turn 8 spaces to tab, add space before Null/Crap
|
|
c8cc1e37
|
2020-04-02T16:57:01
|
|
fix issues in ClassDefFormat1 serialize:
glyph ids in Iterator may be non-consecutive,
so the number in classValue might be larger than length of the Iterator
|
|
2f556c38
|
2020-03-13T12:21:10
|
|
[subset] Fix crash when serializer runs out of room during gpos subsetting.
|
|
07acd1a0
|
2020-03-08T23:39:24
|
|
[subset] Rename src_base args to base to match sanitize methods
So it will become easier to follow that serialize methods signatures should
match with their sanitize methods counterparts.
|
|
188a0a47
|
2020-03-07T11:02:36
|
|
removed default base; replaced w/ bias if required
|
|
eb7849a8
|
2020-02-05T15:29:03
|
|
[subset] GPOS6 MarkToMark subsetting support
|
|
82afc758
|
2020-02-04T13:24:37
|
|
[subset] GPOS4 MarkBase subsetting support
|
|
1ab3924b
|
2020-01-22T11:20:56
|
|
refix PR #2087 subset PairPos1
also added oss-fuzz 20211 data fixed by this
|
|
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.
|
|
c828d7bf
|
2020-01-15T15:32:44
|
|
[subset] fixed GPOS device table sanitize & serialize (#2087)
|
|
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<>()
|
|
b84ceb2f
|
2019-12-10T13:02:48
|
|
[machinery] Remove CastP
|
|
39afe608
|
2019-12-10T12:04:44
|
|
[algs] Fold one more custom bsearch() in
One more to go.
|
|
486754a8
|
2019-09-23T23:48:08
|
|
[serialize] Extract iterable copy, copy_all
|
|
defe9b6d
|
2019-10-25T10:07:26
|
|
crash fix : Heap-buffer-overflow READ 2
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=18513
|
|
1f0a9d9b
|
2019-09-17T11:10:08
|
|
[subset] GPOS Lookup Type 2: PairPos
|
|
0558413f
|
2019-10-01T13:49:55
|
|
Minor, tweak spaces
|
|
b0c3eb06
|
2019-09-18T16:11:44
|
|
[subset] GPOS Lookup Type 3: CursivePos
|
|
68d39ea4
|
2019-09-24T13:52:46
|
|
Revert previous change and fix -Wrange-loop-analysis complains
|
|
cbc0646a
|
2019-09-24T12:08:12
|
|
Minor, normalize for each calls
|
|
f0a76779
|
2019-09-23T21:09:39
|
|
[gpos] minor
|
|
c1a585fa
|
2019-09-21T23:30:52
|
|
[gpos] minor
|
|
d87d3899
|
2019-09-21T17:27:39
|
|
Fix clang -Wrange-loop-analysis complains
./hb-ot-layout-gpos-table.hh:674:43: error: loop variable '_' is always a copy because the range of type 'hb_zip_iter_t<hb_iter_type<hb_array_t<const OT::IntType<unsigned short, 2> > &>, hb_iter_type<hb_array_t<const OT::IntType<unsigned short, 2> > &> >' (aka 'hb_zip_iter_t<hb_array_t<const OT::IntType<unsigned short, 2> >, hb_array_t<const OT::IntType<unsigned short, 2> > >') does not return a reference [-Werror,-Wrange-loop-analysis]
for (const hb_pair_t<Value, Value>& _ : hb_zip (val_iter, first_val_iter))
^
./hb-ot-layout-gpos-table.hh:674:12: note: use non-reference type 'hb_pair_t<OT::Value, OT::Value>' (aka 'hb_pair_t<IntType<unsigned short, 2>, IntType<unsigned short, 2> >')
for (const hb_pair_t<Value, Value>& _ : hb_zip (val_iter, first_val_iter))
and
In file included from hb-subset.cc:44:
./hb-ot-vorg-table.hh:87:34: error: loop variable '_' is always a copy because the range of type 'hb_map_iter_t<hb_filter_iter_t<hb_sorted_array_t<const OT::VertOriginMetric>, const hb_set_t *, OT::HBGlyphID OT::VertOriginMetric::*, nullptr>, (lambda at ./hb-ot-vorg-table.hh:100:15), hb_function_sortedness_t::NOT_SORTED, nullptr>' does not return a reference [-Werror,-Wrange-loop-analysis]
for (const VertOriginMetric& _ : it)
^
./hb-ot-vorg-table.hh:113:17: note: in instantiation of function template specialization 'OT::VORG::serialize<hb_map_iter_t<hb_filter_iter_t<hb_sorted_array_t<const OT::VertOriginMetric>, const hb_set_t *, OT::HBGlyphID OT::VertOriginMetric::*, nullptr>, (lambda at ./hb-ot-vorg-table.hh:100:15), hb_function_sortedness_t::NOT_SORTED, nullptr>, nullptr>' requested here
vorg_prime->serialize (c->serializer, it, defaultVertOriginY);
^
./hb-ot-vorg-table.hh:87:10: note: use non-reference type 'OT::VertOriginMetric'
for (const VertOriginMetric& _ : it)
^~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
6e42a418
|
2019-09-21T16:25:54
|
|
Minor, turn more of hb_apply to for each
|
|
d512087e
|
2019-09-14T10:36:29
|
|
Rename GlyphID to HBGlyphID
Avoid collision with macOS's ATSUnicodeTypes.h GlyphID
|
|
3c81246f
|
2019-09-01T19:25:50
|
|
[subset] Use newer iter tools in SinglePosFormat1
|
|
e0e0c8c1
|
2019-08-29T14:58:16
|
|
Minor
|
|
a0b4ac4d
|
2019-08-24T17:57:14
|
|
Turn 8 spaces to tab across the project
According to the current code style of the project
|
|
321d5588
|
2019-07-02T16:30:57
|
|
[subset] Add subsetting for GPOS Lookup Type 1: Single Adjustment Positioning Subtable
|
|
c1841802
|
2019-07-16T22:10:24
|
|
Fix C++20 compile warning on implicit capture of this with '=' default capture (#1833)
Happens when compiled with -std=c++2a, the fix just makes the captures explicit to resolve the issue. Just adding this in addition to = doesn't work in C++11.
src/hb-ot-layout-gpos-table.hh:737:18: warning: implicit capture of 'this' with a capture default of '=' is deprecated [-Wdeprecated-this-capture]
{ return (this+_).intersects (glyphs, valueFormat); })
^
src/hb-ot-layout-gpos-table.hh:736:16: note: add an explicit capture of 'this' to capture '*this' by reference
| hb_map ([=] (const OffsetTo<PairSet> &_)
^
, this
|
|
7dcf8e12
|
2019-06-26T13:44:10
|
|
[config] Fix build with HB_NO_OT_LAYOUT
|
|
c8f529a0
|
2019-06-19T19:33:15
|
|
[config] Add HB_NO_HINTING, enabled by HB_TINY
Disables HintingDevice tables and Anchors addressing contour points.
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
|
|
78d35f0e
|
2019-05-15T18:15:05
|
|
Reduce captures of lambdas
|
|
dfc57802
|
2019-05-07T23:26:09
|
|
Fix more double-promotion errors
WHy do only some of the clang bots catch this I have no idea :(.
|
|
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)
|
|
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++
|
|
9d8c7204
|
2019-03-29T21:59:28
|
|
Whitespace
|
|
f5ef8a73
|
2019-03-29T21:57:17
|
|
[iter] Port one more function to dagger
|
|
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
|
|
934d3fa2
|
2019-01-09T21:00:13
|
|
Use more iter pipelines
|
|
0d1fdf93
|
2019-01-09T10:06:48
|
|
Use hb_zip() some mooore
|
|
a46874f1
|
2018-12-28T21:23:26
|
|
[iter] Revert back uses of C++11 auto type deduction
|
|
e1688424
|
2018-12-26T22:27:23
|
|
[iter] Port Coverage iterator to hb_iter_t
|
|
89bcfb20
|
2019-01-18T14:59:18
|
|
Remove TRACE_COLLECT_GLYPHS
|
|
f39b5603
|
2019-01-17T17:49:55
|
|
Comment
|
|
b9a51f53
|
2018-12-21T15:05:00
|
|
Minor
|
|
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)
|
|
2cc993e0
|
2018-12-12T10:07:38
|
|
[dispatch] Minor
|
|
fb059082
|
2018-11-30T20:45:40
|
|
Revert ugly fixes
Now that we have 6daf45e0, revert cryptic hacks...
This reverts commit abd81ed4f5cbc5a94171747909bc6b77551cb929.
This reverts commit 9c6921c08c905a0cf45ba0182134e6ff910fac51.
This reverts commit d39760cabfe4007cefdfc45231e85e93fababac2.
This reverts commit fedd8e6c176dea85194693399e50243eb1c117c4.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1374
|
|
9c6921c0
|
2018-11-30T15:16:57
|
|
More...
hb-ot-layout-gsubgpos.hh:1707: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
...
|
|
5c4fead7
|
2018-11-29T15:04:34
|
|
Convert "static const hb_tag_t" constants to enum
|
|
574d888c
|
2018-11-25T16:51:22
|
|
[aat] Ignore GSUB table of Muthu Foundry if they have morx table
Fixes https://github.com/harfbuzz/harfbuzz/issues/1410
|
|
11aa0468
|
2018-11-15T23:10:56
|
|
[subset] minor, adjust spaces
|
|
e014405a
|
2018-11-12T14:23:31
|
|
Rename check_array(array, a, b) to check_range()
|
|
1d66cdcf
|
2018-11-10T19:54:08
|
|
Better fix for MSVC 2008
Follow up on b4c61130324455bfd42095b01fa14ac901e441f1
Fixes https://github.com/harfbuzz/harfbuzz/issues/1374
|
|
385f78b3
|
2018-11-07T17:19:21
|
|
[aat] Remove deleted-glyhs after applying kerx/kern
Finally: Fixes https://github.com/harfbuzz/harfbuzz/issues/1356
Test case:
$ ./hb-shape GeezaPro.ttc -u U+0628,U+064A,U+064E,U+0651,U+0629
[u0629.final.tehMarbuta=4+713|u064e_u0651.shaddaFatha=1@0,-200+0|u064a.medial.yeh=1+656|u0628.initial.beh=0+656]
The mark positioning (kern table CrossStream kerning) only works if deleted
glyph (as result of ligation) is still in stream and pushed through the
state machine.
|
|
6ee6cd93
|
2018-11-07T15:40:55
|
|
[GPOS] Only mark unsafe-to-break if kerning happened
Fixes https://github.com/harfbuzz/harfbuzz/issues/1365
|
|
501a364d
|
2018-11-07T15:02:16
|
|
[GPOS] Add TODO item
|
|
33b006cc
|
2018-11-05T23:19:04
|
|
[ot-layout] Simplify some access
|