Open Bug 1102031 Opened 10 years ago Updated 3 years ago

CSSParserImpl::ParseFontRanges is inconsistent about whether certain unicode-ranges are valid

Categories

(Core :: CSS Parsing and Computation, defect)

defect

Tracking

()

People

(Reporter: dbaron, Unassigned)

Details

CSSParserImpl::ParseFontRanges is inconsistent about whether unicode ranges like: U+199-100 (descending) U+110000-1100ff (above top of Unicode at 10ffff) are valid. In particular, it treats a descriptor containing *only* such ranges as invalid because it has an empty list of ranges (and thus drops it on the floor and treats it like the descriptor was not present and the font can have all unicode characters), but treats one as containing these with other ranges as only having those other ranges. http://dev.w3.org/csswg/css-fonts/#urange-value could probably also be clearer about whether these are syntax errors or not; perhaps this will be clearer once http://dev.w3.org/csswg/css-syntax/#urange is integrated into it.
Our implementation of urange parsing preceded the spec wording as it stands now. Just before LC there were a bunch of wording changes that tightened what was valid. The spec already says explicitly: Ranges that do not fit one of the these forms are invalid and cause the declaration to be ignored. So our current behavior needs to be fixed to match this. I don't think the new <urange> algorithm will affect much here vs. the current spec.
Summary: CSSParserImpl::ParseFontRanges is inconsistent about whether certain unicode ranges are valid → CSSParserImpl::ParseFontRanges is inconsistent about whether certain unicode-ranges are valid
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.