| Index: src/ports/SkFontConfigParser_android.h
|
| diff --git a/src/ports/SkFontConfigParser_android.h b/src/ports/SkFontConfigParser_android.h
|
| index 4df8d7e7252eeca9980b82322e669628257a3d01..c73731507840b51f4838dbfbc22f09e16e0eae7d 100644
|
| --- a/src/ports/SkFontConfigParser_android.h
|
| +++ b/src/ports/SkFontConfigParser_android.h
|
| @@ -8,18 +8,62 @@
|
| #ifndef SKFONTCONFIGPARSER_ANDROID_H_
|
| #define SKFONTCONFIGPARSER_ANDROID_H_
|
|
|
| -#include "SkTypes.h"
|
| -
|
| -#include "SkPaintOptionsAndroid.h"
|
| #include "SkString.h"
|
| #include "SkTDArray.h"
|
|
|
| +/** \class SkLanguage
|
| +
|
| + The SkLanguage class represents a human written language, and is used by
|
| + text draw operations to determine which glyph to draw when drawing
|
| + characters with variants (ie Han-derived characters).
|
| +*/
|
| +class SkLanguage {
|
| +public:
|
| + SkLanguage() { }
|
| + SkLanguage(const SkString& tag) : fTag(tag) { }
|
| + SkLanguage(const char* tag) : fTag(tag) { }
|
| + SkLanguage(const char* tag, size_t len) : fTag(tag, len) { }
|
| + SkLanguage(const SkLanguage& b) : fTag(b.fTag) { }
|
| +
|
| + /** Gets a BCP 47 language identifier for this SkLanguage.
|
| + @return a BCP 47 language identifier representing this language
|
| + */
|
| + const SkString& getTag() const { return fTag; }
|
| +
|
| + /** Performs BCP 47 fallback to return an SkLanguage one step more general.
|
| + @return an SkLanguage one step more general
|
| + */
|
| + SkLanguage getParent() const;
|
| +
|
| + bool operator==(const SkLanguage& b) const {
|
| + return fTag == b.fTag;
|
| + }
|
| + bool operator!=(const SkLanguage& b) const {
|
| + return fTag != b.fTag;
|
| + }
|
| + SkLanguage& operator=(const SkLanguage& b) {
|
| + fTag = b.fTag;
|
| + return *this;
|
| + }
|
| +
|
| +private:
|
| + //! BCP 47 language identifier
|
| + SkString fTag;
|
| +};
|
| +
|
| +enum FontVariants {
|
| + kDefault_FontVariant = 0x01,
|
| + kCompact_FontVariant = 0x02,
|
| + kElegant_FontVariant = 0x04,
|
| + kLast_FontVariant = kElegant_FontVariant,
|
| +};
|
| +typedef uint32_t FontVariant;
|
| +
|
| struct FontFileInfo {
|
| FontFileInfo() : fIndex(0), fWeight(0) { }
|
|
|
| SkString fFileName;
|
| int fIndex;
|
| - SkPaintOptionsAndroid fPaintOptions;
|
| int fWeight;
|
| };
|
|
|
| @@ -33,20 +77,22 @@ struct FontFileInfo {
|
| */
|
| struct FontFamily {
|
| FontFamily()
|
| - : fVariant(SkPaintOptionsAndroid::kDefault_Variant)
|
| + : fVariant(kDefault_FontVariant)
|
| , order(-1)
|
| , fIsFallbackFont(false) { }
|
|
|
| SkTArray<SkString> fNames;
|
| SkTArray<FontFileInfo> fFontFiles;
|
| SkLanguage fLanguage;
|
| - SkPaintOptionsAndroid::FontVariant fVariant;
|
| + FontVariant fVariant;
|
| int order; // only used internally by SkFontConfigParser
|
| bool fIsFallbackFont;
|
| };
|
|
|
| namespace SkFontConfigParser {
|
|
|
| +
|
| +
|
| /**
|
| * Parses all system font configuration files and returns the results in an
|
| * array of FontFamily structures.
|
|
|