[subset/cff] Speed up set_offset_at

This commit is contained in:
Behdad Esfahbod 2023-06-05 13:38:06 -06:00
parent 90122925ff
commit 377ccb31e1

View file

@ -143,13 +143,15 @@ struct CFFIndex
void set_offset_at (unsigned int index, unsigned int offset)
{
assert (index <= count);
HBUINT8 *p = offsets + offSize * index + offSize;
unsigned int size = offSize;
for (; size; size--)
const HBUINT8 *p = offsets + size * index;
switch (size)
{
--p;
*p = offset & 0xFF;
offset >>= 8;
case 1: * (HBUINT8 *) p = offset; break;
case 2: * (HBUINT16 *) p = offset; break;
case 3: * (HBUINT24 *) p = offset; break;
case 4: * (HBUINT32 *) p = offset; break;
default: return;
}
}