http://dev.w3.org/csswg/css3-fonts/#unicode-range-desc says that multiple ranges separated by commas can be specified for unicode-range descriptor. But as of r62335, WebKit considers such unicode-range as invalid. For example, @font-face { font-family:myfont; src: local('Courier'); unicode-range: u+69, u+6a; /* 'i' and 'j' */ } is erroneously treated as if it were @font-face { font-family:myfont; src: local('Courier'); }
Created attachment 60346 [details] Fix for Bug 41509 - Multiple ranges for unicode-range causes parse error
Comment on attachment 60346 [details] Fix for Bug 41509 - Multiple ranges for unicode-range causes parse error Isn't this going to allow multiple consecutive commas, only commas, and no commas? The working draft doesn't appear to allow any of these.
I think the title and the description of the bug are wrong. WebKit currently supports space-separated lists of ranges, but the WD calls for comma separation.
Created attachment 60496 [details] Make operator checking more strict.
Hi, mitz, Thank you for the review. I've: - made the operator checking stricter - added tests - corrected existing tests that use space-separated ranges - changed the bug's title.
There are a couple more layout tests that use the old space-separated syntax: fast/text/international/resources/Mac-compatible-font-fallback.css platform/win/svg/W3C-SVG-1.1/resources/Mac-compatible-font-fallback.css platform/win/css2.1/resources/Mac-compatible-font-fallback.css
Created attachment 60575 [details] Also fixed LayoutTests/platform/win/css2.1/resources/Mac-compatible-font-fallback.css
Hi, Thank you for the review. (In reply to comment #6) > There are a couple more layout tests that use the old space-separated syntax: > > fast/text/international/resources/Mac-compatible-font-fallback.css > platform/win/svg/W3C-SVG-1.1/resources/Mac-compatible-font-fallback.css These don't contain space-separated values, do they? > platform/win/css2.1/resources/Mac-compatible-font-fallback.css Fixed this. I've grep'ed all the files under LayoutTests as follows and found no others. $ find LayoutTests | xargs grep -i 'unicode-range.*u+[^;,]* *u' LayoutTests/fast/css/font-face-multiple-ranges-for-unicode-range.html: unicode-range: u+69 u+6a ; /* 'i' and 'j' */
Committed r62530: <http://trac.webkit.org/changeset/62530>
I wonder if this affects <svg::font-face> and if we need further testing for such.
http://trac.webkit.org/changeset/62530 might have broken Qt Linux Release