Failing to fall back across multiple subsetted faces of an installed font [was: Unicode Character ✘ is not showing up]
Categories
(Core :: Layout: Text and Fonts, defect, P3)
Tracking
()
People
(Reporter: bennerockt, Assigned: jfkthame)
References
Details
(Whiteboard: [geckoview:p3])
Attachments
(3 files)
Comment 1•7 years ago
|
||
Comment 3•7 years ago
|
||
Comment 6•7 years ago
|
||
Comment 7•7 years ago
|
||
Comment 9•7 years ago
|
||
Comment 10•7 years ago
|
||
Reporter | ||
Comment 11•7 years ago
|
||
Updated•7 years ago
|
Comment 12•7 years ago
|
||
Johnathan do you have some time to look at the fonts that this user pulled from their device?
Assignee | ||
Comment 13•7 years ago
|
||
The characters concerned (U+2718 ✘, U+25BE ▾) are found in the Noto Sans Symbols font. However, on this user's device, the vendor has shipped Noto Sans Symbols split across two files; there's NotoSansSymbols-Regular-Subsetted.ttf, and then also NotoSansSymbols-Regular-Subsetted2.ttf, with most of the characters in the first of these and a smaller number in the Subsetted2 file.
Both these .ttf files have the exact same font names and other metadata, so I suspect what's happening is that our font selection code can't distinguish them, and ends up using only one of the faces -- and it happens to be the one that doesn't have most of the symbols in it.
I thought we'd done some work a while back to try to handle situations like this, but maybe I'm mis-remembering the exact scenario. Some investigation of the gfxFT2FontList backend might help figure out exactly why it breaks. Leaving needinfo? to remind myself to try and look into it when I can find some time.
Assignee | ||
Updated•7 years ago
|
Assignee | ||
Updated•7 years ago
|
Assignee | ||
Comment 14•7 years ago
|
||
I have a patch that I think should resolve the problem here, by ensuring we correctly search multiple faces when a font has been split in this way; but I don't have a suitable device to actually test it.
A test build is at https://treeherder.mozilla.org/#/jobs?repo=try&revision=ad709bd04c5454d2a67ad4e30db529c6c49ecef1. Benne, if you're willing to install the version from there[1] and see if this helps, that would be awesome.
[1] The APK file to download and install should be https://queue.taskcluster.net/v1/task/MwQeJEWxRDy697nESUNu7w/runs/0/artifacts/public/build/target.apk. This will install with the name "Firefox Nightly".
Assignee | ||
Comment 15•7 years ago
|
||
Assignee | ||
Updated•7 years ago
|
Reporter | ||
Comment 16•7 years ago
|
||
Jonathan, I can confirm that using the APK above has fixed the issue. The Unicode Character ✘ is now showing up as expected. Thank you very much for your kindly help!
Updated•7 years ago
|
Assignee | ||
Updated•7 years ago
|
Comment 17•7 years ago
|
||
Assignee | ||
Comment 18•7 years ago
|
||
(In reply to Jeff Muizelaar [:jrmuizel] from comment #17)
Can we reftest this?
Not really, afaics; it's only an issue given an unusual configuration of system-installed fonts, so none of our test configurations are going to exhibit the problem.
Updated•6 years ago
|
Comment 19•6 years ago
|
||
Comment 20•6 years ago
|
||
bugherder |
Updated•6 years ago
|
Description
•