Beispiel #1
0
        public void Test_DefaultFont_MatchesOsExpectations()
        {
            string defaultFont = InstalledFont.Default();

            Console.WriteLine($">>> Default font: {defaultFont}");

            string defaultFontSans = InstalledFont.Sans();

            Console.WriteLine($">>> Default sans font: {defaultFontSans}");

            string defaultFontSerif = InstalledFont.Serif();

            Console.WriteLine($">>> Default serif font: {defaultFontSerif}");

            string defaultFontMonospace = InstalledFont.Monospace();

            Console.WriteLine($">>> Default monospace font: {defaultFontMonospace}");

            Assert.That(defaultFont == defaultFontSans);

            if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
            {
                Assert.That(defaultFontSans == "Segoe UI");
                Assert.That(defaultFontSerif == "Times New Roman");
                Assert.That(defaultFontMonospace == "Consolas");
            }
            else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
            {
                Assert.That(defaultFontSans == "DejaVu Sans");
                Assert.That(defaultFontSerif == "DejaVu Serif");
                Assert.That(defaultFontMonospace == "DejaVu Sans Mono");
            }
            else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
            {
                Assert.That(defaultFontSans == "Helvetica");
                Assert.That(defaultFontSerif.StartsWith("Times"));
                Assert.That(defaultFontMonospace == "Courier");
            }
        }
Beispiel #2
0
        public void Test_MeasureString_ShowSize()
        {
            string testString = "ScottPlot";

            var   fontName = InstalledFont.Default();
            float fontSize = 14;

            // an active Graphics object is required to measure a string...
            using (var bmp = new System.Drawing.Bitmap(1, 1))
                using (var gfx = System.Drawing.Graphics.FromImage(bmp))
                    using (var font = new System.Drawing.Font(fontName, fontSize))
                    {
                        var stringSize = ScottPlot.Drawing.GDI.MeasureString(gfx, testString, font);

                        var sb = new StringBuilder();
                        sb.AppendLine(System.Environment.OSVersion.ToString());
                        sb.AppendLine($"The string '{testString}' with font '{fontName}' (size {fontSize}) " +
                                      $"measures: {stringSize.Width}px x {stringSize.Height}px");

                        Console.WriteLine(sb);
                    }
        }