PrivateFontCollection 类从 FontCollection 抽象基类继承。可使用 PrivateFontCollection 对象维持您的应用程序专用的字体集。专用的字体集合既可包括计算机上安装的系统字体,又可包括计算机上尚未安装的字体。若要向专用的字体集合内添加字体文件,请调用 PrivateFontCollection 对象的 AddFontFile 方法。
PrivateFontCollection 对象的 Families 属性中包含 FontFamily 对象的一个数组。
专用字体集合中字体系列的数量不必与已添加到字体集内的字体文件的数量相同。例如,假定将 ArialBd.tff、Times.tff 和 TimesBd.tff 文件添加到一个集合内。该字体集合内将有三个文件,但是只有两个系列,这是因为 Times.tff 和 TimesBd.tff 属于相同的系列。
下面的示例将以下三个字体文件添加到 PrivateFontCollection 对象中:
C:/WINNT/Fonts/Arial.tff (Arial, regular)
C:/WINNT/Fonts/CourBI.tff (Courier New, bold italic)
C:/WINNT/Fonts/TimesBd.tff (Times New Roman, bold)
该代码从 PrivateFontCollection 对象的 Families 属性中检索 FontFamily 对象的数组。
对于集合内的每个 FontFamily 对象,该代码调用 IsStyleAvailable 方法来确定各种字形(常规、加粗、倾斜、加粗倾斜、下划线和删除线)是否可用。传递给 IsStyleAvailable 方法的参数是 FontStyle 枚举的成员。
如果给定的系列/字形组合可用,则使用该系列和字形构造 Font 对象。传递给 Font 构造函数的第一个参数是字体系列的名称(不是 FontFamily 对象,而 Font 构造函数的其他变体的第一个参数是 FontFamily 对象)。在构造 Font 对象之后,它将被传递给 Graphics 类的 DrawString 方法,以显示字体系列的名称和字形名称。