using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; public class MainClass { public static void Main() { String formatString = "{0,-16}{1,8}{2,9}{3,10}{4,14}"; Console.WriteLine(formatString, "Font Family Name", "Ascent", "Descent","EmHeight", "Line Spacing"); // Write font metrics for Courier New font family FontFamily ff = new FontFamily("Courier New"); Console.WriteLine(formatString, ff.GetName(0), ff.GetCellAscent(FontStyle.Regular), ff.GetCellDescent(FontStyle.Regular), ff.GetEmHeight(FontStyle.Regular), ff.GetLineSpacing(FontStyle.Regular)); } }
2D Graphics
Write font metrics for Arial font family
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; public class MainClass { public static void Main() { String formatString = "{0,-16}{1,8}{2,9}{3,10}{4,14}"; Console.WriteLine(formatString, "Font Family Name", "Ascent", "Descent","EmHeight", "Line Spacing"); FontFamily ff = new FontFamily("Arial"); Console.WriteLine(formatString, ff.GetName(0), ff.GetCellAscent(FontStyle.Regular), ff.GetCellDescent(FontStyle.Regular), ff.GetEmHeight(FontStyle.Regular), ff.GetLineSpacing(FontStyle.Regular)); } }
Font Famylies
/*
Professional Windows GUI Programming Using C#
by Jay Glynn, Csaba Torok, Richard Conway, Wahid Choudhury,
Zach Greenvoss, Shripad Kulkarni, Neil Whitlow
Publisher: Peer Information
ISBN: 1861007663
*/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Drawing.Text; // InstalledFontCollection
namespace FontFamylies
{
///
///
public class FontFamylies : System.Windows.Forms.Form
{
private System.Windows.Forms.ComboBox comboBox1;
///
///
private System.ComponentModel.Container components = null;
FontFamily[] iFCF;
ArrayList iFCFN;
public FontFamylies()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
this.Text = “Installed Font Families”;
iFCF = null; // fontfamilies
iFCFN = new ArrayList(); // strings
iFCF = InstalledFontFamilies(iFCFN);
this.comboBox1.Sorted = true;
this.comboBox1.DataSource = iFCFN; //set the combo's data source
//
// TODO: Add any constructor code after InitializeComponent call
//
}
///
///
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
///
/// the contents of this method with the code editor.
///
private void InitializeComponent()
{
this.comboBox1 = new System.Windows.Forms.ComboBox();
this.SuspendLayout();
//
// comboBox1
//
this.comboBox1.Name = “comboBox1”;
this.comboBox1.Size = new System.Drawing.Size(121, 21);
this.comboBox1.TabIndex = 0;
this.comboBox1.Text = “comboBox1”;
//
// FontFamylies
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(292, 266);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.comboBox1});
this.Name = “FontFamylies”;
this.Text = “FontFamylies”;
this.ResumeLayout(false);
}
#endregion
///
///
[STAThread]
static void Main()
{
Application.Run(new FontFamylies());
}
private FontFamily[] InstalledFontFamilies(ArrayList iFCFN)
{
InstalledFontCollection iFC = new InstalledFontCollection();
foreach(FontFamily ff in iFC.Families)
iFCFN.Add(ff.Name);
return iFC.Families;
}
protected override void OnPaint(PaintEventArgs pea)
{
Graphics g = pea.Graphics;
int wi = 150, hi = 12, rectNb = 4;
this.Width = (wi + 2)*rectNb + 9;
int iFCFNb = iFCF.Length;
DisplayInstalledFontFamilies(g, iFCFNb, wi, hi, rectNb);
g.Dispose();
}
private void DisplayInstalledFontFamilies(Graphics g, int iFCFNb, int wi,
int hi, int rectNb)
{
Rectangle rec;
Pen p = new Pen(this.ForeColor);
Brush b = null;
Font f;
StringFormat strfmt = new StringFormat();
strfmt.LineAlignment = strfmt.Alignment = StringAlignment.Near;
int x, y;
for (int i = 0; i < iFCFNb; i++)
{
x = (int)(i % rectNb);
y = (int)(i / rectNb);
rec = new Rectangle(1 + x*(2 + wi), 25 + y*(2 + hi), wi, hi);
g.DrawRectangle(p, rec);
try
{
f = new Font(iFCF[i], 8, FontStyle.Regular, GraphicsUnit.Point);
}
catch
{
// some fonts do not support Regular style
f = new Font("Arial", 8, FontStyle.Strikeout, GraphicsUnit.Point);
}
b = new SolidBrush(Color.Black);
g.DrawString((string)iFCFN[i], f, b, rec, strfmt);
}
p.Dispose(); b.Dispose();
}
}
}
[/csharp]
Smoothing Fonts
/* User Interfaces in C#: Windows Forms and Custom Controls by Matthew MacDonald Publisher: Apress ISBN: 1590590457 */ using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Drawing.Text; namespace GDI_Basics { /// <summary> /// Summary description for SmoothingFonts. /// </summary> public class SmoothingFonts : System.Windows.Forms.Form { internal System.Windows.Forms.Label Label3; internal System.Windows.Forms.Label Label2; internal System.Windows.Forms.Label Label1; /// <summary> /// Required designer variable. /// </summary> private System.ComponentModel.Container components = null; public SmoothingFonts() { // // Required for Windows Form Designer support // InitializeComponent(); // // TODO: Add any constructor code after InitializeComponent call // } /// <summary> /// Clean up any resources being used. /// </summary> protected override void Dispose( bool disposing ) { if( disposing ) { if(components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.Label3 = new System.Windows.Forms.Label(); this.Label2 = new System.Windows.Forms.Label(); this.Label1 = new System.Windows.Forms.Label(); this.SuspendLayout(); // // Label3 // this.Label3.BackColor = System.Drawing.Color.White; this.Label3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.Label3.Location = new System.Drawing.Point(272, 168); this.Label3.Name = "Label3"; this.Label3.Size = new System.Drawing.Size(128, 16); this.Label3.TabIndex = 5; this.Label3.Text = " ClearTypeGridFit"; // // Label2 // this.Label2.BackColor = System.Drawing.Color.White; this.Label2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.Label2.Location = new System.Drawing.Point(272, 100); this.Label2.Name = "Label2"; this.Label2.Size = new System.Drawing.Size(128, 16); this.Label2.TabIndex = 4; this.Label2.Text = " AntiAliasGridFit"; // // Label1 // this.Label1.BackColor = System.Drawing.Color.White; this.Label1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.Label1.Location = new System.Drawing.Point(272, 36); this.Label1.Name = "Label1"; this.Label1.Size = new System.Drawing.Size(128, 16); this.Label1.TabIndex = 3; this.Label1.Text = " SingleBitPerPixelGridFit"; // // SmoothingFonts // this.AutoScaleBaseSize = new System.Drawing.Size(5, 14); this.ClientSize = new System.Drawing.Size(440, 314); this.Controls.AddRange(new System.Windows.Forms.Control[] { this.Label3, this.Label2, this.Label1}); this.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0))); this.Name = "SmoothingFonts"; this.Text = "SmoothingFonts"; this.Paint += new System.Windows.Forms.PaintEventHandler(this.SmoothingFonts_Paint); this.ResumeLayout(false); } #endregion [STAThread] static void Main() { Application.Run(new SmoothingFonts()); } private void SmoothingFonts_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { Font TextFont = new Font("Times New Roman", 25, FontStyle.Italic); e.Graphics.TextRenderingHint = TextRenderingHint.SingleBitPerPixelGridFit; e.Graphics.DrawString("Sample Text", TextFont, Brushes.Black, 20, 20); e.Graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit; e.Graphics.DrawString("Sample Text", TextFont, Brushes.Black, 20, 85); e.Graphics.TextRenderingHint = TextRenderingHint.ClearTypeGridFit; e.Graphics.DrawString("Sample Text", TextFont, Brushes.Black, 20, 150); } } }
Font Viewer
/* User Interfaces in C#: Windows Forms and Custom Controls by Matthew MacDonald Publisher: Apress ISBN: 1590590457 */ using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using Microsoft.Win32; namespace FontViewer { /// <summary> /// Summary description for Form1. /// </summary> public class FontViewer : System.Windows.Forms.Form { private System.Windows.Forms.GroupBox groupBox1; private System.Windows.Forms.Label label1; private System.Windows.Forms.ComboBox lstFonts; private System.Windows.Forms.StatusBar statusBar; private System.Windows.Forms.StatusBarPanel panel; /// <summary> /// Required designer variable. /// </summary> private System.ComponentModel.Container components = null; public FontViewer() { // // Required for Windows Form Designer support // InitializeComponent(); // // TODO: Add any constructor code after InitializeComponent call // } /// <summary> /// Clean up any resources being used. /// </summary> protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { // System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(FontViewer)); this.groupBox1 = new System.Windows.Forms.GroupBox(); this.label1 = new System.Windows.Forms.Label(); this.lstFonts = new System.Windows.Forms.ComboBox(); this.statusBar = new System.Windows.Forms.StatusBar(); this.panel = new System.Windows.Forms.StatusBarPanel(); this.groupBox1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.panel)).BeginInit(); this.SuspendLayout(); // // groupBox1 // this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right); this.groupBox1.Controls.AddRange(new System.Windows.Forms.Control[] { this.lstFonts, this.label1}); this.groupBox1.Location = new System.Drawing.Point(0, -4); this.groupBox1.Name = "groupBox1"; this.groupBox1.Size = new System.Drawing.Size(632, 40); this.groupBox1.TabIndex = 0; this.groupBox1.TabStop = false; // // label1 // this.label1.Location = new System.Drawing.Point(12, 16); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(80, 12); this.label1.TabIndex = 0; this.label1.Text = "Choose Font:"; // // lstFonts // this.lstFonts.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.lstFonts.DropDownWidth = 340; this.lstFonts.Location = new System.Drawing.Point(100, 12); this.lstFonts.Name = "lstFonts"; this.lstFonts.Size = new System.Drawing.Size(340, 21); this.lstFonts.TabIndex = 1; this.lstFonts.SelectedIndexChanged += new System.EventHandler(this.lstFonts_SelectedIndexChanged); // // statusBar // this.statusBar.Location = new System.Drawing.Point(0, 165); this.statusBar.Name = "statusBar"; this.statusBar.Panels.AddRange(new System.Windows.Forms.StatusBarPanel[] { this.panel}); this.statusBar.ShowPanels = true; this.statusBar.Size = new System.Drawing.Size(632, 20); this.statusBar.TabIndex = 1; // // panel // this.panel.AutoSize = System.Windows.Forms.StatusBarPanelAutoSize.Spring; this.panel.Width = 616; // // FontViewer // this.AutoScaleBaseSize = new System.Drawing.Size(5, 14); this.ClientSize = new System.Drawing.Size(632, 185); this.Controls.AddRange(new System.Windows.Forms.Control[] { this.statusBar, this.groupBox1}); this.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0))); // this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Name = "FontViewer"; this.Text = "FontViewer"; this.Load += new System.EventHandler(this.FontViewer_Load); this.Paint += new System.Windows.Forms.PaintEventHandler(this.FontViewer_Paint); this.groupBox1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.panel)).EndInit(); this.ResumeLayout(false); } #endregion /// <summary> /// The FontViewer entry point for the application. /// </summary> [STAThread] static void Main() { Application.Run(new FontViewer()); } private void FontViewer_Load(object sender, System.EventArgs e) { System.Drawing.Text.InstalledFontCollection fonts = new System.Drawing.Text.InstalledFontCollection(); foreach (FontFamily family in fonts.Families) { lstFonts.Items.Add(family.Name); } RegistryKey rk; rk = Registry.LocalMachine.OpenSubKey("SoftwareProseTechFontViewer"); if (rk != null) this.Text += " - " + rk.GetValue("Customer"); } private void FontViewer_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { if (lstFonts.Text != "") { try { e.Graphics.DrawString(lstFonts.Text, new Font(lstFonts.Text, 50), Brushes.Black, 10, 50); statusBar.Panels[0].Text = ""; } catch (Exception err) { statusBar.Panels[0].Text = err.Message; } } } private void lstFonts_SelectedIndexChanged(object sender, System.EventArgs e) { if (lstFonts.Text != "") this.Invalidate(); } } }
Font Metrics
/* GDI+ Programming in C# and VB .NET by Nick Symmonds Publisher: Apress ISBN: 159059035X */ using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Drawing.Text; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; namespace FontMetrics_c { /// <summary> /// Summary description for FontMetrics. /// </summary> public class FontMetrics : System.Windows.Forms.Form { private System.Windows.Forms.Button cmdRoman; private System.Windows.Forms.Button cmdArial; private System.Windows.Forms.Button cmdComic; private System.Windows.Forms.Button cmdCourier; /// <summary> /// Required designer variable. /// </summary> private System.ComponentModel.Container components = null; public FontMetrics() { // // Required for Windows Form Designer support // InitializeComponent(); // // TODO: Add any constructor code after InitializeComponent call // } /// <summary> /// Clean up any resources being used. /// </summary> protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.cmdRoman = new System.Windows.Forms.Button(); this.cmdArial = new System.Windows.Forms.Button(); this.cmdComic = new System.Windows.Forms.Button(); this.cmdCourier = new System.Windows.Forms.Button(); this.SuspendLayout(); // // cmdRoman // this.cmdRoman.Location = new System.Drawing.Point(8, 240); this.cmdRoman.Name = "cmdRoman"; this.cmdRoman.Size = new System.Drawing.Size(104, 24); this.cmdRoman.TabIndex = 0; this.cmdRoman.Text = "Times Roman"; this.cmdRoman.Click += new System.EventHandler(this.cmdRoman_Click); // // cmdArial // this.cmdArial.Location = new System.Drawing.Point(128, 240); this.cmdArial.Name = "cmdArial"; this.cmdArial.Size = new System.Drawing.Size(104, 24); this.cmdArial.TabIndex = 1; this.cmdArial.Text = "Arial Black"; this.cmdArial.Click += new System.EventHandler(this.cmdArial_Click); // // cmdComic // this.cmdComic.Location = new System.Drawing.Point(248, 240); this.cmdComic.Name = "cmdComic"; this.cmdComic.Size = new System.Drawing.Size(104, 24); this.cmdComic.TabIndex = 2; this.cmdComic.Text = "Comic Sans MS"; this.cmdComic.Click += new System.EventHandler(this.cmdComic_Click); // // cmdCourier // this.cmdCourier.Location = new System.Drawing.Point(368, 240); this.cmdCourier.Name = "cmdCourier"; this.cmdCourier.Size = new System.Drawing.Size(104, 24); this.cmdCourier.TabIndex = 3; this.cmdCourier.Text = "Courier New"; this.cmdCourier.Click += new System.EventHandler(this.cmdCourier_Click); // // FontMetrics // this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(492, 273); this.Controls.AddRange(new System.Windows.Forms.Control[] { this.cmdCourier, this.cmdComic, this.cmdArial, this.cmdRoman}); this.MaximizeBox = false; this.MinimizeBox = false; this.Name = "FontMetrics"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "FontMetrics"; this.Load += new System.EventHandler(this.FontMetrics_Load); this.ResumeLayout(false); } #endregion /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() { Application.Run(new FontMetrics()); } private void FontMetrics_Load(object sender, System.EventArgs e) { } private void DisplayFontMetrics(FontFamily ff, Font fnt) { //Create graphics object and make it pretty Graphics G = this.CreateGraphics(); G.SmoothingMode=SmoothingMode.AntiAlias; G.TextRenderingHint=TextRenderingHint.AntiAlias; //Get some metrics int LineSpace = (int)(ff.GetLineSpacing(fnt.Style)* fnt.Size/ff.GetEmHeight(fnt.Style)); int Descent = (int)(ff.GetCellDescent(fnt.Style)* fnt.Size/ff.GetEmHeight(fnt.Style)); int Ascent = (int)(ff.GetCellAscent(fnt.Style)* fnt.Size/ff.GetEmHeight(fnt.Style)); //Create the base line to sit the text on Point BaseLineStart = new Point ( 15, this.Height*3/5); Point BaseLineEnd = new Point ( this.Width-15, this.Height*3/5); //Top left corner of text is the ascent Point StringPoint = new Point(75, (int)(BaseLineStart.Y-Ascent)); //Clear the screen and draw the string on a base line G.Clear(Color.AliceBlue); G.DrawString("A j Q", fnt, Brushes.Blue, StringPoint); G.DrawLine(Pens.Black, BaseLineStart, BaseLineEnd); //Draw the annotation lines Size LineSize = new Size(0, LineSpace); Size AscentSize = new Size(0, Ascent); Size DescentSize = new Size(0, Descent); G.DrawLine(Pens.Black, BaseLineStart-LineSize, BaseLineEnd-LineSize); G.DrawLine(Pens.Red, BaseLineStart-AscentSize, BaseLineEnd-AscentSize); G.DrawLine(Pens.DarkGreen, BaseLineStart+DescentSize, BaseLineEnd+DescentSize); //Annotate Font AnnoFont = new Font("Arial", 10); G.DrawString("Line Space = " + LineSpace.ToString(), AnnoFont, Brushes.Black, 20, (int)(BaseLineStart.Y-LineSpace-12)); G.DrawString("Ascent = " + Ascent.ToString(), AnnoFont, Brushes.Red, 250, (int)(BaseLineStart.Y-Ascent-12)); G.DrawString("Descent = " + Descent.ToString(), AnnoFont, Brushes.DarkGreen, 350, (int)(BaseLineStart.Y+Descent/8)); } private void cmdRoman_Click(object sender, System.EventArgs e) { FontFamily ff = new FontFamily("Times New Roman"); Font f = new Font(ff, 75, FontStyle.Regular, GraphicsUnit.Pixel); DisplayFontMetrics(ff, f); } private void cmdArial_Click(object sender, System.EventArgs e) { FontFamily ff = new FontFamily("Arial Black"); Font f = new Font(ff, 75, FontStyle.Regular, GraphicsUnit.Pixel); DisplayFontMetrics(ff, f); } private void cmdComic_Click(object sender, System.EventArgs e) { FontFamily ff = new FontFamily("Comic Sans MS"); Font f = new Font(ff, 75, FontStyle.Regular, GraphicsUnit.Pixel); DisplayFontMetrics(ff, f); } private void cmdCourier_Click(object sender, System.EventArgs e) { FontFamily ff = new FontFamily("Courier New"); Font f = new Font(ff, 75, FontStyle.Regular, GraphicsUnit.Pixel); DisplayFontMetrics(ff, f); } } }
Fonts Class
/* GDI+ Programming in C# and VB .NET by Nick Symmonds Publisher: Apress ISBN: 159059035X */ using System; using System.Drawing; using System.Drawing.Text; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; namespace FontsClass_c { /// <summary> /// Summary description for FontsClass. /// </summary> public class FontsClass : System.Windows.Forms.Form { /// <summary> /// Required designer variable. /// </summary> private System.ComponentModel.Container components = null; public FontsClass() { // // Required for Windows Form Designer support // InitializeComponent(); // // TODO: Add any constructor code after InitializeComponent call // } /// <summary> /// Clean up any resources being used. /// </summary> protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { // // FontsClass // this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(292, 323); this.MaximizeBox = false; this.MinimizeBox = false; this.Name = "FontsClass"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.Text = "FontsClass"; this.Load += new System.EventHandler(this.FontsClass_Load); } #endregion /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() { Application.Run(new FontsClass()); } private void FontsClass_Load(object sender, System.EventArgs e) { } protected override void OnPaint(PaintEventArgs e) { Graphics G = e.Graphics; G.TextRenderingHint=TextRenderingHint.AntiAlias; int y = 0; G.DrawString("Regular", Fonts.Arial_20, Brushes.Black, 50, y+=40); G.DrawString("Italic", Fonts.ArialItalic_20, Brushes.Black, 50, y+=40); G.DrawString("Regular", Fonts.Chain_20, Brushes.Black, 50, y+=40); G.DrawString("Italic", Fonts.ChainItalic_20, Brushes.Black, 50, y+=40); G.DrawString("Regular", Fonts.Comic_20, Brushes.Black, 50, y+=40); G.DrawString("Italic", Fonts.ComicItalic_20, Brushes.Black, 50, y+=40); } } public sealed class Fonts { private static PrivateFontCollection PFC; private static FontFamily Arial_FF; private static FontFamily Comic_FF; private static FontFamily Chain_FF; static Fonts(){ PFC = new PrivateFontCollection(); PFC.AddFontFile("C:WINNTFontsArial.ttf"); Arial_FF = PFC.Families[0]; PFC.AddFontFile("chainletters.ttf"); Chain_FF = PFC.Families[1]; PFC.AddFontFile("C:WINNTFontscomic.ttf"); Comic_FF = PFC.Families[2]; } public static FontFamily[] Families { get{ return PFC.Families; } } #region Arial Font public static Font Arial_20 { get {return new Font(Arial_FF, 20, FontStyle.Regular, GraphicsUnit.Point);} } public static Font ArialItalic_20 { get {return new Font(Arial_FF, 20, FontStyle.Italic, GraphicsUnit.Point);} } #endregion #region Chain font public static Font Chain_20 { get {return new Font(Chain_FF, 20, FontStyle.Regular, GraphicsUnit.Point);} } public static Font ChainItalic_20 { get {return new Font(Chain_FF, 20, FontStyle.Italic, GraphicsUnit.Point);} } #endregion #region Comic Font public static Font Comic_20 { get {return new Font(Comic_FF, 20, FontStyle.Regular, GraphicsUnit.Point);} } public static Font ComicItalic_20 { get {return new Font(Comic_FF, 20, FontStyle.Italic, GraphicsUnit.Point);} } #endregion } } FontsClass-c.zip( 32 k)