ttf_parser/tables/
hhea.rs1use crate::parser::Stream;
5
6#[derive(Clone, Copy, Debug)]
8pub struct Table {
9    pub ascender: i16,
11    pub descender: i16,
13    pub line_gap: i16,
15    pub number_of_metrics: u16,
17}
18
19impl Table {
20    pub fn parse(data: &[u8]) -> Option<Self> {
22        if data.len() != 36 {
23            return None
24        }
25
26        let mut s = Stream::new(data);
27        s.skip::<u32>(); let ascender = s.read::<i16>()?;
29        let descender = s.read::<i16>()?;
30        let line_gap = s.read::<i16>()?;
31        s.advance(24);
32        let number_of_metrics = s.read::<u16>()?;
33
34        Some(Table {
35            ascender,
36            descender,
37            line_gap,
38            number_of_metrics,
39        })
40    }
41}