【问题标题】:Get a list of fonts in a Firefox extension获取 Firefox 扩展中的字体列表
【发布时间】:2011-06-30 14:17:20
【问题描述】:

在我的 Firefox 扩展中,偏好设置窗口显然在 Firefox 2.0 之后的某个地方出现问题,并且(部分)问题在于以下行:

var fontList  = Components.classes["@mozilla.org/gfx/fontlist;1"].
    createInstance(Components.interfaces.nsIFontList);

哪些错误带有

Error: Components.classes['@mozilla.org/gfx/fontlist;1'] is undefined

一些挖掘表明 fontlist 实际上是 nsIFontEnumerator (https://bugzilla.mozilla.org/show_bug.cgi?id=397813) 的包装,但我找不到任何关于如何使用 nsIFontEnumerator 的信息。

Stackoverflow 本身只有一个与该主题相关的问题,没有答案:How to discover Font Type?

【问题讨论】:

    标签: javascript fonts firefox-addon xpcom


    【解决方案1】:

    您所指的界面在当前的 Firefox 版本中不再存在。然而存在的是nsIFontEnumerator:

    var enumerator = Components.classes["@mozilla.org/gfx/fontenumerator;1"]
                               .getService(Components.interfaces.nsIFontEnumerator);
    var fonts = enumerator.EnumerateAllFonts({});
    

    它似乎没有记录在 MDC 上,因此 http://www.oxymoronical.com/experiments/apidocs/interface/nsIFontEnumerator 是您可以获得的最佳参考。

    【讨论】:

    • 太棒了,谢谢这仍然有效!这仍然是推荐的方法吗?我最终会输入这个(windows/mac/linux),但我现在需要一个快速的解决方案。
    • 由于这是未记录的功能,因此不能真正推荐 - 随时可能更改。然而,这个特殊的界面显然在过去五年里一直很稳定。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多