Bug 125835
Summary: | @font-face should not affect width of characters outside of its unicode-range | ||
---|---|---|---|
Product: | WebKit | Reporter: | Ryosuke Niwa <rniwa> |
Component: | Text | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED CONFIGURATION CHANGED | ||
Severity: | Normal | CC: | ahmad.saleem792, ap, bfulgham, enrica, koivisto, mitz, mmaxfield, rniwa, simon.fraser, zalan |
Priority: | P2 | Keywords: | BlinkMergeCandidate |
Version: | 528+ (Nightly build) | ||
Hardware: | Unspecified | ||
OS: | Unspecified |
Ryosuke Niwa
Consider merging https://chromium.googlesource.com/chromium/blink/+/2b5a2a00fa9f32da8e006d8b3eb5123c7472e782
Treat FontFallbackList as variable-pitch if the primary font does not
cover entire unicode range.
This fixes the issue that when @font-face has only one segment and that
segment is fixed-pitch, characters outside that segment were treated
incorrectly as fixed-pitch.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Ahmad Saleem
This would be:
https://github.com/WebKit/WebKit/blob/8afe31a018b11741abdf9b4d5bb973d7c1d9ff05/Source/WebCore/platform/graphics/FontRanges.h#L70
https://github.com/WebKit/WebKit/blob/44aedc1a545cb3df9c2e3b1e4359355ba247e18d/Source/WebCore/platform/graphics/FontCascadeFonts.cpp#L128
If yes, let me know - I can try to create a pull request. Not super good but happy to learn and work with someone, who can mentor and coach. Thanks!
Ahmad Saleem
Although I don't think anything would be required because if I change the test case from patch to JSFiddle:
Link - https://jsfiddle.net/jgxmopf0/show
All browsers (Safari 15.6.1, Safari Technology Preview 151, Firefox Nightly 105 and Chrome Canary 106) show same this:
@font-face should not affect width of characters outside of its unicode-range
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
PASS document.getElementById('test').offsetWidth is document.getElementById('sans').offsetWidth
PASS successfullyParsed is true
TEST COMPLETE
______
Appreciate if someone else can comment. Thanks!
Alexey Proskuryakov
Nice!