[kerx] Fix offset issue in kern format 2
Fixes tests with HB_VAR_ARRAY != 1, as done in previous commit.
This commit is contained in:
parent
861547d531
commit
5902198cee
|
@ -678,7 +678,7 @@ struct ObsoleteTypes
|
||||||
const void *base,
|
const void *base,
|
||||||
const T *array)
|
const T *array)
|
||||||
{
|
{
|
||||||
return (offset - ((const char *) array - (const char *) base)) / sizeof (T);
|
return (offset - ((const char *) array - (const char *) base)) / T::static_size;
|
||||||
}
|
}
|
||||||
template <typename T>
|
template <typename T>
|
||||||
static unsigned int byteOffsetToIndex (unsigned int offset,
|
static unsigned int byteOffsetToIndex (unsigned int offset,
|
||||||
|
|
|
@ -392,7 +392,7 @@ struct KerxSubTableFormat2
|
||||||
|
|
||||||
const UnsizedArrayOf<FWORD> &arrayZ = this+array;
|
const UnsizedArrayOf<FWORD> &arrayZ = this+array;
|
||||||
unsigned int kern_idx = l + r;
|
unsigned int kern_idx = l + r;
|
||||||
kern_idx = Types::offsetToIndex (kern_idx, this, &arrayZ);
|
kern_idx = Types::offsetToIndex (kern_idx, this, arrayZ.arrayZ);
|
||||||
const FWORD *v = &arrayZ[kern_idx];
|
const FWORD *v = &arrayZ[kern_idx];
|
||||||
if (unlikely (!v->sanitize (&c->sanitizer))) return 0;
|
if (unlikely (!v->sanitize (&c->sanitizer))) return 0;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue