Closed Bug 1393375 Opened 2 years ago Closed 2 years ago

Update HarfBuzz to version 1.5.1

Categories

(Core :: Graphics: Text, defect, P3)

defect

Tracking

()

RESOLVED FIXED
mozilla57
Tracking Status
firefox57 --- fixed

People

(Reporter: shanshandehongxing, Assigned: RyanVM)

References

Details

(Whiteboard: [gfx-noted][third-party-lib-audit])

Attachments

(1 file)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55.0
Build ID: 20170814072924

Steps to reproduce:

https://cgit.freedesktop.org/harfbuzz/commit/?id=e8b364b86023731e0416ab4eb433467c4b7a0ec2

Overview of changes leading to 1.5.0
Wednesday, August 23, 2017
====================================

- Misc new API, for appending a buffer to another, and for comparing
  contents of two buffers for types of differences.

- New "unsafe-to-break" API.  Can be used to speed up reshaping
  in line-breaking situations.  Essentially, after shaping, it returns
  positions in the input string (some of the cluster boundaries) that
  are "safe to break" in that if the text is segmented at that position
  and two sides reshaped and concatenated, the shaping result is
  exactly the same as shaping the text in one piece.

  hb-view and hb-shape and hb-shape now take --verify, which verifies
  the above property.

  Some corner cases of the implementation are still not quite working.
  Those will be fixed in subsequent releases.

- New API:

hb_buffer_append()

hb_glyph_flags_t
HB_GLYPH_FLAG_UNSAFE_TO_BREAK
HB_GLYPH_FLAG_DEFINED
hb_glyph_info_get_glyph_flags()

HB_BUFFER_SERIALIZE_FLAG_GLYPH_FLAGS

hb_buffer_diff_flags_t
HB_BUFFER_DIFF_FLAG_EQUAL
HB_BUFFER_DIFF_FLAG_CONTENT_TYPE_MISMATCH
HB_BUFFER_DIFF_FLAG_LENGTH_MISMATCH
HB_BUFFER_DIFF_FLAG_NOTDEF_PRESENT
HB_BUFFER_DIFF_FLAG_DOTTED_CIRCLE_PRESENT
HB_BUFFER_DIFF_FLAG_CODEPOINT_MISMATCH
HB_BUFFER_DIFF_FLAG_CLUSTER_MISMATCH
HB_BUFFER_DIFF_FLAG_GLYPH_FLAGS_MISMATCH
HB_BUFFER_DIFF_FLAG_POSITION_MISMATCH
hb_buffer_diff
Depends on: 1388551
Status: UNCONFIRMED → NEW
Ever confirmed: true
How urgently do we want this? Should we try to get it in during the 57 timeframe still or wait until it's had some time to stabilize first?
Flags: needinfo?(jfkthame)
There's only one very minor change (a small Arabic shaping fix) that would actually affect Firefox, as the main feature of this release is that it introduces some new API functionality - but Gecko doesn't currently use it. So at this point I'd be OK with letting it wait a bit.
Flags: needinfo?(jfkthame)
Whiteboard: [gfx-noted]
Overview of changes leading to 1.5.1
Tuesday, September 5, 2017
====================================
- Fix "unsafe-to-break" in fallback shaping and other corner cases.
- All our tests pass with --verify now, meaning unsafe-to-break API
  works as expected.
- Add --unicodes to hb-view / hb-shape.
- [indic] Treat Consonant_With_Stacker as consonant. This will need
  further tweaking.
- hb_buffer_diff() tweaks.
Summary: Update HarfBuzz to version 1.5.0 → Update HarfBuzz to version 1.5.1
OK, let's take this in time for the 57 beta merge, I think. While a lot of the recent changes are outside the core library (in utilities and tooling that we don't use in Gecko), there's the Arabic shaping fix that was in 1.5.0, and now also an Indic fix that affects a (rare, I believe) real-world use case, so it'd be good to get these out.
Attachment #8904725 - Flags: review?(jfkthame) → review+
Pushed by ryanvm@gmail.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/3d548d178c25
Update HarfBuzz to version 1.5.1. r=jfkthame
Whiteboard: [gfx-noted] → [gfx-noted][third-party-lib-audit]
https://hg.mozilla.org/mozilla-central/rev/3d548d178c25
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla57
No longer blocks: 1411005
You need to log in before you can comment on or make changes to this bug.