converter->SetOutputErrorBehavior(converter->kOnError_Replace,
res = converter->SetOutputErrorBehavior(converter->kOnError_Replace,
SetUpFontCharSetInfo(nsFontCharSetXlibInfo* aSelf){  nsresult res;  nsCOMPtr<nsIAtom> charset = getter_AddRefs(NS_NewAtom(aSelf->mCharSet));  if (charset) {    nsIUnicodeEncoder* converter = nsnull;    res = gCharSetManager->GetUnicodeEncoder(charset, &converter);    if (NS_SUCCEEDED(res)) {      aSelf->mConverter = converter;      converter->SetOutputErrorBehavior(converter->kOnError_Replace,          nsnull, '?');      nsCOMPtr<nsICharRepresentable> mapper = do_QueryInterface(converter);      if (mapper) {        res = mapper->FillInfo(aSelf->mMap);        /*         * XXX This is a bit of a hack. Documents containing the CP1252         * extensions of Latin-1 (e.g. smart quotes) will display with those         * special characters way too large. This is because they happen to         * be in these large double byte fonts. So, we disable those         * characters here. Revisit this decision later.         */        if (aSelf->Convert == DoubleByteConvert) {          PRUint32* map = aSelf->mMap;#undef REMOVE_CHAR#define REMOVE_CHAR(map, c)  (map)[(c) >> 5] &= ~(1L << ((c) & 0x1f))          REMOVE_CHAR(map, 0x20AC);          REMOVE_CHAR(map, 0x201A);          REMOVE_CHAR(map, 0x0192);          REMOVE_CHAR(map, 0x201E);          REMOVE_CHAR(map, 0x2026);          REMOVE_CHAR(map, 0x2020);          REMOVE_CHAR(map, 0x2021);          REMOVE_CHAR(map, 0x02C6);          REMOVE_CHAR(map, 0x2030);          REMOVE_CHAR(map, 0x0160);          REMOVE_CHAR(map, 0x2039);          REMOVE_CHAR(map, 0x0152);          REMOVE_CHAR(map, 0x017D);          REMOVE_CHAR(map, 0x2018);          REMOVE_CHAR(map, 0x2019);          REMOVE_CHAR(map, 0x201C);          REMOVE_CHAR(map, 0x201D);          REMOVE_CHAR(map, 0x2022);          REMOVE_CHAR(map, 0x2013);          REMOVE_CHAR(map, 0x2014);          REMOVE_CHAR(map, 0x02DC);          REMOVE_CHAR(map, 0x2122);          REMOVE_CHAR(map, 0x0161);          REMOVE_CHAR(map, 0x203A);          REMOVE_CHAR(map, 0x0153);          REMOVE_CHAR(map, 0x017E);          REMOVE_CHAR(map, 0x0178);        }      }      else       NS_WARNING("nsICharRepresentable failed");    }    else      NS_WARNING("GetUnicodeEncoder failed");  }  else    NS_WARNING("GetCharsetAtom2 failed");}