/// <summary> /// 読み込んだすべてのフォントを解放します。 /// </summary> public static void UnloadAllLoadedFontFiles() { foreach (IntPtr handle in LoadedMemFonts) { Win32Font.UnloadFontMem(handle); } LoadedMemFonts.Clear(); }
/// <summary> /// TTFファイルなどのフォントファイルを読み込みます。 /// 読み込んだフォントが使えるようになります。 /// </summary> /// <param name="fontImage">フォントファイルの内容を格納したメモリ</param> /// <remarks> /// .NETの<c>System.Drawing.Font</c>は、これで読み込んだフォントを作れないみたい。 /// Win32 APIのCreateFontとか、SlimDX.Direct3D.Fontだと使えるみたい。 /// </remarks> public static IntPtr LoadFontFromMemory(byte[] fontImage) { IntPtr fontHandle = Win32Font.LoadFontMem(fontImage); if (fontHandle == IntPtr.Zero) { throw new ArgumentException("FontLoader: フォントの追加に失敗しました。フォントが有効ではありません。"); } LoadedMemFonts.Add(fontHandle); return(fontHandle); }
/// <summary> /// 読み込んだフォントファイルを解放します。 /// </summary> /// <param name="fontHandle"></param> public static void UnloadFontFile(IntPtr fontHandle) { Win32Font.UnloadFontMem(fontHandle); LoadedMemFonts.Remove(fontHandle); }