В System.Drawing.dll есть класс System.Drawing.Text.PrivateFontCollection, который может управлять шрифтами для каждого приложения.
Все, что вам нужно сделать, - это поддерживать эту коллекцию в своем приложении и добавлять шрифты через AddFontFile или AddMemoryFont, и тогда вы сможете использовать этот шрифт, как если бы он был установлен в вашей системе.
Это похоже на установку шрифта только для приложения. Шрифт будет удален после завершения процесса.