为什么我的FontFamily“Arial”?

时间:2015-09-21 18:49:20

标签: c# fonts

我有以下代码块,我试图将字体设置为8 Helvetica。我意识到我没有在我的系统上安装此字体,所以我得到了FontFamily的“Arial”。

string family = "Helvetica";
Font font = new Font(family, 8f);
//font.FontFamily is now "Arial"

很好......但是,根据the MDSN documentation

  

如果familyName参数指定运行应用程序的计算机上未安装的字体或不受支持,则将替换Microsoft Sans Serif。

对我来说,我错过了微软Sans Serif,但我不是(我可以指定“Microsoft Sans Serif”并且有效)。我只是简单地得到了Arial。那是为什么?

1 个答案:

答案 0 :(得分:3)

原因是因为某些流行的,但不是普遍可用的字体将取代接近的特定字体。在您的情况下,Helvetica将默认交换为Arial。您可以在以下位置查看完整的交换列表:

HKLM/Software/Microsoft/Windows NT/CurrentVersion/FontSubstitutes