|
1 /* |
|
2 * Copyright 2011 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 SKFONTCONFIGPARSER_ANDROID_H_ |
|
9 #define SKFONTCONFIGPARSER_ANDROID_H_ |
|
10 |
|
11 #include "SkTypes.h" |
|
12 |
|
13 #include "SkPaintOptionsAndroid.h" |
|
14 #include "SkString.h" |
|
15 #include "SkTDArray.h" |
|
16 |
|
17 struct FontFileInfo { |
|
18 FontFileInfo() : fFileName(NULL) {} |
|
19 |
|
20 const char* fFileName; |
|
21 SkPaintOptionsAndroid fPaintOptions; |
|
22 }; |
|
23 |
|
24 /** |
|
25 * The FontFamily data structure is created during parsing and handed back to |
|
26 * Skia to fold into its representation of font families. fNames is the list of |
|
27 * font names that alias to a font family. fontFileArray is the list of information |
|
28 * about each file. Order is the priority order for the font. This is |
|
29 * used internally to determine the order in which to place fallback fonts as |
|
30 * they are read from the configuration files. |
|
31 */ |
|
32 struct FontFamily { |
|
33 FontFamily() : fIsFallbackFont(false), order(-1) {} |
|
34 |
|
35 SkTDArray<const char*> fNames; |
|
36 SkTDArray<FontFileInfo*> fFontFiles; |
|
37 bool fIsFallbackFont; |
|
38 int order; // only used internally by SkFontConfigParser |
|
39 }; |
|
40 |
|
41 namespace SkFontConfigParser { |
|
42 |
|
43 /** |
|
44 * Parses all system font configuration files and returns the results in an |
|
45 * array of FontFamily structures. |
|
46 */ |
|
47 void GetFontFamilies(SkTDArray<FontFamily*> &fontFamilies); |
|
48 |
|
49 /** |
|
50 * Parses all test font configuration files and returns the results in an |
|
51 * array of FontFamily structures. |
|
52 */ |
|
53 void GetTestFontFamilies(SkTDArray<FontFamily*> &fontFamilies, |
|
54 const char* testMainConfigFile, |
|
55 const char* testFallbackConfigFile); |
|
56 |
|
57 SkString GetLocale(); |
|
58 |
|
59 } // SkFontConfigParser namespace |
|
60 |
|
61 #endif /* SKFONTCONFIGPARSER_ANDROID_H_ */ |