Skip to content

Commit 7ed9603

Browse files
authored
Merge pull request #246 from usagi/fix-x86_64-pc-windows-msvc-toolchain
Fix #245 x86_64-pc-windows-msvc LLP64 supporting
2 parents 17b76b0 + 81a8567 commit 7ed9603

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

azul-text-layout/text_shaping.rs

+10-9
Original file line numberDiff line numberDiff line change
@@ -272,12 +272,13 @@ pub fn get_font_metrics_freetype(font_bytes: &[u8], font_index: i32) -> FontMetr
272272

273273
use std::convert::TryInto;
274274
use freetype::freetype::{
275+
FT_Long, FT_F26Dot6,
275276
FT_Init_FreeType, FT_Done_FreeType, FT_New_Memory_Face,
276277
FT_Done_Face, FT_Set_Char_Size, FT_Library, FT_Face,
277278
};
278279

279280
const FT_ERR_OK: i32 = 0;
280-
const FAKE_FONT_SIZE: i64 = 1000;
281+
const FAKE_FONT_SIZE: FT_F26Dot6 = 1000;
281282

282283
let mut baseline = FontMetrics {
283284
font_size: FAKE_FONT_SIZE as usize,
@@ -291,7 +292,7 @@ pub fn get_font_metrics_freetype(font_bytes: &[u8], font_index: i32) -> FontMetr
291292
max_advance: 0,
292293
};
293294

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() {
295296
Some(s) => s,
296297
None => return baseline, // font too large for freetype
297298
};
@@ -306,7 +307,7 @@ pub fn get_font_metrics_freetype(font_bytes: &[u8], font_index: i32) -> FontMetr
306307

307308
// Load font
308309
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);
310311
if error != FT_ERR_OK {
311312
FT_Done_FreeType(ft_library);
312313
return baseline;
@@ -330,12 +331,12 @@ pub fn get_font_metrics_freetype(font_bytes: &[u8], font_index: i32) -> FontMetr
330331
font_size: FAKE_FONT_SIZE as usize,
331332
x_ppem: metrics.x_ppem,
332333
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,
339340
};
340341

341342
FT_Done_Face(ft_face);

0 commit comments

Comments
 (0)