Open Bug 1769262 Opened 3 years ago Updated 3 years ago

Report error in console for downloadable fonts that would be rejected by OTL Validation, even if OTL validation is disabled (via gfx.downloadable_fonts.otl_validation)

Categories

(Core :: Layout: Text and Fonts, defect)

defect

Tracking

()

People

(Reporter: jrmuizel, Unassigned)

Details

Attachments

(1 file)

Attached file Reduced test case

There should be an Oracle logo above "cloud" on https://www.oracle.com/ca-en/cloud/sign-in.html but it only shows up in Chrome.

Firefox says:

downloadable font: GSUB: Bad ligature offset 4 for ligature 1622 (font-family: "redwoodicons" style:normal weight:400 stretch:100 src index:0) source: data:font/woff2;base64,d09GMgABAAAAAr64AAsAAAALOFAAAr5jAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHITaUAZWAIHyZgqgyjSa4CUBNgIkA+g0C+g4AAQgB … Drrn/1eePw6CGAKLB7RZJjuA7OHKFodDcFE2+RGD2ztdbEULRO80zQRQzes1GZ85xyN7u4Feef7Gvf9D+1+YzlGznNN/BD97subDdmRBbTH+x/QVM7Hw/ntB/9H2AQ==
downloadable font: GSUB: Failed to parse ligature set 0 (font-family: "redwoodicons" style:normal weight:400 stretch:100 src index:0) source: data:font/woff2;base64,d09GMgABAAAAAr64AAsAAAALOFAAAr5jAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHITaUAZWAIHyZgqgyjSa4CUBNgIkA+g0C+g4AAQgB … Drrn/1eePw6CGAKLB7RZJjuA7OHKFodDcFE2+RGD2ztdbEULRO80zQRQzes1GZ85xyN7u4Feef7Gvf9D+1+YzlGznNN/BD97subDdmRBbTH+x/QVM7Hw/ntB/9H2AQ==
downloadable font: Layout: Failed to parse lookup subtable 3 (font-family: "redwoodicons" style:normal weight:400 stretch:100 src index:0) source: data:font/woff2;base64,d09GMgABAAAAAr64AAsAAAALOFAAAr5jAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHITaUAZWAIHyZgqgyjSa4CUBNgIkA+g0C+g4AAQgB … Drrn/1eePw6CGAKLB7RZJjuA7OHKFodDcFE2+RGD2ztdbEULRO80zQRQzes1GZ85xyN7u4Feef7Gvf9D+1+YzlGznNN/BD97subDdmRBbTH+x/QVM7Hw/ntB/9H2AQ==
downloadable font: Layout: Failed to parse subtable 0 (font-family: "redwoodicons" style:normal weight:400 stretch:100 src index:0) source: data:font/woff2;base64,d09GMgABAAAAAr64AAsAAAALOFAAAr5jAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHITaUAZWAIHyZgqgyjSa4CUBNgIkA+g0C+g4AAQgB … Drrn/1eePw6CGAKLB7RZJjuA7OHKFodDcFE2+RGD2ztdbEULRO80zQRQzes1GZ85xyN7u4Feef7Gvf9D+1+YzlGznNN/BD97subDdmRBbTH+x/QVM7Hw/ntB/9H2AQ==
downloadable font: Layout: Failed to parse lookup 0 (font-family: "redwoodicons" style:normal weight:400 stretch:100 src index:0) source: data:font/woff2;base64,d09GMgABAAAAAr64AAsAAAALOFAAAr5jAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHITaUAZWAIHyZgqgyjSa4CUBNgIkA+g0C+g4AAQgB … Drrn/1eePw6CGAKLB7RZJjuA7OHKFodDcFE2+RGD2ztdbEULRO80zQRQzes1GZ85xyN7u4Feef7Gvf9D+1+YzlGznNN/BD97subDdmRBbTH+x/QVM7Hw/ntB/9H2AQ==
downloadable font: GSUB: Failed to parse lookup list table (font-family: "redwoodicons" style:normal weight:400 stretch:100 src index:0) source: data:font/woff2;base64,d09GMgABAAAAAr64AAsAAAALOFAAAr5jAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHITaUAZWAIHyZgqgyjSa4CUBNgIkA+g0C+g4AAQgB … Drrn/1eePw6CGAKLB7RZJjuA7OHKFodDcFE2+RGD2ztdbEULRO80zQRQzes1GZ85xyN7u4Feef7Gvf9D+1+YzlGznNN/BD97subDdmRBbTH+x/QVM7Hw/ntB/9H2AQ==
downloadable font: GSUB: Failed to parse table (font-family: "redwoodicons" style:normal weight:400 stretch:100 src index:0) source: data:font/woff2;base64,d09GMgABAAAAAr64AAsAAAALOFAAAr5jAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHITaUAZWAIHyZgqgyjSa4CUBNgIkA+g0C+g4AAQgB … Drrn/1eePw6CGAKLB7RZJjuA7OHKFodDcFE2+RGD2ztdbEULRO80zQRQzes1GZ85xyN7u4Feef7Gvf9D+1+YzlGznNN/BD97subDdmRBbTH+x/QVM7Hw/ntB/9H2AQ==
downloadable font: rejected by sanitizer (font-family: "redwoodicons" style:normal weight:400 stretch:100 src index:0) source: data:font/woff2;base64,d09GMgABAAAAAr64AAsAAAALOFAAAr5jAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHITaUAZWAIHyZgqgyjSa4CUBNgIkA+g0C+g4AAQgB … Drrn/1eePw6CGAKLB7RZJjuA7OHKFodDcFE2+RGD2ztdbEULRO80zQRQzes1GZ85xyN7u4Feef7Gvf9D+1+YzlGznNN/BD97subDdmRBbTH+x/QVM7Hw/ntB/9H2AQ==
downloadable font: font load failed (font-family: "redwoodicons" style:normal weight:400 stretch:100 src index:0) source: data:font/woff2;base64,d09GMgABAAAAAr64AAsAAAALOFAAAr5jAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHITaUAZWAIHyZgqgyjSa4CUBNgIkA+g0C+g4AAQgB … Drrn/1eePw6CGAKLB7RZJjuA7OHKFodDcFE2+RGD2ztdbEULRO80zQRQzes1GZ85xyN7u4Feef7Gvf9D+1+YzlGznNN/BD97subDdmRBbTH+x/QVM7Hw/ntB/9H2AQ== `
Flags: needinfo?(jfkthame)

It works in Safari too.

It should work in release, fwiw, where gfx.downloadable_fonts.otl_validation=false. This is a broken font and should probably be fixed tho.

Right, this is expected behavior on Nightly, where we run stricter OpenType validation. It's a bad font resource.

On release, we (like Chrome) allow it through, even though if content actually depended on proper shaping, it would most likely render wrong because the font's GSUB table is invalid.

Flags: needinfo?(jfkthame)

It looks like we don't report any errors on Release. Is it possible for to report the errors in the console while still accepting the font on Release?

As it stands, OTS doesn't support that: if it encounters errors (that it can't automatically fix up on the fly) while parsing a table, it returns a failure and we don't get any sanitized data back. (With gfx.downloadable_fonts.otl_validation=false, we tell it not to parse the OTL tables at all, just pass them through as raw blobs. So then the font isn't rejected but we also don't detect the errors.)

I suppose we could validate first in the stricter mode, so that errors are reported, and then if it fails, try again with OTL validation disabled. Seems ugly, though. Or OTS could be modified to drop the individual OTL tables but not reject the font as a whole. But I think there was a point in the past when it did that, and there was some feeling that it's not a good thing because it tends to hide subtle brokenness.

The severity field is not set for this bug.
:dholbert, could you have a look please?

For more information, please visit auto_nag documentation.

Flags: needinfo?(dholbert)

As-described, it sounds like the bug is invalid (i.e. our behavior is correct; we reject the font as invalid in Nightly, though for now we do accept it on release).

Perhaps we should morph to cover Jeff's request in comment 4 (to be able to report an error while still accepting the font).

Severity: -- → S3
Flags: needinfo?(dholbert)
Summary: Oracle icon font redwoodicons doesn't load in Firefox but does in Chrome → Report error in console for downloadable fonts that would be rejected by OTL Validation, even if OTL validation is disabled (via gfx.downloadable_fonts.otl_validation)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: