@@ -272,12 +272,13 @@ pub fn get_font_metrics_freetype(font_bytes: &[u8], font_index: i32) -> FontMetr
272
272
273
273
use std:: convert:: TryInto ;
274
274
use freetype:: freetype:: {
275
+ FT_Long , FT_F26Dot6 ,
275
276
FT_Init_FreeType , FT_Done_FreeType , FT_New_Memory_Face ,
276
277
FT_Done_Face , FT_Set_Char_Size , FT_Library , FT_Face ,
277
278
} ;
278
279
279
280
const FT_ERR_OK : i32 = 0 ;
280
- const FAKE_FONT_SIZE : i64 = 1000 ;
281
+ const FAKE_FONT_SIZE : FT_F26Dot6 = 1000 ;
281
282
282
283
let mut baseline = FontMetrics {
283
284
font_size : FAKE_FONT_SIZE as usize ,
@@ -291,7 +292,7 @@ pub fn get_font_metrics_freetype(font_bytes: &[u8], font_index: i32) -> FontMetr
291
292
max_advance : 0 ,
292
293
} ;
293
294
294
- let buf_len: i64 = match font_bytes. len ( ) . try_into ( ) . ok ( ) {
295
+ let buf_len: FT_Long = match font_bytes. len ( ) . try_into ( ) . ok ( ) {
295
296
Some ( s) => s,
296
297
None => return baseline, // font too large for freetype
297
298
} ;
@@ -306,7 +307,7 @@ pub fn get_font_metrics_freetype(font_bytes: &[u8], font_index: i32) -> FontMetr
306
307
307
308
// Load font
308
309
let mut ft_face: FT_Face = ptr:: null_mut ( ) ;
309
- let error = FT_New_Memory_Face ( ft_library, font_bytes. as_ptr ( ) , buf_len, font_index as i64 , & mut ft_face) ;
310
+ let error = FT_New_Memory_Face ( ft_library, font_bytes. as_ptr ( ) , buf_len, font_index as FT_Long , & mut ft_face) ;
310
311
if error != FT_ERR_OK {
311
312
FT_Done_FreeType ( ft_library) ;
312
313
return baseline;
@@ -330,12 +331,12 @@ pub fn get_font_metrics_freetype(font_bytes: &[u8], font_index: i32) -> FontMetr
330
331
font_size : FAKE_FONT_SIZE as usize ,
331
332
x_ppem : metrics. x_ppem ,
332
333
y_ppem : metrics. y_ppem ,
333
- x_scale : metrics. x_scale ,
334
- y_scale : metrics. y_scale ,
335
- ascender : metrics. ascender ,
336
- descender : metrics. descender ,
337
- height : metrics. height ,
338
- max_advance : metrics. max_advance ,
334
+ x_scale : metrics. x_scale as i64 ,
335
+ y_scale : metrics. y_scale as i64 ,
336
+ ascender : metrics. ascender as i64 ,
337
+ descender : metrics. descender as i64 ,
338
+ height : metrics. height as i64 ,
339
+ max_advance : metrics. max_advance as i64 ,
339
340
} ;
340
341
341
342
FT_Done_Face ( ft_face) ;
0 commit comments