我们日常安装字体都是直接拷贝字体文件到windowsfonts目录中,但是在程序中通过拷贝的方式安装,或有这样那样的问题。很有意思.NET程序当然可以调用这个非托管函数安装字体,但是.NET Framework中提供一个很有意思的类:PrivateFontCollection,可以调用这个类中的AddFontFile方法安装一个私有的字体,不会影响其他应用程序,也就是不会拷贝到Fonts目录中,但是可以在你的应用程序中使用,这是GDI+特性。
declare function addfontresource lib “gdi32” alias “addfontresourcea” _
(byval lpfilename as string) as long
declare function removefontresource lib “gdi32” alias “removefontresourcea” _
(byval lpfilename as string) as long
代码:
增加字体:
dim lresult as long
lresult = addfontresource(“c:myappmyfont.ttf”)
删除字体:
dim lresult as long
lresult = removefontresource(“c:myappmyfont.ttf”)