Adobe Acrobat ReaderのUIが正しく描画されない・印刷しようとするとクラッシュする(Windows 10 21H2)
特定のWindows 10 21H2環境で、Adobe Acrobat ReaderのUIが正しく描画されなかったり、PDFを印刷したりするとクラッシュする症状に悩まされていた。
症状
一部のテキスト(太字?)が右上に傾いて表示される
一部のテキスト(ボタンのラベル?)が表示されない
一部のテキストが135度左回転して表示される
ボタンのサイズが本来より大きくなる
印刷UIを開くとクラッシュする
メニューから印刷を選んで印刷UIを開くとクラッシュする。
クラッシュレポート送信ダイアログも表示されない。
ほとんどのテキストが太字・下線付きで表示される
高DPI設定を変更すると、表示されなかった一部のテキストを表示できることがあるが、太字・下線付きで表示される。
高DPI設定(Acrobat.exeのプロパティ>互換性>高DPI設定の変更)
おかしい表示
正しい表示(解決後のスクリーンショット)
自分の環境での原因・解決
原因は、Windowsのデフォルトフォントを変更していたことだった。
Windowsのデフォルトフォントは、(おそらくこういった不具合を防ぐため)通常の設定UIでは変更することができない。 レジストリを書き換えることで、フォント名に対応するフォントを変更することができる。 このとき、標準的にWindowsのUIフォントとして使われるSegoe UIフォントで描画する、という指定がされているUI上のテキストを、別のフォントを使って描画するように設定することで、デフォルトフォント(システムフォント)を変更する方法がある。
- デフォルトフォントの変更方法を指南する記事: https://techcult.com/change-default-system-font-in-windows-10/
Acrobat Readerを正常に動作させるには、Segoe UIとして描画されるフォントが、正しくSegoe UIフォントである必要があるらしい。
- クラッシュの原因についてSegoe UIフォントの正常性との関係を指摘するコメント: https://community.adobe.com/t5/acrobat-reader-discussions/acrobat-reader-quit-unexpectedly/m-p/11139813#M66281
上のデフォルトフォントの変更方法についての記事を参照し、復元用regファイルを作成・実行、Windowsを再起動することで、Acrobat Readerを正常に動作させることができるようになった。
recover.reg (TechCultより)
Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts]"Segoe UI (TrueType)"="segoeui.ttf""Segoe UI Black (TrueType)"="seguibl.ttf""Segoe UI Black Italic (TrueType)"="seguibli.ttf""Segoe UI Bold (TrueType)"="segoeuib.ttf""Segoe UI Bold Italic (TrueType)"="segoeuiz.ttf""Segoe UI Emoji (TrueType)"="seguiemj.ttf""Segoe UI Historic (TrueType)"="seguihis.ttf""Segoe UI Italic (TrueType)"="segoeuii.ttf""Segoe UI Light (TrueType)"="segoeuil.ttf""Segoe UI Light Italic (TrueType)"="seguili.ttf""Segoe UI Semibold (TrueType)"="seguisb.ttf""Segoe UI Semibold Italic (TrueType)"="seguisbi.ttf""Segoe UI Semilight (TrueType)"="segoeuisl.ttf""Segoe UI Semilight Italic (TrueType)"="seguisli.ttf""Segoe UI Symbol (TrueType)"="seguisym.ttf""Segoe MDL2 Assets (TrueType)"="segmdl2.ttf""Segoe Print (TrueType)"="segoepr.ttf""Segoe Print Bold (TrueType)"="segoeprb.ttf""Segoe Script (TrueType)"="segoesc.ttf""Segoe Script Bold (TrueType)"="segoescb.ttf"[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]"Segoe UI"=-