What does HRESULT 0x80097008 (MSSIPOTF_E_BAD_FIRST_TABLE_PLACEMENT) mean?

 
Previous Next
MSSIPOTF_E_TABLE_LONGWORD MSSIPOTF_E_TABLES_OVERLAP

MSSIPOTF_E_BAD_FIRST_TABLE_PLACEMENT

The first table overlaps the font metadata area

MSSIPOTF_E_BAD_FIRST_TABLE_PLACEMENT means the first table record points into bytes reserved for the Offset Table or Table Directory. The checker sees a layout in which payload data begins before the metadata that is needed to locate it has ended.

This is a layout error even when the first table bytes look valid in isolation. It commonly follows an incorrect table count, a directory generated with the wrong record size, or a compaction step that moved data without updating the first offset. Compare the calculated end of the directory with the smallest table offset.

How to investigate

  • Compute the complete header-plus-directory size from the actual number of records.
  • Verify that the lowest table offset is after that metadata area and has the expected alignment.
  • Rebuild the complete directory and placement map rather than moving only the first table.

References


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