DWORD len = GetFontData(aDC, LOCA, 0, nsnull, 0);
len = GetFontData(aDC, LOCA, 0, nsnull, 0);
GetSpaces(HDC aDC, PRUint32* aMaxGlyph, nsAutoFontDataBuffer& aIsSpace){  int isLong = GetIndexToLocFormat(aDC);  if (isLong < 0) {    return NS_ERROR_FAILURE;  }  DWORD len = GetFontData(aDC, LOCA, 0, nsnull, 0);  if ((len == GDI_ERROR) || (!len)) {    return NS_ERROR_FAILURE;  }  if (!aIsSpace.EnsureElemCapacity(len)) {    return NS_ERROR_OUT_OF_MEMORY;  }  PRUint8* buf = aIsSpace.get();  DWORD newLen = GetFontData(aDC, LOCA, 0, buf, len);  if (newLen != len) {    return NS_ERROR_FAILURE;  }  if (isLong) {    DWORD longLen = ((len / 4) - 1);    *aMaxGlyph = longLen;    PRUint32* longBuf = (PRUint32*) buf;    for (PRUint32 i = 0; i < longLen; ++i) {      if (longBuf[i] == longBuf[i+1]) {        buf[i] = 1;      }      else {        buf[i] = 0;      }    }  }  else {    DWORD shortLen = ((len / 2) - 1);    *aMaxGlyph = shortLen;    PRUint16* shortBuf = (PRUint16*) buf;    for (PRUint16 i = 0; i < shortLen; ++i) {      if (shortBuf[i] == shortBuf[i+1]) {        buf[i] = 1;      }      else {        buf[i] = 0;      }    }  }  return NS_OK;}