Exemple #1
0
        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();
            }
        }
Exemple #2
0
        /// <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);
        }