Microsoft confirmed this week that its August 2026 .NET Framework cumulative update breaks printing and PDF or XPS export in Windows Presentation Foundation (WPF) applications, throwing a System.IO.FileFormatException whenever the document uses certain fonts, Calibri among them. The only workaround Microsoft has offered so far requires turning off part of the security hardening the same update just shipped.
What actually broke
The updates landed on August 11, 2026: KB5120710 for Windows 11 24H2, KB5120708 for Windows 11 25H2 and the matching server release, and KB5120705 for Windows Server 2022. Microsoft's release health notes say the bug affects Windows 10, Windows 11, and every supported Windows Server version back to 2012.
It only hits WPF apps, but that is a bigger net than it sounds. Line-of-business software built on .NET, invoicing and reporting tools, and third-party platforms such as Crystal Reports based systems all route printing and document export through the same WPF pipeline. If an app on that list tries to render a document in one of the affected fonts, the job fails outright rather than producing a bad-looking file.
Why Calibri specifically
Community and developer investigation traced the failure to MS.Internal.TrueTypeSubsetter.ComputeSubset, the routine that builds a trimmed-down copy of a font for embedding when a document is printed or exported. That routine now applies stricter validation to font glyph tables, and Calibri, Cambria, Constantia, and Corbel all fail it. Arial, Segoe UI, Times New Roman, Verdana, Tahoma, Consolas, and even Calibri Light are unaffected.
The fonts themselves are not damaged. They open fine in Word and everywhere else. The problem is isolated to the subsetting step that runs specifically when a WPF app serializes a print job or an XPS/PDF document. And because Calibri has been the default body font in Microsoft Office since 2007, a lot of business documents are built around exactly the font family that stopped working.
The tightened validation is not an accident. The same August rollup patches six .NET Framework vulnerabilities, including remote code execution flaws tracked as CVE-2026-62886, CVE-2026-62897, and CVE-2026-70354. The stricter glyph-table checks that now reject legitimate Calibri fonts are part of closing those gaps.
The workaround costs you the patch
Until a permanent fix ships, Microsoft's stopgap is an AppContext switch, Switch.MS.Internal.TtfDelta.DisableCmapAndSbitOverflowProtection, set to true in an app's configuration file. Turning it on restores printing and export, and also turns off the exact protection the August update introduced to address this month's vulnerabilities. Microsoft's own advisory is blunt about it: use the switch only as a temporary measure and only when you actually need to, because it reopens the door the update just closed.
That is a genuinely bad trade for anyone running the affected line-of-business software in production, and it is why this is still an open issue rather than a quick registry fix you apply and forget.
What to do about it now
If your organization generates PDFs or print jobs through a WPF-based tool and documents have started failing or throwing font errors, check whether the document uses Calibri, Cambria, Constantia, or Corbel before touching anything else. Swapping the template to an unaffected font such as Calibri Light, Arial, or Segoe UI clears the error without weakening this month's security patch, and it is reversible once Microsoft ships a real fix. Save the AppContext workaround for cases where changing the font template genuinely is not an option, and track it as a known, temporary exposure rather than a permanent setting.
Tools that build PDFs outside the Windows print pipeline, including browser-based editors like Docento.app, never touch this code path and are unaffected either way. For background on how font embedding and subsetting normally work, see our guides to font subsetting in PDFs and embedded fonts explained, and for the broader troubleshooting picture, why PDF fonts sometimes stop displaying.