2 // System.Drawing.FontFamily.cs
5 // Dennis Hayes (dennish@Raytek.com)
6 // Alexandre Pigolkine (pigolkine@gmx.de)
8 // (C) 2002/2003 Ximian, Inc
11 using System.Drawing.Text;
13 namespace System.Drawing {
15 /// Summary description for FontFamily.
17 public class FontFamily : MarshalByRefObject, IDisposable {
18 internal IFontFamily implementation_;
19 internal static IFontFamilyFactory factory_ = Factories.GetFontFamilyFactory();
21 static FontFamily genericMonospace;
22 static FontFamily genericSansSerif;
23 static FontFamily genericSerif;
27 public FontFamily(GenericFontFamilies genericFamily) {
28 implementation_ = factory_.FontFamily(genericFamily);
31 public FontFamily(string familyName) {
33 implementation_ = factory_.FontFamily(familyName);
36 public FontFamily(string familyName, FontCollection collection) {
38 implementation_ = factory_.FontFamily(familyName, collection);
47 public static FontFamily GenericMonospace {
49 if( genericMonospace == null) {
50 genericMonospace = new FontFamily(GenericFontFamilies.Monospace);
52 return genericMonospace;
56 public static FontFamily GenericSansSerif {
58 if( genericSansSerif == null) {
59 genericSansSerif = new FontFamily(GenericFontFamilies.SansSerif);
61 return genericSansSerif;
65 public static FontFamily GenericSerif {
67 if( genericSerif == null) {
68 genericSerif = new FontFamily(GenericFontFamilies.Serif);
74 public int GetCellAscent (FontStyle style) {
75 return implementation_.GetCellAscent(style);
78 public int GetCellDescent (FontStyle style) {
79 return implementation_.GetCellDescent(style);
82 public int GetEmHeight (FontStyle style) {
83 return implementation_.GetEmHeight(style);
86 public int GetLineSpacing (FontStyle style) {
87 return implementation_.GetLineSpacing(style);
90 public bool IsStyleAvailable (FontStyle style){
91 return implementation_.IsStyleAvailable(style);
94 public void Dispose() {
95 implementation_.Dispose();