Используйте пользовательский шрифт с COM-объектом в .NET - PullRequest
1 голос
/ 03 декабря 2008

Я пытаюсь загрузить пользовательский шрифт в C #, чтобы его можно было использовать в библиотеках COM (например, ESRI) и в GDI +.

Я хочу загрузить шрифт с диска и не хочу устанавливать шрифт в системе.

Шрифт COM имеет тип stdole.IFontDisp.

РЕДАКТИРОВАТЬ: использование в комбинации AddFontResourceEx с PrivateFontCollection решает проблему.

1 Ответ

1 голос
/ 03 декабря 2008

Есть две функции GDI, которые вы можете использовать

AddFontResource RemoveFontResoure

Подробно здесь

Поймите, что пока вы загружены, другие приложения смогут видеть и использовать шрифт. Другого пути нет, если вы хотите использовать API. После добавления шрифта вы можете установить IFontDisp (для COM) и CFont (для GDI +) и использовать его.

Обратите внимание, что IFontDisp обнаруживается путем ссылки на стандартные типы OLE

...