'''' This code is part of Document Solutions for PDF .NET demos.'' Copyright (c) MESCIUS inc. All rights reserved.''ImportsSystem.IOImportsSystem.DrawingImportsGrapeCity.Documents.PdfImportsGrapeCity.Documents.TextImports GCTEXT = GrapeCity.Documents.Text '' Sample shows how to control bold and/or italic emulation when using normal fonts.PublicClassBoldItalicEmulationFunctionCreatePDF(ByVal stream AsStream) AsIntegerDim fc = NewFontCollection() '' Register the font directory for convenience:'' fc.RegisterDirectory(Path.Combine("Resources", "Fonts"))'' Or individual fonts for more control: fc.RegisterFont(Path.Combine("Resources", "Fonts", "NotoSerif-Regular.ttf")) fc.RegisterFont(Path.Combine("Resources", "Fonts", "NotoSerif-Bold.ttf")) fc.RegisterFont(Path.Combine("Resources", "Fonts", "NotoSerif-Italic.ttf")) fc.RegisterFont(Path.Combine("Resources", "Fonts", "NotoSerif-BoldItalic.ttf")) Dim doc = NewGcPdfDocument()Dim g = doc.NewPage().GraphicsDim rc = Util.AddNote("TextFormat.FontStyle enables using Bold and/or Italic emulation" + vbLf +"on a regular (not a bold/italic) font.", doc.Pages.Last)'' Text insertion point:Dim ip = NewPointF(rc.Left, rc.Bottom + 36)Dim tf = NewTextFormat()'' We specifically get a non-bold/non-italic version of the font: tf.Font = fc.FindFamilyName("Noto Serif", False, False) tf.FontSize = 16 g.DrawString($"Regular Noto Serif font: {tf.Font.FullFontName}", tf, ip) ip.Y += 36'' Draw some strings using the same (regular) font but emulating bold and italic: tf.FontStyle = GCTEXT.FontStyle.Bold g.DrawString($"Bold emulation using font: {tf.Font.FullFontName}", tf, ip) ip.Y += 36 tf.FontStyle = GCTEXT.FontStyle.Italic g.DrawString($"Italic emulation using font: {tf.Font.FullFontName}", tf, ip) ip.Y += 36 tf.FontStyle = GCTEXT.FontStyle.BoldItalic g.DrawString($"Bold+Italic emulation using font: {tf.Font.FullFontName}", tf, ip) ip.Y += 36'''' Now we render some strings using the "real" bold/italic variants of the font: tf.FontStyle = GCTEXT.FontStyle.Regular tf.Font = fc.FindFamilyName("Noto Serif", True, False) g.DrawString($"Using real bold font: {tf.Font.FullFontName}", tf, ip) ip.Y += 36 tf.Font = fc.FindFamilyName("Noto Serif", False, True) g.DrawString($"Using real italic font: {tf.Font.FullFontName}", tf, ip) ip.Y += 36 tf.Font = fc.FindFamilyName("Noto Serif", True, True) g.DrawString($"Using real bold italic font: {tf.Font.FullFontName}", tf, ip) ip.Y += 36'''' Done: doc.Save(stream)Return doc.Pages.CountEndFunctionEndClass