What does HRESULT 0x80097007 (MSSIPOTF_E_TABLE_LONGWORD) mean?

 
Previous Next
MSSIPOTF_E_TABLE_TAGORDER MSSIPOTF_E_BAD_FIRST_TABLE_PLACEMENT

MSSIPOTF_E_TABLE_LONGWORD

A table starts on the wrong boundary

MSSIPOTF_E_TABLE_LONGWORD identifies an alignment defect in a table offset. OpenType tables can have lengths that are not multiples of four, but their placement is expected to honor four-byte boundaries; padding bridges the gap to the next table.

This differs from MSSIPOTF_E_TABLE_PADBYTES. Here the next table begins at the wrong offset. The padding error instead concerns the amount or contents of the gap even when the next offset is otherwise plausible. Repair requires recomputing subsequent offsets, not merely inserting one byte in place.

How to investigate

  • Inspect every directory offset modulo four and find the first non-aligned record.
  • Repack tables with zero padding to the next four-byte boundary, then rewrite all affected offsets.
  • Recalculate directory checksums, checkSumAdjustment, and any signature after the layout changes.

References


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