Commit graph

12562 commits

Author SHA1 Message Date
Behdad Esfahbod
d35f380126 [util] Change "All shapers failed." message to "Shaping failed."
Since we now emit this when verification fails as well.
2022-01-29 09:08:20 -07:00
Behdad Esfahbod
3972e0a8f1 [buffer] Whitespace 2022-01-29 08:22:19 -07:00
Behdad Esfahbod
476a6377a5 [buffer] Document HB_BUFFER_FLAG_VERIFY 2022-01-28 15:05:10 -07:00
Behdad Esfahbod
61856359cb [fuzz] Disable verification for now. 2022-01-28 14:07:29 -07:00
Behdad Esfahbod
6596e42d16 [fuzz] Verify shape results 2022-01-28 13:55:24 -07:00
Behdad Esfahbod
5b1d813b69 [config] Enable HB_NO_BUFFER_VERIFY in HB_LEAN 2022-01-28 13:53:44 -07:00
Behdad Esfahbod
61823838f9 [buffer] Add HB_BUFFER_FLAG_VERIFY
Move buffer verification code inside the library, from util/.

Part of https://github.com/harfbuzz/harfbuzz/issues/3010
2022-01-28 13:53:44 -07:00
Behdad Esfahbod
7c704d8982 [buffer] Make hb_buffer_append() take a const argument 2022-01-28 13:53:44 -07:00
Behdad Esfahbod
24650624c8 [font] Fix build with no-var configs 2022-01-28 13:53:21 -07:00
Behdad Esfahbod
91b779e23c Avoid redefinition of HB_NO_SETLOCALE in certain configs 2022-01-28 13:52:15 -07:00
Khaled Hosny
fa29006bfa [doc] Fix generation of hb_glyph_flags_t docs
GTK-Doc does not like the empty lines here, and interprets everything
after the first empty line as the description of the enum itself not a
specific member and the generated text makes no sense.

Removing the empty lines makes the text harder to read (both in source
and HTML), but at least it is correctly organized.
2022-01-26 19:10:23 -08:00
Behdad Esfahbod
e9cc5f6cdb
Merge pull request #3297 from harfbuzz/unsafe-to-concat
Implement UNSAFE_TO_CONCAT flag
2022-01-26 12:23:29 -08:00
Behdad Esfahbod
540af548dc [unsafe-to-concat] Clarify documentation as per feedback
Fixes https://github.com/harfbuzz/harfbuzz/pull/3297#discussion_r754395825
2022-01-25 09:10:56 -07:00
Behdad Esfahbod
bad5c94562 [test] Remove HB_UNUSED 2022-01-23 10:53:19 -07:00
Behdad Esfahbod
6c09a8b5b0 [test-serialize] Assert len 2022-01-23 10:52:13 -07:00
Behdad Esfahbod
76c6f4164f [test] Add test-serialize 2022-01-23 10:43:37 -07:00
Behdad Esfahbod
3324606492 [buffer] Oops 2022-01-22 15:46:13 -07:00
Behdad Esfahbod
20031ddbb8 [unsafe-to-concat] Mark in all other shapers
unsafe_to_break() implies unsafe-to-concat; but setting the flag
manually wasn't.
2022-01-22 11:53:18 -07:00
Behdad Esfahbod
6e345f709d Cosmetic 2022-01-22 11:53:18 -07:00
Behdad Esfahbod
374a6f186d [fallback-shape] Add buffer trace log 2022-01-22 11:53:18 -07:00
Behdad Esfahbod
bcdfedbc09 [unsafe-to-concat] Mark as unsafe in kern machine
Fixes that last test. Yay!
2022-01-22 11:53:18 -07:00
Behdad Esfahbod
14d43d1235 [unsafe-to-concat] Adjust end conditions 2022-01-22 11:53:18 -07:00
Behdad Esfahbod
8663eda4fd [unsafe-to-concat] More annotations for MarkMarkPos
Failures down to one:

265/401 harfbuzz:shaping+aots / lookupflag_ignore_attach         FAIL
2022-01-22 11:53:18 -07:00
Behdad Esfahbod
6a7d6d4b64 [unsafe-to-concat] More annotations for MarkLigaturePos 2022-01-22 11:53:18 -07:00
Behdad Esfahbod
a575992057 [unsafe-to-concat] Mark LigatureSubst
Failures down to two:

209/401 harfbuzz:shaping+aots / gpos6                            FAIL             0.06s   exit status 1
265/401 harfbuzz:shaping+aots / lookupflag_ignore_attach         FAIL             0.06s   exit status 1
2022-01-22 11:53:18 -07:00
Behdad Esfahbod
b443898cce [unsafe-to-concat] Adjust MarkBasePos
A couple more aots tests down. Four failing:

209/401 harfbuzz:shaping+aots / gpos6                            FAIL             0.06s   exit status 1
261/401 harfbuzz:shaping+aots / gsub4_1_multiple_ligatures       FAIL             0.07s   exit status 1
265/401 harfbuzz:shaping+aots / lookupflag_ignore_attach         FAIL             0.07s   exit status 1
267/401 harfbuzz:shaping+aots / lookupflag_ignore_combination    FAIL             0.07s   exit status 1
2022-01-22 11:53:18 -07:00
Behdad Esfahbod
95d052a791 [unsafe-to-concat] Adjust GPOS lookbacks
Fixes Cursive aots test, fails a couple new aots ones.
2022-01-22 11:53:18 -07:00
Behdad Esfahbod
909e34f68a [unsafe-to-concat] Adjust Arabic-joining start boundary condition more 2022-01-22 11:53:18 -07:00
Behdad Esfahbod
11bdd7a020 [unsafe-to-concat] Adjust CursivePos
Doesn't fix the test yet.
2022-01-22 11:53:18 -07:00
Behdad Esfahbod
ea1b32c8c1 [unsafe-to-concat] Adjust "interior"ness of "from_out_buffer" 2022-01-22 11:53:18 -07:00
Behdad Esfahbod
4f04baef17 [unsafe-to-concat] Further adjust Arabic joining logic at boundary 2022-01-22 11:53:18 -07:00
Behdad Esfahbod
235c3a1295 [unsafe-to-concat] Adjust Arabic joining logic
Test failures done one more. Fixed the mongolian-variation-selector
test.  Another test case:

$ util/hb-shape NotoSansArabic-Regular.ttf -u 628,200c,628 --show-flags --verify
2022-01-22 11:53:18 -07:00
Behdad Esfahbod
48c5f26199 [unsafe-to-concat] Fix PairPos2 logic
Test failures down from 8 to 6:

113/400 harfbuzz:shaping+in-house / mongolian-variation-selector FAIL             0.06s   exit status 1
203/400 harfbuzz:shaping+aots / gpos3                            FAIL             0.06s   exit status 1
204/400 harfbuzz:shaping+aots / gpos4_lookupflag                 FAIL             0.06s   exit status 1
260/400 harfbuzz:shaping+aots / gsub4_1_multiple_ligatures       FAIL             0.06s   exit status 1
264/400 harfbuzz:shaping+aots / lookupflag_ignore_attach         FAIL             0.06s   exit status 1
266/400 harfbuzz:shaping+aots / lookupflag_ignore_combination    FAIL             0.06s   exit status 1
2022-01-22 11:53:18 -07:00
Behdad Esfahbod
c0058892be [unsafe-to-concat] Mark entire buffer unsafe-to-concat if kerx format2 2022-01-22 11:53:18 -07:00
Behdad Esfahbod
60006d3687 [gsubgpos] Adjust chaining unsafe-to-concat application
Fixes three tests.
2022-01-22 11:53:18 -07:00
Behdad Esfahbod
d98a0fc88e [buffer] Consolidate glyph-flags implementation 2022-01-22 11:53:18 -07:00
Behdad Esfahbod
f91ce56e08 [buffer] Add default cluster value in find_min_cluster 2022-01-22 11:53:18 -07:00
Behdad Esfahbod
56d081955c [buffer] Rename _unsafe_to_break_set_mask to _infos_set_glyph_flags 2022-01-22 11:53:18 -07:00
Behdad Esfahbod
78481b32c0 [gsubgpos] Combine input/backtrack/lookahead unsafe-to-concat
I feel like this is correct logic. Still have to prove.

Errors unchanged at 10.
2022-01-22 11:53:18 -07:00
Behdad Esfahbod
596bc7e939 [unsafe-to-concat] Add to GPOS kerning 2022-01-22 11:53:18 -07:00
Behdad Esfahbod
e1cbd4539f [unsafe-to-concat] Add annotations to GPOS and kern
Failures from 13 to 14.
2022-01-22 11:53:18 -07:00
Behdad Esfahbod
36b1561715 Implement hb-shape --verify unsafe-to-concat flag
15 tests failing. Those look like legit places that unsafe-to-concat
needs more implementation.
2022-01-22 11:53:18 -07:00
Behdad Esfahbod
3122c2cdc4 [buffer] Add HB_GLYPH_FLAG_UNSAFE_TO_CONCAT
Fixes https://github.com/harfbuzz/harfbuzz/issues/1463
2022-01-22 11:53:18 -07:00
Behdad Esfahbod
a8b7f18804 [cff] Initialize accelerator members 2022-01-21 07:38:33 -07:00
Behdad Esfahbod
cce37a6f10 [gpos] Fix conditional 2022-01-21 07:31:21 -07:00
Behdad Esfahbod
773cf4fdd3 [post] Initialize variables 2022-01-21 07:30:09 -07:00
Behdad Esfahbod
cab943a015 One more fix 2022-01-20 14:32:30 -07:00
Behdad Esfahbod
070e30e6da Fix failing Mac test for previous commit 2022-01-20 14:31:31 -07:00
Behdad Esfahbod
84aa1a836c
[PairPos] Split GPOS kerning to both sides (#3235) 2022-01-20 14:18:19 -07:00
Behdad Esfahbod
ae9fc7f533 Clean accelerators a bit more 2022-01-20 12:37:21 -07:00