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