Closed
Bug 1430632
Opened 7 years ago
Closed 7 years ago
DirectWrite support for OpenType Font Variations
Categories
(Core :: Graphics: Text, enhancement)
Core
Graphics: Text
Tracking
()
RESOLVED
FIXED
mozilla59
Tracking | Status | |
---|---|---|
firefox59 | --- | fixed |
People
(Reporter: jfkthame, Assigned: jfkthame)
References
(Blocks 1 open bug)
Details
Attachments
(2 files)
13.10 KB,
patch
|
lsalzman
:
review+
|
Details | Diff | Splinter Review |
7.11 KB,
patch
|
lsalzman
:
review+
froydnj
:
review+
|
Details | Diff | Splinter Review |
As of the Win10 Fall Creators Update, there is support for variation fonts via new DirectWrite APIs. So we should be able to implement CSS variation-font support on current Win10 systems fairly easily via the DWrite backend. This will not work on earlier Windows systems (we'll need to test API availability at runtime), so if we want variation-font support on older systems we'll need to take another approach, e.g. based on bug 1403299.
Assignee | ||
Comment 1•7 years ago
|
||
This seems to be sufficient to make things work nicely on the axis-praxis test page, for example (with the exception of the Winner font; that looks like a DWrite bug). A followup bug will be needed to hook it all up to webrender, as I didn't tackle that yet.
Attachment #8942709 -
Flags: review?(lsalzman)
Assignee | ||
Updated•7 years ago
|
Assignee: nobody → jfkthame
Status: NEW → ASSIGNED
Assignee | ||
Comment 2•7 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=7aed061a4163801d02943cce066c0464b68d066f
Assignee | ||
Comment 3•7 years ago
|
||
Note that the patch here won't currently build on tryserver (or inbound/central), because it depends on bug 1430634 and bug 1430638. Here's a try build where I just hacked in a bunch of the new DirectWrite declarations in a temporary extra header file, to work around this: https://treeherder.mozilla.org/#/jobs?repo=try&revision=bcac12062637ac8d453c558a905560627f3908c1.
Updated•7 years ago
|
Attachment #8942709 -
Flags: review?(lsalzman) → review+
Assignee | ||
Comment 4•7 years ago
|
||
AFAICT, this allows us to build successfully with the current toolchains etc., until we're ready to bump the SDK and WINVER settings (at which point it should harmlessly stop getting included, even if we don't remember to rip it out right away). The resulting build still runs happily on Win7, it just won't actually support font variations.
Attachment #8943665 -
Flags: review?(nfroyd)
Attachment #8943665 -
Flags: review?(lsalzman)
Updated•7 years ago
|
Attachment #8943665 -
Flags: review?(lsalzman) → review+
![]() |
||
Comment 5•7 years ago
|
||
Comment on attachment 8943665 [details] [diff] [review] Copy declarations of new DirectWrite interfaces into our code so it will build against the current Windows SDK and WINVER settings Review of attachment 8943665 [details] [diff] [review]: ----------------------------------------------------------------- Thank you!
Attachment #8943665 -
Flags: review?(nfroyd) → review+
Assignee | ||
Comment 6•7 years ago
|
||
So just FTR, with the additional patch, this no longer depends on bug 1430638 and bug 1430634; but when we're ready to move forward on those issues, we'll be able to remove the extra header here.
Pushed by jkew@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/794abd47aa0c Support OpenType variation fonts in the DirectWrite font back-end (on Win10 Fall Creators Update). r=lsalzman https://hg.mozilla.org/integration/mozilla-inbound/rev/6d97ae42700e Copy declarations of new DirectWrite interfaces into our code so it will build against the current Windows SDK and WINVER settings. r=lsalzman,froydnj
Comment 8•7 years ago
|
||
:jfkthame windows-mingw32-32 debug build-win32-mingw32/debug (B) job got busted on this push: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=6d97ae42700e4086584d74cde222fa2f870780dd&filter-platform=windows-mingw32-32%20debug&selectedJob=157551905 It's tier2 job but is there any chance you can take a look? Thank you.
Flags: needinfo?(jfkthame)
Assignee | ||
Comment 9•7 years ago
|
||
Ugh, looks like it must be using an older (pre-Win10?) SDK, and doesn't have the dwrite_3.h header at all. I guess we can work around that by copying the necessary declarations into our code, but it may take some trial and error to determine exactly what needs to be included. Or is it possible to update the SDK those builds are using, so that it matches what we use in the tier-1 builds?
Flags: needinfo?(jfkthame)
Comment 10•7 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/794abd47aa0c https://hg.mozilla.org/mozilla-central/rev/6d97ae42700e
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla59
Comment 11•7 years ago
|
||
Works pretty good on Windows 10...but the print-function don't work. The print-preview shows the variable font, but if you print it out, the printer prints without the font-variable-settings..
You need to log in
before you can comment on or make changes to this bug.
Description
•