private static FontInfoBase FromPackagePrivate(PackagedFont package) { switch (package) { case PackagedDynamicFont d: return(DynamicFontInfo.GetInstance(d.Path, d.Size, d.Color, d.OutLineSize, d.OutLineColor)); case PackagedStaticFont s: return(StaticFontInfo.GetInstance(s.Path)); default: throw new ArgumentException(); } }
/// <summary> /// <see cref="PackagedFont"/>からインスタンスを生成する /// </summary> /// <param name="package">インスタンス生成に用いるフォントのパッケージ</param> /// <returns>フォントの情報</returns> public static FontInfoBase FromPackage(PackagedFont package) { Central.ThrowHelper.ThrowIfNull(package); var e = File.Exists(package.Path); if (!e) { package.Save(); } var result = FromPackagePrivate(package); if (!e) { File.Delete(package.Path); } return(result); }