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}