2026年8月の .NET Framework 更新で WPF の印刷・PDF/XPS 出力が失敗する不具合

2026年8月の .NET Framework 更新プログラムをインストールした後、一部の WPF アプリケーションで、印刷や PDF/XPS コンテンツの生成時に System.IO.FileFormatException が発生する既知の問題があります。

Microsoft は Windows 11 26H1 / 25H2 / 24H2 / 23H2、Windows 10、Windows Server など、複数の OS 向けに公開された 2026年8月の .NET Framework 更新について同じ問題を案内しています。

Windows 技!では Windows 11 Home 25H2 と KB5120708 の環境で実機検証しました。

その結果、Calibri、Cambria、Constantia、Corbel の計 15 フェイスで WPF のフォントサブセット生成に失敗し、Calibri を使用した実際の XPS 出力でもエラーを再現できました。

一方、Microsoft が案内する AppContext の一時的な回避策をテストプロセス内だけで有効にすると、15 フェイスすべてと Calibri の XPS 出力が正常化しました。

目次

Microsoft が確認している既知の問題

Microsoft は、2026年8月の .NET Framework 累積更新プログラムについて、Calibri を含む特定のフォントを使用して PDF/XPS コンテンツを印刷または生成すると、一部の WPF アプリケーションが System.IO.FileFormatException で失敗する場合があると案内しています。

今回実機検証した Windows 11 25H2 では、対象となる更新プログラムは KB5120708 です。

ただし、この問題は KB5120708 固有ではなく、同時期に公開された複数の .NET Framework 4.x 更新で案内されています。

影響する Windows と更新プログラム

Microsoft が公開している 2026年8月の .NET Framework 更新一覧では、次の Windows に .NET Framework 4.x 系の更新が提供されています。

OS更新プログラム.NET Framework影響の有無
Windows 11 26H1KB51207114.8.1あり
Windows 11 25H2 / Microsoft server OS 24H2KB51207083.5 / 4.8.1あり
Windows 11 24H2KB51207103.5 / 4.8.1あり
Windows 11 23H2KB51207133.5 / 4.8.1あり
Windows Server 2022KB51207053.5 / 4.8あり
Windows Server 2022KB51207143.5 / 4.8.1あり
Windows 10 21H2 / 22H2KB51207013.5 / 4.8あり
Windows 10 21H2 / 22H2KB51207093.5 / 4.8.1あり
Windows 10 1809 / Windows Server 2019KB51206983.5 / 4.7.2あり
Windows 10 1809 / Windows Server 2019KB51207033.5 / 4.8あり
Windows 10 1607 / Windows Server 2016KB51207024.8あり
Windows Server 2012 R2KB51207004.6.2 / 4.7 / 4.7.1 / 4.7.2あり
Windows Server 2012 R2KB51207064.8あり
Windows Server 2012KB51206994.6.2 / 4.7 / 4.7.1 / 4.7.2あり
Windows Server 2012KB51207044.8あり

ここで注意したいのは、上の表が「すべての環境で必ず不具合が発生する」という意味ではないことです。

問題が発生するには、WPF アプリケーションが影響を受けるフォントを使用し、印刷や PDF/XPS 生成などでフォントサブセット処理を行う必要があります。

また、Windows Server 2012 / 2012 R2 には .NET Framework 3.5 単独の更新も提供されていますが、今回問題になっているのは、WPF のフォント処理を含む .NET Framework 4.6.2、4.7、4.7.1、4.7.2、4.8、4.8.1 系の更新です。そのため、3.5 単独更新はこの一覧から除外しています。

実機で検証した環境

本記事で実際に検証したのは、次の Windows 11 25H2 環境です。

OS : Windows 11 Home 25H2 OS Build : 10.0.26200 (UBR 9168) Process Architecture : x64 .NET CLR : 4.0.30319.42000 PresentationCore ASM : 4.0.0.0 PresentationCore File : 4.8.9344.0 KB5120708 : Detected

Microsoft が公開している KB5120708 のファイル情報でも、PresentationCore.dll4.8.9344.0 です。

今回実際に WPF が読み込んだファイルも同じバージョンでした。

64 ビット環境で読み込まれた場所は次のとおりです。

C:\Windows\Microsoft.Net\assembly\GAC_64\PresentationCore\v4.0_4.0.0.0__31bf3856ad364e35\PresentationCore.dll

Calibri など 15 フェイスで FileFormatException を確認

WPF のフォントサブセット生成処理である、

System.Windows.Media.GlyphTypeface.ComputeSubset()

を直接実行して検証しました。

今回の実機で FileFormatException が発生したのは次の 15 フェイスです。

フォントスタイル結果
CalibriRegularFAIL
CalibriBoldFAIL
CalibriItalicFAIL
CalibriBold ItalicFAIL
CambriaBoldFAIL
CambriaItalicFAIL
CambriaBold ItalicFAIL
ConstantiaRegularFAIL
ConstantiaBoldFAIL
ConstantiaItalicFAIL
ConstantiaBold ItalicFAIL
CorbelRegularFAIL
CorbelBoldFAIL
CorbelItalicFAIL
CorbelBold ItalicFAIL

