using FastReport.Fonts; using System; using System.Drawing; using System.Globalization; using System.IO; using System.Reflection; namespace FastReport.Utils { public static partial class Config { private static Export.Email.EmailSettings FEmailSettings = new Export.Email.EmailSettings(); private static readonly TrueTypeCollection FFontCollection = new TrueTypeCollection(); /// /// Gets or sets the settings for the "Send Email" window. /// public static Export.Email.EmailSettings EmailSettings { get { return FEmailSettings; } set { FEmailSettings = value; } } /// /// Get access to font collection /// public static TrueTypeCollection FontCollection { get { return FFontCollection; } } #if SKIA private static CharacterMatcher characterMatcher = new CharacterMatcher(); private class CharacterMatcher : Topten.RichTextKit.ICharacterMatcher { public CharacterMatcher() { } SkiaSharp.SKFontManager _fontManager = SkiaSharp.SKFontManager.Default; /// public SkiaSharp.SKTypeface MatchCharacter(string familyName, int weight, int width, SkiaSharp.SKFontStyleSlant slant, string[] bcp47, int character) { // check private fonts foreach (FontFamily f in PrivateFontCollection.Families) { SkiaSharp.SKTypeface t = f.GetTypeface(FontStyle.Regular); if (t.ContainsGlyph(character)) return t; } return _fontManager.MatchCharacter(familyName, weight, width, slant, bcp47, character); } } #endif private static void ProcessMainAssembly() { new AssemblyInitializer(); #if !FRCORE new AssemblyInitializerDesignExt(); #endif new AssemblyInitializerBaseExt(); } } }