From dd22a815a8256d2f58bc51728c80359ccfdeee22 Mon Sep 17 00:00:00 2001 From: Anna Date: Sun, 12 Jun 2022 10:20:37 -0400 Subject: [PATCH] fix: handle potential font error --- ChatTwo/Ui/Fonts.cs | 33 +++++++++++++++++++++------------ icon.png | Bin 12035 -> 14461 bytes 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/ChatTwo/Ui/Fonts.cs b/ChatTwo/Ui/Fonts.cs index 7452e0d..889f3cf 100755 --- a/ChatTwo/Ui/Fonts.cs +++ b/ChatTwo/Ui/Fonts.cs @@ -1,4 +1,5 @@ using System.Runtime.InteropServices; +using SharpDX; using SharpDX.DirectWrite; using FontStyle = SharpDX.DirectWrite.FontStyle; @@ -44,13 +45,17 @@ internal static class Fonts { using var family = collection.GetFontFamily(i); var anyItalic = false; for (var j = 0; j < family.FontCount; j++) { - using var font = family.GetFont(j); - if (font.IsSymbolFont || font.Style is not (FontStyle.Italic or FontStyle.Oblique)) { - continue; - } + try { + var font = family.GetFont(j); + if (font.IsSymbolFont || font.Style is not (FontStyle.Italic or FontStyle.Oblique)) { + continue; + } - anyItalic = true; - break; + anyItalic = true; + break; + } catch (SharpDXException) { + // no-op + } } if (!anyItalic) { @@ -74,13 +79,17 @@ internal static class Fonts { using var family = collection.GetFontFamily(i); var probablyJp = false; for (var j = 0; j < family.FontCount; j++) { - using var font = family.GetFont(j); - if (!font.HasCharacter('気') || font.IsSymbolFont) { - continue; - } + try { + using var font = family.GetFont(j); + if (!font.HasCharacter('気') || font.IsSymbolFont) { + continue; + } - probablyJp = true; - break; + probablyJp = true; + break; + } catch (SharpDXException) { + // no-op + } } if (!probablyJp) { diff --git a/icon.png b/icon.png index 5c3c5816347df98bd07219c8b01a58c5a01e6cde..539f99e97f767ea6c0ac35626f8d4f48e1d66c7f 100644 GIT binary patch literal 14461 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