• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef OT_LAYOUT_GPOS_COMMON_HH
2 #define OT_LAYOUT_GPOS_COMMON_HH
3 
4 namespace OT {
5 namespace Layout {
6 namespace GPOS_impl {
7 
8 enum attach_type_t {
9   ATTACH_TYPE_NONE      = 0X00,
10 
11   /* Each attachment should be either a mark or a cursive; can't be both. */
12   ATTACH_TYPE_MARK      = 0X01,
13   ATTACH_TYPE_CURSIVE   = 0X02,
14 };
15 
16 /* buffer **position** var allocations */
17 #define attach_chain() var.i16[0] /* glyph to which this attaches to, relative to current glyphs; negative for going back, positive for forward. */
18 #define attach_type() var.u8[2] /* attachment type */
19 /* Note! if attach_chain() is zero, the value of attach_type() is irrelevant. */
20 
21 template<typename Iterator, typename SrcLookup>
22 static void SinglePos_serialize (hb_serialize_context_t *c,
23                                  const SrcLookup *src,
24                                  Iterator it,
25                                  const hb_hashmap_t<unsigned, hb_pair_t<unsigned, int>> *layout_variation_idx_delta_map,
26                                  bool all_axes_pinned);
27 
28 
29 }
30 }
31 }
32 
33 #endif  // OT_LAYOUT_GPOS_COMMON_HH
34