Skip to content

Commit

Permalink
prevent panic in avar2
Browse files Browse the repository at this point in the history
  • Loading branch information
dfrg committed Sep 11, 2024
1 parent 7da1395 commit f1de22e
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions read-fonts/src/tables/fvar.rs
Original file line number Diff line number Diff line change
Expand Up @@ -81,14 +81,17 @@ impl<'a> Fvar<'a> {
let var_store = avar.var_store();
let var_index_map = avar.axis_index_map();

let axis_count = axes.len();
let actual_len = axes.len().min(normalized_coords.len());
let mut new_coords = [F2Dot14::ZERO; 64];
if axis_count > 64 {
if actual_len > 64 {
// No avar2 for monster fonts.
// <https://github.com/googlefonts/fontations/issues/1148>
return;
}
new_coords[..axis_count].copy_from_slice(normalized_coords);

let new_coords = &mut new_coords[..actual_len];
let normalized_coords = &mut normalized_coords[..actual_len];
new_coords.copy_from_slice(normalized_coords);

for (i, v) in normalized_coords.iter().enumerate() {
let var_index = if let Some(Ok(ref map)) = var_index_map {
Expand All @@ -111,7 +114,7 @@ impl<'a> Fvar<'a> {
}
}
}
normalized_coords.copy_from_slice(&new_coords[..axis_count]);
normalized_coords.copy_from_slice(new_coords);
}
}

Expand Down

0 comments on commit f1de22e

Please sign in to comment.