diff --git a/src/fontations/lib.rs b/src/fontations/lib.rs index 05dff807c..d87e6849a 100644 --- a/src/fontations/lib.rs +++ b/src/fontations/lib.rs @@ -358,10 +358,11 @@ pub extern "C" fn hb_fontations_font_set_funcs(font: *mut hb_font_t) { let mut num_coords: u32 = 0; let coords = unsafe { hb_font_get_var_coords_normalized(font, &mut num_coords) }; + let coords = unsafe { std::slice::from_raw_parts(coords, num_coords as usize) }; let mut location = Location::new(num_coords as usize); let coords_mut = location.coords_mut(); for i in 0..num_coords as usize { - coords_mut[i] = NormalizedCoord::from_bits(unsafe { *coords.offset(i as isize) } as i16); + coords_mut[i] = NormalizedCoord::from_bits(coords[i] as i16); } let outline_glyphs = font_ref.outline_glyphs();