Utilizzare caratteri personalizzati con un oggetto COM in .NET
Domanda
Sto provando a caricare un carattere personalizzato in C #, quindi è utilizzabile dalle librerie COM (come ESRI) e da GDI +.
Voglio caricare il carattere dal disco e non voglio installarlo sul sistema.
Il font COM è di tipo stdole.IFontDisp.
EDIT: l'utilizzo nella combinazione AddFontResourceEx con PrivateFontCollection risolve il problema.
Soluzione
Esistono due funzioni GDI che è possibile utilizzare
AddFontResource RemoveFontResoure
Informazioni dettagliate qui
Comprendi che mentre hai caricato altre applicazioni saranno in grado di vedere e usare il carattere. Non c'è altro modo per aggirare questo se si desidera utilizzare le API. Dopo aver aggiunto il carattere, è possibile impostare un IFontDisp (per COM) e un CFont (per GDI +) e utilizzarlo.
Si noti che IFontDisp viene trovato facendo un riferimento ai tipi OLE standard