我们日常安装字体都是直接拷贝字体文件到windows/fonts目录中,但是在程序中通过拷贝的方式安装,或有这样那样的问题。
我们可以使用GDI函数安装,这个函数就是int AddFontResource(LPCTSTR fileName),在GDI32.dll中。
很有意思.NET程序当然可以调用这个非托管函数安装字体,但是.NET Framework中提供一个很有意思的类:PrivateFontCollection,可以调用这个类中的AddFontFile方法安装一个私有的字体,不会影响其他应用程序,也就是不会拷贝到Fonts目录中,但是可以在你的应用程序中使用,这是GDI+特性。