mirror of
https://github.com/penpot/penpot.git
synced 2025-07-19 05:37:22 +02:00
🎉 Store custom fonts (ttfs) and use them to write texts (wasm) (#6050)
This commit is contained in:
parent
e4c9b736f7
commit
eb6d2fb0eb
14 changed files with 386 additions and 140 deletions
|
@ -293,31 +293,6 @@ pub extern "C" fn add_shape_fill_stops() {
|
|||
mem::free_bytes();
|
||||
}
|
||||
|
||||
#[no_mangle]
|
||||
pub extern "C" fn store_font(family_name_size: u32, font_size: u32) {
|
||||
with_state!(state, {
|
||||
unsafe {
|
||||
let font_bytes = Vec::<u8>::from_raw_parts(
|
||||
mem::buffer_ptr(),
|
||||
font_size as usize,
|
||||
font_size as usize,
|
||||
);
|
||||
let family_name = String::from_raw_parts(
|
||||
mem::buffer_ptr().add(font_size as usize),
|
||||
family_name_size as usize,
|
||||
family_name_size as usize,
|
||||
);
|
||||
match state.render_state().add_font(family_name, &font_bytes) {
|
||||
Err(msg) => {
|
||||
eprintln!("{}", msg);
|
||||
}
|
||||
_ => {}
|
||||
}
|
||||
mem::free_bytes();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
#[no_mangle]
|
||||
pub extern "C" fn store_image(a: u32, b: u32, c: u32, d: u32) {
|
||||
with_state!(state, {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue