Closed Bug 1226175 Opened 10 years ago Closed 10 years ago

update harfbuzz to upstream release 1.1.0

Categories

(Core :: Graphics: Text, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla45
Tracking Status
firefox45 --- fixed

People

(Reporter: ionnv, Assigned: jfkthame)

References

(Blocks 1 open bug, )

Details

Attachments

(1 file)

http://cgit.freedesktop.org/harfbuzz/commit/?id=e1118aeac3b5556df0ce502732df8ac92bdac45a Overview of changes leading to 1.1.0 Wednesday, November 18, 2015 ==================================== - Implement 'stch' stretch feature for Syriac Abbreviation Mark. https://github.com/behdad/harfbuzz/issues/141 - Disable use of decompose_compatibility() callback. - Implement "shaping" of various Unicode space characters, even if the font does not support them. https://github.com/behdad/harfbuzz/issues/153 - If font does not support U+2011 NO-BREAK HYPHEN, fallback to U+2010 HYPHEN. - Changes resulting from libFuzzer continuous fuzzing: * Reject font tables that need more than 8 edits, * Bound buffer growth during shaping to 32x, * Fix assertions and other issues at OOM / buffer max-growth. - Misc fixes and optimizations. - API changes: * All fonts created with hb_font_create() now inherit from (ie. have parent) hb_font_get_empty().
Depends on: 1215428
I've confirmed locally that we get proper SAM rendering with this, using the Segoe UI Historic font. I'm not aware of a free font with appropriate support that we can include for reftest purposes at this time.
Attachment #8689514 - Flags: review?(jdaggett)
Assignee: nobody → jfkthame
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Blocks: 560963
I can try to prepare such a font if you like, may be something based on Noto fonts.
Attachment #8689514 - Flags: review?(jdaggett) → review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/815c0c1d5619a4a122108148f303db3ed05c2247 Bug 1226175 - Update in-tree harfbuzz to release 1.1.0 to pick up Syriac Abbreviation Mark support ('stch' feature). r=jdaggett
(In reply to Khaled Hosny from comment #2) > I can try to prepare such a font if you like, may be something based on Noto > fonts. If you wish, but I don't see it as a high priority. This is primarily a harfbuzz issue, and it's tested there, so I'm comfortable with just having confirmed manually that it appears as expected in Gecko.
(In reply to Jonathan Kew (:jfkthame) from comment #4) > (In reply to Khaled Hosny from comment #2) > > I can try to prepare such a font if you like, may be something based on Noto > > fonts. > > If you wish, but I don't see it as a high priority. This is primarily a > harfbuzz issue, and it's tested there, so I'm comfortable with just having > confirmed manually that it appears as expected in Gecko. OK, all good then.
(In reply to Pulsebot from comment #6) > Backout: > https://hg.mozilla.org/integration/mozilla-inbound/rev/f0ecb8d583b4 What’s wrong exactly?
/builds/slave/m-in-lx-0000000000000000000000/build/src/gfx/harfbuzz/src/hb-font.cc:304:1: error: missing braces around initializer for 'hb_font_funcs_t::get_t::get_funcs_t' [-Werror=missing-braces] /builds/slave/m-in-lx-0000000000000000000000/build/src/gfx/harfbuzz/src/hb-font.cc:325:1: error: missing braces around initializer for 'hb_font_funcs_t::get_t::get_funcs_t' [-Werror=missing-braces] I'll fix, test, and re-land.
Ugh, I just realized there's another set of errors that showed up on Windows (only): c:\builds\moz2_slave\m-in-w32-000000000000000000000\build\src\gfx\harfbuzz\src\hb-buffer-private.hh(51) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\builds\moz2_slave\m-in-w32-000000000000000000000\build\src\gfx\harfbuzz\src\hb-buffer-private.hh(52) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\builds\moz2_slave\m-in-w32-000000000000000000000\build\src\gfx\harfbuzz\src\hb-buffer-private.hh(67) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\builds\moz2_slave\m-in-w32-000000000000000000000\build\src\gfx\harfbuzz\src\hb-ot-map-private.hh(162) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\builds\moz2_slave\m-in-w32-000000000000000000000\build\src\gfx\harfbuzz\src\hb-ot-layout-private.hh(68) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\builds\moz2_slave\m-in-w32-000000000000000000000\build\src\gfx\harfbuzz\src\hb-ot-layout-private.hh(240) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\builds\moz2_slave\m-in-w32-000000000000000000000\build\src\gfx\harfbuzz\src\hb-ot-layout-private.hh(252) : error C2676: binary '|=' : 'hb_buffer_scratch_flags_t' does not define this operator or a conversion to a type acceptable to the predefined operator c:\builds\moz2_slave\m-in-w32-000000000000000000000\build\src\gfx\harfbuzz\src\hb-ot-layout-private.hh(255) : error C2676: binary '|=' : 'hb_buffer_scratch_flags_t' does not define this operator or a conversion to a type acceptable to the predefined operator So a bit more cleanup needed, it seems.
(In reply to Jonathan Kew (:jfkthame) from comment #10) > Ugh, I just realized there's another set of errors that showed up on Windows > (only): > > c:\builds\moz2_slave\m-in-w32- > 000000000000000000000\build\src\gfx\harfbuzz\src\hb-buffer-private.hh(51) : > error C4430: missing type specifier - int assumed. Note: C++ does not > support default-int > c:\builds\moz2_slave\m-in-w32- > 000000000000000000000\build\src\gfx\harfbuzz\src\hb-buffer-private.hh(52) : > error C4430: missing type specifier - int assumed. Note: C++ does not > support default-int > c:\builds\moz2_slave\m-in-w32- > 000000000000000000000\build\src\gfx\harfbuzz\src\hb-buffer-private.hh(67) : > error C4430: missing type specifier - int assumed. Note: C++ does not > support default-int > c:\builds\moz2_slave\m-in-w32- > 000000000000000000000\build\src\gfx\harfbuzz\src\hb-ot-map-private.hh(162) : > error C4430: missing type specifier - int assumed. Note: C++ does not > support default-int > c:\builds\moz2_slave\m-in-w32- > 000000000000000000000\build\src\gfx\harfbuzz\src\hb-ot-layout-private.hh(68) > : error C4430: missing type specifier - int assumed. Note: C++ does not > support default-int > c:\builds\moz2_slave\m-in-w32- > 000000000000000000000\build\src\gfx\harfbuzz\src\hb-ot-layout-private. > hh(240) : error C4430: missing type specifier - int assumed. Note: C++ does > not support default-int > c:\builds\moz2_slave\m-in-w32- > 000000000000000000000\build\src\gfx\harfbuzz\src\hb-ot-layout-private. > hh(252) : error C2676: binary '|=' : 'hb_buffer_scratch_flags_t' does not > define this operator or a conversion to a type acceptable to the predefined > operator > c:\builds\moz2_slave\m-in-w32- > 000000000000000000000\build\src\gfx\harfbuzz\src\hb-ot-layout-private. > hh(255) : error C2676: binary '|=' : 'hb_buffer_scratch_flags_t' does not > define this operator or a conversion to a type acceptable to the predefined > operator > > So a bit more cleanup needed, it seems. I replaced the template use for these with non-template. See if that helps?
https://hg.mozilla.org/integration/mozilla-inbound/rev/7de63224e7b9e3fb7169dff6dcb601df771dfb25 Bug 1226175 - Update in-tree harfbuzz to release 1.1.0 to pick up Syriac Abbreviation Mark support ('stch' feature). r=jdaggett
(In reply to Behdad Esfahbod from comment #13) > I replaced the template use for these with non-template. See if that helps? I expect so (will test in a while, or whenever the next release comes); for getting 1.1.0 landed now, I just added the #include to keep the build happy on Windows.
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla45
Blocks: 1228540
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: