使用不同重量的自定义字体?

时间:2014-09-03 17:11:00

标签: c# asp.net true-type-fonts custom-font privatefontcollection

我有一个asp.net应用程序,我使用的是自定义字体,但我需要使用粗体版本和字体的简易版本。它们都来自同一个字体系列。我这样添加它们:

protected PrivateFontCollection pfc = new PrivateFontCollection();

pfc.AddFontFile(HttpContext.Current.Server.MapPath(@"~\Content\Fonts\Exo-Bold.ttf"));
pfc.AddFontFile(HttpContext.Current.Server.MapPath(@"~\Content\Fonts\Exo-Light.ttf"));

Font questionFont = new Font(pfc.Families[0], 32, FontStyle.Regular, GraphicsUnit.World);

虽然我添加了两个字体文件,但是pfc的Families数组中只有一个项目,因此无论我指定什么FontStyle,所有内容都会以粗体显示。我如何使用我添加的两个文件,以及如何使一些事情变得粗体和一些事情变得轻松?

1 个答案:

答案 0 :(得分:0)

不应该使用不同的样式两次添加相同的字体。大多数字体支持多种样式。仅添加Arial.ttf等内容时,以下工作正常。

Font regularFont = new Font(pfc.Families[0], 32, FontStyle.Regular, GraphicsUnit.World);
Font boldFont = new Font(pfc.Families[0], 32, FontStyle.Bold, GraphicsUnit.World);