read_fonts/tables/
head.rs

1//! The [head](https://docs.microsoft.com/en-us/typography/opentype/spec/head) table
2
3include!("../../generated/generated_head.rs");
4
5#[cfg(test)]
6mod tests {
7    use font_test_data::bebuffer::BeBuffer;
8
9    use super::*;
10
11    #[test]
12    fn smoke_text() {
13        let buf = BeBuffer::new()
14            .extend([1u16, 0u16])
15            .push(Fixed::from_f64(2.8))
16            .extend([42u32, 0x5f0f3cf5])
17            .extend([16u16, 4096]) // flags, upm
18            .extend([LongDateTime::new(-500), LongDateTime::new(101)])
19            .extend([-100i16, -50, 400, 711])
20            .extend([0u16, 12]) // mac_style / ppem
21            .extend([2i16, 1, 0]);
22
23        let head = super::Head::read(buf.data().into()).unwrap();
24        assert_eq!(head.version(), MajorMinor::VERSION_1_0);
25        assert_eq!(head.font_revision(), Fixed::from_f64(2.8));
26        assert_eq!(head.units_per_em(), 4096);
27        assert_eq!(head.created().as_secs(), -500);
28        assert_eq!(head.y_min(), -50);
29    }
30}