我正在尝试在 C# 中加载自定义字体,以便 COM 库(如 ESRI)和 GDI+ 可以使用它。
我想从磁盘加载字体,不想在系统上安装字体。
COM 字体的类型为 stdole.IFontDisp。
编辑:在 AddFontResourceEx 组合中使用 PrivateFontCollection 解决了这个问题。
您可以使用两个 GDI 函数
AddFontResource RemoveFontResource
详细在这里
了解当您加载此字体时,其他应用程序将能够看到和使用该字体。如果您想使用 API,则没有其他方法可以解决此问题。添加字体后,您可以设置 IFontDisp(用于 COM)和 CFont(用于 GDI+)并使用它。
请注意,通过引用标准 OLE 类型可以找到 IFontDisp