fix: handle potential font error

This commit is contained in:
Anna
2022-06-12 10:20:37 -04:00
parent 18c20418c7
commit dd22a815a8
2 changed files with 21 additions and 12 deletions
+21 -12
View File
@@ -1,4 +1,5 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using SharpDX;
using SharpDX.DirectWrite; using SharpDX.DirectWrite;
using FontStyle = SharpDX.DirectWrite.FontStyle; using FontStyle = SharpDX.DirectWrite.FontStyle;
@@ -44,13 +45,17 @@ internal static class Fonts {
using var family = collection.GetFontFamily(i); using var family = collection.GetFontFamily(i);
var anyItalic = false; var anyItalic = false;
for (var j = 0; j < family.FontCount; j++) { for (var j = 0; j < family.FontCount; j++) {
using var font = family.GetFont(j); try {
if (font.IsSymbolFont || font.Style is not (FontStyle.Italic or FontStyle.Oblique)) { var font = family.GetFont(j);
continue; if (font.IsSymbolFont || font.Style is not (FontStyle.Italic or FontStyle.Oblique)) {
} continue;
}
anyItalic = true; anyItalic = true;
break; break;
} catch (SharpDXException) {
// no-op
}
} }
if (!anyItalic) { if (!anyItalic) {
@@ -74,13 +79,17 @@ internal static class Fonts {
using var family = collection.GetFontFamily(i); using var family = collection.GetFontFamily(i);
var probablyJp = false; var probablyJp = false;
for (var j = 0; j < family.FontCount; j++) { for (var j = 0; j < family.FontCount; j++) {
using var font = family.GetFont(j); try {
if (!font.HasCharacter('気') || font.IsSymbolFont) { using var font = family.GetFont(j);
continue; if (!font.HasCharacter('気') || font.IsSymbolFont) {
} continue;
}
probablyJp = true; probablyJp = true;
break; break;
} catch (SharpDXException) {
// no-op
}
} }
if (!probablyJp) { if (!probablyJp) {
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 14 KiB