Constructing Font Families and Fonts

Windows GDI+ groups fonts with the same typeface but different styles into font families. For example, the Arial font family contains the following fonts:

  • Arial Regular
  • Arial Bold
  • Arial Italic
  • Arial Bold Italic

GDI+ uses four styles to form families: regular, bold, italic, and bold italic. Adjectives such as narrow and rounded are not considered styles; rather they are part of the family name. For example, Arial Narrow is a font family whose members are the following:

  • Arial Narrow Regular
  • Arial Narrow Bold
  • Arial Narrow Italic
  • Arial Narrow Bold Italic

Before you can draw text with GDI+, you need to construct a FontFamily object and a Font object. The FontFamily objects specifies the typeface (for example, Arial), and the Font object specifies the size, style, and units.

The following example constructs a regular style Arial font with a size of 16 pixels:

FontFamily fontFamily(L"Arial");
Font font(&fontFamily, 16, FontStyleRegular, UnitPixel);
            

In the preceding code, the first argument passed to the Font constructor is the address of the FontFamily object. The second argument specifies the size of the font measured in units identified by the fourth argument. The third argument identifies the style.

UnitPixel is a member of the Unit enumeration, and FontStyleRegular is a member of the FontStyle enumeration. Both enumerations are declared in Gdiplusenums.h.