如何访问 Internet Explorer 的用户字体设置?

Posted

技术标签:

【中文标题】如何访问 Internet Explorer 的用户字体设置?【英文标题】:How to access the user font settings of the Internet Explorer? 【发布时间】:2009-03-18 08:31:01 【问题描述】:

我想在用 C# 编写的浏览器帮助对象中访问 Internet Explorer 用户设置的字体,尤其是字体系列。

我已经查看了 SHDocVw.WebBrowser 和 IhtmlDocument(to 5),但我没有看到我正在寻找或缺少的属性。

BHO 适用于 Internet Explorer 7。

非常感谢!

编辑:Richard 问我为什么需要这些信息:如果 HTML 文档或 CSS 给定的字体系列没有安装在系统。我需要这个基于应用程序的字体系列,它用于在最后一个实例中呈现文本(如果所有其他信息都失败)。

【问题讨论】:

为什么? (这可能有助于回答这个问题。) 我也是,很好奇你为什么需要它。您的解释并没有完全解决您为什么需要知道他们将浏览器设置为的原因。 (因为它是一个附加组件,我假设这不一定是基于网络的产品/应用程序?) 不,它不是针对基于网络的产品。 BHO 获取所有文档信息并将其发送到中间件,该中间件解释文档并将其呈现在视障人士的硬件设备上(您可以在此处查看设备:hyperbraille.de - 网站为德语)。目标是对 Web 文档进行最准确的表示,因此字体信息是必要的。该设备允许放大/缩小和滚动文档。它每秒可以渲染 4 个屏幕,带有人们可以通过触摸识别的针脚。文本可以从真实文本切换到盲文,反之亦然。 【参考方案1】:

您需要做的是在 CSS 中为字体系列使用降级设置。

font-family: "Font 1", "Font 2", "Font 3" // etc

第一种字体是您要使用的字体,第二种字体是相似但用户较多的字体,然后第三种字体是安全字体。你可以继续,但这里有一个例子。

font-family: "Calibri", arial, sans-serif

在这个例子中,只有 Vista 和 Office 2008 有 Calibri,其他 Windows 机器有 Arial,然后 Linux 机器有 sans-serif。

【讨论】:

这不是我要求的。我知道如何从文档中获取字体。更重要的是如果没有任何文档字体对显示有效,我如何获得使用的字体。在这种情况下,将使用浏览器的默认字体。我需要那个。

以上是关于如何访问 Internet Explorer 的用户字体设置?的主要内容,如果未能解决你的问题,请参考以下文章

CodeIgniter:重定向Internet Explorer访问者

Internet Explorer 中跨站点请求的访问控制

占位符文本仅在 Internet Explorer 中可见

如何从 Internet Explorer 11 降级到 Internet Explorer 10?

对于某些情况,如 Internet Explorer 特定的 CSS 或 Internet Explorer 特定的 JavaScript 代码,如何仅针对 Internet Explorer 10?

Internet Explorer 中的 HTML5 拖放问题(无法访问数据传输属性)