在我的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?
最佳答案
您引用的界面在当前的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是您可以获得的最佳参考。