mirror of
https://github.com/harfbuzz/harfbuzz.git
synced 2025-04-14 17:13:40 +00:00
[cff] Micro-optimize
This commit is contained in:
parent
27299e0d20
commit
1636e112c4
1 changed files with 6 additions and 12 deletions
|
@ -143,6 +143,7 @@ struct CFFIndex
|
|||
void set_offset_at (unsigned int index, unsigned int offset)
|
||||
{
|
||||
assert (index <= count);
|
||||
|
||||
unsigned int size = offSize;
|
||||
const HBUINT8 *p = offsets + size * index;
|
||||
switch (size)
|
||||
|
@ -172,15 +173,6 @@ struct CFFIndex
|
|||
}
|
||||
}
|
||||
|
||||
unsigned int length_at (unsigned int index) const
|
||||
{
|
||||
unsigned offset0 = offset_at (index);
|
||||
unsigned offset1 = offset_at (index + 1);
|
||||
if (unlikely (offset1 < offset0 || offset1 > offset_at (count)))
|
||||
return 0;
|
||||
return offset1 - offset0;
|
||||
}
|
||||
|
||||
const unsigned char *data_base () const
|
||||
{ return (const unsigned char *) this + min_size + offSize.static_size + offset_array_size (); }
|
||||
public:
|
||||
|
@ -189,9 +181,11 @@ struct CFFIndex
|
|||
{
|
||||
if (unlikely (index >= count)) return hb_ubytes_t ();
|
||||
_hb_compiler_memory_r_barrier ();
|
||||
unsigned length = length_at (index);
|
||||
if (unlikely (!length)) return hb_ubytes_t ();
|
||||
return hb_ubytes_t (data_base () + offset_at (index) - 1, length);
|
||||
unsigned offset0 = offset_at (index);
|
||||
unsigned offset1 = offset_at (index + 1);
|
||||
if (unlikely (offset1 < offset0 || offset1 > offset_at (count)))
|
||||
return hb_ubytes_t ();
|
||||
return hb_ubytes_t (data_base () + offset0 - 1, offset1 - offset0);
|
||||
}
|
||||
|
||||
unsigned int get_size () const
|
||||
|
|
Loading…
Add table
Reference in a new issue