infer/matchers/
font.rs

1/// Returns whether a buffer is WOFF font data.
2pub fn is_woff(buf: &[u8]) -> bool {
3    buf.len() > 7
4        && buf[0] == 0x77
5        && buf[1] == 0x4F
6        && buf[2] == 0x46
7        && buf[3] == 0x46
8        && buf[4] == 0x00
9        && buf[5] == 0x01
10        && buf[6] == 0x00
11        && buf[7] == 0x00
12}
13
14/// Returns whether a buffer is WOFF2 font data.
15pub fn is_woff2(buf: &[u8]) -> bool {
16    buf.len() > 7
17        && buf[0] == 0x77
18        && buf[1] == 0x4F
19        && buf[2] == 0x46
20        && buf[3] == 0x32
21        && buf[4] == 0x00
22        && buf[5] == 0x01
23        && buf[6] == 0x00
24        && buf[7] == 0x00
25}
26
27/// Returns whether a buffer is TTF font data.
28pub fn is_ttf(buf: &[u8]) -> bool {
29    buf.len() > 4
30        && buf[0] == 0x00
31        && buf[1] == 0x01
32        && buf[2] == 0x00
33        && buf[3] == 0x00
34        && buf[4] == 0x00
35}
36
37/// Returns whether a buffer is OTF font data.
38pub fn is_otf(buf: &[u8]) -> bool {
39    buf.len() > 4
40        && buf[0] == 0x4F
41        && buf[1] == 0x54
42        && buf[2] == 0x54
43        && buf[3] == 0x4F
44        && buf[4] == 0x00
45}