Windows 字体安装后无法立即在应用程序中使用?

2024-04-19

每当我在 Windows 2003 服务器上安装新字体时,我都无法立即在我的 asp.net Web 应用程序中使用它。应用程序通过以下方式获取字体CreateFontIndirectgdi32.dll win api,然后使用此字体在我的asp.net应用程序中创建动态文本图像。似乎字体被缓存在某个地方,因为我只会返回默认字体。

重新启动后字体缓存会更新,然后我会得到正确的字体,但显然我不想在生产服务器上重新启动只是为了让新字体正常工作。

有没有办法刷新字体缓存?


默认情况下,当您安装新字体时,仅使用当前会话已收到更改通知。因此,如果您在终端服务会话中登录服务器(这似乎是可能的),那么 ASP.NET 应用程序(将在不同的会话中运行)将看不到更改。

当您重新启动时,系统会自动扫描字体目录并将其中的所有字体“注册”到当前会话中。

要“手动”注册新字体,您需要调用添加字体资源 http://msdn.microsoft.com/en-us/library/dd183326%28v=VS.85%29.aspx并传入字体的路径。

为了使它稍微容易一些,您可以让您的应用程序扫描 Fonts 文件夹并调用AddFontResource在它找到的每个文件上Application_Start事件。这样,当您安装新字体时,您只需回收该站点(例如编辑 web.config 文件),它就会重新扫描所有文件。

另一种选择是放置目录监视(通过文件系统观察者 http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx)在字体文件夹中并自动重新扫描它。

我想这只是取决于你安装新字体的频率......

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows 字体安装后无法立即在应用程序中使用? 的相关文章

随机推荐

  • java中带有日语字符的电子邮件

    我正在使用java发送电子邮件 发送的消息可以使用不同的语言 但是当我用日语发送消息时 收到的邮件只有 人物 代码是这样的 String content u30d5 u30a1 u30a4 u30eb u540d SMTPMessage m
  • 在 jQuery Mobile 上禁用 data-role="header" 上的页面转换 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 是否可以禁用 data role h
  • 终止连接到 erlang 端口的进程

    我想写一个某种主管 我正在尝试实现关闭外部程序的功能 外部进程通过端口连接到 erlang 的代码 我不知道如何通过发送信号或其他任何方式来关闭该程序 关闭端口不是解决方案 因为我已经检查过许多程序不会在 SIGPIPE 上退出 您有任何想
  • 使用 elasticsearch-dsl-py 对另一个字段中包含的字段创建术语查询

    我在用elasticsearch dsl py https github com elasticsearch elasticsearch dsl py并希望过滤包含在另一个术语中的术语 如下所示 slug foo foo slug bar
  • 如何更改Accounts-UI模板?

    根据望远镜 http demo telesc pe 例子 源代码 https github com SachaG Telescope 可以显示自定义的 account ui 表单 参见他的用户登录 html https github com
  • 是否可以为 VS Code 编写二进制文件导入扩展?

    我想在 vs code 中显示二进制文件的一些信息 是否可以为 VS Code 编写一个扩展名 以便在资源管理器中选择该文件 或直接打开它 时 您会看到该扩展名从二进制文件中提取的一些文本 因此 该扩展的核心功能将是 简化的 二进制到文本转
  • R dplyr left_join 错误

    所以我一直在尝试使用 left join 将新数据集的列获取到我的主数据集 称为员工 我已经仔细检查了矢量名称和我没有进行的清理 但似乎没有任何效果 这是我的代码 将不胜感激任何帮助 job codes lt read csv Quest
  • 如何将 Cognito 用户池与 Facebook 等外部提供商结合起来?

    到目前为止 Cognito 拥有支持 Facebook 等外部提供商的身份池 现在有 Cognito 用户池 我很想使用它 但我不知道如何同时支持 Cognito 用户池和 Facebook 等外部提供商 看来身份池和用户池是分开的东西 我
  • Android.mk 包含其他项目

    说明 我的问题的目标是了解如何创建一个可以构建和运行的 Android mk makefile 如下所示的项目结构 Library is library on eclipse 数据 项目库 Project Interface 包含 1 个静
  • Html.Action 不会呈现用 [HttpPost] 注释的操作方法

    我的控制器上有以下方法 HttpPost public ActionResult UnplannedCourses int studentId var model CreateUnplannedCourseModel studentId r
  • 如何从 jQuery UI 日期选择器获取日期

    每当用户在 jQuery UI datepicker 中选择日期并单击表单上的按钮时 我想从 datepicker 获取日期 好吧 我需要获取他们选择的日期的年月日 如何从 jQuery UI 获取日期 Use var jsDate you
  • 控制台错误“非法的base64字符20”[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我使用以下代码进行加密和解密 而解密时我在运行时收到错误 错误消息是 非法的 base64 字符 20 加密代码 String sec
  • 是否可以通过在 ASP.NET 中模拟 Windows 身份验证用户来从 Active Directory 检索数据?

    我一整天都在试图解决这个问题 并且我在标准谷歌留言板答案中读到了一些相互矛盾的信息 我想做的是从活动目录中检索域用户 即当前登录用户 的电子邮件地址 我的 ASP NET 4 网站设置为 Windows 身份验证 在 Active Dire
  • PHP 中变量的数组路径

    因此 我编写了一个类 它可以解析 XML 文档并从中创建 SQL 查询 以根据设置更新或插入新行 由于脚本必须处理任意数量的嵌套块 因此我放入所有值的数组的路径是动态创建的 与以下示例非常相似 path array field1 field
  • AngularJS中单向绑定和双向绑定的区别

    你能解释一下两者之间的区别吗One way Data Binding and Two way Data Binding举个例子 我们使用了哪种情况 单向数据绑定 ng bind具有单向数据绑定 Model scope gt View 例如
  • 使用 Python 查找和替换非 ascii 字符的正则表达式

    我需要将一些非 ASCII 字符更改为 例如 Tannh user gt Tannh user 如果我在 Python 中使用正则表达式 我该怎么做 有没有更好的方法来做到这一点而不使用 RE re sub r x00 x7F theStr
  • R barplot Y轴刻度太短

    我正在尝试生成条形图 但 y 轴刻度太短 这是我的代码 barplot as matrix dat log y ylim c 10000 100000000 beside TRUE ylab Number of reads col c gr
  • 使用 boost::asio::spawn 生成的 asio 处理程序中的 boost::property_tree::read_xml 段错误

    以下代码在 boost property tree read xml 调用时因段错误而崩溃 仅当在使用 boost asio spawn 生成的 io service 处理程序内部调用它时 才会发生这种情况 如果处理程序刚刚发布 则可以正常
  • Zend 覆盖默认视图对象

    如何覆盖 zend 框架中的默认视图对象 以便我可以拥有自定义视图对象 class Bootstrap extends Zend Application Bootstrap Bootstrap function initViewHelper
  • Windows 字体安装后无法立即在应用程序中使用?

    每当我在 Windows 2003 服务器上安装新字体时 我都无法立即在我的 asp net Web 应用程序中使用它 应用程序通过以下方式获取字体CreateFontIndirectgdi32 dll win api 然后使用此字体在我的