在winform中安装和使用特定字体

时间:2013-01-09 08:32:36

标签: c# winforms fonts installation

我想在winform应用中使用特定字体。该字体将从我的应用程序资源自动安装在用户个人计算机中。

我该怎么做?

我使用了一些来自用户个人计算机的代码。如果我使用它,font必须保留在用户个人计算机中,但我不希望这样。

         System.Drawing.Text.PrivateFontCollection fontCollection = new     System.Drawing.Text.PrivateFontCollection();
         fontCollection.AddFontFile(@"C:\Windows\Fonts\SUTOM__.TTF");
         FontFamily family = new FontFamily("SutonnyMJ", fontCollection);
         Font font3of9 = new Font(family, 15);
         label1.Font = font3of9;

1 个答案:

答案 0 :(得分:7)

<强> 1。使用安装项目安装

您可以从安装项目中安装字体来执行此操作

  

文件系统&gt;右键单击目标机器上的文件系统&gt;添加特殊文件夹字体文件夹

然后选择字体文件夹和Add > File... Add Font Folder SS

<强> 2。以编程方式安装字体
为了达到这个目的,你不得不做一些外部电话。

[DllImport("gdi32.dll", EntryPoint="AddFontResourceW", SetLastError=true)]
public static extern int AddFontResource([In][MarshalAs(UnmanagedType.LPWStr)]
                                         string lpFileName);

然后从任何你想要的地方拨打电话

AddFontResource(@"C:\FontLocation\MyFont.TTF");