Calibri Regular では次のエラーを確認しました。

FAIL [Affected] Calibri Regular (calibri.ttf) – FileFormatException ‘file:///C:/WINDOWS/Fonts/calibri.ttf’ ファイルは、 予測されるファイル形式の仕様に準拠していません。

Microsoft が案内している System.IO.FileFormatException と一致します。

ただし、Microsoft は影響対象を「Calibri を含む特定のフォント」としており、上記の 15 フェイスだけが影響対象とは案内していません。

したがって、この一覧は 今回の実機検証で影響を確認できたフォントです。

Arial や Segoe UI など 8 フェイスでは正常

比較対象として、別の Windows 標準フォントについても同じ ComputeSubset() を実行しました。

PASS [Control] Arial PASS [Control] Segoe UI PASS [Control] Times New Roman PASS [Control] Verdana PASS [Control] Tahoma PASS [Control] Consolas PASS [Control] Candara PASS [Control] Calibri Light

今回確認した 8 フェイスでは、すべて正常にフォントサブセットを生成できました。

つまり、WPF のフォントサブセット機能全体が使用できなくなったわけではありません。

特定のフォントを処理した場合に問題が発生しています。

実際の XPS 出力でも Calibri で失敗

ComputeSubset() の直接テストだけではなく、WPF を使用して実際に XPS ファイルを生成する処理も検証しました。

Calibri では失敗しました。

XPS FAIL [Affected] Calibri

内部例外を確認すると、Calibri に対するフォント処理で同じエラーが発生しています。

一方、Segoe UI では正常に XPS を生成できました。

XPS PASS [Control] Segoe UI

この結果から、今回の問題は単に内部 API を直接呼び出した場合だけではなく、実際の WPF の XPS 出力処理にも影響することを確認できました。

Microsoft の一時的な回避策で結果が完全に変化

Microsoft は、この問題に対する一時的な回避策として AppContext スイッチを案内しています。

今回の検証では、Windows やアプリケーションの設定を恒久的に変更せず、テスト用プロセス内だけで回避策を有効にして、通常状態と比較しました。

通常状態では次の結果です。

AppContext OFF Affected fonts : 0 PASS / 15 FAIL Control fonts : 8 PASS / 0 FAIL Calibri XPS : FAIL Segoe UI XPS : PASS

回避策を有効にすると次のように変化しました。

AppContext ON Affected fonts : 15 PASS / 0 FAIL Control fonts : 8 PASS / 0 FAIL Calibri XPS : PASS Segoe UI XPS : PASS

比較テストの最終結果は次のとおりです。

Comparison Summary
Comparison Summary

同じ PC、同じ Windows、同じ PresentationCore.dll、同じフォントを使用し、AppContext の状態だけを変えたところ、結果が完全に反転しました。

このことから、Microsoft が案内している回避策が今回の環境で有効であることも確認できました。

原因は 8月更新で追加されたフォント保護処理との互換性問題と考えられる

今回の結果から、Calibri のフォントファイルそのものが突然破損したとは考えにくい状況です。

KB5120708 では WPF の中核 DLL である PresentationCore.dll4.8.9344.0 に更新されています。

さらに、Microsoft が案内している回避策は TtfDelta と呼ばれる TrueType フォント処理に対して、2026年8月更新で導入された保護機能を無効にするものです。

通常状態では 15 フェイスが失敗し、この保護機能を無効にした場合だけすべて正常化したことから、現時点では 2026年8月更新で強化された TtfDelta のフォント検証処理と、一部の既存 TrueType フォント構造との互換性問題と考えるのが妥当です。

ただし、本記事では Microsoft が正式に原因を確定していない部分については断定しません。

あわせて読みたい
【解決】KB5058502・KB5058499 後に CLIP STUDIO PAINT のメニューが文字化けする問題
【解決】KB5058502・KB5058499 後に CLIP STUDIO PAINT のメニューが文字化けする問題 2025/05/28~29 にプレビューリリースされた Windows 11 バージョン 23H2 の更新プログラム KB5058502 およびバージョン 24H2 の更新プログラム KB5058499 をインストー...

日本語版 Windows 11 でも影響する

日本語環境だから影響しないという問題ではありません。

今回の検証自体、日本語版 Windows 11 25H2 で行っており、Calibri などの対象フォントで問題を再現しています。

発生条件は Windows の表示言語や国ではなく、WPF アプリケーションが問題のあるフォントを使用するかどうかです。

日本語文書では游ゴシックやメイリオなどが使用されることが多いため、通常の日本語文書だけを扱っている場合は遭遇しにくい可能性があります。

