update harfbuzz to upstream release 1.2.6

RESOLVED FIXED in Firefox 48

Status

()

defect
RESOLVED FIXED
3 years ago
2 years ago

People

(Reporter: shanshandehongxing, Assigned: jfkthame)

Tracking

unspecified
mozilla48
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox48 fixed)

Details

Attachments

(1 attachment)

Reporter

Description

3 years ago
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:44.0) Gecko/20100101 Firefox/44.0
Build ID: 20160210153822

Steps to reproduce:

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

Overview of changes leading to 1.2.3
Thursday, February 25, 2016
====================================

- Blacklist GDEF table of certain versions of Times New Roman (Bold) Italic,
  due to bug in glyph class of ASCII double-quote character.  This should
  address "regression" introduced in 1.2.0 when we switched mark zeroing
  in most shapers from BY_UNICODE_LATE to BY_GDEF_LATE.
  This fourth release in a week should finally stablize things...

- hb-ot-font's get_glyph() implementation saw some optimizations.  Though,
  might be really hard to measure in real-world situations.

- Also, two rather small API changes:

We now disable some time-consuming internal bookkeeping if built with NDEBUG
defined.  This is a first time that we use NDEBUG to disable debug code.  If
there exist production systems that do NOT want to enable NDEBUG, please let
me know and I'll add HB_NDEBUG.

Added get_nominal_glyph() and get_variation_glyph() instead of get_glyph()

New API:
- hb_font_get_nominal_glyph_func_t
- hb_font_get_variation_glyph_func_t
- hb_font_funcs_set_nominal_glyph_func()
- hb_font_funcs_set_variation_glyph_func()
- hb_font_get_nominal_glyph()
- hb_font_get_variation_glyph()

Deprecated API:
- hb_font_get_glyph_func_t
- hb_font_funcs_set_glyph_func()

Clients that implement their own font-funcs are encouraged to replace
their get_glyph() implementation with a get_nominal_glyph() and
get_variation_glyph() pair.  The variation version can assume that
variation_selector argument is not zero.  Old (deprecated) functions
will continue working indefinitely using internal gymnastics; it is
just more efficient to use the new functions.
Reporter

Updated

3 years ago
Depends on: 1249861
Assignee

Comment 1

3 years ago
Note that we already handle the problem with TNR Italic within Gecko code, so there's no urgency for us to take that harfbuzz fix.

(When we do take a new release, we should be able to remove our equivalent workaround; we should also switch to the new get_nominal_glyph() and get_variation_glyph() APIs instead of get_glyph().)
Status: UNCONFIRMED → NEW
Ever confirmed: true
Assignee

Comment 3

3 years ago
And now, version 1.2.5 is now released. (Note that 1.2.3 and 1.2.4 had a bug that broke mark filter sets; see recent messages on the hb mail-list.)
Assignee

Updated

3 years ago
Summary: update harfbuzz to upstream release 1.2.3 → update harfbuzz to upstream release 1.2.5
Reporter

Comment 4

3 years ago
Version 1.2.6 is now released.
Summary: update harfbuzz to upstream release 1.2.5 → update harfbuzz to upstream release 1.2.6
Assignee

Comment 5

3 years ago
Just a routine update. Once this is landed, we can simplify our interface code a bit using the new get_glyph APIs, but I'll do that as a followup.
Attachment #8740414 - Flags: review?(jmuizelaar)
Assignee

Updated

3 years ago
Assignee: nobody → jfkthame
Status: NEW → ASSIGNED
Assignee

Updated

3 years ago
Blocks: 1263956
Assignee

Comment 6

3 years ago
Try run, just to check the update doesn't break our reftests:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=b2ae9a2d78c5
Attachment #8740414 - Flags: review?(jmuizelaar) → review+

Comment 8

3 years ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/aeb302aeff16
Status: ASSIGNED → RESOLVED
Last Resolved: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla48
Reporter

Updated

3 years ago
Blocks: 1269343
You need to log in before you can comment on or make changes to this bug.