#[cfg(feature = "fontations")]
mod fontations_impl {
use super::*;
- use fontations::skrifa::{string::StringId, MetadataProvider, Tag};
- use fontations::write::{
- from_obj::ToOwnedTable,
- tables::{
- fvar::{Fvar, InstanceRecord},
- name::{Name, NameRecord},
- os2::Os2,
- stat::Stat,
+ use fontations::{
+ skrifa::{string::StringId, MetadataProvider, Tag},
+ write::{
+ from_obj::ToOwnedTable,
+ tables::{
+ fvar::{Fvar, InstanceRecord},
+ name::{Name, NameRecord},
+ os2::Os2,
+ stat::Stat,
+ },
+ types::Fixed,
},
- types::Fixed,
};
use monkeypatching::{AxisValueNameId, SetAxisValueNameId};
use nametable::{
.map(|x| x.to_string())
.unwrap_or_else(|| best_subfamilyname(&font).unwrap_or("Regular".to_string()));
- let new_name = if font.table_data(Tag::new(b"fvar")).is_some() {
+ let mut new_name = if font.table_data(Tag::new(b"fvar")).is_some() {
build_vf_name_table(&mut new_font, &font, &family_name, siblings, aggressive)?
} else {
build_static_name_table_v1(&mut new_font, &font, &family_name, &style_name, aggressive)?
}
}
// Set RIBBI bits
+ new_name.name_record.sort();
new_font.add_table(&new_name)?;
Ok(new_font.copy_missing_tables(font).build())
}
build_variations_ps_name(&mut new_name, font, Some(family_name));
// Ensure table records are sorted
- new_name.name_record.sort_by_key(|record| record.name_id);
+ new_name.name_record.sort();
Ok(new_name)
}
}
}
name.name_record = records;
- name.name_record.sort_by_key(|record| record.name_id);
+ name.name_record.sort();
Ok(name)
}
fvar.axis_instance_arrays.instances = instances;
new_font.add_table(&fvar)?;
- name_table.name_record.sort_by_key(|record| record.name_id);
+ name_table.name_record.sort();
new_font.add_table(&name_table)?;
Ok(new_font.copy_missing_tables(font).build())
}
values,
};
let stat = stat_builder.build(&mut name.name_record);
- name.name_record.sort_by_key(|record| record.name_id);
+ name.name_record.sort();
new_font.add_table(&name)?;
new_font.add_table(&stat)?;
Ok(new_font.copy_missing_tables(font).build())
#[cfg(test)]
mod tests {
- use fontations::skrifa::{string::StringId, MetadataProvider, Tag};
- use fontations::write::{
- from_obj::ToOwnedTable,
- tables::{
- name::Name,
- stat::{AxisValue, Stat},
+ use fontations::{
+ skrifa::{string::StringId, MetadataProvider, Tag},
+ write::{
+ from_obj::ToOwnedTable,
+ tables::{
+ name::Name,
+ stat::{AxisValue, Stat},
+ },
},
};
use pretty_assertions::assert_eq;