しかし、次のような場合は日本でも影響する可能性があります。

  • WPF アプリケーションが Calibri を指定している
  • 英数字部分だけ Calibri を使用している
  • 海外製の帳票やテンプレートを使用している
  • 英文を含む PDF/XPS を生成している
  • 印刷時に対象フォントのサブセット生成が行われる

したがって、「日本語環境では影響しない」と判断することはできません。

実プリンターへの印刷でも不具合を確認

今回、WPF から実プリンターへの印刷についても検証しました。

使用したプリンターは Brother DCP-J572N Printer です。

テストでは、次の 3 条件を比較しました。

  • Calibri + AppContext OFF
  • Segoe UI + AppContext OFF
  • Calibri + AppContext ON

通常状態の Calibri + AppContext OFF では、WPF の PrintVisual() 実行時に System.IO.FileFormatException が発生し、印刷に失敗しました。

PRINT FAIL [Affected] Calibri

System.IO.FileFormatException:
‘file:///C:/WINDOWS/FONTS/CALIBRI.TTF’ ファイルは、
予測されるファイル形式の仕様に準拠していません。

一方、同じプリンターを使用した Segoe UI + AppContext OFF では、印刷処理が正常に完了しました。

PRINT PASS [Control] Segoe UI

さらに、Microsoft が案内している AppContext の一時的な回避策を有効にすると、同じ Calibri でも正常に印刷できました。

PRINT PASS [Affected] Calibri

比較結果は次のとおりです。

Calibri + AppContext OFF : FAIL
Segoe UI + AppContext OFF: PASS
Calibri + AppContext ON : PASS

実際に排紙されたのは、Segoe UI + AppContext OFFCalibri + AppContext ON の 2 枚でした。

この結果から、今回の不具合は XPS ファイルの生成だけではなく、少なくとも今回の環境では WPF アプリケーションから実プリンターへ印刷する処理にも影響することを確認できました。

また、Calibri の通常状態では PrintVisual() の段階で FileFormatException が発生しているため、プリンター本体や紙詰まりなどではなく、WPF が印刷データを生成する途中のフォント処理で失敗していることも分かります。

ただし、今回確認したのは Brother DCP-J572N Printer を使用した環境です。プリンタードライバーや印刷経路によって挙動が異なる可能性があるため、すべてのプリンターで同じ結果になるとは限りません。

一時的な対処法は Microsoft 公式ページを確認してください

Microsoft は AppContext を使用した一時的な回避策を公開しています。

ただし、この回避策は 2026年8月更新で追加されたセキュリティ保護を無効にします。

Microsoft も、この設定によって更新プログラムで対処した脆弱性への露出が増える可能性があるため、問題への対応に必要な場合だけ一時的に使用することを推奨しています。

そのため、本記事では AppContext の設定変更を一律に推奨しません。

回避策が必要な場合は、使用している Windows と .NET Framework に対応する Microsoft 公式サポートページで、最新の手順と注意事項を確認してください。

Windows 11 25H2 を使用している場合は、Microsoft の「2026 年 8 月 11 日 — KB5120708 Windows 11 バージョン 25H2 および Microsoft サーバー オペレーティング システム 24H2 用 .NET Framework 3.5、4.8.1 の累積的な更新プログラム」を確認してください。

Microsoft は現時点で、この問題の状態を「調査中」としています。

まとめ

2026年8月の .NET Framework 更新後、一部の WPF アプリケーションで、Calibri など特定のフォントを使用した印刷や PDF/XPS 生成が System.IO.FileFormatException で失敗する問題が発生しています。

この問題は Windows 11 25H2 の KB5120708 だけではなく、Windows 11、Windows 10、Windows Server に提供された複数の .NET Framework 4.x 更新に関係しています。

Windows 11 25H2 の実機では、Calibri、Cambria、Constantia、Corbel の計 15 フェイスで問題を再現しました。

さらに Calibri を使用した XPS 出力も失敗しましたが、Microsoft が案内する一時的な AppContext 回避策をテストプロセス内で有効にすると、15 フェイスすべてと XPS 出力が正常化しました。

一時的な回避策にはセキュリティ上の注意点があります。

実際に問題が発生している場合は、使用している Windows に対応する Microsoft 公式情報を確認したうえで対応してください。

この記事が「役立った!」と思ったら、ぜひSNSでシェアをお願いします。
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

日々の PC 操作から生まれた疑問や、「もっとこうしたい」という想いを原動力に、2008年頃から現在に至るまで Windows の知識を独学で追求してきました。試行錯誤を重ねて見つけた「なるほど!」な技や、困った時の解決策を、皆さんの PC ライフに役立ててほしい一心で発信しています。

プロフィールを見る

コメント

コメントする

【投稿について】
記事の内容に関するご質問や情報提供は大歓迎です。
ただし、記事の趣旨と無関係な内容、特定の人物・団体への批判、攻撃的な表現、不適切な語句を含むコメントは、管理人の判断で予告なく削除・非公開とさせていただく場合があります。
また、スパム対策機能により自動的に削除される場合もありますのでご了承ください。

CAPTCHA


目次