1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00

Upgrade to harfbuzz 9.0.0

This commit is contained in:
attila 2024-07-01 13:40:28 +02:00
parent 5b30f2571e
commit 18fa0bfa15
117 changed files with 8186 additions and 2535 deletions

View file

@ -82,7 +82,9 @@ struct hb_set_digest_bits_pattern_t
void init () { mask = 0; }
void add (const hb_set_digest_bits_pattern_t &o) { mask |= o.mask; }
static hb_set_digest_bits_pattern_t full () { hb_set_digest_bits_pattern_t d; d.mask = (mask_t) -1; return d; }
void union_ (const hb_set_digest_bits_pattern_t &o) { mask |= o.mask; }
void add (hb_codepoint_t g) { mask |= mask_for (g); }
@ -129,11 +131,14 @@ struct hb_set_digest_bits_pattern_t
bool may_have (hb_codepoint_t g) const
{ return mask & mask_for (g); }
bool operator [] (hb_codepoint_t g) const
{ return may_have (g); }
private:
static mask_t mask_for (hb_codepoint_t g)
{ return ((mask_t) 1) << ((g >> shift) & (mask_bits - 1)); }
mask_t mask;
mask_t mask = 0;
};
template <typename head_t, typename tail_t>
@ -145,10 +150,12 @@ struct hb_set_digest_combiner_t
tail.init ();
}
void add (const hb_set_digest_combiner_t &o)
static hb_set_digest_combiner_t full () { hb_set_digest_combiner_t d; d.head = head_t::full(); d.tail = tail_t::full (); return d; }
void union_ (const hb_set_digest_combiner_t &o)
{
head.add (o.head);
tail.add (o.tail);
head.union_ (o.head);
tail.union_(o.tail);
}
void add (hb_codepoint_t g)
@ -188,6 +195,9 @@ struct hb_set_digest_combiner_t
return head.may_have (g) && tail.may_have (g);
}
bool operator [] (hb_codepoint_t g) const
{ return may_have (g); }
private:
head_t head;
tail_t tail;