NodeAddScalable(nsFontStretchXlib* aStretch, PRBool aOutlineScaled,
NodeAddScalable(nsFontStretchXlib* aStretch, PRBool aOutlineScaled, PRBool aPrinterBuiltinFont, int aResX, int aResY,
NodeAddScalable(nsFontStretchXlib* aStretch, PRBool aOutlineScaled,                 const char *aDashFoundry, const char *aFamily,                 const char *aWeight,      const char *aSlant,                 const char *aWidth,       const char *aStyle,                 const char *aSpacing,     const char *aCharSet){#ifdef USE_XPRINT  /* gisburn: disabled for Xprint - this kills printer buildin fonts   * Xprint printer-buildin fonts look like bitmap scaled fonts but are    * (scalable) printer-buildin fonts in reality.   */  if (nsFontMetricsXlib::mPrinterMode)    return PR_TRUE;#endif /* USE_XPRINT */          // if we have both an outline scaled font and a bitmap   // scaled font pick the outline scaled font  if ((aStretch->mScalable) && (!aStretch->mOutlineScaled)       && (aOutlineScaled)) {    PR_smprintf_free(aStretch->mScalable);    aStretch->mScalable = nsnull;  }  if (!aStretch->mScalable) {    aStretch->mOutlineScaled = aOutlineScaled;    if (aOutlineScaled) {      aStretch->mScalable =           PR_smprintf("%s-%s-%s-%s-%s-%s-%%d-*-0-0-%s-*-%s",           aDashFoundry, aFamily, aWeight, aSlant, aWidth, aStyle,           aSpacing, aCharSet);      if (!aStretch->mScalable)        return PR_FALSE;    }    else {      aStretch->mScalable =           PR_smprintf("%s-%s-%s-%s-%s-%s-%%d-*-*-*-%s-*-%s",           aDashFoundry, aFamily, aWeight, aSlant, aWidth, aStyle,           aSpacing, aCharSet);      if (!aStretch->mScalable)        return PR_FALSE;    }  }   return PR_TRUE;}