What does HRESULT 0x8009700A (MSSIPOTF_E_TABLE_PADBYTES) mean?

 
Previous Next
MSSIPOTF_E_TABLES_OVERLAP MSSIPOTF_E_FILETOOSMALL

MSSIPOTF_E_TABLE_PADBYTES

The gap between tables is not valid padding

MSSIPOTF_E_TABLE_PADBYTES concerns the unused bytes between table ranges. Under the OpenType layout rules used by the checker, padding exists only to reach the next aligned boundary and must not carry arbitrary data. The DSIG specification describes no overlap, at most three pad bytes between tables, and zero-valued padding.

This condition is more specific than a bad table checksum. A payload may have a correct checksum while a repacker leaves stale bytes in the gap or creates an excessive gap. Removing or changing padding affects following offsets and the file-wide checksum, so validate the whole container after repair.

How to investigate

  • Sort table records by file offset and inspect each inter-table gap.
  • Use zero bytes only for the minimum padding needed to align the next table.
  • Do not treat a hidden payload in a padding region as harmless metadata; rebuild the font layout from known table data.

References


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