mirror of
https://github.com/servo/servo.git
synced 2025-08-07 06:25:32 +01:00
Minimal Win32 font platform implementation.
This uses a (very simple) Win32 API call to enumerate font families available, and load them as byte buffers. The font rasterization itself is done by freetype. This gets Servo + WR + Windows working, but should be improved by adding a proper implementation that matches fonts correctly and also uses DirectWrite (or GDI) to handle font rasterization.
This commit is contained in:
parent
19a5a30113
commit
0849607239
7 changed files with 195 additions and 13 deletions
|
@ -2,16 +2,19 @@
|
|||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#[cfg(any(target_os = "linux", target_os = "android", all(target_os = "windows", target_env = "gnu")))]
|
||||
pub use platform::freetype::{font, font_context, font_list, font_template};
|
||||
#[cfg(any(target_os = "linux", target_os = "android", target_os = "windows"))]
|
||||
pub use platform::freetype::{font, font_context};
|
||||
|
||||
#[cfg(any(target_os = "linux", target_os = "android"))]
|
||||
pub use platform::freetype::{font_list, font_template};
|
||||
|
||||
#[cfg(target_os = "windows")]
|
||||
pub use platform::windows::{font_list, font_template};
|
||||
|
||||
#[cfg(target_os = "macos")]
|
||||
pub use platform::macos::{font, font_context, font_list, font_template};
|
||||
|
||||
#[cfg(all(target_os = "windows", target_env = "msvc"))]
|
||||
pub use platform::dummy::{font, font_context, font_list, font_template};
|
||||
|
||||
#[cfg(any(target_os = "linux", target_os = "android", all(target_os = "windows", target_env = "gnu")))]
|
||||
#[cfg(any(target_os = "linux", target_os = "android", target_os = "windows"))]
|
||||
mod freetype {
|
||||
use libc::c_char;
|
||||
use std::ffi::CStr;
|
||||
|
@ -25,7 +28,11 @@ mod freetype {
|
|||
|
||||
pub mod font;
|
||||
pub mod font_context;
|
||||
|
||||
#[cfg(any(target_os = "linux", target_os = "android"))]
|
||||
pub mod font_list;
|
||||
|
||||
#[cfg(any(target_os = "linux", target_os = "android"))]
|
||||
pub mod font_template;
|
||||
}
|
||||
|
||||
|
@ -37,10 +44,8 @@ mod macos {
|
|||
pub mod font_template;
|
||||
}
|
||||
|
||||
#[cfg(all(target_os = "windows", target_env = "msvc"))]
|
||||
mod dummy {
|
||||
pub mod font;
|
||||
pub mod font_context;
|
||||
#[cfg(target_os = "windows")]
|
||||
mod windows {
|
||||
pub mod font_list;
|
||||
pub mod font_template;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue