@@ -452,26 +452,28 @@ pub unsafe extern "C" fn getGlyphs(engine: XeTeXLayoutEngine, glyphs: *mut u32)
452
452
453
453
#[ no_mangle]
454
454
pub unsafe extern "C" fn getGlyphAdvances ( engine : XeTeXLayoutEngine , advances : * mut f32 ) {
455
- let hb_positions = ( * engine) . hb_buffer . get_glyph_position ( ) ;
455
+ let engine = & * engine;
456
+ let hb_positions = engine. hb_buffer . get_glyph_position ( ) ;
456
457
457
458
for ( i, pos) in hb_positions. iter ( ) . enumerate ( ) {
458
- let advance = if ( * engine) . font ( ) . layout_dir_vertical ( ) {
459
+ let advance = if engine. font ( ) . layout_dir_vertical ( ) {
459
460
pos. y_advance
460
461
} else {
461
462
pos. x_advance
462
463
} ;
463
464
464
- * advances. add ( i) = ( * engine) . font ( ) . units_to_points ( advance as f64 ) as f32 ;
465
+ * advances. add ( i) = engine. font ( ) . units_to_points ( advance as f64 ) as f32 ;
465
466
}
466
467
}
467
468
468
469
#[ no_mangle]
469
470
pub unsafe extern "C" fn getGlyphPositions ( engine : XeTeXLayoutEngine , positions : * mut FloatPoint ) {
470
- let hb_positions = ( * engine) . hb_buffer . get_glyph_position ( ) ;
471
+ let engine = & mut * engine;
472
+ let hb_positions = engine. hb_buffer . get_glyph_position ( ) ;
471
473
472
474
let mut x: f32 = 0.0 ;
473
475
let mut y: f32 = 0.0 ;
474
- let font = ( * engine) . font ( ) ;
476
+ let font = engine. font ( ) ;
475
477
476
478
if font. layout_dir_vertical ( ) {
477
479
for ( i, pos) in hb_positions. iter ( ) . enumerate ( ) {
@@ -494,10 +496,10 @@ pub unsafe extern "C" fn getGlyphPositions(engine: XeTeXLayoutEngine, positions:
494
496
( * positions. add ( hb_positions. len ( ) ) ) . y = -font. units_to_points ( y as f64 ) as f32 ;
495
497
}
496
498
497
- if ( * engine) . extend != 1.0 || ( * engine) . slant != 0.0 {
499
+ if engine. extend != 1.0 || engine. slant != 0.0 {
498
500
for i in 0 ..=hb_positions. len ( ) {
499
501
let pos = & mut * positions. add ( i) ;
500
- pos. x = pos. x * ( * engine) . extend - pos. y * ( * engine) . slant ;
502
+ pos. x = pos. x * engine. extend - pos. y * engine. slant ;
501
503
}
502
504
}
503
505
}
@@ -565,14 +567,15 @@ pub unsafe extern "C" fn getGraphiteFeatureDefaultSetting(
565
567
engine : XeTeXLayoutEngine ,
566
568
feature_id : u32 ,
567
569
) -> u32 {
568
- let hb_face = ( * engine) . font ( ) . get_hb_font ( ) . get_face ( ) ;
570
+ let engine = & * engine;
571
+ let hb_face = engine. font ( ) . get_hb_font ( ) . get_face ( ) ;
569
572
let gr_face = hb_face. get_gr_face ( ) ;
570
573
571
574
if !gr_face. is_null ( ) {
572
575
let feature = gr_face_find_fref ( gr_face, feature_id) ;
573
576
let feature_values = gr_face_featureval_for_lang (
574
577
gr_face,
575
- hb:: Tag :: from_cstr ( ( * engine) . language . to_string ( ) ) . to_raw ( ) ,
578
+ hb:: Tag :: from_cstr ( engine. language . to_string ( ) ) . to_raw ( ) ,
576
579
) ;
577
580
578
581
gr_fref_feature_value ( feature, feature_values) as u32
@@ -745,7 +748,8 @@ pub unsafe extern "C" fn initGraphiteBreaking(
745
748
txt_ptr : * const u16 ,
746
749
txt_len : libc:: c_uint ,
747
750
) -> bool {
748
- let hb_font = ( * engine) . font ( ) . get_hb_font ( ) ;
751
+ let engine = & * engine;
752
+ let hb_font = engine. font ( ) . get_hb_font ( ) ;
749
753
let hb_face = hb_font. get_face ( ) ;
750
754
let gr_face = hb_face. get_gr_face ( ) ;
751
755
let gr_font = gr_make_font ( hb_font. get_ptem ( ) , gr_face) ;
@@ -761,11 +765,11 @@ pub unsafe extern "C" fn initGraphiteBreaking(
761
765
762
766
let gr_feature_values = gr_face_featureval_for_lang (
763
767
gr_face,
764
- hb:: Tag :: from_cstr ( ( * engine) . language . to_string ( ) ) . to_raw ( ) ,
768
+ hb:: Tag :: from_cstr ( engine. language . to_string ( ) ) . to_raw ( ) ,
765
769
) ;
766
770
767
- let features = ( * engine) . features ;
768
- for i in ( 0 ..( * engine) . features . len ( ) ) . rev ( ) {
771
+ let features = engine. features ;
772
+ for i in ( 0 ..engine. features . len ( ) ) . rev ( ) {
769
773
let fref = gr_face_find_fref ( gr_face, features[ i] . tag ) ;
770
774
if !fref. is_null ( ) {
771
775
gr_fref_set_feature_value ( fref, features[ i] . value as u16 , gr_feature_values) ;
@@ -775,7 +779,7 @@ pub unsafe extern "C" fn initGraphiteBreaking(
775
779
GR_SEGMENT . set ( gr_make_seg (
776
780
gr_font,
777
781
gr_face,
778
- ( * engine) . script . to_raw ( ) ,
782
+ engine. script . to_raw ( ) ,
779
783
gr_feature_values,
780
784
gr_encform:: utf16,
781
785
txt_ptr. cast ( ) ,
0 commit comments