Beispiel #1
0
        public static void Main(string[] args)
        {
            var        fonts      = new FontCollection();
            FontFamily font       = fonts.Install(@"Fonts\SixLaborsSampleAB.ttf");
            FontFamily fontWoff   = fonts.Install(@"Fonts\SixLaborsSampleAB.woff");
            FontFamily carter     = fonts.Install(@"Fonts\CarterOne.ttf");
            FontFamily wendy_One  = fonts.Install(@"Fonts\WendyOne-Regular.ttf");
            FontFamily colorEmoji = fonts.Install(@"Fonts\Twemoji Mozilla.ttf");
            FontFamily font2      = fonts.Install(@"Fonts\OpenSans-Regular.ttf");
            FontFamily emojiFont  = SystemFonts.Find("Segoe UI Emoji");
            FontFamily uiFont     = SystemFonts.Find("Segoe UI");

            RenderTextProcessorWithAlignment(emojiFont, "😀A😀", pointSize: 20, fallbackFonts: new[] { colorEmoji });
            RenderTextProcessorWithAlignment(uiFont, "this\nis\na\ntest", pointSize: 20, fallbackFonts: new[] { font2 });
            RenderTextProcessorWithAlignment(uiFont, "first\n\n\n\nlast", pointSize: 20, fallbackFonts: new[] { font2 });

            // fallback font tests
            RenderTextProcessor(colorEmoji, "a😀d", pointSize: 72, fallbackFonts: new[] { font2 });
            RenderText(colorEmoji, "a😀d", pointSize: 72, fallbackFonts: new[] { font2 });

            RenderText(colorEmoji, "😀", pointSize: 72, fallbackFonts: new[] { font2 });
            RenderText(emojiFont, "😀", pointSize: 72, fallbackFonts: new[] { font2 });
            RenderText(font2, string.Empty, pointSize: 72, fallbackFonts: new[] { emojiFont });
            RenderText(font2, "😀 Hello World! 😀", pointSize: 72, fallbackFonts: new[] { emojiFont });

            //// general
            RenderText(font, "abc", 72);
            RenderText(font, "ABd", 72);
            RenderText(fontWoff, "abe", 72);
            RenderText(fontWoff, "ABf", 72);
            RenderText(font2, "ov", 72);
            RenderText(font2, "a\ta", 72);
            RenderText(font2, "aa\ta", 72);
            RenderText(font2, "aaa\ta", 72);
            RenderText(font2, "aaaa\ta", 72);
            RenderText(font2, "aaaaa\ta", 72);
            RenderText(font2, "aaaaaa\ta", 72);
            RenderText(font2, "Hello\nWorld", 72);
            RenderText(carter, "Hello\0World", 72);
            RenderText(wendy_One, "Hello\0World", 72);

            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 4
            }, "\t\tx");
            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 4
            }, "\t\t\tx");
            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 4
            }, "\t\t\t\tx");
            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 4
            }, "\t\t\t\t\tx");

            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 0
            }, "Zero\tTab");

            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 0
            }, "Zero\tTab");
            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 1
            }, "One\tTab");
            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 6
            }, "\tTab Then Words");
            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 1
            }, "Tab Then Words");
            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 1
            }, "Words Then Tab\t");
            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 1
            }, "                 Spaces Then Words");
            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 1
            }, "Words Then Spaces                 ");
            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 1
            }, "\naaaabbbbccccddddeeee\n\t\t\t3 tabs\n\t\t\t\t\t5 tabs");

            RenderText(new Font(SystemFonts.Find("Arial"), 20f, FontStyle.Regular), "á é í ó ú ç ã õ", 200, 50);
            RenderText(new Font(SystemFonts.Find("Arial"), 10f, FontStyle.Regular), "PGEP0JK867", 200, 50);

            RenderText(new RendererOptions(SystemFonts.CreateFont("consolas", 72))
            {
                TabWidth = 4
            }, "xxxxxxxxxxxxxxxx\n\txxxx\txxxx\n\t\txxxxxxxx\n\t\t\txxxx");

            BoundingBoxes.Generate("a b c y q G H T", SystemFonts.CreateFont("arial", 40f));

            TextAlignment.Generate(SystemFonts.CreateFont("arial", 50f));
            TextAlignmentWrapped.Generate(SystemFonts.CreateFont("arial", 50f));

            var sb = new StringBuilder();

            for (char c = 'a'; c <= 'z'; c++)
            {
                sb.Append(c);
            }

            for (char c = 'A'; c <= 'Z'; c++)
            {
                sb.Append(c);
            }

            for (char c = '0'; c <= '9'; c++)
            {
                sb.Append(c);
            }

            string text = sb.ToString();

            foreach (FontFamily f in fonts.Families)
            {
                RenderText(f, text, 72);
            }

            FontFamily simsum = SystemFonts.Find("SimSun");

            RenderText(simsum, "这是一段长度超出设定的�行宽度的文本,但是没有在设定的宽度处�行。这段文本用于演示问题。希望�以修�。如果有需��以�系我。", 16);

            FontFamily arial = SystemFonts.Find("Arial");

            RenderText(arial, "ìíîï", 72);
        }
