11use core_types:: table:: { Table , TableRow } ;
22use glam:: { DAffine2 , DVec2 } ;
3- use vector_types :: { Subpath , Vector } ;
3+ use kurbo :: { PathSeg , Point } ;
44use skrifa:: instance:: { NormalizedCoord , Size } ;
5- use skrifa:: outline:: { OutlineGlyph , OutlinePen , DrawSettings } ;
5+ use skrifa:: outline:: { DrawSettings , OutlineGlyph , OutlinePen } ;
66use skrifa:: raw:: FontRef as ReadFontsRef ;
77use skrifa:: { GlyphId , MetadataProvider } ;
8- use kurbo :: { PathSeg , Point } ;
8+ use vector_types :: { Subpath , Vector } ;
99
1010pub struct PathBuilder < Upstream : Default + ' static > {
1111 vector_table : Table < Vector < Upstream > > ,
@@ -39,7 +39,7 @@ impl<Upstream: Default + 'static> PathBuilder<Upstream> {
3939 self . glyph_subpaths . clear ( ) ;
4040 self . current_segments . clear ( ) ;
4141 self . current_point = Point :: ZERO ;
42-
42+
4343 let settings = DrawSettings :: unhinted ( Size :: new ( size) , normalized_coords) ;
4444 glyph. draw ( settings, self ) . unwrap ( ) ;
4545
@@ -48,7 +48,11 @@ impl<Upstream: Default + 'static> PathBuilder<Upstream> {
4848 self . current_segments . clear ( ) ;
4949 }
5050
51- let transform = if self . is_text_on_path { final_transform } else { final_transform * DAffine2 :: from_scale ( DVec2 :: splat ( self . scale ) ) } ;
51+ let transform = if self . is_text_on_path {
52+ final_transform
53+ } else {
54+ final_transform * DAffine2 :: from_scale ( DVec2 :: splat ( self . scale ) )
55+ } ;
5256 let transform = if let Some ( skew) = style_skew { transform * skew } else { transform } ;
5357
5458 let subpaths = std:: mem:: take ( & mut self . glyph_subpaths ) ;
@@ -88,14 +92,18 @@ impl<Upstream: Default + 'static> PathBuilder<Upstream> {
8892
8993 if let Some ( glyph_outline) = outlines. get ( GlyphId :: from ( glyph. id ) ) {
9094 let final_transform = DAffine2 :: from_translation ( glyph_offset) ;
91- if !per_glyph_instances { self . origin = DVec2 :: ZERO }
95+ if !per_glyph_instances {
96+ self . origin = DVec2 :: ZERO
97+ }
9298 self . draw_glyph ( & glyph_outline, font_size, & normalized_coords, style_skew, final_transform, per_glyph_instances) ;
9399 }
94100 } ) ;
95101 }
96102
97103 pub fn finalize ( mut self ) -> Table < Vector < Upstream > > {
98- if self . vector_table . is_empty ( ) { self . vector_table = Table :: new_from_element ( Vector :: default ( ) ) }
104+ if self . vector_table . is_empty ( ) {
105+ self . vector_table = Table :: new_from_element ( Vector :: default ( ) )
106+ }
99107 self . vector_table
100108 }
101109}
0 commit comments