【发布时间】:2020-05-17 02:23:51
【问题描述】:
当使用 Adobe Photoshop 等AddFontResource/RemoveFontResource 应用程序临时安装字体时,Illustrator 会实时识别相应的更改。
问题是当您永久安装字体时,通过将文件复制到 windows 字体目录 + 将字体添加到系统注册表来使字体在系统重新启动后可用,此时删除字体需要完全重新启动用于系统范围的应用程序以实现可用的字体。
我的问题是在永久删除字体文件、从 WINDIR/Fonts 中删除该文件并从系统注册表中删除它的条目之后,需要做什么来通知系统范围的应用程序该字体不可用并相应地更新它们的列表?我在想SHChangeNotify可能是正确的方向,但完全不确定。
【问题讨论】:
-
对我来说听起来像是相关应用程序中的错误。他们可能认为人们可能会添加字体,但从不费心处理他们删除它们的情况。
-
在 *nix 环境中,您只需将字体复制到任何文件夹或删除它即可。一个有趣的工作是从 win/fonts 中删除字体,从注册表中删除 val,然后再次调用 AddFontResource。当然字体仍然可用于系统应用程序,但在我正在开发的字体管理器应用程序中它被有效地删除了。它恰好在重新启动之前可用。