[dfont] Solve the mystery +2 offset thing!
authorBehdad Esfahbod <behdad@behdad.org>
Thu, 13 Sep 2018 18:30:04 +0000 (20:30 +0200)
committerBehdad Esfahbod <behdad@behdad.org>
Thu, 13 Sep 2018 18:32:13 +0000 (20:32 +0200)
commit3789c557ca06aef430726f4942cafecac6fe4eef
tree93e2dc9f7459b927aead830970da18b2cf6e587b
parenteffc7ced72a6ce0fea328a8b68dc3d55f09774f1
[dfont] Solve the mystery +2 offset thing!

Previously, ResourceForkHeader was defined as 30 bytes, having the typeCountM1 as last member.
There was a mysterious offset-by-2 in the code, derived from FontTools and JDK code this was
ported from.

In testing, I observed that typeListZ offset is actually 28.  Suggesting that the typeCountM1
does NOT actually belong to ResourceForkHeader, but belongs to the array itself.  Adjusting for
that resolves the mystery +2 offset hack, so everything is clean and good now.

This, concludes my dfont hacking.  The code looks great now, and I'm happy to leave it.
Fuzzers might disagree though, we will see!
src/hb-open-file.hh
src/hb-open-type.hh