CharsAndFonts.cs
C# VB
//// This code is part of Document Solutions for Imaging demos.// Copyright (c) MESCIUS inc. All rights reserved.//using System.IO;using System.Drawing;using GrapeCity.Documents.Text;using GrapeCity.Documents.Imaging;using GCTEXT = GrapeCity.Documents.Text;
namespace DsImagingWeb.Demos{ // This sample shows how to draw text using different fonts (.ttf, .otf, .woff) // and characters with codes greater than 0xFFFF. public class CharsAndFonts { public GcBitmap GenerateImage(Size pixelSize, float dpi, bool opaque, string[] sampleParams = null) { var fWoff = GCTEXT.Font.FromFile(Path.Combine("Resources", "Fonts", "FreeMonoBoldOblique.woff")); var fSerif = GCTEXT.Font.FromFile(Path.Combine("Resources", "Fonts", "FreeSerif.ttf")); var fFoglihten = GCTEXT.Font.FromFile(Path.Combine("Resources", "Fonts", "FoglihtenNo07.otf")); var fSega = GCTEXT.Font.FromFile(Path.Combine("Resources", "Fonts", "SEGA.ttf")); var fEmoji = GCTEXT.Font.FromFile(Path.Combine("Resources", "Fonts", "FirefoxEmoji.ttf")); var bmp = new GcBitmap(pixelSize.Width, pixelSize.Height, true, dpi, dpi); using var g = bmp.CreateGraphics(Color.White); TextFormat tf = new TextFormat { Font = fWoff, FontSize = 40 }; g.DrawString("FreeMonoBoldOblique.woff", tf, new RectangleF(4, 4, 800, 50));
tf = new TextFormat { Font = fSerif, FontSize = 40 }; g.DrawString("FreeSerif.ttf", tf, new RectangleF(4, 64, 800, 50));
tf = new TextFormat { Font = fFoglihten, FontSize = 40 }; g.DrawString("FoglihtenNo07.otf", tf, new RectangleF(4, 139, 800, 50));
tf = new TextFormat { Font = fSega, FontSize = 40 }; g.DrawString("SEGA.ttf", tf, new RectangleF(4, 190, 800, 50));
var pals = fEmoji.CreateFontTables(TableTag.CpalDraw).GetPalettes(); tf = new TextFormat { Font = fEmoji, FontSize = 40, Palette = pals[0] ?? null }; g.DrawString("FirefoxEmoji.ttf \U0001F433\U0001F349\U0001F367", tf, new RectangleF(4, 240, 800, 50)); return bmp; } }}