Ejemplo n.º 1
0
        public void InstallViaPathInstallFontFileInstances()
        {
            var sut = new FontCollection();
            var collectionFromPath = sut.InstallCollection(TestFonts.SimpleTrueTypeCollection, out var descriptions);

            var allInstances = sut.Families.SelectMany(x => sut.FindAll(x.Name));

            Assert.All(allInstances, i =>
            {
                var font = Assert.IsType <FileFontInstance>(i);
            });
        }
Ejemplo n.º 2
0
        public void InstallViaPathInstallFontFileInstances()
        {
            var sut = new FontCollection();
            IEnumerable <FontFamily> collectionFromPath = sut.InstallCollection(TestFonts.SimpleTrueTypeCollection, out IEnumerable <FontDescription> descriptions);

            IEnumerable <IFontInstance> allInstances = sut.Families.SelectMany(x => sut.FindAll(x.Name, CultureInfo.InvariantCulture));

            Assert.All(allInstances, i =>
            {
                FileFontInstance font = Assert.IsType <FileFontInstance>(i);
            });
        }
Ejemplo n.º 3
0
        public FontProvider()
        {
            _fonts = new FontCollection();

            NotoSans = _fonts.Install("data/fonts/NotoSans-Bold.ttf");
            UniSans  = _fonts.Install("data/fonts/Uni Sans.ttf");

            FallBackFonts = new List <FontFamily>();

            //FallBackFonts.Add(_fonts.Install("data/fonts/OpenSansEmoji.ttf"));

            // try loading some emoji and jap fonts on windows as fallback fonts
            if (Environment.OSVersion.Platform == PlatformID.Win32NT)
            {
                try
                {
                    string fontsfolder = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Fonts);
                    FallBackFonts.Add(_fonts.Install(Path.Combine(fontsfolder, "seguiemj.ttf")));
                    FallBackFonts.AddRange(_fonts.InstallCollection(Path.Combine(fontsfolder, "msgothic.ttc")));
                    FallBackFonts.AddRange(_fonts.InstallCollection(Path.Combine(fontsfolder, "segoe.ttc")));
                }
                catch { }
            }

            // any fonts present in data/fonts should be added as fallback fonts
            // this will allow support for special characters when drawing text
            foreach (var font in Directory.GetFiles(@"data/fonts"))
            {
                if (font.EndsWith(".ttf"))
                {
                    FallBackFonts.Add(_fonts.Install(font));
                }
                else if (font.EndsWith(".ttc"))
                {
                    FallBackFonts.AddRange(_fonts.InstallCollection(font));
                }
            }

            RipFont = NotoSans.CreateFont(20, FontStyle.Bold);
        }
Ejemplo n.º 4
0
        public void InstallViaPathReturnsDecription()
        {
            var sut = new FontCollection();
            var collectionFromPath = sut.InstallCollection(TestFonts.SimpleTrueTypeCollection, out var descriptions);

            Assert.Equal(2, descriptions.Count());
            var openSans = Assert.Single(collectionFromPath, x => x.Name == "Open Sans");
            var abFont   = Assert.Single(collectionFromPath, x => x.Name == "SixLaborsSampleAB");

            Assert.Equal(2, descriptions.Count());
            var openSansDescription = Assert.Single(descriptions, x => x.FontName == "Open Sans");
            var abFontDescription   = Assert.Single(descriptions, x => x.FontName == "SixLaborsSampleAB regular");
        }
Ejemplo n.º 5
0
        public void InstallViaStreamhReturnsDecription()
        {
            var suit = new FontCollection();
            IEnumerable <FontFamily> collectionFromPath = suit.InstallCollection(TestFonts.SSimpleTrueTypeCollectionData(), out IEnumerable <FontDescription> descriptions);

            Assert.Equal(2, collectionFromPath.Count());
            FontFamily openSans = Assert.Single(collectionFromPath, x => x.Name == "Open Sans");
            FontFamily abFont   = Assert.Single(collectionFromPath, x => x.Name == "SixLaborsSampleAB");

            Assert.Equal(2, descriptions.Count());
            FontDescription openSansDescription = Assert.Single(descriptions, x => x.FontNameInvariantCulture == "Open Sans");
            FontDescription abFontDescription   = Assert.Single(descriptions, x => x.FontNameInvariantCulture == "SixLaborsSampleAB regular");
        }