diff --git a/HellionChat/FontManager.cs b/HellionChat/FontManager.cs index 17daf5d..809846f 100644 --- a/HellionChat/FontManager.cs +++ b/HellionChat/FontManager.cs @@ -226,11 +226,21 @@ public class FontManager return fontId.AddToBuildToolkit(tk, config); } catch (Exception e) - when (e is FileNotFoundException or DirectoryNotFoundException or IOException) + when (e + is FileNotFoundException + or DirectoryNotFoundException + or IOException + or InvalidOperationException + or ArgumentException + ) { + // Atlas-toolkit throws span IO and validation failures; routing the + // wider set through the fallback keeps a corrupt font config from + // taking down the whole atlas build. Plugin.Log.Warning( e, - $"Configured {slot} font unavailable, falling back to NotoSansCjkRegular" + $"Configured {slot} font failed to load ({e.GetType().Name}), " + + "falling back to NotoSansCjkRegular" ); var fallback = new DalamudAssetFontAndFamilyId(DalamudAsset.NotoSansCjkRegular); return fallback.AddToBuildToolkit(tk, config);