void buildNameToFamilyMap(SkTDArray<FontFamily*> families) { for (int i = 0; i < families.count(); i++) { FontFamily& family = *families[i]; SkTDArray<NameToFamily>* nameToFamily = &fNameToFamilyMap; if (family.fIsFallbackFont) { nameToFamily = &fFallbackNameToFamilyMap; if (0 == family.fNames.count()) { SkString& fallbackName = family.fNames.push_back(); fallbackName.printf("%.2x##fallback", i); } } SkFontStyleSet_Android* newSet = SkNEW_ARGS(SkFontStyleSet_Android, (family, fScanner)); if (0 == newSet->count()) { SkDELETE(newSet); continue; } fFontStyleSets.push_back().reset(newSet); for (int j = 0; j < family.fNames.count(); j++) { NameToFamily* nextEntry = nameToFamily->append(); SkNEW_PLACEMENT_ARGS(&nextEntry->name, SkString, (family.fNames[j])); nextEntry->styleSet = newSet; } } }
void buildNameToFamilyMap(SkTDArray<FontFamily*> families, const bool isolated) { for (int i = 0; i < families.count(); i++) { FontFamily& family = *families[i]; SkTDArray<NameToFamily>* nameToFamily = &fNameToFamilyMap; if (family.fIsFallbackFont) { nameToFamily = &fFallbackNameToFamilyMap; if (0 == family.fNames.count()) { SkString& fallbackName = family.fNames.push_back(); fallbackName.printf("%.2x##fallback", i); } } SkFontStyleSet_Android* newSet = new SkFontStyleSet_Android(family, fScanner, isolated); if (0 == newSet->count()) { delete newSet; continue; } fFontStyleSets.push_back().reset(newSet); for (int j = 0; j < family.fNames.count(); j++) { NameToFamily* nextEntry = nameToFamily->append(); new (&nextEntry->name) SkString(family.fNames[j]); nextEntry->styleSet = newSet; } } }