Fix a crash resulting from fonts containing a Mark of the Web
A problem exists in Windows 10, where Desktop Bridge (aka Centennial) applications (like EarTrumpet) will fail to load system fonts (e.g. Segoe UI, Segoe MDL2 Assets) if they contain a Mark of the Web. This could occur, for example, after upgrading from Windows 8.1 where marked fonts were manually installed.
More information about the Mark of the Web feature can be found on Microsoft Docs.
Symptoms
- App crashes at startup
-
.NET Runtime error events exist in the Application event log with the following exception information:
Application: [application].exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.IO.FileNotFoundException at MS.Internal.Text.TextInterface.Native.Util.ConvertHresultToException at MS.Internal.Text.TextInterface.FontFamily.GetFirstMatchingFont ...
Resolution (automatic)
- Download the Blocked Fonts Troubleshooting Pack from File-New-Project.
- Execute
FixBlockedFonts.diagcab
to start the troubleshooting wizard. - Follow the on-screen prompts.
- Uninstall and reinstall the affected application to clear its font cache.
Resolution (manual)
- Open File Explorer and navigate to
\\localhost\C$\Windows\Fonts
. - Find
segmdl2.ttf
. - Open the context menu (e.g. right-click) and select Properties.
- At the bottom of the window, check Unblock and select the OK button.
- Repeat steps 2-4 for fonts:
segoeui.ttf
,seguisb.ttf
,segmdl2.ttf
, andSegoeUI-Light.ttf
- Repeat steps 1-5 for location:
%LocalAppData%\Microsoft\Windows\Fonts
. - Delete all fonts stored in:
%LocalAppData%\Packages\[package family name]\LocalCache\Local\Microsoft\Windows\Fonts
- Uninstall and reinstall the affected application to clear its font cache.