From 965a9d954f0266017231630e43c19d125289361f Mon Sep 17 00:00:00 2001 From: marime Date: Wed, 27 May 2020 17:09:38 +0900 Subject: [PATCH] fix : Add japaneseRangeHandle.Free() Made clear to use GCHandle. --- Dalamud/Interface/GlyphRangesJapanese.cs | 7 +------ Dalamud/Interface/InterfaceManager.cs | 3 ++- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/Dalamud/Interface/GlyphRangesJapanese.cs b/Dalamud/Interface/GlyphRangesJapanese.cs index 0a79b192a..facce89ad 100644 --- a/Dalamud/Interface/GlyphRangesJapanese.cs +++ b/Dalamud/Interface/GlyphRangesJapanese.cs @@ -4,7 +4,7 @@ namespace Dalamud.Interface { static class GlyphRangesJapanese { - static readonly ushort[] GlyphRanges = new ushort[] { + public static readonly ushort[] GlyphRanges = new ushort[] { 0x0020, 0x007E, 0x00A2, 0x00A3, 0x00A7, 0x00A8, 0x00AC, 0x00AC, 0x00B0, 0x00B1, 0x00B4, 0x00B4, 0x00B6, 0x00B6, 0x00D7, 0x00D7, 0x00F7, 0x00F7, 0x0391, 0x03A1, 0x03A3, 0x03A9, 0x03B1, 0x03C1, 0x03C3, 0x03C9, 0x0401, 0x0401, 0x0410, 0x044F, 0x0451, 0x0451, 0x2010, 0x2010, 0x2015, 0x2016, 0x2018, 0x2019, 0x201C, 0x201D, 0x2020, 0x2021, 0x2025, 0x2026, 0x2030, 0x2030, 0x2032, 0x2033, @@ -522,10 +522,5 @@ namespace Dalamud.Interface 0x9F76, 0x9F77, 0x9F8D, 0x9F8D, 0x9F95, 0x9F95, 0x9F9C, 0x9F9D, 0x9FA0, 0x9FA0, 0xFF01, 0xFF01, 0xFF03, 0xFF06, 0xFF08, 0xFF0C, 0xFF0E, 0xFF3B, 0xFF3D, 0xFF5D, 0xFF61, 0xFF9F, 0xFFE3, 0xFFE3, 0xFFE5, 0xFFE5, 0xFFFF, 0xFFFF, 0, }; - - public static GCHandle GetRangeHandle() - { - return GCHandle.Alloc(GlyphRanges, GCHandleType.Pinned); - } } } diff --git a/Dalamud/Interface/InterfaceManager.cs b/Dalamud/Interface/InterfaceManager.cs index a51d17122..aea1735a9 100644 --- a/Dalamud/Interface/InterfaceManager.cs +++ b/Dalamud/Interface/InterfaceManager.cs @@ -273,7 +273,7 @@ namespace Dalamud.Interface var fontPathJp = Path.Combine(this.dalamud.StartInfo.WorkingDirectory, "UIRes", "NotoSansCJKjp-Medium.otf"); - var japaneseRangeHandle = GlyphRangesJapanese.GetRangeHandle(); + var japaneseRangeHandle = GCHandle.Alloc(GlyphRangesJapanese.GlyphRanges, GCHandleType.Pinned); DefaultFont = ImGui.GetIO().Fonts.AddFontFromFileTTF(fontPathJp, 17.0f, null, japaneseRangeHandle.AddrOfPinnedObject()); @@ -303,6 +303,7 @@ namespace Dalamud.Interface ImGui.GetIO().Fonts.Build(); fontConfig.Destroy(); + japaneseRangeHandle.Free(); gameRangeHandle.Free(); iconRangeHandle.Free(); }