1 /* 2 * Copyright 2024 The Android Open Source Project 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8 #ifndef SKFONTSCANNER_FONTATIONS_H_ 9 #define SKFONTSCANNER_FONTATIONS_H_ 10 11 #include "include/core/SkSpan.h" 12 #include "include/core/SkTypeface.h" 13 #include "include/core/SkTypes.h" 14 #include "include/private/base/SkMutex.h" 15 #include "include/private/base/SkTArray.h" 16 #include "src/base/SkSharedMutex.h" 17 #include "src/core/SkFontScanner.h" 18 #include "src/core/SkGlyph.h" 19 #include "src/core/SkScalerContext.h" 20 #include "src/utils/SkCharToGlyphCache.h" 21 22 struct SkAdvancedTypefaceMetrics; 23 class SkFontDescriptor; 24 class SkFontData; 25 26 class SkFontScanner_Fontations : public SkFontScanner { 27 public: 28 SkFontScanner_Fontations(); 29 ~SkFontScanner_Fontations() override; 30 31 bool scanFile(SkStreamAsset* stream, int* numFaces) const override; 32 bool scanFace(SkStreamAsset* stream, int faceIndex, int* numInstances) const override; 33 bool scanInstance(SkStreamAsset* stream, 34 int faceIndex, 35 int instanceIndex, 36 SkString* name, 37 SkFontStyle* style, 38 bool* isFixedPitch, 39 AxisDefinitions* axes) const override; 40 private: 41 }; 42 43 #endif // SKFONTSCANNER_FONTATIONS_H_ 44