| Предыдущий | Следующий |
| MSSIPOTF_E_TABLE_TAGORDER | MSSIPOTF_E_BAD_FIRST_TABLE_PLACEMENT |
MSSIPOTF_E_TABLE_LONGWORD
Таблица начинается на неправильной границе
MSSIPOTF_E_TABLE_LONGWORD указывает на дефект выравнивания смещения таблицы. Длина таблиц OpenType может не быть кратной четырём, однако их размещение должно соблюдать четырёхбайтовые границы; промежуток до следующей таблицы заполняется выравнивающими байтами.
Этот код отличается от MSSIPOTF_E_TABLE_PADBYTES. Здесь следующая таблица начинается с неправильного смещения. Ошибка заполнения, напротив, относится к размеру или содержимому промежутка, даже если следующее смещение выглядит правдоподобным. Для исправления нужно пересчитать последующие смещения, а не просто вставить один байт.
Как провести диагностику
- Проверьте остаток от деления каждого смещения каталога на четыре и найдите первую невыровненную запись.
- Перепакуйте таблицы с нулевым заполнением до следующей четырёхбайтовой границы, затем перепишите все затронутые смещения.
- После изменения компоновки пересчитайте контрольные суммы каталога,
checkSumAdjustmentи все подписи.
Ссылки
- Справочник кодов ошибок Windows
- Спецификация файла шрифта OpenType
- Рекомендации OpenType по размещению таблиц
Нужно найти другой код? Найти другой код состояния или ошибки.