Beispiel #2
0
        public static void Main(string[] args)
        {
            FontCollection fonts     = new FontCollection();
            FontFamily     font      = fonts.Install(@"..\..\tests\SixLabors.Fonts.Tests\Fonts\SixLaborsSampleAB.ttf");
            FontFamily     fontWoff  = fonts.Install(@"..\..\tests\SixLabors.Fonts.Tests\Fonts\SixLaborsSampleAB.woff");
            FontFamily     font2     = fonts.Install(@"..\..\tests\SixLabors.Fonts.Tests\Fonts\OpenSans-Regular.ttf");
            FontFamily     carter    = fonts.Install(@"..\..\tests\SixLabors.Fonts.Tests\Fonts\Carter_One\CarterOne.ttf");
            FontFamily     Wendy_One = fonts.Install(@"..\..\tests\SixLabors.Fonts.Tests\Fonts\Wendy_One\WendyOne-Regular.ttf");

            RenderText(font, "abc", 72);
            RenderText(font, "ABd", 72);
            RenderText(fontWoff, "abe", 72);
            RenderText(fontWoff, "ABf", 72);
            RenderText(font2, "ov", 72);
            RenderText(font2, "a\ta", 72);
            RenderText(font2, "aa\ta", 72);
            RenderText(font2, "aaa\ta", 72);
            RenderText(font2, "aaaa\ta", 72);
            RenderText(font2, "aaaaa\ta", 72);
            RenderText(font2, "aaaaaa\ta", 72);
            RenderText(font2, "Hello\nWorld", 72);
            RenderText(carter, "Hello\0World", 72);
            RenderText(Wendy_One, "Hello\0World", 72);

            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 4
            }, "\t\tx");
            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 4
            }, "\t\t\tx");
            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 4
            }, "\t\t\t\tx");
            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 4
            }, "\t\t\t\t\tx");

            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 0
            }, "Zero\tTab");

            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 0
            }, "Zero\tTab");
            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 1
            }, "One\tTab");
            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 6
            }, "\tTab Then Words");
            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 1
            }, "Tab Then Words");
            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 1
            }, "Words Then Tab\t");
            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 1
            }, "                 Spaces Then Words");
            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 1
            }, "Words Then Spaces                 ");
            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 1
            }, "\naaaabbbbccccddddeeee\n\t\t\t3 tabs\n\t\t\t\t\t5 tabs");

            RenderText(new Font(SystemFonts.Find("Arial"), 20f, FontStyle.Regular), "á é í ó ú ç ã õ", 200, 50);
            RenderText(new Font(SystemFonts.Find("Arial"), 10f, FontStyle.Regular), "PGEP0JK867", 200, 50);

            RenderText(new RendererOptions(SystemFonts.CreateFont("consolas", 72))
            {
                TabWidth = 4
            }, "xxxxxxxxxxxxxxxx\n\txxxx\txxxx\n\t\txxxxxxxx\n\t\t\txxxx");

            BoundingBoxes.Generate("a b c y q G H T", SystemFonts.CreateFont("arial", 40f));

            TextAlignment.Generate(SystemFonts.CreateFont("arial", 50f));
            TextAlignmentWrapped.Generate(SystemFonts.CreateFont("arial", 50f));

            StringBuilder sb = new StringBuilder();

            for (char c = 'a'; c <= 'z'; c++)
            {
                sb.Append(c);
            }
            for (char c = 'A'; c <= 'Z'; c++)
            {
                sb.Append(c);
            }
            for (char c = '0'; c <= '9'; c++)
            {
                sb.Append(c);
            }
            string text = sb.ToString();

            foreach (FontFamily f in fonts.Families)
            {
                RenderText(f, text, 72);
            }
        }
