Ошибка шрифтов

Обсуждение Stimulsoft Reports.WPF
Ответить
ospsagr
Сообщения: 13
Зарегистрирован: 31 июл 2025, 10:51

Ошибка шрифтов

Сообщение ospsagr »

После последнего обновления Win10, Win11 невозможно распечатать отчеты и печатные формы
Clipboard_08-13-2026_01.jpg
Clipboard_08-13-2026_01.jpg (13.78 КБ) 945 просмотров
Обновление Windows: KB5101684, KB5121003
файл Stimulsoft.Report.dll версии 2024.4.4.0
Aleksey
Сообщения: 3076
Зарегистрирован: 22 апр 2010, 06:57

Re: Ошибка шрифтов

Сообщение Aleksey »

Здравствуйте,

Ни разу не встречали такую ошибку.
Можете нажать Report и предоставить полный стек ошибки. Также, попробуйте проверить последнюю версию 2026.3.1

Спасибо.
ospsagr
Сообщения: 13
Зарегистрирован: 31 июл 2025, 10:51

Re: Ошибка шрифтов

Сообщение ospsagr »

Что Вы имеете в виду под нажатием Report? Можете пояснить?
Aleksey писал(а): 13 авг 2026, 17:03 Здравствуйте,

Ни разу не встречали такую ошибку.
Можете нажать Report и предоставить полный стек ошибки. Также, попробуйте проверить последнюю версию 2026.3.1

Спасибо.
Aleksey
Сообщения: 3076
Зарегистрирован: 22 апр 2010, 06:57

Re: Ошибка шрифтов

Сообщение Aleksey »

Здравствуйте,

На вашем скриншоте есть кнопка Report и Continue, нажмите Report.

Спасибо.
ospsagr
Сообщения: 13
Зарегистрирован: 31 июл 2025, 10:51

Re: Ошибка шрифтов

Сообщение ospsagr »

Собрали информацию об ошибке и версии Windows
https://dropmefiles.com/OKQUt
Aleksey
Сообщения: 3076
Зарегистрирован: 22 апр 2010, 06:57

Re: Ошибка шрифтов

Сообщение Aleksey »

Здравствуйте,

Спасибо за информацию. Проблему воспроизвели, решаем.

Как обходное решение, перед печатью задайте опцию PrintDialogType:
report.PrinterSettings.PrintDialogType = StiPrintDialogType.Extended;
report.PrintWithWpf();

Спасибо.
#21056
ospsagr
Сообщения: 13
Зарегистрирован: 31 июл 2025, 10:51

Re: Ошибка шрифтов

Сообщение ospsagr »

Подскажите, где и как эту опцию надо задавать?
Aleksey
Сообщения: 3076
Зарегистрирован: 22 апр 2010, 06:57

Re: Ошибка шрифтов

Сообщение Aleksey »

Здравствуйте,

> Подскажите, где и как эту опцию надо задавать?

Задавать опцию и вызывать печать из кода вашего приложения.

Оп проблеме:
Проблема в самом WPF, не в наших компонентах. Августовское обновление (KB5120708 -> PresentationCore 4.8.9344 для .NET Framework 4.8.1; .NET 8.0.30 / 9.0.19 / 10.0.11)
ужесточило проверки в TTF-сабсеттере. У перечисленных системных шрифтов таблица kern больше 64 КБ, при этом поле длины подтаблицы 16-битное и переполнено (у Calibri реальная длина 160250, в поле записано 29178). Новый сабсеттер отвергает такой шрифт целиком, и вся XPS-сериализация, через которую идёт WPF-печать, прерывается.

Шрифты ни при чём: файлы 2019 года ведут себя так же, а на .NET 6.0.36 / 7.0.20 / 8.0.21 / 9.0.10 те же шрифты печатаются.
Заведено у Microsoft: https://github.com/dotnet/wpf/issues/11834.

Мы сделали доработки -
Новая опция StiOptions.Print.AllowPrintWithoutFontSubsetting, по умолчанию true.
Выключает запасной путь и возвращает прежнее поведение с исключением.
Поведение -
Штатная печать не изменилась - запасной путь включается только там, где сейчас гарантированная ошибка. Плата за него - размер задания: шрифт вкладывается целиком вместо сабсета (тестовая страница с Arial: 73 КБ против 563 КБ). После выхода фикса Microsoft ветка перестанет вызываться сама, отключать её не нужно.

Спасибо.
ospsagr
Сообщения: 13
Зарегистрирован: 31 июл 2025, 10:51

Re: Ошибка шрифтов

Сообщение ospsagr »

В какой версии доступны доработки?
Max Shamanov
Сообщения: 153
Зарегистрирован: 07 сен 2021, 13:18

Re: Ошибка шрифтов

Сообщение Max Shamanov »

Здравствуйте,

Исправления будут доступны в версии 2026.3.4.

Спасибо.
Ответить