我有以下代码块,我试图将字体设置为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。那是为什么?
答案 0 :(得分:3)
原因是因为某些流行的,但不是普遍可用的字体将取代接近的特定字体。在您的情况下,Helvetica将默认交换为Arial。您可以在以下位置查看完整的交换列表:
HKLM/Software/Microsoft/Windows NT/CurrentVersion/FontSubstitutes