|
52d59bf1
|
2022-05-10T19:40:37
|
|
[perf] Make subset benchmark data driven.
|
|
8f9f0c49
|
2022-05-10T17:47:08
|
|
[subset] Enforce cmap12 group ordering constraints in collect_mapping.
Fixes fuzzer issue: https://oss-fuzz.com/testcase-detail/6365271012540416
|
|
b051f3fa
|
2022-05-05T23:27:34
|
|
[subset] Fix cpal subsetting when there are partial palette overlaps.
The existing code doesn't correctly handle the case where palettes partially overlap in the color record array. This changes the subsetting to only share entries in the color record array when palettes have the same first color index. Partially overlapping palettes will be converted to disjoint segments in the color record array.
Updates one of the color tests to use multiple palettes.
Also fixes fuzzer: https://oss-fuzz.com/testcase-detail/5568200165687296.
|
|
ca8a0f3e
|
2022-05-06T11:54:38
|
|
[gvar] Protect against out-of-range access
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=47281
Fixes https://oss-fuzz.com/testcase-detail/5508865908670464
|
|
4de5352a
|
2022-04-28T14:40:33
|
|
[test] Add test
From https://github.com/harfbuzz/harfbuzz/issues/3545
Dropped the CFF table.
|
|
4d48fae4
|
2022-04-20T11:35:19
|
|
Enforce Regional_Indicators native direction to LTR
And undo the morx direction reversal change introduced in
https://github.com/harfbuzz/harfbuzz/pull/3315
23159084b43c1ce429d9e98035bf845919fd8a89
This fixes original bug https://github.com/harfbuzz/harfbuzz/issues/3314
And the reversion in morx code fixes regressions:
https://github.com/harfbuzz/harfbuzz/issues/3528
https://github.com/harfbuzz/harfbuzz/issues/3535
Supersedes:
https://github.com/harfbuzz/harfbuzz/pull/3529
|
|
383c11d7
|
2022-04-19T16:31:44
|
|
Add test for ligature-id allocation
Test for the fix in 7bdc20ec810c14056d6362b076aa6717f10f26a0 for the
regression from 43be5ba442548528c89ad31c0927cc68515b736e.
|
|
ecb3e7ec
|
2022-03-28T19:42:04
|
|
Enable indic-feature-order.tests
|
|
044d7a06
|
2022-03-28T12:38:56
|
|
[indic-like] Add per-lookup per-syllable flag
This allows mix-and-matching per-syllable and other lookups.
In fact, removes the clear-syllables call completely.
Fixes https://github.com/harfbuzz/harfbuzz/issues/3513
|
|
18c0290c
|
2022-03-28T13:24:16
|
|
Add test for previous commit
|
|
a665e29e
|
2022-03-23T17:30:25
|
|
[use] Avoid O(n^2) in the machine
Fixes https://github.com/harfbuzz/harfbuzz/issues/3502
|
|
ccd9161b
|
2022-03-24T13:10:48
|
|
[apply-lookup] Try to fix the logic for contextual lookups
Fixes https://github.com/harfbuzz/harfbuzz/issues/1611
Notably, this fixes Myles's AdditionFont:
https://litherum.blogspot.com/2019/03/addition-font.html
Test with AdditionFont, eg.:
$ util/hb-view AdditionFont.otf =1112112+1113134=
|
|
a003fc0d
|
2022-03-25T09:37:50
|
|
Remove accidental files
|
|
01829882
|
2022-03-25T08:36:44
|
|
[set] Add call to export set contents to an array. (#3500)
[set] Add hb_set_next_many.
|
|
f76ffa83
|
2022-03-24T06:23:22
|
|
[build] Change how platform shaper tests are enable
Run the tests unconditionally and skip if the shaper is not available.
This fixes distcheck (https://github.com/harfbuzz/harfbuzz/pull/3504)
and shows SKIP for these tests instead of ignoring them.
|
|
eb44d64b
|
2022-03-24T10:52:48
|
|
test: Dist the platform shaper test data
For builds from release tarballs, the tests fail in the DirectWrite and
Uniscribe tests when these platform shapers are enabled, since the data files
were not found in the source tree, when building with Meson at least.
Fix this by dist'ing the platform shaper test data files.
|
|
36b8f974
|
2022-03-21T21:50:04
|
|
Update tests for recent changes
|
|
03085132
|
2022-03-21T18:06:33
|
|
[buffer] Fix out-buffer under memory-alloc failure
This was broken in July refactoring of the buffer, and exposed to
ReverseChainSingleSubstFormat1 in 3807061d634b60bd6235d6e1d8c47a034377f924
Fixes:
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=38800
https://bugs.chromium.org/p/chromium/issues/detail?id=1303552
|
|
98b48524
|
2022-03-21T17:17:39
|
|
[indic] Test clearing syllables earlier
|
|
ef588ea9
|
2022-03-21T13:29:22
|
|
Add option to insert a sorted arrays of values to sets.
|
|
7cb002cb
|
2022-03-14T11:40:35
|
|
[subset] bug fix in prune_langsys
we should not cache visited langsys cause 2 different Record<Langsys>
could have different Tag while pointing to the same Langsys, a langsys
is redundant in Record<Langsys> A does not mean it's redundant in Record
B. Same thing for visited_script.
Also adding the number of features in the LangSys's feature list to the
visited langsys count so it's more accurate.
Plus some improvement in langsys compare()
|
|
49fb8f90
|
2022-03-13T15:01:11
|
|
[USE] Treat visible viramas like dependent vowels
|
|
a35757c6
|
2022-02-02T10:30:34
|
|
[repacker] expose hb_subset_repack() API, hb_object_t and hb_link_t structs
|
|
f6071c16
|
2022-02-28T14:45:40
|
|
[subset] Rename codepoint -> unicode in subset plan api
|
|
222301bf
|
2022-02-24T12:55:01
|
|
Merge pull request #3429 from harfbuzz/external_plan
[subset] expose subset plan in public subsetting API
|
|
d4cb0772
|
2022-02-18T18:25:56
|
|
Add a missing file
The style test is using notosansitalic.ttf now,
but I forgot to add it with the test. Fix that.
|
|
16b232be
|
2022-02-18T18:05:58
|
|
[hb-style] Fix the sign of slant ratios
We want negative slant angles to yield
positive slant ratios. Fix that.
Test included.
|
|
e76061a7
|
2022-02-18T17:27:19
|
|
[hb-style] Fix synthetic slant values
When reporting the slant ratio of a font
that has synthetic slant set, we were
reporting twice the expected value.
Fix that. Test included.
|
|
56f11ec9
|
2022-02-18T14:08:43
|
|
[buffer] Add HB_BUFFER_FLAG_PRODUCE_UNSAFE_TO_CONCAT
Fixes https://github.com/harfbuzz/harfbuzz/issues/3454
|
|
f8e9e315
|
2022-02-17T14:34:46
|
|
Merge pull request #3437 from matthiasclasen/synthesize-missing-baselines
[BASE] Synthesize missing baselines
|
|
f81578fd
|
2022-02-13T19:15:36
|
|
[ot-layout] Synthesize missing baselines
Add a variation of hb_ot_layout_get_baseline that
synthesizes missing baselines, using heuristics in part
taken from the CSS Inline Layout Module, Level 3.
Includes some new tests for synthesized baselines.
The base2.ttf is a subset of Noto Sans Bengali that
includes just the Bengali Ka.
New API: hb_ot_layout_get_baseline_with_fallback
|
|
d2998faa
|
2022-02-16T14:37:09
|
|
Merge pull request #3410 from harfbuzz/boring-expansion
[Boring Expansion] >64k loca & hmtx tables
This does two things:
The num-glyphs reported by the face now is the maximum reported by the maxp and that deduced from the length of the loca table; I think this is the right thing to do anyway; According to OpenType such loca tables are invalid.
The interpretation hmtx tables that have excessive bytes at the end, again, invalid according to OpenType, has changed. Previously we were interpreting those excessive bytes as extra lsb values. Now we interpret them as extra advance values, the last of which is repeated for all missing glyphs. Again, these are tables that are invalid according to OpenType, and the advances are for glyph indices beyond maxp table's num-glyphs.
The combined effect is that the font can have shapes and advances for gid's beyond the maxp limit of 64k. In fact, maxp table becomes optional.
|
|
cfa8cd7f
|
2022-02-16T11:42:36
|
|
[autotools] Fix make distcheck
The test-draw.c can now optionally uses hb-ft, but automake file was not
passing FreeType cflags or libs to it.
|
|
a396543a
|
2022-02-15T18:47:55
|
|
Merge pull request #3411 from harfbuzz/draw
[draw] Finish and release draw API
|
|
67eb9acf
|
2022-02-15T17:17:49
|
|
[config] Add HB_NO_BORING_EXPANSION
|
|
1bf588e2
|
2022-02-15T16:57:23
|
|
[test/shape] Internal rename
Residual from e0d7060f80f8c4b9b8241c3a4d8faa33f48da86d
|
|
197ed8f5
|
2022-02-15T14:30:12
|
|
[test/api] Fix leaks
|
|
531c27d1
|
2022-02-15T14:20:54
|
|
Fix build
|
|
8b7ccc41
|
2022-02-15T14:15:12
|
|
[hmtx] Implement [boring-expansion] >64k expansion
This implements https://github.com/be-fonts/boring-expansion-spec/issues/7
|
|
379e526a
|
2022-02-14T15:02:31
|
|
[test] Add test for current hmtx logic
|
|
ed6d287d
|
2022-02-02T14:10:16
|
|
[ot-face] Load num-glyphs from `loca` table before `maxp`
Implements [boring-expansion] [maxp] Relax
https://github.com/be-fonts/boring-expansion-spec/issues/6
|
|
6b75a30a
|
2022-02-14T01:38:06
|
|
[draw/test] Swap a freetype test case with a simpler one
As CI failure, apparently the my local freetype and CI one have different
result so let's switch the case with a simpler one just to test quadratic command
is emitted correctly.
|
|
ae223764
|
2022-02-13T15:39:14
|
|
[test/draw] Typo
|
|
0429921c
|
2022-02-14T00:16:35
|
|
[draw/test] Add test for freetype callback
Let's have that part of the code also covered.
|
|
d4588204
|
2022-02-13T23:49:41
|
|
[draw/glyf] Emit empty contours
This makes it actually match freetype behaviour even though rasterizer
should filter such contours specially for stroking.
See https://github.com/harfbuzz/harfbuzz/pull/3411#discussion_r802283827 for the context.
|
|
0e357c50
|
2022-02-11T04:31:13
|
|
[draw] Test scaling subfont differently from parent
|
|
151f2058
|
2022-02-10T16:27:18
|
|
[draw] Emit move_to immediately, like other operators
|
|
aca80a4a
|
2022-02-09T22:44:38
|
|
[draw] Add test for applying synthetic slant
|
|
052fd2d8
|
2022-02-09T22:10:23
|
|
[draw] Add test for hb_draw_move_to() etc
|
|
f1a9a9cc
|
2022-02-03T14:10:40
|
|
[draw-state] Pass state down to callbacks
|
|
9f05362d
|
2022-02-03T13:08:32
|
|
[test-draw] Fix compiler warning
|
|
1740916e
|
2022-02-03T12:50:47
|
|
[draw] Remove check for no-op
This is unnecessary overhead. Up to rasterizers to handle this. Plus,
this throws off point-numbers in uses that rely on it.
Disabled one test that broke with this.
|
|
5610fa1d
|
2022-02-03T10:29:04
|
|
[test-draw] Re-enable two disabled tests
|
|
8b4f4290
|
2022-02-03T01:14:47
|
|
[draw] Virtualize hb_font_draw_glyph() into hb_font_get_glyph_shape()
To be implemented in hb-ft.
|
|
2bed4f46
|
2022-02-02T21:42:48
|
|
[draw] Fix draw signatures
|
|
08e10966
|
2022-02-02T19:01:42
|
|
[draw-fuzzer] Fix signatures
|
|
e0ac6c58
|
2022-02-02T18:57:12
|
|
Remove remaining traces of HB_EXPERIMENTAL_API
|
|
5207ce82
|
2022-02-02T18:54:10
|
|
[draw] Enable draw tests
Disable two failing ones.
|
|
157caf25
|
2022-02-02T18:46:34
|
|
[test-draw] Fix compiler warning
|
|
b263371b
|
2022-02-12T15:06:47
|
|
Merge pull request #3398 from harfbuzz/buffer-verify
Add HB_BUFFER_FLAG_VERIFY
|
|
b3f8288c
|
2022-02-12T14:52:42
|
|
[test/subset] Don't hash files without reason
Fixes https://github.com/harfbuzz/harfbuzz/issues/3118#issuecomment-894021518
|
|
af407dd2
|
2022-02-12T13:53:16
|
|
Add a fuzzer font
|
|
670ef070
|
2022-02-11T16:01:33
|
|
[subset] Change subset plan create to be or_fail.
|
|
ae8d373b
|
2022-02-11T14:54:23
|
|
[subset] add subset plan reference, set/get user data functions.
|
|
b65e48a7
|
2022-02-11T12:44:58
|
|
[subset] Add subset plan to public API.
Add the ability to create a subset plan which an be used to gather info on things like glyph mappings in the final subset. The plan can then be passed on to perform the subsetting operation.
|
|
81754a5a
|
2022-02-09T12:00:47
|
|
[ot-math] Add hb_ot_math_get_glyph_kernings
closes #3396
|
|
1bc4bad7
|
2022-02-07T19:57:25
|
|
[ot-tag] Add HB_SCRIPT_MATH (Zmth) and map it to OT ‘math’ tag
The ISO 15924 code for mathematical notation is ‘Zmth’, but the
OpenType script is ‘math’.
|
|
7657bdd9
|
2022-02-04T19:16:54
|
|
Revert "Fix failing Mac test for previous commit"
This reverts commit 070e30e6daba74fe62ea486dc97cd01a79f90541.
|
|
44da4e2a
|
2022-02-04T19:16:47
|
|
Revert "One more fix"
This reverts commit cab943a015b1a3d4cd72f0c5dc4ff79e0aefa06f.
|
|
88798ee8
|
2022-02-04T18:59:50
|
|
[GPOS] Disable split-kerning
Fixes https://github.com/harfbuzz/harfbuzz/issues/3408
Reverts https://github.com/harfbuzz/harfbuzz/pull/3235
Fixes https://github.com/harfbuzz/harfbuzz/pull/3235#issuecomment-1029814978
|
|
4e2f409b
|
2022-01-31T12:20:32
|
|
[subset] Don't hold references to members of the active_glyph_stack.
These references may get invalidated after the vector for the stack is resized. Fixes: https://oss-fuzz.com/testcase-detail/5422577634377728
|
|
bc899650
|
2022-01-28T13:54:10
|
|
[subset] Fix for issue #3397.
cur_intersected_glyphs gets modified during recursion leading to incorrect filtering of sub tables in some cases. So don't use cur_intersected_glyphs. Instead just add an additional entry onto the parent_active_glyphs () stack.
Additionaly expands NotoNastaliqUrdu tests to include coverage of the issue from #3397.
|
|
61856359
|
2022-01-28T14:07:29
|
|
[fuzz] Disable verification for now.
|
|
6596e42d
|
2022-01-28T13:55:24
|
|
[fuzz] Verify shape results
|
|
909e34f6
|
2022-01-22T09:44:13
|
|
[unsafe-to-concat] Adjust Arabic-joining start boundary condition more
|
|
cab943a0
|
2022-01-20T14:32:30
|
|
One more fix
|
|
070e30e6
|
2022-01-20T14:31:31
|
|
Fix failing Mac test for previous commit
|
|
84aa1a83
|
2022-01-20T13:18:19
|
|
[PairPos] Split GPOS kerning to both sides (#3235)
|
|
1522015b
|
2022-01-19T23:13:50
|
|
[test] Add --single-par to more places in hb-aots-tester [ci skip]
|
|
7e160dc3
|
2022-01-19T09:26:53
|
|
[gpos] Fix unsafe-to-break of mark-attachment
This was undetected because most of the time marks were in same
cluster of their base already.
Fixes https://github.com/harfbuzz/harfbuzz/issues/3093
|
|
c8195dbc
|
2022-01-19T06:56:05
|
|
Merge pull request #3365 from harfbuzz/gdef-fix
GDEF fix
|
|
28264231
|
2020-07-08T14:39:31
|
|
Test for #2140
|
|
fc5354c5
|
2020-07-08T14:16:00
|
|
Add test for #2516
|
|
e2e30506
|
2022-01-16T07:00:53
|
|
Fix various typos
Found via `codespell -q 3 -S ./perf/texts -L actualy,ba,beng,fo,gir,inout,nd,ot,pres,ro,te,teh,timne`
|
|
87496bf6
|
2022-01-13T11:03:45
|
|
[subset] fix fuzzer timeout if visisted_paint goes into error.
|
|
067f90a8
|
2021-12-14T16:24:38
|
|
[subset] Fix for fuzzer timeout.
Fixes https://oss-fuzz.com/testcase-detail/5549945449480192
In prune_langsys: move LangSys visited check up before any work is done for a LangSys. In this particular case the compare() method is responsible for the majority of the time spent and wasn't being guarded with a visisted check.
|
|
c4573c2e
|
2021-12-14T14:49:15
|
|
[repacker] don't infinite loop if visited or roots is in error.
Fixes https://oss-fuzz.com/testcase-detail/5205038086094848
|
|
23159084
|
2021-12-10T15:00:16
|
|
[morx] Reverse graphemese, not whole buffer
Fixes https://github.com/harfbuzz/harfbuzz/issues/3314
Supersedes https://github.com/harfbuzz/harfbuzz/pull/3315
|
|
706014f6
|
2021-12-01T20:20:12
|
|
[subset] (Chain)ContextSubst glyph_closure fix
- When pos_glyphs is empty, use current full glyphs set as input for
subsequent recursive closure process
- Also increase max_lookup_visit_count to 35000 cause a real font file hit
previous limit 20000 and some lookups are dropped unexpectedly
|
|
51655a07
|
2021-12-05T19:27:57
|
|
[subset] COLR : only include glyphs after COLR closure
|
|
74b46b29
|
2021-12-02T19:50:16
|
|
[subset] MATH: don't serialize coverage table when iterator is empty
when iterator is empty, just set coverage offset to 0.
serialize() in coverage will at lease write out a 16-bit format header.
|
|
6c81cd95
|
2021-12-01T19:29:34
|
|
[tests] Add tests for platform shapers
Fixes https://github.com/harfbuzz/harfbuzz/issues/3115
|
|
9121ed0c
|
2021-11-30T13:45:22
|
|
[subset] Improve sharing of Ligature subtables.
Ligature subtables use virtual links to enforce an ordering constraint between the subtables and the coverage table. Unfortunately this has the sideeffect of prevent the subtables from being shared by another Ligature with a different coverage table since object equality compares all links real and virtual. This change makes virtual links stored separately from real links and updates the equality check to only check real links. If an object is de-duped any virtual links it has are merged into the object that replaces it.
|
|
95329081
|
2021-11-26T16:18:42
|
|
[subset] further optimize cmap4 packing.
|
|
59914382
|
2021-11-26T14:19:39
|
|
[subset] Don't pad glyphs when using long loca.
|
|
d9660fd5
|
2021-11-25T18:15:35
|
|
[subset] Make cmap4 packing more optimal.
The current CMAP4 implementation uses whatever the current codepoint ranges are and then encodes them as indivudal glyph ids or as a delta if possible. However, it's often possible to save bytes by splitting up existing ranges and encoding parts of them using deltas where the cost of splitting the range is less than encoding each glyph individual.
|
|
720ab088
|
2021-11-25T11:49:16
|
|
[util] Add --single-par
Use it in aots tests
Fixes https://github.com/harfbuzz/harfbuzz/issues/3129
Related https://github.com/harfbuzz/harfbuzz/issues/3298
|
|
903a6bae
|
2021-11-15T19:58:33
|
|
[subset] layout_features filtering fix
we should not use get_size (), which returns length * item_size
|
|
69d8f27c
|
2021-11-20T17:09:15
|
|
[meson] Require 0.55.0
We implicitly require it for building ragel subproject. This new version
requirement should satisfied in both Fedora 33 and Debian bullseye, and
not be too cutting edge for us.
|
|
84dc4e85
|
2021-11-08T09:36:31
|
|
[subset] avoid writing out duplicate extra glyph names in post table
Add check for possible duplicate with other name index
|