From b6a60ef9878c025b406fedabebebfbaad6a3e449 Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Wed, 4 Oct 2017 19:03:38 -0700 Subject: [PATCH] Make FreeType no longer a dependency of `path-utils` --- font-renderer/Cargo.toml | 6 +----- font-renderer/src/lib.rs | 5 ++++- .../freetype.rs => font-renderer/src/outline.rs | 17 ++--------------- path-utils/Cargo.toml | 4 ---- path-utils/src/lib.rs | 2 -- 5 files changed, 7 insertions(+), 27 deletions(-) rename path-utils/src/freetype.rs => font-renderer/src/outline.rs (91%) diff --git a/font-renderer/Cargo.toml b/font-renderer/Cargo.toml index b3486faa..4a94069c 100644 --- a/font-renderer/Cargo.toml +++ b/font-renderer/Cargo.toml @@ -6,13 +6,9 @@ authors = ["Patrick Walton "] [dependencies] app_units = "0.5" euclid = "0.15" +freetype-sys = "0.6" log = "0.3" -[dependencies.freetype-sys] -git = "https://github.com/pcwalton/freetype-sys.git" -branch = "stroker" -rev = "11c67b2a215ec5d1aefd465a9b0560b9784ca672" - [dependencies.pathfinder_path_utils] path = "../path-utils" diff --git a/font-renderer/src/lib.rs b/font-renderer/src/lib.rs index 5276c6dc..5749fe9f 100644 --- a/font-renderer/src/lib.rs +++ b/font-renderer/src/lib.rs @@ -19,7 +19,6 @@ use freetype_sys::{FT_GlyphSlot, FT_Init_FreeType, FT_Int32, FT_LOAD_NO_HINTING, use freetype_sys::{FT_Load_Glyph, FT_Long, FT_New_Memory_Face, FT_Outline_Get_CBox}; use freetype_sys::{FT_Set_Char_Size, FT_UInt}; use pathfinder_path_utils::PathCommand; -use pathfinder_path_utils::freetype::OutlineStream; use std::collections::BTreeMap; use std::collections::btree_map::Entry; use std::marker::PhantomData; @@ -27,6 +26,10 @@ use std::mem; use std::ptr; use std::sync::atomic::{ATOMIC_USIZE_INIT, AtomicUsize, Ordering}; +use outline::OutlineStream; + +mod outline; + #[cfg(test)] mod tests; diff --git a/path-utils/src/freetype.rs b/font-renderer/src/outline.rs similarity index 91% rename from path-utils/src/freetype.rs rename to font-renderer/src/outline.rs index 20280a53..c2c072ef 100644 --- a/path-utils/src/freetype.rs +++ b/font-renderer/src/outline.rs @@ -1,4 +1,4 @@ -// pathfinder/path-utils/src/freetype.rs +// pathfinder/font-renderer/src/outline.rs // // Copyright © 2017 The Pathfinder Project Developers. // @@ -9,7 +9,7 @@ // except according to those terms. use euclid::Point2D; -use freetype_sys::{FT_Fixed, FT_Outline, FT_Pos, FT_Vector}; +use freetype_sys::{FT_Outline, FT_Vector}; use PathCommand; @@ -111,16 +111,3 @@ impl<'a> Iterator for OutlineStream<'a> { fn ft_vector_to_f32(ft_vector: FT_Vector) -> Point2D { Point2D::new(ft_vector.x as f32 / 64.0, ft_vector.y as f32 / 64.0) } - -#[inline] -pub fn f32_to_ft_vector(point: &Point2D) -> FT_Vector { - FT_Vector { - x: (point.x * 64.0).round() as FT_Pos, - y: (point.y * 64.0).round() as FT_Pos, - } -} - -#[inline] -pub fn f32_to_26_6_ft_fixed(length: f32) -> FT_Fixed { - (length * 64.0).round() as FT_Fixed -} diff --git a/path-utils/Cargo.toml b/path-utils/Cargo.toml index eb49c2eb..fe1ee7fc 100644 --- a/path-utils/Cargo.toml +++ b/path-utils/Cargo.toml @@ -8,7 +8,3 @@ arrayvec = "0.4" euclid = "0.15" serde = "1.0" serde_derive = "1.0" - -[dependencies.freetype-sys] -git = "https://github.com/pcwalton/freetype-sys.git" -branch = "stroker" diff --git a/path-utils/src/lib.rs b/path-utils/src/lib.rs index e239b8ed..00211220 100644 --- a/path-utils/src/lib.rs +++ b/path-utils/src/lib.rs @@ -10,7 +10,6 @@ extern crate arrayvec; extern crate euclid; -extern crate freetype_sys; #[macro_use] extern crate serde_derive; @@ -21,7 +20,6 @@ use std::u32; pub mod cubic; pub mod curve; -pub mod freetype; pub mod intersection; pub mod line; pub mod monotonic;