Update HarfBuzz to 2.9.1
Categories
(Core :: Graphics: Text, task, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox94 | --- | fixed |
People
(Reporter: RyanVM, Assigned: RyanVM)
References
Details
(Whiteboard: [third-party-lib-audit][gfx-noted])
Attachments
(3 files)
+++ This bug was initially created as a clone of Bug #1711472 +++
Overview of changes leading to 2.9.0
Wednesday, August 18, 2021
- Subsetter API is being stabilized, with the first stable API to happen in
3.0.0 release (https://github.com/harfbuzz/harfbuzz/issues/3078). - Support multiple variation axes with same tag, aka HOI.
- The “coretext” testing shaper now passes font variations to CoreText.
- hb-shape/hb-view does not break line at new lines unless text is read from
file. - hb-view and hb-subset has a --batch now, similar to hb-shape.
- The --batch mode now uses ; as argument separator instead of : used previously.
- The --batch in hb-shape does not expect 0th argument anymore. That is, the
lines read are interpreted as argv[1:], instead of argv[0:]. - The --batch option has been undocumented. We are ready to document it; send
feedback if you find it useful. - hb-subset got arguments revamps. Added much-requested --gids-file, --glyphs,
--glyphs-file, --unicodes-file, supporting ranges in --unicodes. - Various bug fixes.
Overview of changes leading to 2.8.2
Tuesday, July 8, 2021
- Shaping LTR digits for RTL scripts now makes the native direction of the
digits LTR, applying shaping and positioning rules on the same glyph order as
Uniscribe. (Jonathan Kew, Khaled Hosny). - Subsetting COLR v1 and CPAL tables is now supported. (Garret Rieger, Qunxin Liu)
- Various fixes and improvements to the subsetter. (Garret Rieger, Qunxin Liu, Behdad)
- When applying morx table, mark glyph widths should not be zeroed. (Jonathan Kew)
- GPOS is preferred over kerx, if GSUB was applied. (Behdad)
- Regional_Indicator pairs are grouped together when clustering. (Behdad)
- New API:
+hb_blob_create_or_fail()
+hb_blob_create_from_file_or_fail()
+hb_set_copy()
Assignee | ||
Comment 1•3 years ago
|
||
2.9.0 is hitting reftest failures on Try:
https://treeherder.mozilla.org/logviewer?job_id=348832490&repo=try&lineNumber=11952
Assignee | ||
Comment 2•3 years ago
|
||
Comment 3•3 years ago
|
||
(In reply to Ryan VanderMeulen [:RyanVM] from comment #1)
2.9.0 is hitting reftest failures on Try:
https://treeherder.mozilla.org/logviewer?job_id=348832490&repo=try&lineNumber=11952
This is because harfbuzz now incorporates a (slightly different) fix for the issue we patched in bug 1716029; we'll want to revert the patch we used there, and adjust our reftest reference to reflect the behavior that was eventually agreed/implemented.
Assignee | ||
Comment 4•3 years ago
|
||
Overview of changes leading to 2.9.1
Tuesday, September 7, 2021
- Final subset API is in place and if no issues are discovered, it will be the
stable subset API of HarfBuzz 3.0.0. Old API is kept to ease transition, but
will be removed in 3.0.0. - Various fuzzer-found bug fixes.
- hb_buffer_append() now handles the pre- and post-context which previously
were left unchanged in the destination buffer. - hb-view / hb-shape now accept following new arguments:
o --unicodes-before/after: takes a list of hex numbers that represent Unicode
codepoints. - Undeprecated API:
hb_set_invert()
Assignee | ||
Comment 5•3 years ago
|
||
Updated Try push:
https://treeherder.mozilla.org/jobs?repo=try&revision=761253f55d90be7e82eb5d810d141ec28c56e26b
No new failures compared to the 2.9.0 Try push already discussed. Jonathan, if you want to attach an updated version of 1599841-1.html, I can roll it into the bug 1716029 revert patch.
Comment 6•3 years ago
|
||
I've taken a shot at revising the 1599841-1 reftest. (I'm splitting it into two, and testing the effect of the digit(s) on the overall rendered width, as we can't test in quite the same way any more, because harfbuzz is "too smart" to allow the kind of hackery the reference file there was doing to "fake" the expected rendering.)
Pushed to try at https://treeherder.mozilla.org/#/jobs?repo=try&revision=5243767788ec238ff3dfc11e501dfa66f823df9c to check this behaves as I expect; provided it's happy, I'll post the patch here.
Updated•3 years ago
|
Assignee | ||
Comment 7•3 years ago
|
||
Comment 8•3 years ago
|
||
(In reply to Jonathan Kew (:jfkthame) from comment #6)
Pushed to try at https://treeherder.mozilla.org/#/jobs?repo=try&revision=5243767788ec238ff3dfc11e501dfa66f823df9c to check this behaves as I expect; provided it's happy, I'll post the patch here.
Ah, Windows antialiasing..... (sigh).
Trying again: https://treeherder.mozilla.org/#/jobs?repo=try&revision=c4887d96d274bc37ead01e4db928777f26ef4383
Comment 9•3 years ago
|
||
We can no longer use direction overrides to create the test vs reference renderings here,
because of how harfbuzz now handles the numeral directionality internally. So it's difficult
to come up with a testcase that verifies the exact rendering of the subtending mark + digit(s)
combinations.
What we can do, though, is verify that a single digit combines with the subtending mark
without affecting its overall width; and that a double-digit number does increase the
width. These two conditions are unlikely to both hold unless the rendering is behaving
correctly.
(FWIW, Chrome Canary passes these new test versions, as it also uses a recent harfbuzz;
Safari currently fails, as Core Text doesn't support the subtending marks in the same
way, if at all.)
Comment 10•3 years ago
|
||
Pushed by rvandermeulen@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/06dce46914cf Update HarfBuzz to 2.9.1. r=jfkthame https://hg.mozilla.org/integration/autoland/rev/11d6a9083db4 Revert the changes made by bug 1716029 which are no longer needed. r=jfkthame https://hg.mozilla.org/integration/autoland/rev/01e348e42751 Update testcase for Arabic subtending marks (from bug 1599841) now that harfbuzz handles the number-directionality issue internally. r=emilio
Comment 11•3 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/06dce46914cf
https://hg.mozilla.org/mozilla-central/rev/11d6a9083db4
https://hg.mozilla.org/mozilla-central/rev/01e348e42751
Description
•