rem: fontName = fontName.QueryInterface(Components.interfaces.nsISupportsWString); 
add: fontName = fontName.QueryInterface(Components.interfaces.nsISupportsString); 
context:     appendFontNames:       function ( aDataObject )         {           var popupNode = document.createElement( "menupopup" );           var strDefaultFontFace = "";          var fontName;          while (aDataObject.hasMoreElements()) {            fontName = aDataObject.getNext();            fontName = fontName.QueryInterface(Components.interfaces.nsISupportsWString);            var fontNameStr = fontName.toString();            if (strDefaultFontFace == "")              strDefaultFontFace = fontNameStr;            var itemNode = document.createElement( "menuitem" );            itemNode.setAttribute( "value", fontNameStr );            itemNode.setAttribute( "label", fontNameStr );            popupNode.appendChild( itemNode );          }          if (strDefaultFontFace != "") {            this.listElement.removeAttribute( "disabled" );          } else {            this.listElement.setAttribute( "value", strDefaultFontFace );            this.listElement.setAttribute( "label",                                    gPrefutilitiesBundle.getString("nofontsforlang") );            this.listElement.setAttribute( "disabled", "true" );          }          this.listElement.appendChild( popupNode );           return strDefaultFontFace;        } 
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/3703f3c61bce0c45d03ff380dc6b806f944ecb73/pref-fonts.js/clean/xpfe/components/prefwindow/resources/content/pref-fonts.js