Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for DirectWrite font rendering on Windows #14153

Merged
merged 5 commits into from Nov 11, 2016

Conversation

@vvuk
Copy link
Contributor

vvuk commented Nov 9, 2016

This PR adds support for DirectWrite text rendering using a thin wrapper for dwrite, as well as similar functionality added to WebRender. In doing so it removes the FreeType dep from the Windows build.

There is still work to be done here, but this is a good starting point for future cleanup and fixes.


  • ./mach build -d does not report any errors
  • ./mach test-tidy does not report any errors
  • These changes fix #13371 (github issue number if applicable).
  • There are tests for these changes OR
  • These changes do not require tests because they are already tested by other tests

This change is Reviewable

@highfive
Copy link

highfive commented Nov 9, 2016

Heads up! This PR modifies the following files:

  • @asajeffrey: components/constellation/Cargo.toml, components/webdriver_server/Cargo.toml
  • @jgraham: components/webdriver_server/Cargo.toml
  • @KiChjang: components/script/Cargo.toml, components/net/Cargo.toml, components/script_layout_interface/Cargo.toml, components/net_traits/Cargo.toml, components/net_traits/Cargo.toml, components/script_traits/Cargo.toml, components/script_traits/Cargo.toml
  • @fitzgen: components/devtools_traits/Cargo.toml, components/devtools_traits/Cargo.toml, components/profile/Cargo.toml, components/profile_traits/Cargo.toml, components/profile_traits/Cargo.toml, components/devtools/Cargo.toml, components/script/Cargo.toml, components/script_layout_interface/Cargo.toml, components/script_traits/Cargo.toml, components/script_traits/Cargo.toml
  • @emilio: components/layout/Cargo.toml
@vvuk
Copy link
Contributor Author

vvuk commented Nov 9, 2016

Ugh, ignore the ipc-channel 0.6 bump commit -- I had to pull that in in order to test. I'll rebase without it once that lands.

@vvuk vvuk force-pushed the vvuk:win32-dwrite branch 2 times, most recently from a48bd5b to e3908fc Nov 10, 2016
}

#[derive(Debug)]
pub struct CachedDWFont(Mutex<HashMap<Au, Font>>);

This comment has been minimized.

Copy link
@glennw

glennw Nov 10, 2016

Member

Is this actually used anywhere?


#[derive(Clone, Debug)]
pub struct FontContextHandle {
ctx: ()

This comment has been minimized.

Copy link
@glennw

glennw Nov 10, 2016

Member

Can this just be an empty struct (i.e. pub struct FontContextHandle;) ?

@vvuk vvuk force-pushed the vvuk:win32-dwrite branch from e3908fc to db357b0 Nov 10, 2016
@glennw
Copy link
Member

glennw commented Nov 10, 2016

@vvuk r=me on the commits from you. If you (or someone else) wants to r= on my commits here, we can get this merged!

@vvuk
Copy link
Contributor Author

vvuk commented Nov 10, 2016

@glennw r=me on your commits!

@glennw
Copy link
Member

glennw commented Nov 10, 2016

@bors-servo
Copy link
Contributor

bors-servo commented Nov 10, 2016

📌 Commit 473df19 has been approved by glennw

@highfive highfive assigned glennw and unassigned mbrubeck Nov 10, 2016
@bors-servo
Copy link
Contributor

bors-servo commented Nov 10, 2016

Testing commit 473df19 with merge d54cae4...

bors-servo added a commit that referenced this pull request Nov 10, 2016
Add support for DirectWrite font rendering on Windows

<!-- Please describe your changes on the following line: -->
This PR adds support for DirectWrite text rendering using a thin wrapper for dwrite, as well as similar functionality added to WebRender.  In doing so it removes the FreeType dep from the Windows build.

There is still work to be done here, but this is a good starting point for future cleanup and fixes.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [ ] `./mach test-tidy` does not report any errors
- [X] These changes fix #13371 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because they are already tested by other tests

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->

---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/14153)
<!-- Reviewable:end -->
@bors-servo
Copy link
Contributor

bors-servo commented Nov 10, 2016

💔 Test failed - mac-rel-wpt1

@glennw
Copy link
Member

glennw commented Nov 10, 2016

@bors-servo
Copy link
Contributor

bors-servo commented Nov 10, 2016

Testing commit 473df19 with merge 796fae4...

bors-servo added a commit that referenced this pull request Nov 10, 2016
Add support for DirectWrite font rendering on Windows

<!-- Please describe your changes on the following line: -->
This PR adds support for DirectWrite text rendering using a thin wrapper for dwrite, as well as similar functionality added to WebRender.  In doing so it removes the FreeType dep from the Windows build.

There is still work to be done here, but this is a good starting point for future cleanup and fixes.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [ ] `./mach test-tidy` does not report any errors
- [X] These changes fix #13371 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because they are already tested by other tests

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->

---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/14153)
<!-- Reviewable:end -->
@bors-servo
Copy link
Contributor

bors-servo commented Nov 11, 2016

@bors-servo bors-servo merged commit 473df19 into servo:master Nov 11, 2016
3 checks passed
3 checks passed
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
homu Test successful
Details
@jdm jdm mentioned this pull request Jan 14, 2017
11 of 11 tasks complete
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

6 participants
You can’t perform that action at this time.