| Предыдущий | Следующий |
| MSSIPOTF_E_TABLES_OVERLAP | MSSIPOTF_E_FILETOOSMALL |
MSSIPOTF_E_TABLE_PADBYTES
Промежуток между таблицами не является допустимым заполнением
MSSIPOTF_E_TABLE_PADBYTES относится к неиспользуемым байтам между диапазонами таблиц. По правилам компоновки OpenType, применяемым средством проверки, заполнение существует только для достижения следующей выровненной границы и не должно содержать произвольные данные. Спецификация DSIG требует отсутствия перекрытий, не более трёх байтов заполнения между таблицами и нулевые значения заполнения.
Это условие конкретнее неправильной контрольной суммы таблицы. Полезная нагрузка может иметь правильную контрольную сумму, хотя средство перепаковки оставило устаревшие байты в промежутке или создало слишком большой разрыв. Удаление или изменение заполнения влияет на последующие смещения и общую контрольную сумму файла, поэтому после исправления проверьте весь контейнер.
Как провести диагностику
- Отсортируйте записи таблиц по смещению в файле и проверьте каждый промежуток между таблицами.
- Используйте только нулевые байты и минимальное заполнение, необходимое для выравнивания следующей таблицы.
- Не считайте скрытую полезную нагрузку в области заполнения безвредными метаданными; перестройте компоновку шрифта по известным данным таблиц.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.