-
Notifications
You must be signed in to change notification settings - Fork 111
/
ExoticFontResolverSnippet.cs
58 lines (46 loc) · 1.91 KB
/
ExoticFontResolverSnippet.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
// PDFsharp - A .NET library for processing PDF
// See the LICENSE file in the solution root for more information.
using System;
using System.Diagnostics;
using System.IO;
using PdfSharp.Diagnostics;
using PdfSharp.Drawing;
using PdfSharp.Fonts;
using PdfSharp.Pdf;
using PdfSharp.Quality;
namespace PdfSharp.Snippets.Font
{
public class ExoticFontResolverSnippet : Snippet
{
public ExoticFontResolverSnippet()
{
PdfSharpCore.ResetFontManagement();
GlobalFontSettings.FontResolver = new ExoticFontsFontResolver();
}
public override void RenderSnippet(XGraphics gfx)
{
XPdfFontOptions options = XPdfFontOptions.WinAnsiDefault;
// Create a font.
const double fontSize = 16;
var times = new XFont("Times New Roman", fontSize, XFontStyleEx.Regular, options);
_ = times;
var obliviousFont = new XFont("Oblivious", fontSize, XFontStyleEx.Regular, options);
var xFilesFont = new XFont("XFiles", fontSize, XFontStyleEx.Regular, options);
var obliviousItalicFont = new XFont("Oblivious", fontSize, XFontStyleEx.Italic, options);
var xFilesItalicFont = new XFont("XFiles", fontSize, XFontStyleEx.Italic, options);
// Draw the text.
string text = "Sphinx ";
double x = 40;
double y = 50;
double dy = 35;
gfx.DrawString(text + "(Oblivious - regular)", obliviousFont, XBrushes.Black, x, y);
y += dy;
gfx.DrawString(text + "(Oblivious - italic simulated)", obliviousItalicFont, XBrushes.Black, x, y);
y += dy;
gfx.DrawString(text + "(X-Files - regular)", xFilesFont, XBrushes.Black, x, y);
y += dy;
gfx.DrawString(text + "(X-Files - italic simulated)", xFilesItalicFont, XBrushes.Black, x, y);
//y += dy;
}
}
}