Windows fonts not immediately useable in application after installing?

拥有回忆 提交于 2019-12-04 00:08:16

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.

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!