Windows fonts not immediately useable in application after installing?

I recycle the application pool that use the fonts and it fixed.


By default, when you install a new font, only the current session is notified of the change. So if you're logging into the server in a terminal services session (which seems likely) then the ASP.NET application (which will be running in a different session) will not see the change.

When you reboot, the system automatically scans the font directory and "registers" all of the fonts in there into the current session.

To "manually" register a new font, you will need to call AddFontResource and pass in the path to the font.

To make it slightly easier, you could make it so that your app scans the Fonts folder and calls AddFontResource on each file it finds there in it's Application_Start event. That way, when you install a new font, you can just recycle the site (e.g. edit the web.config file) and it'll re-scan all of the files.

Another option would be to put a directory watch (via FileSystemWatcher) on the Fonts folder and automatically re-scan it.

I guess it just depends how often you'll be installing new fonts...


Restart IIS. that should do the trick. rub iisreset from command line or use IIS manager.