| Предыдущий | Следующий |
| DWRITE_E_UNEXPECTED | DWRITE_E_FILENOTFOUND |
DWRITE_E_NOFONT
Что означает DWRITE_E_NOFONT
DWRITE_E_NOFONT (0x88985002) — Указанный шрифт не существует.
Код 0x88985002 относится не ко всему компоненту «DirectWrite», а к операции в области «шрифтовые файлы, collections, text layout и загрузку удалённых шрифтов». Сообщение «указанный шрифт не существует» позволяет начать с темы «отсутствие, шрифт».
Что проверить и как подтвердить исправление
До изменения конфигурации сопоставьте первый отказ с фактическими параметрами операции. Для 0x88985002 с описанием «указанный шрифт не существует» воспроизведите отказ на минимальном объекте и меняйте только одно условие за запуск, чтобы отделить неверный вход от состояния системы.
Диагностика 0x88985002 должна включать семейство и face, locale, font file, параметры layout и первый DirectWrite-вызов. Для темы «отсутствие, шрифт» при 0x88985002 важны значения именно на первом отказе, а не после обработки ошибки верхним уровнем.
Практическое исправление для 0x88985002: проверьте формат и доступность шрифта, совместимость renderer/layout и жизненный цикл коллекции; повреждённый файл заменяйте доверенной копией. В контексте условия «указанный шрифт не существует» для 0x88985002 оно должно устранить подтверждённую причину, а не скрыть исходный HRESULT.
Повторите операцию в том же окружении и сравните первый отличающийся вызов; для результата 0x88985002 это надёжнее единичного успеха на других данных.
Документация для результата 0x88985002: GetSystemFontCollection · custom font collections.
Нужно найти другой код? Найти другой код состояния или ошибки.
