src/SSCMS.Core/Utils/FontUtils.cs

(完整代码) 1KB

using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using Microsoft.Extensions.FileProviders;
using SixLabors.Fonts;

namespace SSCMS.Core.Utils
{
    public static class FontUtils
    {
        public static FontCollection Fonts { get; }

        static FontUtils()
        {
            Fonts = new FontCollection();

            var list = new List<string>
            {
                "Fonts/arial.ttf",
                "Fonts/arialbd.ttf",
                "Fonts/arialbi.ttf",
                "Fonts/ariali.ttf",
                "Fonts/ariblk.ttf"
            };

            var embeddedProvider = new EmbeddedFileProvider(Assembly.GetExecutingAssembly());
            foreach (var fileName in list)
            {
                using var reader = embeddedProvider.GetFileInfo(fileName).CreateReadStream();
                Fonts.Add(reader);
            }

            //var assembly = typeof(FontManager).Assembly;
            //var resource = assembly.GetManifestResourceStream("SS.CMS.Fonts.OpenSans-Regular.ttf");
            //var font1 = Fonts.Install(resource);
        }

        public static List<string> GetFontFamilies()
        {
            return Fonts.Families.Select(x => x.Name).ToList();
        }

        public static FontFamily DefaultFont => Fonts.Families.First();
    }
}

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。