2

我想在我的 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;
4

1 回答 1

7

1.使用安装项目安装

你可以从你的安装项目中安装字体来做到这一点,你必须

文件系统>在目标机器上的文件系统下右键单击>添加特殊文件夹字体文件夹

然后选择字体文件夹和Add > File... 添加字体文件夹 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");
于 2013-01-09T08:55:05.567 回答