Beispiel #3
0
        public static void Main(string[] args)
        {
            var        fonts      = new FontCollection();
            FontFamily font       = fonts.Install(@"Fonts\SixLaborsSampleAB.ttf");
            FontFamily fontWoff   = fonts.Install(@"Fonts\SixLaborsSampleAB.woff");
            FontFamily carter     = fonts.Install(@"Fonts\CarterOne.ttf");
            FontFamily Wendy_One  = fonts.Install(@"Fonts\WendyOne-Regular.ttf");
            FontFamily ColorEmoji = fonts.Install(@"Fonts\Twemoji Mozilla.ttf");
            FontFamily font2      = fonts.Install(@"Fonts\OpenSans-Regular.ttf");
            var        emojiFont  = SystemFonts.Find("Segoe UI Emoji");

            // fallback font tests
            RenderTextProcessor(ColorEmoji, "a😀d", pointSize: 72, fallbackFonts: new[] { font2 });
            RenderText(ColorEmoji, "a😀d", pointSize: 72, fallbackFonts: new[] { font2 });

            RenderText(ColorEmoji, "😀", pointSize: 72, fallbackFonts: new[] { font2 });
            RenderText(emojiFont, "😀", pointSize: 72, fallbackFonts: new[] { font2 });
            RenderText(font2, "", pointSize: 72, fallbackFonts: new[] { emojiFont });
            RenderText(font2, "😀 Hello World! 😀", pointSize: 72, fallbackFonts: new[] { emojiFont });

            //// general

            RenderText(font, "abc", 72);
            RenderText(font, "ABd", 72);
            RenderText(fontWoff, "abe", 72);
            RenderText(fontWoff, "ABf", 72);
            RenderText(font2, "ov", 72);
            RenderText(font2, "a\ta", 72);
            RenderText(font2, "aa\ta", 72);
            RenderText(font2, "aaa\ta", 72);
            RenderText(font2, "aaaa\ta", 72);
            RenderText(font2, "aaaaa\ta", 72);
            RenderText(font2, "aaaaaa\ta", 72);
            RenderText(font2, "Hello\nWorld", 72);
            RenderText(carter, "Hello\0World", 72);
            RenderText(Wendy_One, "Hello\0World", 72);

            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 4
            }, "\t\tx");
            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 4
            }, "\t\t\tx");
            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 4
            }, "\t\t\t\tx");
            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 4
            }, "\t\t\t\t\tx");

            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 0
            }, "Zero\tTab");

            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 0
            }, "Zero\tTab");
            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 1
            }, "One\tTab");
            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 6
            }, "\tTab Then Words");
            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 1
            }, "Tab Then Words");
            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 1
            }, "Words Then Tab\t");
            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 1
            }, "                 Spaces Then Words");
            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 1
            }, "Words Then Spaces                 ");
            RenderText(new RendererOptions(new Font(font2, 72))
            {
                TabWidth = 1
            }, "\naaaabbbbccccddddeeee\n\t\t\t3 tabs\n\t\t\t\t\t5 tabs");

            RenderText(new Font(SystemFonts.Find("Arial"), 20f, FontStyle.Regular), "á é í ó ú ç ã õ", 200, 50);
            RenderText(new Font(SystemFonts.Find("Arial"), 10f, FontStyle.Regular), "PGEP0JK867", 200, 50);

            RenderText(new RendererOptions(SystemFonts.CreateFont("consolas", 72))
            {
                TabWidth = 4
            }, "xxxxxxxxxxxxxxxx\n\txxxx\txxxx\n\t\txxxxxxxx\n\t\t\txxxx");

            BoundingBoxes.Generate("a b c y q G H T", SystemFonts.CreateFont("arial", 40f));

            TextAlignment.Generate(SystemFonts.CreateFont("arial", 50f));
            TextAlignmentWrapped.Generate(SystemFonts.CreateFont("arial", 50f));

            var sb = new StringBuilder();

            for (char c = 'a'; c <= 'z'; c++)
            {
                sb.Append(c);
            }
            for (char c = 'A'; c <= 'Z'; c++)
            {
                sb.Append(c);
            }
            for (char c = '0'; c <= '9'; c++)
            {
                sb.Append(c);
            }
            string text = sb.ToString();

            foreach (FontFamily f in fonts.Families)
            {
                RenderText(f, text, 72);
            }
        }