What does HRESULT 0x80097009 (MSSIPOTF_E_TABLES_OVERLAP) mean?

 
Previous Next
MSSIPOTF_E_BAD_FIRST_TABLE_PLACEMENT MSSIPOTF_E_TABLE_PADBYTES

MSSIPOTF_E_TABLES_OVERLAP

Two table records claim the same bytes

MSSIPOTF_E_TABLES_OVERLAP is reported when declared table ranges intersect. In a normal OpenType layout, a record identifies a table using an offset and length; adjacent tables may be separated by a small padding gap, but one table must not consume bytes declared for another.

A shared table in a TrueType Collection is not automatically an overlap error: collection directories may deliberately reference shared table data. The relevant question is whether the particular validation context and directory rules allow that reference. For a normal single-font file, intersecting ranges are a strong sign of a bad offset or length.

How to investigate

  • Sort records by offset and compare each range end with the next range start.
  • Verify the collection index and directory when working with .ttc/.otc files.
  • Repair the producer’s layout calculation; moving one table also changes offsets, checksums, and signatures downstream.

References


Looking for a different code? Search another status or error code.