Load fonts from file on a C# application
There's a class System.Drawing.Text.PrivateFontCollection in System.Drawing.dll which can manage fonts on a per application basis.
All you do is that you maintain this collection within your app and you add fonts through AddFontFile or AddMemoryFont and you'll then be able to use that font as if it was installed on your system.
It's like installing the font for the application only. The font will be uninstalled once the process terminates.
Load a font from disk, stream or byte array
Try this...
The blog describes how to use the FontCollection classes.