• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* libs/graphics/ports/FontHostConfiguration_android.h
2 **
3 ** Copyright 2011, The Android Open Source Project
4 **
5 ** Licensed under the Apache License, Version 2.0 (the "License");
6 ** you may not use this file except in compliance with the License.
7 ** You may obtain a copy of the License at
8 **
9 **     http://www.apache.org/licenses/LICENSE-2.0
10 **
11 ** Unless required by applicable law or agreed to in writing, software
12 ** distributed under the License is distributed on an "AS IS" BASIS,
13 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 ** See the License for the specific language governing permissions and
15 ** limitations under the License.
16 */
17 #ifndef FONTHOSTCONFIGURATION_ANDROID_H_
18 #define FONTHOSTCONFIGURATION_ANDROID_H_
19 
20 #include "SkTypes.h"
21 
22 #include "SkLanguage.h"
23 #include "SkPaint.h"
24 #include "SkTDArray.h"
25 
26 struct FontFileInfo {
FontFileInfoFontFileInfo27     FontFileInfo() : fFileName(NULL), fVariant(SkPaint::kDefault_Variant),
28             fLanguage() {
29     }
30 
31     const char*          fFileName;
32     SkPaint::FontVariant fVariant;
33     SkLanguage           fLanguage;
34 };
35 
36 /**
37  * The FontFamily data structure is created during parsing and handed back to
38  * Skia to fold into its representation of font families. fNames is the list of
39  * font names that alias to a font family. fontFileArray is the list of information
40  * about each file.  Order is the priority order for the font. This is
41  * used internally to determine the order in which to place fallback fonts as
42  * they are read from the configuration files.
43  */
44 struct FontFamily {
45     SkTDArray<const char*>   fNames;
46     SkTDArray<FontFileInfo*> fFontFileArray;
47     int order;
48 };
49 
50 /**
51  * Parses all system font configuration files and returns the results in an
52  * array of FontFamily structures.
53  */
54 void getFontFamilies(SkTDArray<FontFamily*> &fontFamilies);
55 
56 /**
57  * Parse only the core system font configuration file and return the results in
58  * an array of FontFamily structures.
59  */
60 void getSystemFontFamilies(SkTDArray<FontFamily*> &fontFamilies);
61 
62 /**
63  * Parse the fallback and vendor system font configuration files and return the
64  * results in an array of FontFamily structures.
65  */
66 void getFallbackFontFamilies(SkTDArray<FontFamily*> &fallbackFonts);
67 
68 #endif /* FONTHOSTCONFIGURATION_ANDROID_H_ */
69