在.NET中使用COM对象的自定义字体

问题描述:

我正在尝试在C#中加载自定义字体,以便它可以被COM库(如ESRI)和GDI +使用。在.NET中使用COM对象的自定义字体

我想从磁盘加载字体并且不想在系统上安装字体。

COM字体的类型是stdole.IFontDisp。

编辑:使用AddFontResourceEx组合与PrivateFontCollection解决问题。

+0

通常是好问一个问题,并与一些现有的代码,显示你如何试图提示答案参考发现(可能失败)做任何你正在努力去做。 – 2008-12-03 18:55:25

有两个GDI函数就可以使用

AddFontResource RemoveFontResoure

详细here

明白,当你有这个加载其他应用程序将能够看到和使用的字体。如果你想使用API​​,没有其他解决方法。一旦你添加了字体,你就可以设置一个IFontDisp(用于COM)和一个CFont(用于GDI +)并使用它。

注意IFontDisp是通过向标准OLE类型