This frees 16bits in the glyph_info struct during the ot_layout process.
We can use the freed space in the shapers now.
/* buffer var allocations */
-#define lig_id() var2.u16[0] /* unique ligature id */
-#define lig_comp() var2.u16[1] /* component number in the ligature (0 = base) */
+#define lig_id() var2.u8[2] /* unique ligature id */
+#define lig_comp() var2.u8[3] /* component number in the ligature (0 = base) */
-static inline uint16_t allocate_lig_id (hb_buffer_t *buffer) {
- uint16_t lig_id = buffer->next_serial ();
+static inline uint8_t allocate_lig_id (hb_buffer_t *buffer) {
+ uint8_t lig_id = buffer->next_serial ();
if (unlikely (!lig_id)) lig_id = buffer->next_serial (); /* in case of overflow */
return lig_id;
}