Site icon EfmSoft

Что означает код HRESULT 0x80097008 (MSSIPOTF_E_BAD_FIRST_TABLE_PLACEMENT)?

 
Предыдущий Следующий
MSSIPOTF_E_TABLE_LONGWORD MSSIPOTF_E_TABLES_OVERLAP

MSSIPOTF_E_BAD_FIRST_TABLE_PLACEMENT

Что означает MSSIPOTF_E_BAD_FIRST_TABLE_PLACEMENT

MSSIPOTF_E_BAD_FIRST_TABLE_PLACEMENT: Первая таблица шрифта начинается в области, которая ещё занята Offset Table или Table Directory; данные таблицы перекрывают метаданные, необходимые для разбора файла.

Что проверить

  • Рассчитайте конец table directory по numTables и размеру directory record.
  • Сравните offset первой записи с этой границей и учтите требуемое выравнивание OpenType tables.
  • Проверьте, не был ли файл обрезан или пересобран инструментом, который сохранил старые offsets после добавления/удаления таблиц.

Что делать

Пересоберите layout шрифта и заново вычислите offsets/checksums. Перемещение только первой таблицы без пересчёта остальных записей может оставить directory внутренне несогласованным.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.

Exit mobile version