1*c8dee2aaSAndroid Build Coastguard Worker // Copyright 2019 Google LLC. 2*c8dee2aaSAndroid Build Coastguard Worker #include "modules/skparagraph/include/FontCollection.h" 3*c8dee2aaSAndroid Build Coastguard Worker #include "modules/skparagraph/include/TypefaceFontProvider.h" 4*c8dee2aaSAndroid Build Coastguard Worker #include "src/core/SkFontDescriptor.h" 5*c8dee2aaSAndroid Build Coastguard Worker 6*c8dee2aaSAndroid Build Coastguard Worker #include <string> 7*c8dee2aaSAndroid Build Coastguard Worker 8*c8dee2aaSAndroid Build Coastguard Worker namespace skia { 9*c8dee2aaSAndroid Build Coastguard Worker namespace textlayout { 10*c8dee2aaSAndroid Build Coastguard Worker class TestFontCollection : public FontCollection { 11*c8dee2aaSAndroid Build Coastguard Worker public: 12*c8dee2aaSAndroid Build Coastguard Worker // if load is true, will load the fonts (using Freetype, Core Text, or DirectWrite) from 13*c8dee2aaSAndroid Build Coastguard Worker // resourceDir. 14*c8dee2aaSAndroid Build Coastguard Worker TestFontCollection(const std::string& resourceDir, bool testOnly = false, bool loadFonts = true); 15*c8dee2aaSAndroid Build Coastguard Worker fontsFound()16*c8dee2aaSAndroid Build Coastguard Worker size_t fontsFound() const { return fFontsFound; } 17*c8dee2aaSAndroid Build Coastguard Worker bool addFontFromFile(const std::string& path, const std::string& familyName = ""); 18*c8dee2aaSAndroid Build Coastguard Worker 19*c8dee2aaSAndroid Build Coastguard Worker private: 20*c8dee2aaSAndroid Build Coastguard Worker std::string fResourceDir; 21*c8dee2aaSAndroid Build Coastguard Worker size_t fFontsFound; 22*c8dee2aaSAndroid Build Coastguard Worker sk_sp<TypefaceFontProvider> fFontProvider; 23*c8dee2aaSAndroid Build Coastguard Worker std::string fDirs; 24*c8dee2aaSAndroid Build Coastguard Worker }; 25*c8dee2aaSAndroid Build Coastguard Worker } // namespace textlayout 26*c8dee2aaSAndroid Build Coastguard Worker } // namespace skia 27