Fix DefineFont tag length of offsets

This commit is contained in:
DataHoarder 2023-12-03 04:54:51 +01:00
parent b95c08f9aa
commit 0793f5bb9a
Signed by: DataHoarder
SSH key fingerprint: SHA256:OLTRf6Fl87G52SiR7sWLGNzlJt4WOX+tfI2yxo0z7xk

View file

@ -9,15 +9,19 @@ type DefineFont struct {
_ struct{} `swfFlags:"root"`
FontId uint16
NumGlyphsEntries uint16
OffsetTable []uint16 `swfCount:"TableLength()"`
ShapeTable []subtypes.SHAPE `swfCount:"TableLength()"`
OffsetTable []uint16 `swfCount:"OffsetTableLength()"`
ShapeTable []subtypes.SHAPE `swfCount:"ShapeTableLength()"`
}
func (t *DefineFont) Scale() float64 {
return 1024
}
func (t *DefineFont) TableLength(ctx types.ReaderContext) uint64 {
func (t *DefineFont) OffsetTableLength(ctx types.ReaderContext) uint64 {
return uint64(t.NumGlyphsEntries/2) - 1
}
func (t *DefineFont) ShapeTableLength(ctx types.ReaderContext) uint64 {
return uint64(t.NumGlyphsEntries / 2)
}