PRINTF("  ==> charset=%s weightIndex=%d strechIndex=%d\n", aCharSet->mInfo->mCharSet,
TryCharSet(nsFontSearch* aSearch, nsFontCharSet* aCharSet){  aCharSet->FillStyleHoles();  nsFontMetricsXP* f = aSearch->mMetrics;  nsFontStyle* style = aCharSet->mStyles[f->mStyleIndex];  if (!style) {#ifdef REALLY_NOISY_FONTS#ifdef DEBUG    printf(" ==> skiping style index %d\n", f->mStyleIndex);#endif#endif    return; // skip dummy entries  }  nsFontWeight** weights = style->mWeights;  int weight = f->mFont->weight;  int steps = (weight % 100);  int weightIndex;  if (steps) {    if (steps < 10) {      int base = (weight - steps);      GET_WEIGHT_INDEX(weightIndex, base);      while (steps--) {        nsFontWeight* prev = weights[weightIndex];        for (weightIndex++; weightIndex < 9; weightIndex++) {          if (weights[weightIndex] != prev) {            break;          }        }        if (weightIndex >= 9) {          weightIndex = 8;        }      }    }    else if (steps > 90) {      steps = (100 - steps);      int base = (weight + steps);      GET_WEIGHT_INDEX(weightIndex, base);      while (steps--) {        nsFontWeight* prev = weights[weightIndex];        for (weightIndex--; weightIndex >= 0; weightIndex--) {          if (weights[weightIndex] != prev) {            break;          }        }        if (weightIndex < 0) {          weightIndex = 0;        }      }    }    else {      GET_WEIGHT_INDEX(weightIndex, weight);    }  }  else {    GET_WEIGHT_INDEX(weightIndex, weight);  }#ifdef REALLY_NOISY_FONTS#ifdef DEBUG  printf("  ==> charset=%s weightIndex=%d strechIndex=%d\n", aCharSet->mInfo->mCharSet,         weightIndex, f->mStretchIndex);#endif#endif  PickASizeAndLoad(aSearch, weights[weightIndex]->mStretches[f->mStretchIndex],    aCharSet);}