1 | #ifndef OT_GLYF_LOCA_HH |
---|---|
2 | #define OT_GLYF_LOCA_HH |
3 | |
4 | |
5 | #include "../../hb-open-type.hh" |
6 | |
7 | |
8 | namespace OT { |
9 | |
10 | |
11 | /* |
12 | * loca -- Index to Location |
13 | * https://docs.microsoft.com/en-us/typography/opentype/spec/loca |
14 | */ |
15 | #define HB_OT_TAG_loca HB_TAG('l','o','c','a') |
16 | |
17 | struct loca |
18 | { |
19 | friend struct glyf; |
20 | friend struct glyf_accelerator_t; |
21 | |
22 | static constexpr hb_tag_t tableTag = HB_OT_TAG_loca; |
23 | |
24 | bool sanitize (hb_sanitize_context_t *c HB_UNUSED) const |
25 | { |
26 | TRACE_SANITIZE (this); |
27 | return_trace (true); |
28 | } |
29 | |
30 | protected: |
31 | UnsizedArrayOf<HBUINT8> |
32 | dataZ; /* Location data. */ |
33 | public: |
34 | DEFINE_SIZE_MIN (0); /* In reality, this is UNBOUNDED() type; but since we always |
35 | * check the size externally, allow Null() object of it by |
36 | * defining it _MIN instead. */ |
37 | }; |
38 | |
39 | |
40 | } /* namespace OT */ |
41 | |
42 | |
43 | #endif /* OT_GLYF_LOCA_HH */ |
44 |