1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
include!("../../generated/generated_variations.rs");
pub use read_fonts::tables::variations::TupleIndex;
impl VariationRegionList {
fn compute_axis_count(&self) -> usize {
let count = self
.variation_regions
.first()
.map(|reg| reg.region_axes.len())
.unwrap_or(0);
debug_assert!(self
.variation_regions
.iter()
.map(|reg| reg.region_axes.len())
.all(|n| n == count));
count
}
}
impl FontWrite for TupleIndex {
fn write_into(&self, writer: &mut TableWriter) {
self.bits().write_into(writer)
}
}
impl<'a> FromObjRef<Option<read_fonts::tables::variations::Tuple<'a>>> for Vec<F2Dot14> {
fn from_obj_ref(
from: &Option<read_fonts::tables::variations::Tuple<'a>>,
_data: FontData,
) -> Self {
from.as_ref()
.map(|tup| tup.values.iter().map(BigEndian::get).collect())
.unwrap_or_default()
}
}