diff --git a/src/servo/text/font.rs b/src/servo/text/font.rs index 661f4516def..ed3870e39a8 100644 --- a/src/servo/text/font.rs +++ b/src/servo/text/font.rs @@ -117,8 +117,7 @@ impl Font { None => {} } - // XXX(Issue #163): wrong! use typedef (as commented out) - let shaper = @harfbuzz::shaper::HarfbuzzShaper::new(self); + let shaper = @Shaper::new(self); self.shaper = Some(shaper); shaper } diff --git a/src/servo/text/shaper.rs b/src/servo/text/shaper.rs index 28587f3021e..7b0c9531c3c 100644 --- a/src/servo/text/shaper.rs +++ b/src/servo/text/shaper.rs @@ -4,5 +4,14 @@ Uniscribe, Pango, or Coretext. Currently, only harfbuzz bindings are implemented. */ +use font::Font; pub type Shaper/& = harfbuzz::shaper::HarfbuzzShaper; + +// TODO(Issue #163): this is a workaround for static methods and +// typedefs not working well together. It should be removed. +impl Shaper { + static pub fn new(font: @Font) -> Shaper { + harfbuzz::shaper::HarfbuzzShaper::new(font) + } +} \ No newline at end of file