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); }); }
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); }); }
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); }
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"); }
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"); }