// Fig 17.12: UsingFontMetrics.cs // Displaying font metric information using System; using System.Drawing; using System.Windows.Forms; // display font information public partial class UsingFontMetrics : Form { // default constructor public UsingFontMetrics() { InitializeComponent(); } // end constructor // displays font information protected override void OnPaint( PaintEventArgs paintEvent ) { Graphics graphicsObject = paintEvent.Graphics; SolidBrush brush = new SolidBrush( Color.DarkBlue ); // Arial font metrics Font arial = new Font( "Arial", 12 ); FontFamily family = arial.FontFamily; // display Arial font metrics graphicsObject.DrawString( "Current Font: " + arial, arial, brush, 10, 10 ); graphicsObject.DrawString( "Ascent: " + family.GetCellAscent( FontStyle.Regular ), arial, brush, 10, 30 ); graphicsObject.DrawString( "Descent: " + family.GetCellDescent( FontStyle.Regular ), arial, brush, 10, 50 ); graphicsObject.DrawString( "Height: " + family.GetEmHeight( FontStyle.Regular ), arial, brush, 10, 70 ); graphicsObject.DrawString( "Leading: " + family.GetLineSpacing( FontStyle.Regular ), arial, brush, 10, 90 ); // display Sans Serif font metrics Font sanSerif = new Font( "Microsoft Sans Serif", 14, FontStyle.Italic ); family = sanSerif.FontFamily; graphicsObject.DrawString( "Current Font: " + sanSerif, sanSerif, brush, 10, 130 ); graphicsObject.DrawString( "Ascent: " + family.GetCellAscent( FontStyle.Regular ), sanSerif, brush, 10, 150 ); graphicsObject.DrawString( "Descent: " + family.GetCellDescent( FontStyle.Regular ), sanSerif, brush, 10, 170 ); graphicsObject.DrawString( "Height: " + family.GetEmHeight( FontStyle.Regular ), sanSerif, brush, 10, 190 ); graphicsObject.DrawString( "Leading: " + family.GetLineSpacing( FontStyle.Regular ), sanSerif, brush, 10, 210 ); } // end method OnPaint } // end class UsingFontMetrics /************************************************************************** * (C) Copyright 1992-2006 by Deitel & Associates, Inc. and * * Pearson Education, Inc. All Rights Reserved. * * * * DISCLAIMER: The authors and publisher of this book have used their * * best efforts in preparing the book. These efforts include the * * development, research, and testing of the theories and programs * * to determine their effectiveness. The authors and publisher make * * no warranty of any kind, expressed or implied, with regard to these * * programs or to the documentation contained in these books. The authors * * and publisher shall not be liable in any event for incidental or * * consequential damages in connection with, or arising out of, the * * furnishing, performance, or use of these programs. * *************************************************************************/