24 load_directory_fonts(scanner, fBaseDirectory,
".ttf", families);
25 load_directory_fonts(scanner, fBaseDirectory,
".ttc", families);
26 load_directory_fonts(scanner, fBaseDirectory,
".otf", families);
27 load_directory_fonts(scanner, fBaseDirectory,
".pfb", families);
29 if (families->
empty()) {
38 const char familyName[])
40 for (
int i = 0; i < families.
size(); ++i) {
41 if (families[i]->getFamilyName().
equals(familyName)) {
42 return families[i].get();
48 static void load_directory_fonts(
const SkFontScanner* scanner,
49 const SkString& directory,
const char* suffix,
55 while (iter.next(&
name,
false)) {
69 for (
int faceIndex = 0; faceIndex < numFaces; ++faceIndex) {
75 for (
int instanceIndex = 0; instanceIndex <= numInstances; ++instanceIndex) {
92 if (
nullptr == addTo) {
97 style, isFixedPitch,
true, realname, filename.c_str(),
98 (instanceIndex << 16) + faceIndex));
104 while (dirIter.next(&
name,
true)) {
105 if (
name.startsWith(
".")) {
109 load_directory_fonts(scanner, dirname, suffix, families);
virtual bool scanInstance(SkStreamAsset *stream, int faceIndex, int instanceIndex, SkString *name, SkFontStyle *style, bool *isFixedPitch, AxisDefinitions *axes) const =0