| /* |
| * Copyright 2011 The Android Open Source Project |
| * |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| |
| #ifndef FONTHOSTCONFIGURATION_ANDROID_H_ |
| #define FONTHOSTCONFIGURATION_ANDROID_H_ |
| |
| #include "SkTypes.h" |
| |
| #include "SkLanguage.h" |
| #include "SkPaint.h" |
| #include "SkTDArray.h" |
| |
| struct FontFileInfo { |
| FontFileInfo() : fFileName(NULL), fVariant(SkPaint::kDefault_Variant), |
| fLanguage() { |
| } |
| |
| const char* fFileName; |
| SkPaint::FontVariant fVariant; |
| SkLanguage fLanguage; |
| }; |
| |
| /** |
| * The FontFamily data structure is created during parsing and handed back to |
| * Skia to fold into its representation of font families. fNames is the list of |
| * font names that alias to a font family. fontFileArray is the list of information |
| * about each file. Order is the priority order for the font. This is |
| * used internally to determine the order in which to place fallback fonts as |
| * they are read from the configuration files. |
| */ |
| struct FontFamily { |
| SkTDArray<const char*> fNames; |
| SkTDArray<FontFileInfo*> fFontFileArray; |
| int order; |
| }; |
| |
| /** |
| * Parses all system font configuration files and returns the results in an |
| * array of FontFamily structures. |
| */ |
| void getFontFamilies(SkTDArray<FontFamily*> &fontFamilies); |
| |
| /** |
| * Parse only the core system font configuration file and return the results in |
| * an array of FontFamily structures. |
| */ |
| void getSystemFontFamilies(SkTDArray<FontFamily*> &fontFamilies); |
| |
| /** |
| * Parse the fallback and vendor system font configuration files and return the |
| * results in an array of FontFamily structures. |
| */ |
| void getFallbackFontFamilies(SkTDArray<FontFamily*> &fallbackFonts); |
| |
| #endif /* FONTHOSTCONFIGURATION_ANDROID_H_ */ |