Behdad Esfahbod
044d7a06db
[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
3 years ago
Behdad Esfahbod
18c0290cf5
Add test for previous commit
3 years ago
Behdad Esfahbod
a665e29ed7
[use] Avoid O(n^2) in the machine
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3502
3 years ago
Behdad Esfahbod
ccd9161bfd
[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=
3 years ago
Behdad Esfahbod
a003fc0df1
Remove accidental files
3 years ago
Andrew John
0182988229
[set] Add call to export set contents to an array. ( #3500 )
...
[set] Add hb_set_next_many.
3 years ago
Khaled Hosny
f76ffa8374
[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.
3 years ago
Chun-wei Fan
eb44d64bc2
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.
3 years ago
Behdad Esfahbod
36b8f97413
Update tests for recent changes
3 years ago
Behdad Esfahbod
03085132ba
[buffer] Fix out-buffer under memory-alloc failure
...
This was broken in July refactoring of the buffer, and exposed to
ReverseChainSingleSubstFormat1 in 3807061d63
Fixes:
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=38800
https://bugs.chromium.org/p/chromium/issues/detail?id=1303552
3 years ago
David Corbett
98b4852434
[indic] Test clearing syllables earlier
3 years ago
Andy John
ef588ea97b
Add option to insert a sorted arrays of values to sets.
3 years ago
Qunxin Liu
7cb002cb58
[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()
3 years ago
David Corbett
49fb8f9072
[USE] Treat visible viramas like dependent vowels
3 years ago
Qunxin Liu
a35757c6bc
[repacker] expose hb_subset_repack() API, hb_object_t and hb_link_t structs
3 years ago
Garret Rieger
f6071c16b0
[subset] Rename codepoint -> unicode in subset plan api
3 years ago
Matthias Clasen
d4cb07728c
Add a missing file
...
The style test is using notosansitalic.ttf now,
but I forgot to add it with the test. Fix that.
3 years ago
Matthias Clasen
16b232be0e
[hb-style] Fix the sign of slant ratios
...
We want negative slant angles to yield
positive slant ratios. Fix that.
Test included.
3 years ago
Matthias Clasen
e76061a737
[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.
3 years ago
Behdad Esfahbod
56f11ec938
[buffer] Add HB_BUFFER_FLAG_PRODUCE_UNSAFE_TO_CONCAT
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3454
3 years ago
Matthias Clasen
f81578fd86
[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
3 years ago
Khaled Hosny
cfa8cd7fb0
[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.
3 years ago
Behdad Esfahbod
67eb9acf79
[config] Add HB_NO_BORING_EXPANSION
3 years ago
Behdad Esfahbod
1bf588e28b
[test/shape] Internal rename
...
Residual from e0d7060f80
3 years ago
Behdad Esfahbod
197ed8f592
[test/api] Fix leaks
3 years ago
Behdad Esfahbod
531c27d199
Fix build
3 years ago
Behdad Esfahbod
8b7ccc41c4
[hmtx] Implement [boring-expansion] >64k expansion
...
This implements https://github.com/be-fonts/boring-expansion-spec/issues/7
3 years ago
Behdad Esfahbod
379e526aa4
[test] Add test for current hmtx logic
3 years ago
Behdad Esfahbod
ed6d287d11
[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
3 years ago
Ebrahim Byagowi
6b75a30a73
[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.
3 years ago
Behdad Esfahbod
ae223764a3
[test/draw] Typo
3 years ago
Ebrahim Byagowi
0429921c10
[draw/test] Add test for freetype callback
...
Let's have that part of the code also covered.
3 years ago
Ebrahim Byagowi
d4588204e5
[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.
3 years ago
Khaled Hosny
0e357c504c
[draw] Test scaling subfont differently from parent
3 years ago
Behdad Esfahbod
151f205819
[draw] Emit move_to immediately, like other operators
3 years ago
Khaled Hosny
aca80a4a40
[draw] Add test for applying synthetic slant
3 years ago
Khaled Hosny
052fd2d8b9
[draw] Add test for hb_draw_move_to() etc
3 years ago
Behdad Esfahbod
f1a9a9ccaf
[draw-state] Pass state down to callbacks
3 years ago
Behdad Esfahbod
9f05362d43
[test-draw] Fix compiler warning
3 years ago
Behdad Esfahbod
1740916ede
[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.
3 years ago
Behdad Esfahbod
5610fa1da0
[test-draw] Re-enable two disabled tests
3 years ago
Behdad Esfahbod
8b4f429000
[draw] Virtualize hb_font_draw_glyph() into hb_font_get_glyph_shape()
...
To be implemented in hb-ft.
3 years ago
Behdad Esfahbod
2bed4f46fb
[draw] Fix draw signatures
3 years ago
Behdad Esfahbod
08e1096609
[draw-fuzzer] Fix signatures
3 years ago
Behdad Esfahbod
e0ac6c587b
Remove remaining traces of HB_EXPERIMENTAL_API
3 years ago
Behdad Esfahbod
5207ce828a
[draw] Enable draw tests
...
Disable two failing ones.
3 years ago
Behdad Esfahbod
157caf254e
[test-draw] Fix compiler warning
3 years ago
Behdad Esfahbod
b3f8288cca
[test/subset] Don't hash files without reason
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3118#issuecomment-894021518
3 years ago
Behdad Esfahbod
af407dd24d
Add a fuzzer font
3 years ago
Garret Rieger
670ef070bd
[subset] Change subset plan create to be or_fail.
3 years ago