• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 
7 #include "xfa/fxfa/xfa_fontmgr.h"
8 
9 #include <algorithm>
10 #include <memory>
11 #include <utility>
12 
13 #include "core/fpdfapi/font/cpdf_font.h"
14 #include "core/fpdfapi/parser/cpdf_dictionary.h"
15 #include "core/fpdfapi/parser/cpdf_document.h"
16 #include "third_party/base/ptr_util.h"
17 #include "xfa/fgas/font/cfgas_gefont.h"
18 #include "xfa/fxfa/xfa_ffapp.h"
19 #include "xfa/fxfa/xfa_ffdoc.h"
20 
21 namespace {
22 
23 // The 5 names per entry are: PsName, Normal, Bold, Italic, BoldItalic.
24 const char* const g_XFAPDFFontName[][5] = {
25     {"Adobe PI Std", "AdobePIStd", "AdobePIStd", "AdobePIStd", "AdobePIStd"},
26     {"Myriad Pro Light", "MyriadPro-Light", "MyriadPro-Semibold",
27      "MyriadPro-LightIt", "MyriadPro-SemiboldIt"},
28 };
29 
30 #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_
31 const XFA_FONTINFO g_XFAFontsMap[] = {
32     {0x01d5d33e, L"SimSun", L"Arial", 0, 936},
33     {0x01e4f102, L"YouYuan", L"Arial", 1, 936},
34     {0x030549dc, L"LiSu", L"Arial", 1, 936},
35     {0x032edd44, L"Simhei", L"Arial", 1, 936},
36     {0x03eac6fc, L"PoorRichard-Regular", L"Arial", 2, 1252},
37     {0x03ed90e6, L"Nina", L"Arial", 0, 1252},
38     {0x077b56b3, L"KingsoftPhoneticPlain", L"Arial", 0, 1252},
39     {0x078ed524, L"MicrosoftSansSerif", L"Arial", 0, 1252},
40     {0x089b18a9, L"Arial", L"Arial", 0, 1252},
41     {0x0b2cad72, L"MonotypeCorsiva", L"Arial", 8, 1252},
42     {0x0bb003e7, L"Kartika", L"Arial", 2, 1252},
43     {0x0bb469df, L"VinerHandITC", L"Arial", 8, 1252},
44     {0x0bc1a851, L"SegoeUI", L"Arial", 0, 1252},
45     {0x0c112ebd, L"KozukaGothicPro-VIM", L"Arial", 0, 1252},
46     {0x0cfcb9c1, L"AdobeThai", L"Kokila,Arial Narrow", 0, 847},
47     {0x0e7de0f9, L"Playbill", L"Arial", 0, 1252},
48     {0x0eff47c3, L"STHupo", L"Arial", 0, 936},
49     {0x107ad374, L"Constantia", L"Arial", 2, 1252},
50     {0x12194c2d, L"KunstlerScript", L"Arial", 8, 1252},
51     {0x135ef6a1, L"MinionProSmBd",
52      L"Bell MT,Corbel,Times New Roman,Cambria,Berlin Sans FB", 0, 1252},
53     {0x158c4049, L"Garamond", L"Arial", 2, 1252},
54     {0x160ecb24, L"STZhongsong", L"Arial", 0, 936},
55     {0x161ed07e, L"MSGothic", L"Arial", 1, 1252},
56     {0x171d1ed1, L"SnapITC-Regular", L"Arial", 0, 1252},
57     {0x18d1188f, L"Cambria", L"Arial", 2, 1252},
58     {0x18eaf350, L"ArialUnicodeMS", L"Arial", 0, 936},
59     {0x1a92d115, L"MingLiU", L"Arial", 1, 1252},
60     {0x1cc217c6, L"TrebuchetMS", L"Arial", 0, 1252},
61     {0x1d649596, L"BasemicTimes", L"Arial", 0, 1252},
62     {0x1e34ee60, L"BellMT", L"Arial", 2, 1252},
63     {0x1eb36945, L"CooperBlack", L"Arial", 2, 1252},
64     {0x1ef7787d, L"BatangChe", L"Arial", 1, 1252},
65     {0x20b3bd3a, L"BrushScriptMT", L"Arial", 8, 1252},
66     {0x220877aa, L"Candara", L"Arial", 0, 1252},
67     {0x22135007, L"FreestyleScript-Regular", L"Arial", 8, 1252},
68     {0x251059c3, L"Chiller", L"Arial", 0, 1252},
69     {0x25bed6dd, L"MSReferenceSansSerif", L"Arial", 0, 1252},
70     {0x28154c81, L"Parchment-Regular", L"Arial", 8, 1252},
71     {0x29711eb9, L"STLiti", L"Arial", 0, 936},
72     {0x2b1993b4, L"Basemic", L"Arial", 0, 1252},
73     {0x2b316339, L"NiagaraSolid-Reg", L"Arial", 0, 1252},
74     {0x2c147529, L"FootlightMTLight", L"Arial", 0, 1252},
75     {0x2c198928, L"HarlowSolid", L"Arial", 0, 1252},
76     {0x2c6ac6b2, L"LucidaBright", L"Arial", 2, 1252},
77     {0x2c9f38e2, L"KozukaMinchoPro-VIR", L"Arial", 0, 1252},
78     {0x2d5a47b0, L"STCaiyun", L"Arial", 0, 936},
79     {0x2def26bf, L"BernardMT-Condensed", L"Arial", 0, 1252},
80     {0x2fd8930b, L"KozukaMinchoPr6NR", L"Arial", 0, 1252},
81     {0x3115525a, L"FangSong_GB2312", L"Arial", 0, 1252},
82     {0x31327817, L"MyriadPro",
83      L"Calibri,Corbel,Candara,Cambria Math,Franklin Gothic Medium,Arial "
84      L"Narrow,Times New Roman",
85      0, 1252},
86     {0x32244975, L"Helvetica", L"Arial", 0, 1252},
87     {0x32ac995c, L"Terminal", L"Arial", 0, 1252},
88     {0x338d648a, L"NiagaraEngraved-Reg", L"Arial", 0, 1252},
89     {0x33bb65f2, L"Sylfaen", L"Arial", 2, 1252},
90     {0x3402c30e, L"MSPMincho", L"Arial", 2, 1252},
91     {0x3412bf31, L"SimSun-PUA", L"Arial", 0, 936},
92     {0x36eb39b9, L"BerlinSansFB", L"Arial", 0, 1252},
93     {0x36f42055, L"UniversATT", L"Microsoft Sans Serif", 0, 1252},
94     {0x3864c4f6, L"HighTowerText", L"Arial", 2, 1252},
95     {0x3a257d03, L"FangSong_GB2312", L"Arial", 0, 1252},
96     {0x3cdae668, L"FreestyleScript", L"Arial", 8, 1252},
97     {0x3d55aed7, L"Jokerman", L"Arial", 0, 1252},
98     {0x3d5b4385, L"PMingLiU", L"Arial", 2, 1252},
99     {0x3d9b7669, L"EstrangeloEdessa", L"Arial", 0, 1252},
100     {0x3e532d74, L"FranklinGothicMedium", L"Arial", 0, 1252},
101     {0x3e6aa32d, L"NSimSun", L"Arial", 1, 936},
102     {0x3f6c36a8, L"Gautami", L"Arial", 0, 1252},
103     {0x3ff32662, L"Chiller-Regular", L"Arial", 0, 1252},
104     {0x409de312, L"ModernNo.20", L"Arial", 2, 1252},
105     {0x41443c5e, L"Georgia", L"Arial", 2, 1252},
106     {0x4160ade5, L"BellGothicStdBlack",
107      L"Arial,Arial Unicode MS,Book Antiqua,Dotum,Georgia", 0, 1252},
108     {0x421976c4, L"Modern-Regular", L"Arial", 2, 1252},
109     {0x422a7252, L"Stencil", L"Arial", 0, 1252},
110     {0x42c8554f, L"Fixedsys", L"Arial", 0, 1252},
111     {0x435cb41d, L"Roman", L"Arial", 0, 1252},
112     {0x47882383, L"CourierNew", L"Arial", 1, 1252},
113     {0x480a2338, L"BerlinSansFBDemi", L"Arial", 0, 1252},
114     {0x480bf7a4, L"CourierStd", L"Courier New,Verdana", 0, 1252},
115     {0x481ad6ed, L"VladimirScript", L"Arial", 8, 1252},
116     {0x4911577a, L"YouYuan", L"Arial", 1, 936},
117     {0x4a788d72, L"STXingkai", L"Arial", 0, 936},
118     {0x4bf88566, L"SegoeCondensed", L"Arial", 0, 1252},
119     {0x4ccf51a4, L"BerlinSansFB-Reg", L"Arial", 0, 1252},
120     {0x4ea967ce, L"GulimChe", L"Arial", 1, 1252},
121     {0x4f68bd79, L"LetterGothicStd", L"Courier New,Verdana", 0, 1252},
122     {0x51a0d0e6, L"KozukaGothicPr6NM", L"Arial", 0, 1252},
123     {0x531b3dea, L"BasemicSymbol", L"Arial", 0, 1252},
124     {0x5333fd39, L"CalifornianFB-Reg", L"Arial", 2, 1252},
125     {0x53561a54, L"FZYTK--GBK1-0", L"Arial", 0, 936},
126     {0x55e0dde6, L"LucidaSansTypewriter", L"Arial", 0, 1252},
127     {0x574d4d3d, L"AdobeArabic", L"Arial Narrow", 0, 1252},
128     {0x5792e759, L"STKaiti", L"Arial", 0, 936},
129     {0x5921978e, L"LucidaSansUnicode", L"Arial", 0, 1252},
130     {0x594e2da4, L"Vrinda", L"Arial", 0, 1252},
131     {0x59baa9a2, L"KaiTi_GB2312", L"Arial", 0, 1252},
132     {0x5cfedf4f, L"BaskOldFace", L"Arial", 0, 1252},
133     {0x5f97921c, L"AdobeMyungjoStdM",
134      L"Batang,Bookman Old Style,Consolas,STZhongsong", 0, 936},
135     {0x5fefbfad, L"Batang", L"Arial", 2, 1252},
136     {0x605342b9, L"DotumChe", L"Arial", 1, 1252},
137     {0x608c5f9a, L"KaiTi_GB2312", L"Arial", 0, 936},
138     {0x61efd0d1, L"MaturaMTScriptCapitals", L"Arial", 0, 1252},
139     {0x626608a9, L"MVBoli", L"Arial", 0, 1252},
140     {0x630501a3, L"SmallFonts", L"Arial", 0, 1252},
141     {0x65d0e2a9, L"FZYTK--GBK1-0", L"Arial", 0, 936},
142     {0x669f29e1, L"FZSTK--GBK1-0", L"Arial", 0, 936},
143     {0x673a9e5f, L"Tunga", L"Arial", 0, 1252},
144     {0x691aa4ce, L"NiagaraSolid", L"Arial", 0, 1252},
145     {0x696259b7, L"Corbel", L"Arial", 0, 1252},
146     {0x696ee9be, L"STXihei", L"Arial", 0, 936},
147     {0x6c59cf69, L"Dotum", L"Arial", 0, 1252},
148     {0x707fa561, L"Gungsuh", L"Arial", 2, 1252},
149     {0x71416bb2, L"ZWAdobeF", L"Arial", 0, 1252},
150     {0x71b41801, L"Verdana", L"Arial", 0, 1252},
151     {0x73f25e4c, L"PalatinoLinotype", L"Arial", 0, 1252},
152     {0x73f4d19f, L"NiagaraEngraved", L"Arial", 0, 1252},
153     {0x74001694, L"MyriadProBlack", L"Book Antiqua,Constantia,Dotum,Georgia", 0,
154      1252},
155     {0x74b14d8f, L"Haettenschweiler", L"Arial", 0, 1252},
156     {0x74cb44ee, L"NSimSun", L"Arial", 1, 936},
157     {0x76b4d7ff, L"Shruti", L"Arial", 0, 1252},
158     {0x788b3533, L"Webdings", L"Arial", 6, 42},
159     {0x797dde99, L"MSSerif", L"Arial", 0, 1252},
160     {0x7a0f9e9e, L"MSMincho", L"Arial", 1, 1252},
161     {0x7b439caf, L"OldEnglishTextMT", L"Arial", 0, 1252},
162     {0x8213a433, L"LucidaSans-Typewriter", L"Arial", 0, 1252},
163     {0x82fec929, L"AdobeSongStdL",
164      L"Centaur,Calibri,STSong,Bell MT,Garamond,Times New Roman", 0, 936},
165     {0x83581825, L"Modern", L"Arial", 0, 1252},
166     {0x835a2823, L"Algerian", L"Arial", 0, 1252},
167     {0x83dab9f5, L"Script", L"Arial", 0, 1252},
168     {0x847b56da, L"Tahoma", L"Arial", 0, 1252},
169     {0x8a783cb2, L"SimSun-PUA", L"Arial", 0, 1252},
170     {0x8b5cac0e, L"Onyx", L"Arial", 0, 1252},
171     {0x8c6a499e, L"Gulim", L"Arial", 0, 1252},
172     {0x8e0af790, L"JuiceITC", L"Arial", 0, 1252},
173     {0x8e8d43b2, L"Centaur", L"Arial", 2, 1252},
174     {0x8ee4dcca, L"BookshelfSymbol7", L"Arial", 0, 1252},
175     {0x90794800, L"BellGothicStdLight", L"Bell MT,Calibri,Times New Roman", 0,
176      1252},
177     {0x909b516a, L"Century", L"Arial", 2, 1252},
178     {0x92ae370d, L"MSOutlook", L"Arial", 4, 42},
179     {0x93c9fbf1, L"LucidaFax", L"Arial", 2, 1252},
180     {0x9565085e, L"BookAntiqua", L"Arial", 2, 1252},
181     {0x9856d95d, L"AdobeMingStdL", L"Arial,Arial Unicode MS,Cambria,BatangChe",
182      0, 949},
183     {0x9bbadd6b, L"ColonnaMT", L"Arial", 0, 1252},
184     {0x9cbd16a4, L"ShowcardGothic-Reg", L"Arial", 0, 1252},
185     {0x9d73008e, L"MSSansSerif", L"Arial", 0, 1252},
186     {0xa0607db1, L"GungsuhChe", L"Arial", 1, 1252},
187     {0xa0bcf6a1, L"LatinWide", L"Arial", 2, 1252},
188     {0xa1429b36, L"Symbol", L"Arial", 6, 42},
189     {0xa1fa5abc, L"Wingdings2", L"Arial", 6, 42},
190     {0xa1fa5abd, L"Wingdings3", L"Arial", 6, 42},
191     {0xa427bad4, L"InformalRoman-Regular", L"Arial", 8, 1252},
192     {0xa8b92ece, L"FZSTK--GBK1-0", L"Arial", 0, 936},
193     {0xa8d83ece, L"CalifornianFB", L"Arial", 2, 1252},
194     {0xaa3e082c, L"Kingsoft-Phonetic", L"Arial", 0, 1252},
195     {0xaa6bcabe, L"HarlowSolidItalic", L"Arial", 0, 1252},
196     {0xade5337c, L"MSUIGothic", L"Arial", 0, 1252},
197     {0xb08dd941, L"WideLatin", L"Arial", 2, 1252},
198     {0xb207f05d, L"PoorRichard", L"Arial", 2, 1252},
199     {0xb3bc492f, L"JuiceITC-Regular", L"Arial", 0, 1252},
200     {0xb5545399, L"Marlett", L"Arial", 4, 42},
201     {0xb5dd1ebb, L"BritannicBold", L"Arial", 0, 1252},
202     {0xb699c1c5, L"LucidaCalligraphy-Italic", L"Arial", 0, 1252},
203     {0xb725d629, L"TimesNewRoman", L"Arial", 2, 1252},
204     {0xb7eaebeb, L"AdobeHeitiStdR", L"Batang,Century,Dotum", 0, 936},
205     {0xbd29c486, L"BerlinSansFBDemi-Bold", L"Arial", 0, 1252},
206     {0xbe8a8db4, L"BookshelfSymbolSeven", L"Arial", 0, 1252},
207     {0xc16c0118, L"AdobeHebrew", L"Bell MT,Berlin Sans FB,Calibri", 0, 1252},
208     {0xc318b0af, L"MyriadProLight", L"Calibri,STFangsong,Times New Roman", 0,
209      1252},
210     {0xc65e5659, L"CambriaMath", L"Arial", 2, 1252},
211     {0xc75c8f05, L"LucidaConsole", L"Arial", 1, 1252},
212     {0xca7c35d6, L"Calibri", L"Arial", 0, 1252},
213     {0xcb053f53, L"MicrosoftYaHei", L"Arial", 0, 936},
214     {0xcb7190f9, L"Magneto-Bold", L"Arial", 0, 1252},
215     {0xcca00cc5, L"System", L"Arial", 0, 1252},
216     {0xccad6f76, L"Jokerman-Regular", L"Arial", 0, 1252},
217     {0xccc5818c, L"EuroSign", L"Arial", 0, 1252},
218     {0xcf3d7234, L"LucidaHandwriting-Italic", L"Arial", 0, 1252},
219     {0xcf7b8fdb, L"MinionPro",
220      L"Bell MT,Corbel,Times New Roman,Cambria,Berlin Sans FB", 0, 1252},
221     {0xcfe5755f, L"Simhei", L"Arial", 1, 936},
222     {0xd011f4ee, L"MSPGothic", L"Arial", 0, 1252},
223     {0xd060e7ef, L"Vivaldi", L"Arial", 8, 1252},
224     {0xd07edec1, L"FranklinGothic-Medium", L"Arial", 0, 1252},
225     {0xd107243f, L"SimSun", L"Arial", 0, 936},
226     {0xd1881562, L"ArialNarrow", L"Arial Narrow", 0, 1252},
227     {0xd22b7dce, L"BodoniMTPosterCompressed", L"Arial", 0, 1252},
228     {0xd22bfa60, L"ComicSansMS", L"Arial", 8, 1252},
229     {0xd3bd0e35, L"Bauhaus93", L"Arial", 0, 1252},
230     {0xd429ee7a, L"STFangsong", L"Arial", 0, 936},
231     {0xd6679c12, L"BernardMTCondensed", L"Arial", 0, 1252},
232     {0xd8e8a027, L"LucidaSans", L"Arial", 0, 1252},
233     {0xd9fe7761, L"HighTowerText-Reg", L"Arial", 2, 1252},
234     {0xda7e551e, L"STSong", L"Arial", 0, 936},
235     {0xdaa6842d, L"STZhongsong", L"Arial", 0, 936},
236     {0xdaaab93f, L"STFangsong", L"Arial", 0, 936},
237     {0xdaeb0713, L"STSong", L"Arial", 0, 936},
238     {0xdafedbef, L"STCaiyun", L"Arial", 0, 936},
239     {0xdb00a3d9, L"Broadway", L"Arial", 0, 1252},
240     {0xdb1f5ad4, L"STXinwei", L"Arial", 0, 936},
241     {0xdb326e7f, L"STKaiti", L"Arial", 0, 936},
242     {0xdb69595a, L"STHupo", L"Arial", 0, 936},
243     {0xdba0082c, L"STXihei", L"Arial", 0, 936},
244     {0xdbd0ab18, L"STXingkai", L"Arial", 0, 936},
245     {0xdc1a7db1, L"STLiti", L"Arial", 0, 936},
246     {0xdc33075f, L"KristenITC-Regular", L"Arial", 8, 1252},
247     {0xdcc7009c, L"Harrington", L"Arial", 0, 1252},
248     {0xdd712466, L"ArialBlack", L"Arial", 0, 1252},
249     {0xdde87b3e, L"Impact", L"Arial", 0, 1252},
250     {0xdf69fb32, L"SnapITC", L"Arial", 0, 1252},
251     {0xdf8b25e8, L"CenturyGothic", L"Arial", 0, 1252},
252     {0xe0f705c0, L"KristenITC", L"Arial", 8, 1252},
253     {0xe1427573, L"Raavi", L"Arial", 0, 1252},
254     {0xe2cea0cb, L"Magneto", L"Arial", 0, 1252},
255     {0xe36a9e17, L"Ravie", L"Arial", 0, 1252},
256     {0xe433f8e2, L"Parchment", L"Arial", 8, 1252},
257     {0xe43dff4a, L"Wingdings", L"Arial", 4, 42},
258     {0xe4e2c405, L"MTExtra", L"Arial", 6, 42},
259     {0xe618cc35, L"InformalRoman", L"Arial", 8, 1252},
260     {0xe6c27ffc, L"Mistral", L"Arial", 8, 1252},
261     {0xe7ebf4b9, L"Courier", L"Courier New", 0, 1252},
262     {0xe8bc4a9d, L"MSReferenceSpecialty", L"Arial", 0, 1252},
263     {0xe90fb013, L"TempusSansITC", L"Arial", 0, 1252},
264     {0xec637b42, L"Consolas", L"Verdana", 1, 1252},
265     {0xed3a683b, L"STXinwei", L"Arial", 0, 936},
266     {0xef264cd1, L"LucidaHandwriting", L"Arial", 0, 1252},
267     {0xf086bca2, L"BaskervilleOldFace", L"Arial", 0, 1252},
268     {0xf1028030, L"Mangal", L"Arial", 2, 1252},
269     {0xf1da7eb9, L"ShowcardGothic", L"Arial", 0, 1252},
270     {0xf210f06a, L"ArialMT", L"Arial", 0, 1252},
271     {0xf477f16a, L"Latha", L"Arial", 0, 1252},
272     {0xf616f3dd, L"LiSu", L"Arial", 1, 936},
273     {0xfa479aa6, L"MicrosoftYaHei", L"Arial", 0, 936},
274     {0xfcd19697, L"BookmanOldStyle", L"Arial", 0, 1252},
275     {0xfe209a82, L"LucidaCalligraphy", L"Arial", 0, 1252},
276     {0xfef135f8, L"AdobeHeitiStd-Regular", L"Batang,Century,Dotum", 0, 936},
277 };
278 #elif _FXM_PLATFORM_ == _FXM_PLATFORM_LINUX_
279 const XFA_FONTINFO g_XFAFontsMap[] = {
280     {0x01d5d33e, L"SimSun",
281      L"WenQuanYi Zen Hei Mono,AR PL UMing CN,AR PL UMing HK,AR PL UMing TW,AR "
282      L"PL UMing TW MBE",
283      0, 936},
284     {0x01e4f102, L"YouYuan",
285      L"WenQuanYi Zen Hei Mono,AR PL UMing CN,AR PL UMing HK,AR PL UMing TW,AR "
286      L"PL UMing TW MBE",
287      1, 936},
288     {0x030549dc, L"LiSu",
289      L"WenQuanYi Zen Hei,WenQuanYi Zen Hei Sharp,WenQuanYi Zen Hei "
290      L"Mono,WenQuanYi Micro Hei",
291      1, 936},
292     {0x032edd44, L"Simhei",
293      L"WenQuanYi Zen Hei,WenQuanYi Zen Hei Sharp,WenQuanYi Zen Hei "
294      L"Mono,WenQuanYi Micro Hei",
295      1, 936},
296     {0x03eac6fc, L"PoorRichard-Regular", L"Droid Sans Japanese,FreeSerif", 2,
297      1252},
298     {0x03ed90e6, L"Nina", L"FreeSerif", 0, 1252},
299     {0x077b56b3, L"KingsoftPhoneticPlain",
300      L"Tibetan Machine Uni,LKLUG,Samyak Gujarati,Droid Sans Thai,Droid Sans "
301      L"Armenian,Untitled1,utkal,Lohit Oriya",
302      0, 1252},
303     {0x078ed524, L"MicrosoftSansSerif",
304      L"Droid Sans Japanese,FreeSerif,WenQuanYi Micro Hei", 0, 1252},
305     {0x089b18a9, L"Arial",
306      L"Droid Sans Japanese,DejaVu Sans Condensed,FreeSerif,WenQuanYi Micro Hei",
307      0, 1252},
308     {0x0b2cad72, L"MonotypeCorsiva", L"Droid Sans Japanese,FreeSerif", 8, 1252},
309     {0x0bb003e7, L"Kartika",
310      L"FreeSans,Liberation Sans,Liberation Sans Narrow,Nimbus Sans "
311      L"L,Garuda,FreeSerif,WenQuanYi Micro Hei",
312      2, 1252},
313     {0x0bb469df, L"VinerHandITC",
314      L"Droid Sans Japanese,Ubuntu,Liberation Sans,Liberation Serif", 8, 1252},
315     {0x0bc1a851, L"SegoeUI", L"Droid Sans Japanese,DejaVu Sans", 0, 1252},
316     {0x0c112ebd, L"KozukaGothicPro-VIM", L"FreeSerif", 0, 1252},
317     {0x0cfcb9c1, L"AdobeThai", L"Droid Sans Japanese,Waree", 0, 847},
318     {0x0e7de0f9, L"Playbill",
319      L"KacstQurn,Droid Arabic Naskh,Droid Sans Ethiopic,mry_KacstQurn,Droid "
320      L"Sans Ethiopic,Droid Sans Japanese,FreeSerif",
321      0, 1252},
322     {0x0eff47c3, L"STHupo", L"AR PL UKai HK,AR PL UMing HK,AR PL UKai CN", 0,
323      936},
324     {0x107ad374, L"Constantia",
325      L"Droid Sans Japanese,FreeSerif,WenQuanYi Micro Hei,Ubuntu", 2, 1252},
326     {0x12194c2d, L"KunstlerScript", L"Droid Sans Japanese,Liberation Serif", 8,
327      1252},
328     {0x135ef6a1, L"MinionProSmBd", L"Liberation Serif", 0, 1252},
329     {0x158c4049, L"Garamond",
330      L"Droid Sans Japanese,Liberation Serif,Ubuntu,FreeSerif", 2, 1252},
331     {0x160ecb24, L"STZhongsong",
332      L"WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei "
333      L"Sharp,WenQuanYi Micro Hei",
334      0, 936},
335     {0x161ed07e, L"MSGothic",
336      L"WenQuanYi Micro Hei Mono,WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,AR PL "
337      L"UMing CN,AR PL UMing HK,AR PL UMing TW",
338      1, 1252},
339     {0x171d1ed1, L"SnapITC-Regular",
340      L"Liberation Sans Narrow,Ubuntu Condensed,Nimbus Sans L,DejaVu Sans", 0,
341      1252},
342     {0x18d1188f, L"Cambria", L"Droid Sans Japanese,FreeSerif,FreeMono", 2,
343      1252},
344     {0x18eaf350, L"ArialUnicodeMS",
345      L"WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei "
346      L"Sharp,WenQuanYi Micro Hei",
347      0, 936},
348     {0x1a92d115, L"MingLiU",
349      L"WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei "
350      L"Sharp,WenQuanYi Micro Hei",
351      1, 1252},
352     {0x1cc217c6, L"TrebuchetMS",
353      L"Droid Sans Japanese,Liberation Serif,FreeSerif,Ubuntu", 0, 1252},
354     {0x1d649596, L"BasemicTimes",
355      L"Liberation Serif,Times New Roman,Droid Sans Japanese,FreeSerif,Ubuntu",
356      0, 1252},
357     {0x1e34ee60, L"BellMT",
358      L"KacstQurn,Droid Sans Japanese,Ubuntu,Liberation Serif", 2, 1252},
359     {0x1eb36945, L"CooperBlack",
360      L"KacstQurn,Droid Sans Japanese,FreeMono,Liberation Mono, WenQuanYi Micro "
361      L"Hei Mono",
362      2, 1252},
363     {0x1ef7787d, L"BatangChe",
364      L"WenQuanYi Zen Hei Mono,AR PL UMing CN,AR PL UMing HK,AR PL UMing "
365      L"TW,WenQuanYi Zen Hei,WenQuanYi Micro Hei",
366      1, 1252},
367     {0x20b3bd3a, L"BrushScriptMT",
368      L"KacstQurn,Droid Arabic Naskh,Droid Sans Ethiopic,Droid Sans "
369      L"Japanese,URW Chancery L,Liberation Sans",
370      8, 1252},
371     {0x220877aa, L"Candara", L"Droid Sans Japanese,DejaVu Sans", 0, 1252},
372     {0x22135007, L"FreestyleScript-Regular",
373      L"KacstQurn,Droid Sans Japanese,Liberation Sans", 8, 1252},
374     {0x251059c3, L"Chiller",
375      L"KacstQurn,Droid Arabic Naskh,Droid Sans Ethiopic,Droid Sans "
376      L"Japanese,Liberation Sans",
377      0, 1252},
378     {0x25bed6dd, L"MSReferenceSansSerif",
379      L"DejaVu Sans Condensed,Ubuntu Condensed,Droid Sans Japanese,AR PL UKai "
380      L"HK",
381      0, 1252},
382     {0x28154c81, L"Parchment-Regular", L"Droid Sans Japanese,Liberation Sans",
383      8, 1252},
384     {0x29711eb9, L"STLiti", L"AR PL UKai HK", 0, 936},
385     {0x2b1993b4, L"Basemic",
386      L"Liberation Serif,Droid Sans Japanese,Liberation Sans", 0, 1252},
387     {0x2b316339, L"NiagaraSolid-Reg", L"Droid Sans Japanese,Liberation Sans", 0,
388      1252},
389     {0x2c147529, L"FootlightMTLight",
390      L"KacstQurn,Droid Sans Japanese,Liberation Sans", 0, 1252},
391     {0x2c198928, L"HarlowSolid",
392      L"KacstQurn,Droid Sans Japanese,Liberation Sans", 0, 1252},
393     {0x2c6ac6b2, L"LucidaBright",
394      L"KacstQurn,Droid Arabic Naskh,Droid Sans Ethiopic,mry_KacstQurn,Droid "
395      L"Sans Japanese,Liberation Sans",
396      2, 1252},
397     {0x2c9f38e2, L"KozukaMinchoPro-VIR", L"DejaVu Sans", 0, 1252},
398     {0x2d5a47b0, L"STCaiyun", L"AR PL UKai HK", 0, 936},
399     {0x2def26bf, L"BernardMT-Condensed",
400      L"KacstQurn,Droid Sans Japanese,DejaVu Serif", 0, 1252},
401     {0x2fd8930b, L"KozukaMinchoPr6NR", L"DejaVu Serif", 0, 1252},
402     {0x3115525a, L"FangSong_GB2312",
403      L"WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei "
404      L"Sharp,WenQuanYi Micro Hei",
405      0, 1252},
406     {0x31327817, L"MyriadPro",
407      L"Ubuntu Condensed,Droid Sans Japanese, FreeSerif", 0, 1252},
408     {0x32244975, L"Helvetica",
409      L"Ubuntu,DejaVu Sans Condensed,Liberation Sans,Liberation Sans "
410      L"Narrow,Nimbus Sans L",
411      0, 1252},
412     {0x32ac995c, L"Terminal", L"DejaVu Serif", 0, 1252},
413     {0x338d648a, L"NiagaraEngraved-Reg", L"Droid Sans Japanese,DejaVu Serif", 0,
414      1252},
415     {0x33bb65f2, L"Sylfaen", L"Droid Sans Japanese,DejaVu Sans", 2, 1252},
416     {0x3402c30e, L"MSPMincho",
417      L"WenQuanYi Zen Hei Mono,AR PL UMing CN,AR PL UMing HK,AR PL UMing TW", 2,
418      1252},
419     {0x3412bf31, L"SimSun-PUA",
420      L"WenQuanYi Zen Hei Mono,AR PL UMing CN,AR PL UMing CN,AR PL UMing HK", 0,
421      936},
422     {0x36eb39b9, L"BerlinSansFB",
423      L"Droid Sans Japanese,Liberation Serif,Ubuntu,FreeSerif", 0, 1252},
424     {0x36f42055, L"UniversATT", L"Microsoft Sans Serif", 0, 1252},
425     {0x3864c4f6, L"HighTowerText", L"Droid Sans Japanese,DejaVu Serif", 2,
426      1252},
427     {0x3a257d03, L"FangSong_GB2312",
428      L"WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei", 0, 1252},
429     {0x3c7d1d07, L"Garamond3LTStd",
430      L"Droid Sans Japanese,Ubuntu Condensed,DejaVu Sans Condensed,Liberation "
431      L"Serif,Ubuntu,FreeSerif",
432      2, 1252},
433     {0x3cdae668, L"FreestyleScript",
434      L"KacstQurn,Droid Sans Japanese,DejaVu Sans", 8, 1252},
435     {0x3d55aed7, L"Jokerman", L"Droid Sans Japanese,DejaVu Sans", 0, 1252},
436     {0x3d5b4385, L"PMingLiU",
437      L"WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei "
438      L"Sharp,WenQuanYi Micro Hei",
439      2, 1252},
440     {0x3d9b7669, L"EstrangeloEdessa", L"Droid Sans Japanese,DejaVu Sans", 0,
441      1252},
442     {0x3e532d74, L"FranklinGothicMedium", L"Droid Sans Japanese,Ubuntu", 0,
443      1252},
444     {0x3e6aa32d, L"NSimSun",
445      L"WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei "
446      L"Sharp,WenQuanYi Micro Hei",
447      1, 936},
448     {0x3f6c36a8, L"Gautami",
449      L"Droid Arabic Naskh,Droid Sans Ethiopic, mry_KacstQurn,Droid Sans "
450      L"Japanese,FreeSans",
451      0, 1252},
452     {0x3ff32662, L"Chiller-Regular",
453      L"KacstQurn,Droid Arabic Naskh,Droid Sans Ethiopic,FreeSans", 0, 1252},
454     {0x409de312, L"ModernNo.20",
455      L"KacstQurn,Droid Sans Japanese,Nimbus Sans L,Nimbus Sans L,FreeSans", 2,
456      1252},
457     {0x41443c5e, L"Georgia", L"Droid Sans Japanese,FreeSans", 2, 1252},
458     {0x4160ade5, L"BellGothicStdBlack", L"FreeSans", 0, 1252},
459     {0x421976c4, L"Modern-Regular", L"FreeSans", 2, 1252},
460     {0x422a7252, L"Stencil", L"Droid Sans Japanese,FreeSans,Liberation Sans", 0,
461      1252},
462     {0x42c8554f, L"Fixedsys", L"FreeSerif", 0, 1252},
463     {0x435cb41d, L"Roman", L"FreeSerif", 0, 1252},
464     {0x47882383, L"CourierNew",
465      L"FreeMono,WenQuanYi Micro Hei Mono,AR PL UKai CN,AR PL UKai HK,AR PL "
466      L"UKai TW,AR PL UKai TW MBE,DejaVu Sans",
467      1, 1252},
468     {0x480a2338, L"BerlinSansFBDemi", L"Droid Sans Japanese,Liberation Serif",
469      0, 1252},
470     {0x480bf7a4, L"CourierStd", L"DejaVu Sans", 0, 1252},
471     {0x481ad6ed, L"VladimirScript", L"Droid Sans Japanese,DejaVu Serif", 8,
472      1252},
473     {0x4911577a, L"YouYuan",
474      L"WenQuanYi Zen Hei Mono,AR PL UMing CN,AR PL UMing HK,AR PL UMing TW", 1,
475      936},
476     {0x4a788d72, L"STXingkai", L"AR PL UKai HK,AR PL UMing HK,AR PL UKai CN", 0,
477      936},
478     {0x4bf88566, L"SegoeCondensed", L"FreeSerif", 0, 1252},
479     {0x4ccf51a4, L"BerlinSansFB-Reg", L"Droid Sans Japanese,Liberation Serif",
480      0, 1252},
481     {0x4ea967ce, L"GulimChe",
482      L"WenQuanYi Zen Hei Mono,AR PL UKai CN,AR PL UKai HK,AR PL UKai TW,AR PL "
483      L"UKai TW MBE",
484      1, 1252},
485     {0x4f68bd79, L"LetterGothicStd",
486      L"FreeMono,Liberation Mono,Andale Mono,WenQuanYi Micro Hei Mono", 0, 1252},
487     {0x51a0d0e6, L"KozukaGothicPr6NM", L"FreeSerif", 0, 1252},
488     {0x531b3dea, L"BasemicSymbol", L"FreeSerif", 0, 1252},
489     {0x5333fd39, L"CalifornianFB-Reg",
490      L"Droid Sans Japanese,URW Chancery L,FreeSerif", 2, 1252},
491     {0x53561a54, L"FZYTK--GBK1-0",
492      L"WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei "
493      L"Sharp,WenQuanYi Micro Hei",
494      0, 936},
495     {0x55e0dde6, L"LucidaSansTypewriter",
496      L"Ubuntu Mono,DejaVu Sans Mono,Nimbus Mono L,Liberation Mono,Courier 10 "
497      L"Pitch,FreeMono",
498      0, 1252},
499     {0x574d4d3d, L"AdobeArabic", L"Droid Sans Japanese,DejaVu Sans", 0, 1252},
500     {0x5792e759, L"STKaiti", L"WenQuanYi Micro Hei Mono", 0, 936},
501     {0x5921978e, L"LucidaSansUnicode", L"Droid Sans Japanese,DejaVu Sans", 0,
502      1252},
503     {0x594e2da4, L"Vrinda",
504      L"Droid Arabic Naskh,Droid Sans Ethiopic,Droid Arabic "
505      L"Naskh,mry_KacstQurn,Droid Sans Japanese,FreeSans,FreeSerif",
506      0, 1252},
507     {0x59baa9a2, L"KaiTi_GB2312",
508      L"WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei "
509      L"Sharp,WenQuanYi Micro Hei",
510      0, 1252},
511     {0x5cfedf4f, L"BaskOldFace",
512      L"KacstQurn,Droid Sans Japanese,Ubuntu,Liberation Serif", 0, 1252},
513     {0x5e16ac91, L"TrajanPro",
514      L"Nimbus Sans L,AR PL UMing HK,AR PL UKai HK,AR PL UMing TW,AR PL UMing "
515      L"TW MBE,DejaVu Sans,DejaVu Serif",
516      0, 1252},
517     {0x5f388196, L"ITCLegacySansStdMedium",
518      L"Liberation Serif,FreeSerif,FreeSans,Ubuntu", 0, 1252},
519     {0x5f97921c, L"AdobeMyungjoStdM",
520      L"WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei "
521      L"Sharp,WenQuanYi Micro Hei",
522      0, 936},
523     {0x5fefbfad, L"Batang",
524      L"WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei "
525      L"Sharp,WenQuanYi Micro Hei",
526      2, 1252},
527     {0x605342b9, L"DotumChe",
528      L"WenQuanYi Zen Hei Mono,AR PL UMing CN,AR PL UMing HK,AR PL UMing TW", 1,
529      1252},
530     {0x608c5f9a, L"KaiTi_GB2312",
531      L"WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei "
532      L"Sharp,WenQuanYi Micro Hei",
533      0, 936},
534     {0x61efd0d1, L"MaturaMTScriptCapitals",
535      L"KacstQurn,Droid Arabic Naskh,Droid Sans Ethiopic,mry_KacstQurn,Droid "
536      L"Sans Japanese,DejaVu Serif,DejaVu Sans",
537      0, 1252},
538     {0x626608a9, L"MVBoli",
539      L"Droid Arabic Naskh,Droid Sans Ethiopic,mry_KacstQurn,Droid Sans "
540      L"Ethiopic,Droid Sans Japanese,DejaVu Sans",
541      0, 1252},
542     {0x630501a3, L"SmallFonts", L"DejaVu Serif", 0, 1252},
543     {0x65d0e2a9, L"FZYTK--GBK1-0",
544      L"WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei "
545      L"Sharp,WenQuanYi Micro Hei",
546      0, 936},
547     {0x669f29e1, L"FZSTK--GBK1-0",
548      L"AR PL UMing CN,AR PL UKai CN, AR PL UMing HK", 0, 936},
549     {0x673a9e5f, L"Tunga",
550      L"Droid Arabic Naskh,Droid Sans Ethiopic,mry_KacstQurn,Droid Sans "
551      L"Japanese,DejaVu Serif",
552      0, 1252},
553     {0x691aa4ce, L"NiagaraSolid", L"Droid Sans Japanese,DejaVu Serif", 0, 1252},
554     {0x696259b7, L"Corbel", L"Droid Sans Japanese,DejaVu Sans", 0, 1252},
555     {0x696ee9be, L"STXihei", L"WenQuanYi Micro Hei Mono", 0, 936},
556     {0x6c59cf69, L"Dotum", L"WenQuanYi Zen Hei Mono", 0, 1252},
557     {0x707fa561, L"Gungsuh", L"WenQuanYi Zen Hei Mono", 2, 1252},
558     {0x71416bb2, L"ZWAdobeF",
559      L"KacstArt,KacstBookm,KacstDecorative,KacstDigital,KacstFarsi,KacstLetter,"
560      L"KacstOffice,Dingbats,FreeSerif",
561      0, 1252},
562     {0x71b41801, L"Verdana",
563      L"DejaVu Sans Condensed,Ubuntu Condensed,Droid Sans Japanese,DejaVu Sans",
564      0, 1252},
565     {0x73f25e4c, L"PalatinoLinotype", L"Droid Sans Japanese,FreeSerif", 0,
566      1252},
567     {0x73f4d19f, L"NiagaraEngraved", L"Droid Sans Japanese,FreeSerif", 0, 1252},
568     {0x74001694, L"MyriadProBlack", L"Droid Sans Japanese,AR PL UKai HK", 0,
569      1252},
570     {0x74b14d8f, L"Haettenschweiler", L"Droid Sans Japanese,DejaVu Serif", 0,
571      1252},
572     {0x74cb44ee, L"NSimSun", L"WenQuanYi Zen Hei Mono", 1, 936},
573     {0x76b4d7ff, L"Shruti",
574      L"Droid Arabic Naskh,Droid Sans Ethiopic,mry_KacstQurn,Droid Sans "
575      L"Japanese,FreeSans",
576      0, 1252},
577     {0x788b3533, L"Webdings", L"FreeSans", 6, 42},
578     {0x797dde99, L"MSSerif", L"FreeSans", 0, 1252},
579     {0x7a0f9e9e, L"MSMincho",
580      L"WenQuanYi Micro Hei Mono,AR PL UMing CN,AR PL UMing HK,AR PL UMing TW",
581      1, 1252},
582     {0x7b439caf, L"OldEnglishTextMT",
583      L"Droid Sans Japanese,Liberation Sans,Ubuntu", 0, 1252},
584     {0x8213a433, L"LucidaSans-Typewriter",
585      L"Ubuntu Mono,Liberation Mono,DejaVu Sans Mono", 0, 1252},
586     {0x82fec929, L"AdobeSongStdL",
587      L"WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei "
588      L"Sharp,WenQuanYi Micro Hei",
589      0, 936},
590     {0x83581825, L"Modern", L"FreeSans", 0, 1252},
591     {0x835a2823, L"Algerian",
592      L"KacstQurn,Droid Sans Japanese,FreeSans,Liberation Sans,Ubuntu", 0, 1252},
593     {0x83dab9f5, L"Script", L"FreeSans", 0, 1252},
594     {0x847b56da, L"Tahoma",
595      L"Droid Sans Japanese,DejaVu Sans Condensed,FreeSerif", 0, 1252},
596     {0x8a783cb2, L"SimSun-PUA",
597      L"WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei "
598      L"Sharp,WenQuanYi Micro Hei",
599      0, 1252},
600     {0x8b5cac0e, L"Onyx", L"Droid Sans Japanese,Liberation Sans", 0, 1252},
601     {0x8c6a499e, L"Gulim",
602      L"WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei "
603      L"Sharp,WenQuanYi Micro Hei",
604      0, 1252},
605     {0x8e0af790, L"JuiceITC", L"Droid Sans Japanese,Liberation Sans", 0, 1252},
606     {0x8e8d43b2, L"Centaur",
607      L"KacstQurn,Droid Sans Japanese,Khmer OS,Khmer OS System", 2, 1252},
608     {0x8ee4dcca, L"BookshelfSymbol7", L"Liberation Sans", 0, 1252},
609     {0x90794800, L"BellGothicStdLight", L"Liberation Sans", 0, 1252},
610     {0x909b516a, L"Century",
611      L"Droid Sans Japanese,Liberation Sans,Liberation Mono,Liberation Serif", 2,
612      1252},
613     {0x92ae370d, L"MSOutlook", L"Liberation Sans", 4, 42},
614     {0x93c9fbf1, L"LucidaFax",
615      L"KacstQurn,Droid Arabic Naskh,Droid Sans "
616      L"Ethiopic,mry_KacstQurn,Liberation Sans",
617      2, 1252},
618     {0x9565085e, L"BookAntiqua",
619      L"Droid Sans Japanese,Liberation Sans,Liberation Serif", 2, 1252},
620     {0x9856d95d, L"AdobeMingStdL", L"AR PL UMing HK", 0, 949},
621     {0x9bbadd6b, L"ColonnaMT",
622      L"KacstQurn,Droid Sans Japanese,Khmer OS,Khmer OS System", 0, 1252},
623     {0x9cbd16a4, L"ShowcardGothic-Reg",
624      L"Droid Sans Japanese,Liberation Sans,Ubuntu", 0, 1252},
625     {0x9d73008e, L"MSSansSerif", L"FreeSerif", 0, 1252},
626     {0xa0607db1, L"GungsuhChe",
627      L"WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei "
628      L"Sharp,WenQuanYi Micro Hei",
629      1, 1252},
630     {0xa0bcf6a1, L"LatinWide", L"FreeSerif", 2, 1252},
631     {0xa1429b36, L"Symbol", L"FreeSerif", 6, 42},
632     {0xa1fa5abc, L"Wingdings2", L"FreeSerif", 6, 42},
633     {0xa1fa5abd, L"Wingdings3", L"FreeSerif", 6, 42},
634     {0xa427bad4, L"InformalRoman-Regular",
635      L"Droid Arabic Naskh,Droid Sans Ethiopic,mry_KacstQurn,Droid Sans "
636      L"Japanese,FreeSerif",
637      8, 1252},
638     {0xa8b92ece, L"FZSTK--GBK1-0", L"AR PL UMing CN", 0, 936},
639     {0xa8d83ece, L"CalifornianFB", L"Droid Sans Japanese,FreeSerif", 2, 1252},
640     {0xaa3e082c, L"Kingsoft-Phonetic",
641      L"Tibetan Machine Uni,LKLUG,Samyak Gujarati,Droid Sans "
642      L"Thai,utkal,Kedage,Mallige,AR PL UKai CN",
643      0, 1252},
644     {0xaa6bcabe, L"HarlowSolidItalic",
645      L"KacstQurn,Droid Sans Japanese,Liberation Serif", 0, 1252},
646     {0xade5337c, L"MSUIGothic",
647      L"WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei "
648      L"Sharp,WenQuanYi Micro Hei",
649      0, 1252},
650     {0xb08dd941, L"WideLatin",
651      L"KacstQurn,Droid Arabic Naskh,Droid Sans Ethiopic,mry_KacstQurn,Droid "
652      L"Sans Japanese,Liberation Serif",
653      2, 1252},
654     {0xb12765e0, L"ITCLegacySansStdBook",
655      L"AR PL UMing HK,AR PL UKai HK,FreeSerif,Ubuntu,FreeSans", 0, 1252},
656     {0xb207f05d, L"PoorRichard", L"Droid Sans Japanese,Liberation Serif", 2,
657      1252},
658     {0xb3bc492f, L"JuiceITC-Regular", L"Droid Sans Japanese,Liberation Serif",
659      0, 1252},
660     {0xb5545399, L"Marlett", L"Liberation Serif", 4, 42},
661     {0xb5dd1ebb, L"BritannicBold",
662      L"KacstQurn,Droid Arabic Naskh,Droid Sans "
663      L"Ethiopic,mry_KacstQurn,Liberation Serif",
664      0, 1252},
665     {0xb699c1c5, L"LucidaCalligraphy-Italic",
666      L"KacstQurn,Droid Arabic Naskh,Droid Sans Ethiopic,mry_KacstQurn,Droid "
667      L"Sans Japanese,DejaVu Serif",
668      0, 1252},
669     {0xb725d629, L"TimesNewRoman", L"Droid Sans Japanese,Liberation Sans", 2,
670      1252},
671     {0xb7eaebeb, L"AdobeHeitiStdR",
672      L"WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei "
673      L"Sharp,WenQuanYi Micro Hei",
674      0, 936},
675     {0xbd29c486, L"BerlinSansFBDemi-Bold", L"Droid Sans Japanese,DejaVu Serif",
676      0, 1252},
677     {0xbe8a8db4, L"BookshelfSymbolSeven", L"DejaVu Sans", 0, 1252},
678     {0xc16c0118, L"AdobeHebrew", L"Droid Sans Japanese,Ubuntu,Liberation Serif",
679      0, 1252},
680     {0xc318b0af, L"MyriadProLight",
681      L"Droid Sans Japanese,AR PL UKai HK,AR PL UMing HK,AR PL UKai CN", 0,
682      1252},
683     {0xc65e5659, L"CambriaMath", L"Droid Sans Japanese,FreeSerif,FreeMono", 2,
684      1252},
685     {0xc75c8f05, L"LucidaConsole",
686      L"Liberation Mono,DejaVu Sans Mono,FreeMono,WenQuanYi Micro Hei Mono", 1,
687      1252},
688     {0xca7c35d6, L"Calibri", L"Droid Sans Japanese,DejaVu Sans", 0, 1252},
689     {0xcb053f53, L"MicrosoftYaHei",
690      L"WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei "
691      L"Sharp,WenQuanYi Micro Hei",
692      0, 936},
693     {0xcb7190f9, L"Magneto-Bold",
694      L"Droid Arabic Naskh,Droid Sans Ethiopic,mry_KacstQurn,Droid Sans "
695      L"Japanese,DejaVu Serif",
696      0, 1252},
697     {0xcca00cc5, L"System", L"DejaVu Sans", 0, 1252},
698     {0xccad6f76, L"Jokerman-Regular", L"Droid Sans Japanese,DejaVu Sans", 0,
699      1252},
700     {0xccc5818c, L"EuroSign", L"DejaVu Serif", 0, 1252},
701     {0xcf3d7234, L"LucidaHandwriting-Italic",
702      L"Liberation Sans Narrow,Ubuntu Condensed,Nimbus Sans L,DejaVu Serif", 0,
703      1252},
704     {0xcf7b8fdb, L"MinionPro", L"DejaVu Sans", 0, 1252},
705     {0xcfe5755f, L"Simhei",
706      L"WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei "
707      L"Sharp,WenQuanYi Micro Hei",
708      1, 936},
709     {0xd011f4ee, L"MSPGothic",
710      L"WenQuanYi Zen Hei Mono,AR PL UMing CN,AR PL UMing HK,AR PL UMing TW", 0,
711      1252},
712     {0xd060e7ef, L"Vivaldi",
713      L"KacstQurn,Droid Sans Japanese,Liberation Sans,Ubuntu", 8, 1252},
714     {0xd07edec1, L"FranklinGothic-Medium", L"Droid Sans Japanese,Ubuntu", 0,
715      1252},
716     {0xd107243f, L"SimSun", L"WenQuanYi Zen Hei Mono", 0, 936},
717     {0xd1881562, L"ArialNarrow",
718      L"Liberation Sans Narrow,Droid Sans Japanese,FreeSerif", 0, 1252},
719     {0xd22b7dce, L"BodoniMTPosterCompressed",
720      L"Droid Sans Japanese,DejaVu Serif", 0, 1252},
721     {0xd22bfa60, L"ComicSansMS",
722      L"Droid Sans Japanese,FreeMono,Liberation Mono", 8, 1252},
723     {0xd3bd0e35, L"Bauhaus93",
724      L"KacstQurn,Droid Sans Japanese,Liberation Sans,Ubuntu", 0, 1252},
725     {0xd429ee7a, L"STFangsong", L"WenQuanYi Micro Hei Mono", 0, 936},
726     {0xd6679c12, L"BernardMTCondensed",
727      L"KacstQurn,Droid Sans Japanese,Nimbus Sans L,URW Chancery "
728      L"L,KacstOne,Liberation Sans",
729      0, 1252},
730     {0xd8e8a027, L"LucidaSans",
731      L"Liberation Sans Narrow,Nimbus Sans L,KacstQurn,Droid Arabic Naskh,Droid "
732      L"Sans Ethiopic,DejaVu Serif Condensed,Liberation Mono,Ubuntu",
733      0, 1252},
734     {0xd9fe7761, L"HighTowerText-Reg",
735      L"Droid Sans Japanese,Ubuntu,Liberation Serif", 2, 1252},
736     {0xda7e551e, L"STSong", L"WenQuanYi Micro Hei Mono", 0, 936},
737     {0xdaa6842d, L"STZhongsong",
738      L"WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei "
739      L"Sharp,WenQuanYi Micro Hei",
740      0, 936},
741     {0xdaaab93f, L"STFangsong",
742      L"WenQuanYi Micro Hei Mono,WenQuanYi Zen Hei Mono,WenQuanYi Zen "
743      L"Hei,WenQuanYi Zen Hei Sharp",
744      0, 936},
745     {0xdaeb0713, L"STSong",
746      L"WenQuanYi Micro Hei Mono,WenQuanYi Zen Hei Mono,WenQuanYi Zen "
747      L"Hei,WenQuanYi Zen Hei Sharp",
748      0, 936},
749     {0xdafedbef, L"STCaiyun", L"AR PL UKai HK,AR PL UMing HK,AR PL UKai CN", 0,
750      936},
751     {0xdb00a3d9, L"Broadway",
752      L"KacstQurn,Droid Sans Japanese,DejaVu Sans,FreeMono,Liberation Mono", 0,
753      1252},
754     {0xdb1f5ad4, L"STXinwei", L"AR PL UKai HK,AR PL UMing HK,AR PL UKai CN", 0,
755      936},
756     {0xdb326e7f, L"STKaiti",
757      L"WenQuanYi Micro Hei Mono,WenQuanYi Zen Hei Mono,WenQuanYi Zen "
758      L"Hei,WenQuanYi Zen Hei Sharp",
759      0, 936},
760     {0xdb69595a, L"STHupo",
761      L"WenQuanYi Micro Hei Mono,WenQuanYi Zen Hei Mono,WenQuanYi Zen "
762      L"Hei,WenQuanYi Zen Hei Sharp",
763      0, 936},
764     {0xdba0082c, L"STXihei",
765      L" WenQuanYi Micro Hei Mono,WenQuanYi Zen Hei Mono,WenQuanYi Zen "
766      L"Hei,WenQuanYi Zen Hei Sharp",
767      0, 936},
768     {0xdbd0ab18, L"STXingkai", L"AR PL UKai HK,AR PL UMing HK,AR PL UKai CN", 0,
769      936},
770     {0xdc1a7db1, L"STLiti", L"AR PL UKai HK,AR PL UMing HK,AR PL UKai CN", 0,
771      936},
772     {0xdc33075f, L"KristenITC-Regular",
773      L"Droid Arabic Naskh,Droid Sans Ethiopic,mry_KacstQurn,DejaVu Sans "
774      L"Condensed,Ubuntu,Liberation Sans",
775      8, 1252},
776     {0xdcc7009c, L"Harrington",
777      L"KacstQurn,Droid Sans Japanese,Liberation Serif,FreeSerif,Ubuntu", 0,
778      1252},
779     {0xdd712466, L"ArialBlack",
780      L"Droid Sans Japanese,DejaVu Sans,DejaVu Serif,FreeMono", 0, 1252},
781     {0xdde87b3e, L"Impact", L"Droid Sans Japanese,DejaVu Serif", 0, 1252},
782     {0xdf69fb32, L"SnapITC",
783      L"Liberation Sans Narrow,Ubuntu Condensed,DejaVu Sans,DejaVu "
784      L"Serif,FreeMono",
785      0, 1252},
786     {0xdf8b25e8, L"CenturyGothic",
787      L"Droid Sans Japanese,Liberation Mono,Liberation Sans,Liberation Serif", 0,
788      1252},
789     {0xe0f705c0, L"KristenITC",
790      L"Droid Arabic Naskh,Droid Sans Ethiopic,mry_KacstQurn,DejaVu Sans "
791      L"Condensed,Ubuntu,Liberation Sans",
792      8, 1252},
793     {0xe1427573, L"Raavi",
794      L"Droid Arabic Naskh,Droid Sans "
795      L"Ethiopic,mry_KacstQurn,FreeSerif,Liberation Serif,Khmer OS",
796      0, 1252},
797     {0xe2cea0cb, L"Magneto",
798      L"Droid Arabic Naskh,Droid Sans Ethiopic,mry_KacstQurn,DejaVu "
799      L"Serif,DejaVu Serif Condensed,DejaVu Sans",
800      0, 1252},
801     {0xe36a9e17, L"Ravie",
802      L"Droid Arabic Naskh,Droid Sans Ethiopic,mry_KacstQurn,DejaVu "
803      L"Serif,DejaVu Sans,FreeMono",
804      0, 1252},
805     {0xe433f8e2, L"Parchment", L"Droid Sans Japanese,DejaVu Serif", 8, 1252},
806     {0xe43dff4a, L"Wingdings", L"DejaVu Serif", 4, 42},
807     {0xe4e2c405, L"MTExtra", L"DejaVu Serif", 6, 42},
808     {0xe618cc35, L"InformalRoman",
809      L"Droid Arabic Naskh,Droid Sans Ethiopic,mry_KacstQurn,Droid Sans "
810      L"Japanese,Nimbus Sans L,DejaVu Sans Condensed,Ubuntu,Liberation Sans",
811      8, 1252},
812     {0xe6c27ffc, L"Mistral", L"Droid Sans Japanese,DejaVu Serif", 8, 1252},
813     {0xe7ebf4b9, L"Courier", L"DejaVu Sans,DejaVu Sans Condensed,FreeSerif", 0,
814      1252},
815     {0xe8bc4a9d, L"MSReferenceSpecialty", L"DejaVu Serif", 0, 1252},
816     {0xe90fb013, L"TempusSansITC",
817      L"Droid Sans Japanese,Ubuntu,Liberation Serif,FreeSerif", 0, 1252},
818     {0xec637b42, L"Consolas",
819      L"DejaVu Sans Condensed,AR PL UKai CN,AR PL UKai HK,AR PL UKai "
820      L"TW,FreeSerif,FreeSans",
821      1, 1252},
822     {0xed3a683b, L"STXinwei", L"AR PL UKai HK,AR PL UMing HK,AR PL UKai CN", 0,
823      936},
824     {0xef264cd1, L"LucidaHandwriting",
825      L"Liberation Sans Narrow,Ubuntu Condensed,Nimbus Sans "
826      L"L,KacstQurn,Liberation Mono",
827      0, 1252},
828     {0xf086bca2, L"BaskervilleOldFace",
829      L"KacstQurn,Droid Sans Japanese,Liberation Serif,Ubuntu,FreeSerif", 0,
830      1252},
831     {0xf1028030, L"Mangal",
832      L"FreeSans,TSCu_Paranar,Garuda,Liberation Sans,Liberation Sans "
833      L"Narrow,Nimbus Sans L",
834      2, 1252},
835     {0xf1da7eb9, L"ShowcardGothic",
836      L"Droid Sans Japanese,DejaVu Serif Condensed,DejaVu Sans "
837      L"Condensed,Liberation Sans,Ubuntu",
838      0, 1252},
839     {0xf210f06a, L"ArialMT",
840      L"Liberation Sans,Liberation Sans Narrow,FreeSans,Nimbus Sans L,Khmer OS "
841      L"System,Khmer OS",
842      0, 1252},
843     {0xf477f16a, L"Latha",
844      L"Liberation Sans Narrow,Nimbus Sans L,Droid Arabic "
845      L"Naskh,mry_KacstQurn,FreeSerif,Nimbus Sans L",
846      0, 1252},
847     {0xf616f3dd, L"LiSu",
848      L"WenQuanYi Zen Hei Mono,AR PL UMing CN,AR PL UMing HK,AR PL UMing TW,AR "
849      L"PL UMing TW MBE",
850      1, 936},
851     {0xfa479aa6, L"MicrosoftYaHei",
852      L"WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei "
853      L"Sharp,WenQuanYi Micro Hei",
854      0, 936},
855     {0xfcd19697, L"BookmanOldStyle",
856      L"Droid Sans Japanese,Liberation Mono,Liberation Sans,Liberation Serif", 0,
857      1252},
858     {0xfe209a82, L"LucidaCalligraphy",
859      L"KacstQurn,Droid Arabic Naskh,Droid Sans Ethiopic,mry_KacstQurn,Droid "
860      L"Sans Japanese,DejaVu Serif,DejaVu Sans,FreeMono",
861      0, 1252},
862     {0xfef135f8, L"AdobeHeitiStd-Regular",
863      L"WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei "
864      L"Sharp,WenQuanYi Micro Hei",
865      0, 936},
866 };
867 #elif _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_
868 const XFA_FONTINFO g_XFAFontsMap[] = {
869     {0x01d5d33e, L"SimSun", L"STHeiti,Heiti TC,STFangsong", 0, 936},
870     {0x01e4f102, L"YouYuan", L"STHeiti,Heiti TC,STFangsong", 1, 936},
871     {0x030549dc, L"LiSu", L"STHeiti,Heiti TC,STFangsong", 1, 936},
872     {0x032edd44, L"Simhei", L"STHeiti,Heiti TC,STFangsong", 1, 936},
873     {0x03eac6fc, L"PoorRichard-Regular",
874      L"Noteworthy,Avenir Next Condensed,Impact", 2, 1252},
875     {0x03ed90e6, L"Nina", L"Microsoft Sans Serif", 0, 1252},
876     {0x077b56b3, L"KingsoftPhoneticPlain",
877      L"LastResort,Apple "
878      L"Chancery,STIXVariants,STIXSizeOneSym,STIXSizeOneSym,Apple Braille",
879      0, 1252},
880     {0x078ed524, L"MicrosoftSansSerif", L"Songti SC,Apple Symbols", 0, 1252},
881     {0x089b18a9, L"Arial",
882      L"Arial Unicode MS,Microsoft Sans Serif,Apple Symbols", 0, 1252},
883     {0x0b2cad72, L"MonotypeCorsiva", L"Arial Narrow,Impact", 8, 1252},
884     {0x0bb003e7, L"Kartika",
885      L"Arial Unicode MS,Microsoft Sans Serif,Arial Narrow,Damascus", 2, 1252},
886     {0x0bb469df, L"VinerHandITC", L"Comic Sans MS,Songti SC,STSong", 8, 1252},
887     {0x0bc1a851, L"SegoeUI", L"Apple Symbols", 0, 1252},
888     {0x0c112ebd, L"KozukaGothicPro-VIM", L"Microsoft Sans Serif,Apple Symbols",
889      0, 1252},
890     {0x0cfcb9c1, L"AdobeThai", L"Avenir Next Condensed Ultra Light", 0, 847},
891     {0x0e7de0f9, L"Playbill", L"STIXNonUnicode", 0, 1252},
892     {0x0eff47c3, L"STHupo", L"Kaiti SC,Songti SC,STHeiti", 0, 936},
893     {0x107ad374, L"Constantia", L"Arial Unicode MS,Palatino,Baskerville", 2,
894      1252},
895     {0x12194c2d, L"KunstlerScript",
896      L"Avenir Next Condensed Demi Bold,Arial Narrow", 8, 1252},
897     {0x135ef6a1, L"MinionProSmBd", L"Microsoft Sans Serif,Apple Symbols", 0,
898      1252},
899     {0x158c4049, L"Garamond", L"Impact,Arial Narrow", 2, 1252},
900     {0x160ecb24, L"STZhongsong", L"STFangsong,Songti SC", 0, 936},
901     {0x161ed07e, L"MSGothic",
902      L"WenQuanYi Zen Hei Mono,AR PL UMing CN,AR PL UMing HK,AR PL UMing "
903      L"TW,Microsoft Sans Serif,Apple Symbols",
904      1, 1252},
905     {0x171d1ed1, L"SnapITC-Regular", L"STHeiti,Arial Black", 0, 1252},
906     {0x18d1188f, L"Cambria", L"Arial Unicode MS", 2, 1252},
907     {0x18eaf350, L"ArialUnicodeMS", L"Microsoft Sans Serif,Apple Symbols", 0,
908      936},
909     {0x1a92d115, L"MingLiU", L"Heiti SC,STHeiti", 1, 1252},
910     {0x1cc217c6, L"TrebuchetMS", L"Damascus,Impact,Arial Narrow", 0, 1252},
911     {0x1d649596, L"BasemicTimes", L"Liberation Serif,Impact,Arial Narrow", 0,
912      1252},
913     {0x1e34ee60, L"BellMT",
914      L"Papyrus,STIXNonUnicode,Microsoft Sans Serif,Avenir Light", 2, 1252},
915     {0x1eb36945, L"CooperBlack",
916      L"Marion,STIXNonUnicode,Arial Rounded MT Bold,Lucida Grande", 2, 1252},
917     {0x1ef7787d, L"BatangChe",
918      L"WenQuanYi Zen Hei Mono,AR PL UMing CN,,AR PL UMing HK,AR PL UMing TW,AR "
919      L"PL UMing TW MBE,Arial Unicode MS,Heiti TC",
920      1, 1252},
921     {0x20b3bd3a, L"BrushScriptMT",
922      L"STIXNonUnicode,Damascus,Arial Narrow,Avenir Next Condensed,Cochin", 8,
923      1252},
924     {0x220877aa, L"Candara", L"Cochin,Baskerville,Marion", 0, 1252},
925     {0x22135007, L"FreestyleScript-Regular",
926      L"STIXNonUnicode,Nadeem,Zapf Dingbats", 8, 1252},
927     {0x251059c3, L"Chiller",
928      L"Zapf Dingbats,Damascus,STIXNonUnicode,Papyrus,KufiStandardGK,Baghdad", 0,
929      1252},
930     {0x25bed6dd, L"MSReferenceSansSerif",
931      L"Tahoma,Apple Symbols,Apple LiGothic,Arial Unicode MS,Lucida "
932      L"Grande,Microsoft Sans Serif",
933      0, 1252},
934     {0x28154c81, L"Parchment-Regular", L"Microsoft Sans Serif,Apple Symbols", 8,
935      1252},
936     {0x29711eb9, L"STLiti", L"Kaiti SC,Songti SC", 0, 936},
937     {0x2b1993b4, L"Basemic", L"Impact,Arial Narrow", 0, 1252},
938     {0x2b316339, L"NiagaraSolid-Reg", L"Microsoft Sans Serif,Apple Symbols", 0,
939      1252},
940     {0x2c147529, L"FootlightMTLight",
941      L"STIXNonUnicode,Avenir Next Condensed Heavy,PT Sans,Noteworthy", 0, 1252},
942     {0x2c198928, L"HarlowSolid",
943      L"Avenir Medium,Avenir Next Medium,Arial Unicode MS", 0, 1252},
944     {0x2c6ac6b2, L"LucidaBright",
945      L"PT Sans Narrow,Papyrus,Damascus,STIXNonUnicode,Arial Rounded MT "
946      L"Bold,Comic Sans MS,Avenir Next",
947      2, 1252},
948     {0x2c9f38e2, L"KozukaMinchoPro-VIR", L"Microsoft Sans Serif,Apple Symbols",
949      0, 1252},
950     {0x2d5a47b0, L"STCaiyun", L"Kaiti SC,Songti SC", 0, 936},
951     {0x2def26bf, L"BernardMT-Condensed",
952      L"Impact,Avenir Next Condensed Demi Bold,American Typewriter", 0, 1252},
953     {0x2fd8930b, L"KozukaMinchoPr6NR", L"Microsoft Sans Serif,Apple Symbols", 0,
954      1252},
955     {0x3115525a, L"FangSong_GB2312", L"Hiragino Sans GB,STHeiti", 0, 1252},
956     {0x31327817, L"MyriadPro", L"Microsoft Sans Serif,Apple Symbols", 0, 1252},
957     {0x32244975, L"Helvetica",
958      L"Arial Narrow,Arial Unicode MS,Damascus,STIXNonUnicode", 0, 1252},
959     {0x32ac995c, L"Terminal", L"Microsoft Sans Serif,Apple Symbols", 0, 1252},
960     {0x338d648a, L"NiagaraEngraved-Reg", L"Microsoft Sans Serif,Apple Symbols",
961      0, 1252},
962     {0x33bb65f2, L"Sylfaen", L"Arial Unicode MS,Marion", 2, 1252},
963     {0x3402c30e, L"MSPMincho", L"Arial Unicode MS,Apple SD Gothic Neo", 2,
964      1252},
965     {0x3412bf31, L"SimSun-PUA", L"STHeiti,Heiti TC,STFangsong", 0, 936},
966     {0x36eb39b9, L"BerlinSansFB", L"American Typewriter,Impact", 0, 1252},
967     {0x36f42055, L"UniversATT", L"Microsoft Sans Serif", 0, 1252},
968     {0x3864c4f6, L"HighTowerText", L"STIXGeneral,.Helvetica Neue Desk UI", 2,
969      1252},
970     {0x3a257d03, L"FangSong_GB2312", L"Hiragino Sans GB,STHeiti", 0, 1252},
971     {0x3cdae668, L"FreestyleScript", L"Nadeem,Zapf Dingbats,STIXNonUnicode", 8,
972      1252},
973     {0x3d55aed7, L"Jokerman",
974      L"Papyrus,Lucida Grande,Heiti TC,American Typewriter", 0, 1252},
975     {0x3d5b4385, L"PMingLiU", L"Heiti SC,STHeiti", 2, 1252},
976     {0x3d9b7669, L"EstrangeloEdessa", L"American Typewriter,Marion", 0, 1252},
977     {0x3e532d74, L"FranklinGothicMedium", L"Impact,Arial Narrow", 0, 1252},
978     {0x3e6aa32d, L"NSimSun", L"STHeiti,STFangsong", 1, 936},
979     {0x3f6c36a8, L"Gautami",
980      L"Damascus,STIXNonUnicode,STIXGeneral,American Typewriter", 0, 1252},
981     {0x3ff32662, L"Chiller-Regular", L"Papyrus,KufiStandardGK,Baghdad", 0,
982      1252},
983     {0x409de312, L"ModernNo.20", L"Avenir Next Condensed,Impact", 2, 1252},
984     {0x41443c5e, L"Georgia", L".Helvetica Neue Desk UI,Arial Unicode MS", 2,
985      1252},
986     {0x4160ade5, L"BellGothicStdBlack", L"Microsoft Sans Serif,Apple Symbols",
987      0, 1252},
988     {0x421976c4, L"Modern-Regular", L"Impact", 2, 1252},
989     {0x422a7252, L"Stencil", L"STIXNonUnicode,Songti SC,Georgia,Baskerville", 0,
990      1252},
991     {0x42c8554f, L"Fixedsys", L"Microsoft Sans Serif,Apple Symbols", 0, 1252},
992     {0x435cb41d, L"Roman", L"Arial Narrow", 0, 1252},
993     {0x47882383, L"CourierNew", L"PCMyungjo,Osaka,Arial Unicode MS,Songti SC",
994      1, 1252},
995     {0x480a2338, L"BerlinSansFBDemi",
996      L"STIXNonUnicode,American Typewriter,Avenir Next Condensed Heavy", 0,
997      1252},
998     {0x480bf7a4, L"CourierStd", L"Courier New", 0, 1252},
999     {0x481ad6ed, L"VladimirScript",
1000      L"STIXNonUnicode,Avenir Next Condensed,Impact", 8, 1252},
1001     {0x4911577a, L"YouYuan", L"STHeiti,Heiti TC", 1, 936},
1002     {0x4a788d72, L"STXingkai", L"Kaiti SC,Songti SC", 0, 936},
1003     {0x4bf88566, L"SegoeCondensed", L"Microsoft Sans Serif,Apple Symbols", 0,
1004      1252},
1005     {0x4ccf51a4, L"BerlinSansFB-Reg",
1006      L"STIXNonUnicode,American Typewriter,Impact", 0, 1252},
1007     {0x4ea967ce, L"GulimChe", L"Arial Unicode MS,Heiti TC,STFangsong", 1, 1252},
1008     {0x4f68bd79, L"LetterGothicStd",
1009      L"Courier New,Andale Mono,Ayuthaya,PCMyungjo,Osaka", 0, 1252},
1010     {0x51a0d0e6, L"KozukaGothicPr6NM", L"Microsoft Sans Serif,Apple Symbols", 0,
1011      1252},
1012     {0x531b3dea, L"BasemicSymbol", L"Microsoft Sans Serif,Apple Symbols", 0,
1013      1252},
1014     {0x5333fd39, L"CalifornianFB-Reg",
1015      L"American Typewriter,Avenir Next Condensed,Impact", 2, 1252},
1016     {0x53561a54, L"FZYTK--GBK1-0", L"STFangsong,Songti SC,STSong", 0, 936},
1017     {0x55e0dde6, L"LucidaSansTypewriter", L"Menlo,Courier New,Andale Mono", 0,
1018      1252},
1019     {0x574d4d3d, L"AdobeArabic", L"Arial Narrow", 0, 1252},
1020     {0x5792e759, L"STKaiti", L"Songti SC,Arial Unicode MS", 0, 936},
1021     {0x5921978e, L"LucidaSansUnicode", L"Lucida Grande,Arial Unicode MS,Menlo",
1022      0, 1252},
1023     {0x594e2da4, L"Vrinda", L"Geeza Pro,Damascus,STIXGeneral,Gill Sans", 0,
1024      1252},
1025     {0x59baa9a2, L"KaiTi_GB2312", L"Hiragino Sans GB,STHeiti", 0, 1252},
1026     {0x5cfedf4f, L"BaskOldFace",
1027      L"Avenir Next Condensed Heavy,PT Sans,Avenir Next Condensed", 0, 1252},
1028     {0x5e16ac91, L"TrajanPro", L"Arial Narrow,PT Sans Narrow,Damascus", 0,
1029      1252},
1030     {0x5f97921c, L"AdobeMyungjoStdM",
1031      L"AppleMyungjo,AppleGothic,Arial Unicode MS", 0, 936},
1032     {0x5fefbfad, L"Batang", L"Arial Unicode MS,Songti SC", 2, 1252},
1033     {0x605342b9, L"DotumChe", L"Arial Unicode MS,Heiti TC", 1, 1252},
1034     {0x608c5f9a, L"KaiTi_GB2312", L"Hiragino Sans GB,STHeiti,Heiti TC", 0, 936},
1035     {0x61efd0d1, L"MaturaMTScriptCapitals",
1036      L"Kokonor,Damascus,STIXNonUnicode,STHeiti,Arial Black,Avenir Next Heavy",
1037      0, 1252},
1038     {0x626608a9, L"MVBoli",
1039      L"Apple Braille,Geeza Pro,Microsoft Sans Serif,Apple Symbols", 0, 1252},
1040     {0x630501a3, L"SmallFonts", L"Microsoft Sans Serif,Apple Symbols", 0, 1252},
1041     {0x65d0e2a9, L"FZYTK--GBK1-0", L"STFangsong,Songti SC,STSong", 0, 936},
1042     {0x669f29e1, L"FZSTK--GBK1-0", L"STHeiti,Heiti TC", 0, 936},
1043     {0x673a9e5f, L"Tunga",
1044      L"Damascus,STIXNonUnicode,Avenir Next Condensed,Avenir Next Condensed "
1045      L"Ultra Light,Futura",
1046      0, 1252},
1047     {0x691aa4ce, L"NiagaraSolid", L"Microsoft Sans Serif,Apple Symbols", 0,
1048      1252},
1049     {0x696259b7, L"Corbel", L"Cochin,Baskerville,Marion", 0, 1252},
1050     {0x696ee9be, L"STXihei", L"STHeiti,Heiti TC,Songti SC,Arial Unicode MS", 0,
1051      936},
1052     {0x6c59cf69, L"Dotum", L"Arial Unicode MS,Songti SC", 0, 1252},
1053     {0x707fa561, L"Gungsuh", L"Arial Unicode MS,Heiti TC", 2, 1252},
1054     {0x71416bb2, L"ZWAdobeF",
1055      L"STIXSizeFourSym,STIXSizeThreeSym,STIXSizeTwoSym,STIXSizeOneSym", 0,
1056      1252},
1057     {0x71b41801, L"Verdana",
1058      L"Tahoma,Marion,Apple Symbols,.Helvetica Neue Desk UI,Lucida "
1059      L"Grande,Courier New",
1060      0, 1252},
1061     {0x73f25e4c, L"PalatinoLinotype", L"Palatino,Arial Unicode MS", 0, 1252},
1062     {0x73f4d19f, L"NiagaraEngraved", L"Microsoft Sans Serif,Apple Symbols", 0,
1063      1252},
1064     {0x74001694, L"MyriadProBlack", L"Palatino,Baskerville,Marion,Cochin", 0,
1065      1252},
1066     {0x74b14d8f, L"Haettenschweiler", L"Microsoft Sans Serif,Apple Symbols", 0,
1067      1252},
1068     {0x74cb44ee, L"NSimSun", L"STHeiti,Heiti TC,STFangsong", 1, 936},
1069     {0x76b4d7ff, L"Shruti",
1070      L"Damascus,STIXNonUnicode,Arial Unicode MS,American Typewriter", 0, 1252},
1071     {0x788b3533, L"Webdings", L"Microsoft Sans Serif,Apple Symbols", 6, 42},
1072     {0x797dde99, L"MSSerif", L"Microsoft Sans Serif,Apple Symbols", 0, 1252},
1073     {0x7a0f9e9e, L"MSMincho",
1074      L"WenQuanYi Zen Hei Mono,AR PL UMing CN,AR PL UMing HK,AR PL UMing TW,AR "
1075      L"PL UMing TW MBE,Arial Unicode MS,Apple SD Gothic Neo",
1076      1, 1252},
1077     {0x7b439caf, L"OldEnglishTextMT",
1078      L"STIXNonUnicode,Arial Unicode MS,Baskerville,Avenir Next Medium", 0,
1079      1252},
1080     {0x8213a433, L"LucidaSans-Typewriter",
1081      L"Comic Sans MS,Avenir Next,Arial Rounded MT Bold", 0, 1252},
1082     {0x82fec929, L"AdobeSongStdL", L"Heiti TC,STHeiti", 0, 936},
1083     {0x83581825, L"Modern", L"Avenir Next Condensed,Impact", 0, 1252},
1084     {0x835a2823, L"Algerian",
1085      L"STIXNonUnicode,Baskerville,Avenir Next Medium,American Typewriter", 0,
1086      1252},
1087     {0x83dab9f5, L"Script", L"Arial Narrow", 0, 1252},
1088     {0x847b56da, L"Tahoma", L"Songti SC,Apple Symbols", 0, 1252},
1089     {0x8a783cb2, L"SimSun-PUA", L"STHeiti,Heiti TC,STFangsong", 0, 1252},
1090     {0x8b5cac0e, L"Onyx", L"Microsoft Sans Serif,Apple Symbols", 0, 1252},
1091     {0x8c6a499e, L"Gulim", L"Arial Unicode MS,Songti SC", 0, 1252},
1092     {0x8e0af790, L"JuiceITC", L"Nadeem,Al Bayan", 0, 1252},
1093     {0x8e8d43b2, L"Centaur", L"Avenir Next Condensed,Noteworthy,Impact", 2,
1094      1252},
1095     {0x8ee4dcca, L"BookshelfSymbol7", L"Microsoft Sans Serif,Apple Symbols", 0,
1096      1252},
1097     {0x90794800, L"BellGothicStdLight", L"Microsoft Sans Serif,Apple Symbols",
1098      0, 1252},
1099     {0x909b516a, L"Century", L"Damascus,Andale Mono,Songti SC,Arial Unicode MS",
1100      2, 1252},
1101     {0x92ae370d, L"MSOutlook", L"Microsoft Sans Serif,Apple Symbols", 4, 42},
1102     {0x93c9fbf1, L"LucidaFax",
1103      L"PT Sans Narrow,Papyrus,Kokonor,Geeza Pro,Arial Rounded MT Bold,Lucida "
1104      L"Grande,Futura",
1105      2, 1252},
1106     {0x9565085e, L"BookAntiqua", L"Palatino,Microsoft Sans Serif,Apple Symbols",
1107      2, 1252},
1108     {0x9856d95d, L"AdobeMingStdL", L"AHiragino Sans GB,Heiti TC,STHeiti", 0,
1109      949},
1110     {0x9bbadd6b, L"ColonnaMT", L"Noteworthy,Avenir Next Condensed,Impact", 0,
1111      1252},
1112     {0x9cbd16a4, L"ShowcardGothic-Reg",
1113      L"Arial Unicode MS,Georgia,American Typewriter", 0, 1252},
1114     {0x9d73008e, L"MSSansSerif", L"Songti SC,Apple Symbols", 0, 1252},
1115     {0xa0607db1, L"GungsuhChe",
1116      L"WenQuanYi Zen Hei Mono,AR PL UMing CN,AR PL UMing HK,AR PL UMing TW,AR "
1117      L"PL UMing TW MBE,Arial Unicode MS,Heiti TC,STFangsong",
1118      1, 1252},
1119     {0xa0bcf6a1, L"LatinWide", L"Zapfino,Arial Black,STHeiti", 2, 1252},
1120     {0xa1429b36, L"Symbol", L"Microsoft Sans Serif,Apple Symbols", 6, 42},
1121     {0xa1fa5abc, L"Wingdings2", L"Microsoft Sans Serif,Apple Symbols", 6, 42},
1122     {0xa1fa5abd, L"Wingdings3", L"Microsoft Sans Serif,Apple Symbols", 6, 42},
1123     {0xa427bad4, L"InformalRoman-Regular",
1124      L"STIXNonUnicode,Arial Narrow,Avenir Next Condensed Demi Bold", 8, 1252},
1125     {0xa8b92ece, L"FZSTK--GBK1-0", L"STHeiti,Heiti TC,STFangsong", 0, 936},
1126     {0xa8d83ece, L"CalifornianFB",
1127      L"American Typewriter,Avenir Next Condensed,Impact", 2, 1252},
1128     {0xaa3e082c, L"Kingsoft-Phonetic",
1129      L"STIXVariants,STIXSizeOneSym,Apple Braille", 0, 1252},
1130     {0xaa6bcabe, L"HarlowSolidItalic",
1131      L"STIXNonUnicode,Avenir Medium,Avenir Next Medium,Arial Unicode MS", 0,
1132      1252},
1133     {0xade5337c, L"MSUIGothic", L"Arial Unicode MS,Apple SD Gothic Neo", 0,
1134      1252},
1135     {0xb08dd941, L"WideLatin",
1136      L"Marion,Papyrus,Nanum Pen Script,Zapf Dingbats,Damascus,Zapfino,Arial "
1137      L"Black,STHeiti",
1138      2, 1252},
1139     {0xb12765e0, L"ITCLegacySansStdBook",
1140      L"LastResort,.Helvetica Neue Desk UI,Arial Unicode MS,Palatino", 0, 1252},
1141     {0xb207f05d, L"PoorRichard", L"Noteworthy,Avenir Next Condensed,Impact", 2,
1142      1252},
1143     {0xb3bc492f, L"JuiceITC-Regular", L"Nadeem,Al Bayan,STIXNonUnicode", 0,
1144      1252},
1145     {0xb5545399, L"Marlett", L"Microsoft Sans Serif,Apple Symbols", 4, 42},
1146     {0xb5dd1ebb, L"BritannicBold",
1147      L"Damascus,STIXNonUnicode,Avenir Next Condensed Heavy,PT Sans", 0, 1252},
1148     {0xb699c1c5, L"LucidaCalligraphy-Italic", L"STHeiti,Arial Black", 0, 1252},
1149     {0xb725d629, L"TimesNewRoman", L"Microsoft Sans Serif,Apple Symbols", 2,
1150      1252},
1151     {0xb7eaebeb, L"AdobeHeitiStdR", L"Heiti TC,STHeiti", 0, 936},
1152     {0xbd29c486, L"BerlinSansFBDemi-Bold",
1153      L"American Typewriter,Avenir Next Condensed Heavy", 0, 1252},
1154     {0xbe8a8db4, L"BookshelfSymbolSeven", L"Microsoft Sans Serif,Apple Symbols",
1155      0, 1252},
1156     {0xc16c0118, L"AdobeHebrew",
1157      L".Helvetica Neue Desk UI,Palatino,American Typewriter", 0, 1252},
1158     {0xc318b0af, L"MyriadProLight", L"Palatino,Baskerville,Marion", 0, 1252},
1159     {0xc65e5659, L"CambriaMath", L"Arial Unicode MS", 2, 1252},
1160     {0xc75c8f05, L"LucidaConsole", L"Courier New,Menlo,Andale Mono", 1, 1252},
1161     {0xca7c35d6, L"Calibri", L"Apple Symbols,HeadLineA", 0, 1252},
1162     {0xcb053f53, L"MicrosoftYaHei", L"Arial Unicode MS", 0, 936},
1163     {0xcb7190f9, L"Magneto-Bold", L"Lucida Grande", 0, 1252},
1164     {0xcca00cc5, L"System", L"Microsoft Sans Serif,Apple Symbols", 0, 1252},
1165     {0xccad6f76, L"Jokerman-Regular", L"Lucida Grande", 0, 1252},
1166     {0xccc5818c, L"EuroSign", L"Microsoft Sans Serif,Apple Symbols", 0, 1252},
1167     {0xcf3d7234, L"LucidaHandwriting-Italic",
1168      L"Microsoft Sans Serif,Apple Symbols", 0, 1252},
1169     {0xcf7b8fdb, L"MinionPro",
1170      L"Bell MT,Corbel,Times New Roman,Cambria,Berlin Sans FB", 0, 1252},
1171     {0xcfe5755f, L"Simhei", L"STHeiti,Heiti TC,STFangsong", 1, 936},
1172     {0xd011f4ee, L"MSPGothic", L"Arial Unicode MS,Apple SD Gothic Neo", 0,
1173      1252},
1174     {0xd060e7ef, L"Vivaldi",
1175      L"STIXNonUnicode,Arial Unicode MS,Avenir Medium,Avenir Next Medium", 8,
1176      1252},
1177     {0xd07edec1, L"FranklinGothic-Medium", L"Impact,Arial Narrow", 0, 1252},
1178     {0xd107243f, L"SimSun", L"STHeiti,Heiti TC,STFangsong", 0, 936},
1179     {0xd1881562, L"ArialNarrow", L"PT Sans Narrow,Apple Symbols", 0, 1252},
1180     {0xd22b7dce, L"BodoniMTPosterCompressed",
1181      L"Microsoft Sans Serif,Apple Symbols", 0, 1252},
1182     {0xd22bfa60, L"ComicSansMS",
1183      L"Damascus,Georgia,.Helvetica Neue Desk UI,Lucida Grande,Arial Unicode MS",
1184      8, 1252},
1185     {0xd3bd0e35, L"Bauhaus93",
1186      L"STIXNonUnicode,Arial Unicode MS,Avenir Next,Avenir", 0, 1252},
1187     {0xd429ee7a, L"STFangsong", L"Songti SC,Arial Unicode MS", 0, 936},
1188     {0xd6679c12, L"BernardMTCondensed",
1189      L"Impact,Avenir Next Condensed Demi Bold", 0, 1252},
1190     {0xd8e8a027, L"LucidaSans",
1191      L"Arial Narrow,Khmer MN,Kokonor,Damascus,Microsoft Sans Serif,Apple "
1192      L"Symbols",
1193      0, 1252},
1194     {0xd9fe7761, L"HighTowerText-Reg",
1195      L"STIXGeneral,.Helvetica Neue Desk UI,Trebuchet MS", 2, 1252},
1196     {0xda7e551e, L"STSong", L"Arial Unicode MS", 0, 936},
1197     {0xdaa6842d, L"STZhongsong", L"STFangsong,Songti SC,STSong", 0, 936},
1198     {0xdaaab93f, L"STFangsong", L"Songti SC,Arial Unicode MS", 0, 936},
1199     {0xdaeb0713, L"STSong", L"Songti SC,Arial Unicode MS", 0, 936},
1200     {0xdafedbef, L"STCaiyun", L"Kaiti SC,Songti SC,STHeiti", 0, 936},
1201     {0xdb00a3d9, L"Broadway",
1202      L"Papyrus,STIXNonUnicode,Arial Black,Avenir Next Heavy,Heiti TC", 0, 1252},
1203     {0xdb1f5ad4, L"STXinwei", L"Kaiti SC,Songti SC,STHeiti", 0, 936},
1204     {0xdb326e7f, L"STKaiti", L"Songti SC,Arial Unicode MS", 0, 936},
1205     {0xdb69595a, L"STHupo", L"Kaiti SC,Songti SC,STHeiti", 0, 936},
1206     {0xdba0082c, L"STXihei", L"Songti SC,Arial Unicode MS", 0, 936},
1207     {0xdbd0ab18, L"STXingkai", L"Kaiti SC,Songti SC", 0, 936},
1208     {0xdc1a7db1, L"STLiti", L"Kaiti SC,Songti SC", 0, 936},
1209     {0xdc33075f, L"KristenITC-Regular",
1210      L"STIXNonUnicode,Damascus,Songti SC,STSong", 8, 1252},
1211     {0xdcc7009c, L"Harrington",
1212      L"STIXNonUnicode,Avenir Next Condensed Heavy,Noteworthy", 0, 1252},
1213     {0xdd712466, L"ArialBlack", L"Geeza Pro,Damascus,Songti SC,STSong", 0,
1214      1252},
1215     {0xdde87b3e, L"Impact", L"Arial Narrow,Marion", 0, 1252},
1216     {0xdf69fb32, L"SnapITC",
1217      L"Arial Narrow,PT Sans Narrow,Marion,STHeiti,Arial Black", 0, 1252},
1218     {0xdf8b25e8, L"CenturyGothic",
1219      L"Damascus,Andale Mono,Songti SC,Arial Unicode MS", 0, 1252},
1220     {0xe0f705c0, L"KristenITC", L"Songti SC,STSong", 8, 1252},
1221     {0xe1427573, L"Raavi",
1222      L"Damascus,STIXNonUnicode,Marion,Papyrus,Avenir Next Condensed "
1223      L"Heavy,American Typewriter",
1224      0, 1252},
1225     {0xe2cea0cb, L"Magneto",
1226      L"STIXNonUnicode,Damascus,Geeza Pro,Lucida Grande,Georgia,Heiti TC", 0,
1227      1252},
1228     {0xe36a9e17, L"Ravie", L"STHeiti,Arial Black", 0, 1252},
1229     {0xe433f8e2, L"Parchment", L"Microsoft Sans Serif,Apple Symbols", 8, 1252},
1230     {0xe43dff4a, L"Wingdings", L"Microsoft Sans Serif,Apple Symbols", 4, 42},
1231     {0xe4e2c405, L"MTExtra", L"Microsoft Sans Serif,Apple Symbols", 6, 42},
1232     {0xe618cc35, L"InformalRoman", L"Arial Narrow", 8, 1252},
1233     {0xe6c27ffc, L"Mistral", L"Apple Symbols", 8, 1252},
1234     {0xe7ebf4b9, L"Courier", L"Courier New", 0, 1252},
1235     {0xe8bc4a9d, L"MSReferenceSpecialty", L"Microsoft Sans Serif,Apple Symbols",
1236      0, 1252},
1237     {0xe90fb013, L"TempusSansITC",
1238      L"STIXNonUnicode,Microsoft Sans Serif,Avenir Light", 0, 1252},
1239     {0xec637b42, L"Consolas",
1240      L"AR PL UKai CN,AR PL UKai HK,AR PL UKai TW,AR PL UKai TW MBE,AR PL UMing "
1241      L"CN,AR PL UMing HK,Microsoft Sans Serif,Tahoma",
1242      1, 1252},
1243     {0xed3a683b, L"STXinwei", L"Kaiti SC,Songti SC,", 0, 936},
1244     {0xef264cd1, L"LucidaHandwriting",
1245      L"Arial Narrow,Avenir Next Condensed Demi Bold,Avenir Next "
1246      L"Condensed,Avenir Next Condensed Medium,STHeiti,Arial Black",
1247      0, 1252},
1248     {0xf086bca2, L"BaskervilleOldFace",
1249      L"STIXNonUnicode,Avenir Next Condensed Heavy,PT Sans", 0, 1252},
1250     {0xf1028030, L"Mangal",
1251      L"Arial Unicode MS,Microsoft Sans Serif,Arial Narrow,Tahoma", 2, 1252},
1252     {0xf1da7eb9, L"ShowcardGothic",
1253      L"Papyrus,Arial Unicode MS,Georgia,American Typewriter", 0, 1252},
1254     {0xf210f06a, L"ArialMT",
1255      L"Arial Unicode MS,Arial Narrow,STIXNonUnicode,Damascus,Avenir Next "
1256      L"Condensed Demi Bold,Avenir Next Condensed Medium,Avenir Next Condensed",
1257      0, 1252},
1258     {0xf477f16a, L"Latha",
1259      L"Arial Narrow,Damascus,STIXNonUnicode,American Typewriter", 0, 1252},
1260     {0xf616f3dd, L"LiSu", L"STHeiti,Heiti TC,STFangsong", 1, 936},
1261     {0xfa479aa6, L"MicrosoftYaHei", L"Arial Unicode MS", 0, 936},
1262     {0xfcd19697, L"BookmanOldStyle",
1263      L"Geeza Pro,Damascus,Andale Mono,Songti SC,Arial Unicode MS", 0, 1252},
1264     {0xfe209a82, L"LucidaCalligraphy",
1265      L"Kokonor,Damascus,STIXNonUnicode,STHeiti,Arial Black", 0, 1252},
1266     {0xfef135f8, L"AdobeHeitiStd-Regular", L"Heiti TC,STHeiti", 0, 936},
1267 };
1268 #elif _FXM_PLATFORM_ == _FXM_PLATFORM_ANDROID_
1269 const XFA_FONTINFO g_XFAFontsMap[] = {
1270     {0x01d5d33e, L"SimSun", L"Droid Sans Fallback", 0, 936},
1271     {0x01e4f102, L"YouYuan", L"Droid Sans Fallback", 1, 936},
1272     {0x030549dc, L"LiSu", L"Droid Sans Fallback", 1, 936},
1273     {0x032edd44, L"Simhei", L"Droid Sans Fallback", 1, 936},
1274     {0x03eac6fc, L"PoorRichard-Regular",
1275      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback,Droid Arabic "
1276      L"Naskh,Droid Sans Ethiopic",
1277      2, 1252},
1278     {0x03ed90e6, L"Nina",
1279      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1280     {0x077b56b3, L"KingsoftPhoneticPlain",
1281      L"Droid Sans Thai,Droid Sans Armenian,Droid Arabic Naskh,Droid Sans "
1282      L"Ethiopic,Droid Sans Fallback",
1283      0, 1252},
1284     {0x078ed524, L"MicrosoftSansSerif", L"Droid Sans Fallback", 0, 1252},
1285     {0x089b18a9, L"Arial", L"Droid Sans Fallback", 0, 1252},
1286     {0x0b2cad72, L"MonotypeCorsiva",
1287      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 8, 1252},
1288     {0x0bb003e7, L"Kartika",
1289      L"Droid Arabic Naskh,Droid Sans Ethiopic,Roboto,Droid Serif,Droid Sans "
1290      L"Mono",
1291      2, 1252},
1292     {0x0bb469df, L"VinerHandITC",
1293      L"Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 8, 1252},
1294     {0x0bc1a851, L"SegoeUI", L"Droid Sans Fallback", 0, 1252},
1295     {0x0c112ebd, L"KozukaGothicPro-VIM",
1296      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1297     {0x0cfcb9c1, L"AdobeThai",
1298      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 847},
1299     {0x0e7de0f9, L"Playbill",
1300      L"Droid Arabic Naskh,Droid Sans Ethiopic,Roboto,Droid Serif,Droid Sans "
1301      L"Mono",
1302      0, 1252},
1303     {0x0eff47c3, L"STHupo", L"Droid Sans Fallback", 0, 936},
1304     {0x107ad374, L"Constantia",
1305      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, 1252},
1306     {0x12194c2d, L"KunstlerScript",
1307      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 8, 1252},
1308     {0x135ef6a1, L"MinionProSmBd",
1309      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1310     {0x158c4049, L"Garamond",
1311      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, 1252},
1312     {0x160ecb24, L"STZhongsong", L"Droid Sans Fallback", 0, 936},
1313     {0x161ed07e, L"MSGothic", L"Droid Sans Fallback", 1, 1252},
1314     {0x171d1ed1, L"SnapITC-Regular",
1315      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1316     {0x18d1188f, L"Cambria", L"Droid Sans Fallback", 2, 1252},
1317     {0x18eaf350, L"ArialUnicodeMS", L"Droid Sans Fallback", 0, 936},
1318     {0x1a92d115, L"MingLiU", L"Droid Sans Fallback", 1, 1252},
1319     {0x1cc217c6, L"TrebuchetMS",
1320      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1321     {0x1d649596, L"BasemicTimes",
1322      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1323     {0x1e34ee60, L"BellMT",
1324      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, 1252},
1325     {0x1eb36945, L"CooperBlack",
1326      L"Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 2, 1252},
1327     {0x1ef7787d, L"BatangChe", L"Droid Sans Fallback", 1, 1252},
1328     {0x20b3bd3a, L"BrushScriptMT", L"Droid Arabic Naskh,Droid Sans Ethiopic", 8,
1329      1252},
1330     {0x220877aa, L"Candara",
1331      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1332     {0x22135007, L"FreestyleScript-Regular",
1333      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 8, 1252},
1334     {0x251059c3, L"Chiller",
1335      L"Droid Arabic Naskh,Droid Sans Ethiopic,Roboto,Droid Serif", 0, 1252},
1336     {0x25bed6dd, L"MSReferenceSansSerif", L"Droid Sans Fallback", 0, 1252},
1337     {0x28154c81, L"Parchment-Regular",
1338      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 8, 1252},
1339     {0x29711eb9, L"STLiti", L"Droid Sans Fallback", 0, 936},
1340     {0x2b1993b4, L"Basemic",
1341      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1342     {0x2b316339, L"NiagaraSolid-Reg",
1343      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1344     {0x2c147529, L"FootlightMTLight",
1345      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1346     {0x2c198928, L"HarlowSolid",
1347      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1348     {0x2c6ac6b2, L"LucidaBright",
1349      L"Droid Arabic Naskh,Droid Sans Ethiopic,Droid Serif,Roboto", 2, 1252},
1350     {0x2c9f38e2, L"KozukaMinchoPro-VIR",
1351      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1352     {0x2d5a47b0, L"STCaiyun", L"Droid Sans Fallback", 0, 936},
1353     {0x2def26bf, L"BernardMT-Condensed",
1354      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1355     {0x2fd8930b, L"KozukaMinchoPr6NR",
1356      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1357     {0x3115525a, L"FangSong_GB2312", L"Droid Sans Fallback", 0, 1252},
1358     {0x31327817, L"MyriadPro",
1359      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1360     {0x32244975, L"Helvetica",
1361      L"Droid Arabic Naskh,Droid Sans Ethiopic,Droid Serif,Roboto", 0, 1252},
1362     {0x32ac995c, L"Terminal",
1363      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1364     {0x338d648a, L"NiagaraEngraved-Reg",
1365      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1366     {0x33bb65f2, L"Sylfaen",
1367      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, 1252},
1368     {0x3402c30e, L"MSPMincho", L"Droid Sans Fallback", 2, 1252},
1369     {0x3412bf31, L"SimSun-PUA", L"Droid Sans Fallback", 0, 936},
1370     {0x36eb39b9, L"BerlinSansFB",
1371      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1372     {0x36f42055, L"UniversATT", L"Microsoft Sans Serif", 0, 1252},
1373     {0x3864c4f6, L"HighTowerText",
1374      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, 1252},
1375     {0x3a257d03, L"FangSong_GB2312", L"Droid Sans Fallback", 0, 1252},
1376     {0x3cdae668, L"FreestyleScript",
1377      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 8, 1252},
1378     {0x3d55aed7, L"Jokerman",
1379      L"Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1380     {0x3d5b4385, L"PMingLiU", L"Droid Sans Fallback", 2, 1252},
1381     {0x3d9b7669, L"EstrangeloEdessa",
1382      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1383     {0x3e532d74, L"FranklinGothicMedium",
1384      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1385     {0x3e6aa32d, L"NSimSun", L"Droid Sans Fallback", 1, 936},
1386     {0x3f6c36a8, L"Gautami",
1387      L"Droid Arabic Naskh,Droid Sans Ethiopic,Roboto,Droid Serif,Droid Sans "
1388      L"Mono,Droid Sans Fallback",
1389      0, 1252},
1390     {0x3ff32662, L"Chiller-Regular",
1391      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1392     {0x409de312, L"ModernNo.20",
1393      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, 1252},
1394     {0x41443c5e, L"Georgia",
1395      L"Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 2, 1252},
1396     {0x4160ade5, L"BellGothicStdBlack",
1397      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1398     {0x421976c4, L"Modern-Regular",
1399      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, 1252},
1400     {0x422a7252, L"Stencil",
1401      L"Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1402     {0x42c8554f, L"Fixedsys",
1403      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1404     {0x435cb41d, L"Roman",
1405      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1406     {0x47882383, L"CourierNew", L"Droid Sans Fallback", 1, 1252},
1407     {0x480a2338, L"BerlinSansFBDemi",
1408      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1409     {0x480bf7a4, L"CourierStd", L"Droid Sans Fallback", 0, 1252},
1410     {0x481ad6ed, L"VladimirScript",
1411      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 8, 1252},
1412     {0x4911577a, L"YouYuan", L"Droid Sans Fallback", 1, 936},
1413     {0x4a788d72, L"STXingkai", L"Droid Sans Fallback", 0, 936},
1414     {0x4bf88566, L"SegoeCondensed",
1415      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1416     {0x4ccf51a4, L"BerlinSansFB-Reg",
1417      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1418     {0x4ea967ce, L"GulimChe", L"Droid Sans Fallback", 1, 1252},
1419     {0x4f68bd79, L"LetterGothicStd",
1420      L"Droid Sans Mono,Droid Arabic Naskh,Droid Sans Ethiopic,Droid Sans "
1421      L"Mono,Droid Serif,Droid Sans Fallback",
1422      0, 1252},
1423     {0x51a0d0e6, L"KozukaGothicPr6NM",
1424      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1425     {0x531b3dea, L"BasemicSymbol",
1426      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1427     {0x5333fd39, L"CalifornianFB-Reg",
1428      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, 1252},
1429     {0x53561a54, L"FZYTK--GBK1-0", L"Droid Sans Fallback", 0, 936},
1430     {0x55e0dde6, L"LucidaSansTypewriter",
1431      L"Droid Sans Mono,Droid Arabic Naskh,Droid Sans Ethiopic", 0, 1252},
1432     {0x574d4d3d, L"AdobeArabic",
1433      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1434     {0x5792e759, L"STKaiti", L"Droid Sans Fallback", 0, 936},
1435     {0x5921978e, L"LucidaSansUnicode", L"Droid Sans Fallback", 0, 1252},
1436     {0x594e2da4, L"Vrinda",
1437      L"Droid Arabic Naskh,Droid Sans Ethiopic,Roboto,Droid Serif,Droid Sans "
1438      L"Mono",
1439      0, 1252},
1440     {0x59baa9a2, L"KaiTi_GB2312", L"Droid Sans Fallback", 0, 1252},
1441     {0x5cfedf4f, L"BaskOldFace",
1442      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1443     {0x5f97921c, L"AdobeMyungjoStdM", L"Droid Sans Fallback", 0, 936},
1444     {0x5fefbfad, L"Batang", L"Droid Sans Fallback", 2, 1252},
1445     {0x605342b9, L"DotumChe", L"Droid Sans Fallback", 1, 1252},
1446     {0x608c5f9a, L"KaiTi_GB2312", L"Droid Sans Fallback", 0, 936},
1447     {0x61efd0d1, L"MaturaMTScriptCapitals",
1448      L"Droid Arabic Naskh,Droid Sans Ethiopic,Droid Serif,Roboto,Droid Sans "
1449      L"Mono",
1450      0, 1252},
1451     {0x626608a9, L"MVBoli",
1452      L"Droid Arabic Naskh,Droid Sans Ethiopic,Droid Serif,Roboto,Droid Sans "
1453      L"Mono",
1454      0, 1252},
1455     {0x630501a3, L"SmallFonts",
1456      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1457     {0x65d0e2a9, L"FZYTK--GBK1-0", L"Droid Sans Fallback", 0, 936},
1458     {0x669f29e1, L"FZSTK--GBK1-0", L"Droid Sans Fallback", 0, 936},
1459     {0x673a9e5f, L"Tunga",
1460      L"Droid Arabic Naskh,Droid Sans Ethiopic,Roboto,Droid Serif,Droid Sans "
1461      L"Mono,Droid Sans Fallback",
1462      0, 1252},
1463     {0x691aa4ce, L"NiagaraSolid",
1464      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1465     {0x696259b7, L"Corbel",
1466      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1467     {0x696ee9be, L"STXihei", L"Droid Sans Fallback", 0, 936},
1468     {0x6c59cf69, L"Dotum", L"Droid Sans Fallback", 0, 1252},
1469     {0x707fa561, L"Gungsuh", L"Droid Sans Fallback", 2, 1252},
1470     {0x71416bb2, L"ZWAdobeF",
1471      L"Droid Arabic Naskh,Droid Sans Armenian,Droid Sans Ethiopic,Droid Sans "
1472      L"Georgian,Droid Sans Hebrew,Droid Sans Thai",
1473      0, 1252},
1474     {0x71b41801, L"Verdana",
1475      L"Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1476     {0x73f25e4c, L"PalatinoLinotype", L"Droid Sans Fallback", 0, 1252},
1477     {0x73f4d19f, L"NiagaraEngraved",
1478      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1479     {0x74001694, L"MyriadProBlack", L"Book Antiqua,Constantia,Dotum,Georgia", 0,
1480      1252},
1481     {0x74b14d8f, L"Haettenschweiler",
1482      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1483     {0x74cb44ee, L"NSimSun", L"Droid Sans Fallback", 1, 936},
1484     {0x76b4d7ff, L"Shruti",
1485      L"Droid Arabic Naskh,Droid Sans Ethiopic,Roboto,Droid Serif,Droid Sans "
1486      L"Mono",
1487      0, 1252},
1488     {0x788b3533, L"Webdings",
1489      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 6, 42},
1490     {0x797dde99, L"MSSerif",
1491      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1492     {0x7a0f9e9e, L"MSMincho", L"Droid Sans Fallback", 1, 1252},
1493     {0x7b439caf, L"OldEnglishTextMT",
1494      L"Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1495     {0x8213a433, L"LucidaSans-Typewriter",
1496      L"Droid Sans Mono,Droid Serif,Roboto,Droid Sans Fallback", 0, 1252},
1497     {0x82fec929, L"AdobeSongStdL", L"Droid Sans Fallback", 0, 936},
1498     {0x83581825, L"Modern",
1499      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1500     {0x835a2823, L"Algerian",
1501      L"Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1502     {0x83dab9f5, L"Script",
1503      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1504     {0x847b56da, L"Tahoma", L"Droid Sans Fallback", 0, 1252},
1505     {0x8a783cb2, L"SimSun-PUA", L"Droid Sans Fallback", 0, 1252},
1506     {0x8b5cac0e, L"Onyx",
1507      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1508     {0x8c6a499e, L"Gulim", L"Droid Sans Fallback", 0, 1252},
1509     {0x8e0af790, L"JuiceITC",
1510      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1511     {0x8e8d43b2, L"Centaur",
1512      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, 1252},
1513     {0x8ee4dcca, L"BookshelfSymbol7",
1514      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1515     {0x90794800, L"BellGothicStdLight",
1516      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1517     {0x909b516a, L"Century",
1518      L"Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 2, 1252},
1519     {0x92ae370d, L"MSOutlook",
1520      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 4, 42},
1521     {0x93c9fbf1, L"LucidaFax",
1522      L"Droid Arabic Naskh,Droid Sans Ethiopic,Droid Serif,Roboto,Droid Sans "
1523      L"Mono",
1524      2, 1252},
1525     {0x9565085e, L"BookAntiqua",
1526      L"Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 2, 1252},
1527     {0x9856d95d, L"AdobeMingStdL", L"Droid Sans Fallback", 0, 949},
1528     {0x9bbadd6b, L"ColonnaMT",
1529      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1530     {0x9cbd16a4, L"ShowcardGothic-Reg",
1531      L"Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallbac", 0, 1252},
1532     {0x9d73008e, L"MSSansSerif",
1533      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1534     {0xa0607db1, L"GungsuhChe", L"Droid Sans Fallback", 1, 1252},
1535     {0xa0bcf6a1, L"LatinWide",
1536      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, 1252},
1537     {0xa1429b36, L"Symbol",
1538      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 6, 42},
1539     {0xa1fa5abc, L"Wingdings2",
1540      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 6, 42},
1541     {0xa1fa5abd, L"Wingdings3",
1542      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 6, 42},
1543     {0xa427bad4, L"InformalRoman-Regular",
1544      L"Droid Arabic Naskh,Droid Sans Ethiopic", 8, 1252},
1545     {0xa8b92ece, L"FZSTK--GBK1-0", L"Droid Sans Fallback", 0, 936},
1546     {0xa8d83ece, L"CalifornianFB",
1547      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, 1252},
1548     {0xaa3e082c, L"Kingsoft-Phonetic",
1549      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1550     {0xaa6bcabe, L"HarlowSolidItalic",
1551      L"Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1552     {0xade5337c, L"MSUIGothic",
1553      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1554     {0xb08dd941, L"WideLatin",
1555      L"Droid Arabic Naskh,Droid Sans Ethiopic,Droid Serif,Roboto,Droid Sans "
1556      L"Mono",
1557      2, 1252},
1558     {0xb207f05d, L"PoorRichard",
1559      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, 1252},
1560     {0xb3bc492f, L"JuiceITC-Regular",
1561      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1562     {0xb5545399, L"Marlett",
1563      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 4, 42},
1564     {0xb5dd1ebb, L"BritannicBold", L"Droid Arabic Naskh,Droid Sans Ethiopic", 0,
1565      1252},
1566     {0xb699c1c5, L"LucidaCalligraphy-Italic",
1567      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1568     {0xb725d629, L"TimesNewRoman", L"Droid Sans Fallback", 2, 1252},
1569     {0xb7eaebeb, L"AdobeHeitiStdR", L"Droid Sans Fallback", 0, 936},
1570     {0xbd29c486, L"BerlinSansFBDemi-Bold",
1571      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1572     {0xbe8a8db4, L"BookshelfSymbolSeven",
1573      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1574     {0xc16c0118, L"AdobeHebrew",
1575      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback,Droid Arabic "
1576      L"Naskh,Droid Sans Ethiopic",
1577      0, 1252},
1578     {0xc318b0af, L"MyriadProLight",
1579      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1580     {0xc65e5659, L"CambriaMath", L"Droid Sans Fallback", 2, 1252},
1581     {0xc75c8f05, L"LucidaConsole",
1582      L"Droid Sans Mono,Droid Serif,Roboto,Droid Sans Fallback", 1, 1252},
1583     {0xca7c35d6, L"Calibri", L"Droid Sans Fallback", 0, 1252},
1584     {0xcb053f53, L"MicrosoftYaHei", L"Droid Sans Fallback", 0, 936},
1585     {0xcb7190f9, L"Magneto-Bold",
1586      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1587     {0xcca00cc5, L"System",
1588      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1589     {0xccad6f76, L"Jokerman-Regular",
1590      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1591     {0xccc5818c, L"EuroSign",
1592      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1593     {0xcf3d7234, L"LucidaHandwriting-Italic",
1594      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1595     {0xcf7b8fdb, L"MinionPro",
1596      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1597     {0xcfe5755f, L"Simhei", L"Droid Sans Fallback", 1, 936},
1598     {0xd011f4ee, L"MSPGothic", L"Droid Sans Fallback", 0, 1252},
1599     {0xd060e7ef, L"Vivaldi",
1600      L"Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 8, 1252},
1601     {0xd07edec1, L"FranklinGothic-Medium",
1602      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1603     {0xd107243f, L"SimSun", L"Droid Sans Fallback", 0, 936},
1604     {0xd1881562, L"ArialNarrow",
1605      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1606     {0xd22b7dce, L"BodoniMTPosterCompressed",
1607      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1608     {0xd22bfa60, L"ComicSansMS", L"Droid Serif,Roboto,Droid Sans Fallback", 8,
1609      1252},
1610     {0xd3bd0e35, L"Bauhaus93",
1611      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1612     {0xd429ee7a, L"STFangsong", L"Droid Sans Fallback", 0, 936},
1613     {0xd6679c12, L"BernardMTCondensed",
1614      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1615     {0xd8e8a027, L"LucidaSans",
1616      L"Droid Arabic Naskh,Droid Sans Ethiopic,Droid Serif,Roboto", 0, 1252},
1617     {0xd9fe7761, L"HighTowerText-Reg",
1618      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, 1252},
1619     {0xda7e551e, L"STSong", L"Droid Sans Fallback", 0, 936},
1620     {0xdaa6842d, L"STZhongsong", L"Droid Sans Fallback", 0, 936},
1621     {0xdaaab93f, L"STFangsong", L"Droid Sans Fallback", 0, 936},
1622     {0xdaeb0713, L"STSong",
1623      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 936},
1624     {0xdafedbef, L"STCaiyun", L"Droid Sans Fallback", 0, 936},
1625     {0xdb00a3d9, L"Broadway",
1626      L"Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1627     {0xdb1f5ad4, L"STXinwei", L"Droid Sans Fallback", 0, 936},
1628     {0xdb326e7f, L"STKaiti", L"Droid Sans Fallback", 0, 936},
1629     {0xdb69595a, L"STHupo", L"Droid Sans Fallback", 0, 936},
1630     {0xdba0082c, L"STXihei", L"Droid Sans Fallback", 0, 936},
1631     {0xdbd0ab18, L"STXingkai", L"Droid Sans Fallback", 0, 936},
1632     {0xdc1a7db1, L"STLiti", L"Droid Sans Fallback", 0, 936},
1633     {0xdc33075f, L"KristenITC-Regular",
1634      L"Droid Arabic Naskh,Droid Sans Ethiopic,Droid Serif,Roboto", 8, 1252},
1635     {0xdcc7009c, L"Harrington",
1636      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1637     {0xdd712466, L"ArialBlack",
1638      L"Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1639     {0xdde87b3e, L"Impact",
1640      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1641     {0xdf69fb32, L"SnapITC",
1642      L"Droid Arabic Naskh,Droid Sans Ethiopic,Droid Serif,Roboto,Droid Sans "
1643      L"Mono",
1644      0, 1252},
1645     {0xdf8b25e8, L"CenturyGothic",
1646      L"Droid Serif,Roboto,Droid Serif,Droid Sans Mono", 0, 1252},
1647     {0xe0f705c0, L"KristenITC",
1648      L"Droid Arabic Naskh,Droid Sans Ethiopic,Droid Serif,Roboto", 8, 1252},
1649     {0xe1427573, L"Raavi",
1650      L"Droid Arabic Naskh,Droid Sans Ethiopic,Roboto,Droid Serif,Droid Sans "
1651      L"Mono",
1652      0, 1252},
1653     {0xe2cea0cb, L"Magneto",
1654      L"Droid Arabic Naskh,Droid Sans Ethiopic,Droid Serif,Roboto,Droid Sans "
1655      L"Mono",
1656      0, 1252},
1657     {0xe36a9e17, L"Ravie",
1658      L"Droid Arabic Naskh,Droid Sans Ethiopic,Roboto,Droid Serif,Droid Sans "
1659      L"Mono",
1660      0, 1252},
1661     {0xe433f8e2, L"Parchment",
1662      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 8, 1252},
1663     {0xe43dff4a, L"Wingdings",
1664      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 4, 42},
1665     {0xe4e2c405, L"MTExtra",
1666      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 6, 42},
1667     {0xe618cc35, L"InformalRoman",
1668      L"Droid Arabic Naskh,Droid Sans Ethiopic,Roboto,Droid Serif", 8, 1252},
1669     {0xe6c27ffc, L"Mistral",
1670      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 8, 1252},
1671     {0xe7ebf4b9, L"Courier", L"Droid Sans Fallback", 0, 1252},
1672     {0xe8bc4a9d, L"MSReferenceSpecialty",
1673      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1674     {0xe90fb013, L"TempusSansITC",
1675      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1676     {0xec637b42, L"Consolas", L"Droid Sans Fallback", 1, 1252},
1677     {0xed3a683b, L"STXinwei", L"Droid Sans Fallback", 0, 936},
1678     {0xef264cd1, L"LucidaHandwriting",
1679      L"Droid Arabic Naskh,Droid Sans Ethiopic,Droid Serif,Roboto,Droid Sans "
1680      L"Mono",
1681      0, 1252},
1682     {0xf086bca2, L"BaskervilleOldFace",
1683      L"Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1684     {0xf1028030, L"Mangal",
1685      L"Droid Arabic Naskh,Droid Sans Ethiopic,Droid Serif,Roboto,Droid Sans "
1686      L"Mono",
1687      2, 1252},
1688     {0xf1da7eb9, L"ShowcardGothic",
1689      L"Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallbac", 0, 1252},
1690     {0xf210f06a, L"ArialMT",
1691      L"Droid Arabic Naskh,Droid Sans Ethiopic,Roboto,Droid Serif", 0, 1252},
1692     {0xf477f16a, L"Latha",
1693      L"Droid Arabic Naskh,Droid Sans Ethiopic,Roboto,Droid Serif,Droid Sans "
1694      L"Mono",
1695      0, 1252},
1696     {0xf616f3dd, L"LiSu", L"Droid Sans Fallback", 1, 936},
1697     {0xfa479aa6, L"MicrosoftYaHei", L"Droid Sans Fallback", 0, 936},
1698     {0xfcd19697, L"BookmanOldStyle",
1699      L"Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 0, 1252},
1700     {0xfe209a82, L"LucidaCalligraphy",
1701      L"Droid Arabic Naskh,Droid Sans Ethiopic,Droid Serif,Roboto,Droid Sans "
1702      L"Mono",
1703      0, 1252},
1704     {0xfef135f8, L"AdobeHeitiStd-Regular", L"Droid Sans Fallback", 0, 936},
1705 };
1706 #endif
1707 
XFA_LocalFontNameToEnglishName(const CFX_WideStringC & wsLocalName)1708 CFX_WideString XFA_LocalFontNameToEnglishName(
1709     const CFX_WideStringC& wsLocalName) {
1710   uint32_t dwLocalNameHash = FX_HashCode_GetW(wsLocalName, true);
1711   const XFA_FONTINFO* pEnd = g_XFAFontsMap + FX_ArraySize(g_XFAFontsMap);
1712   const XFA_FONTINFO* pFontInfo =
1713       std::lower_bound(g_XFAFontsMap, pEnd, dwLocalNameHash,
1714                        [](const XFA_FONTINFO& entry, uint32_t hash) {
1715                          return entry.dwFontNameHash < hash;
1716                        });
1717   if (pFontInfo < pEnd && pFontInfo->dwFontNameHash == dwLocalNameHash)
1718     return pFontInfo->pPsName;
1719   return CFX_WideString(wsLocalName);
1720 }
1721 
XFA_GetFontINFOByFontName(const CFX_WideStringC & wsFontName)1722 const XFA_FONTINFO* XFA_GetFontINFOByFontName(
1723     const CFX_WideStringC& wsFontName) {
1724   CFX_WideString wsFontNameTemp(wsFontName);
1725   wsFontNameTemp.Remove(L' ');
1726   uint32_t dwCurFontNameHash =
1727       FX_HashCode_GetW(wsFontNameTemp.AsStringC(), true);
1728   const XFA_FONTINFO* pEnd = g_XFAFontsMap + FX_ArraySize(g_XFAFontsMap);
1729   const XFA_FONTINFO* pFontInfo =
1730       std::lower_bound(g_XFAFontsMap, pEnd, dwCurFontNameHash,
1731                        [](const XFA_FONTINFO& entry, uint32_t hash) {
1732                          return entry.dwFontNameHash < hash;
1733                        });
1734   if (pFontInfo < pEnd && pFontInfo->dwFontNameHash == dwCurFontNameHash)
1735     return pFontInfo;
1736   return nullptr;
1737 }
1738 
1739 }  // namespace
1740 
CXFA_DefFontMgr()1741 CXFA_DefFontMgr::CXFA_DefFontMgr() {}
1742 
~CXFA_DefFontMgr()1743 CXFA_DefFontMgr::~CXFA_DefFontMgr() {}
1744 
GetFont(CXFA_FFDoc * hDoc,const CFX_WideStringC & wsFontFamily,uint32_t dwFontStyles,uint16_t wCodePage)1745 CFX_RetainPtr<CFGAS_GEFont> CXFA_DefFontMgr::GetFont(
1746     CXFA_FFDoc* hDoc,
1747     const CFX_WideStringC& wsFontFamily,
1748     uint32_t dwFontStyles,
1749     uint16_t wCodePage) {
1750   CFX_WideString wsFontName(wsFontFamily);
1751   CFGAS_FontMgr* pFDEFontMgr = hDoc->GetApp()->GetFDEFontMgr();
1752   CFX_RetainPtr<CFGAS_GEFont> pFont =
1753       pFDEFontMgr->LoadFont(wsFontName.c_str(), dwFontStyles, wCodePage);
1754   if (!pFont) {
1755     const XFA_FONTINFO* pCurFont =
1756         XFA_GetFontINFOByFontName(wsFontName.AsStringC());
1757     if (pCurFont && pCurFont->pReplaceFont) {
1758       uint32_t dwStyle = 0;
1759       if (dwFontStyles & FX_FONTSTYLE_Bold) {
1760         dwStyle |= FX_FONTSTYLE_Bold;
1761       }
1762       if (dwFontStyles & FX_FONTSTYLE_Italic) {
1763         dwStyle |= FX_FONTSTYLE_Italic;
1764       }
1765       const FX_WCHAR* pReplace = pCurFont->pReplaceFont;
1766       int32_t iLength = FXSYS_wcslen(pReplace);
1767       while (iLength > 0) {
1768         const FX_WCHAR* pNameText = pReplace;
1769         while (*pNameText != L',' && iLength > 0) {
1770           pNameText++;
1771           iLength--;
1772         }
1773         CFX_WideString wsReplace =
1774             CFX_WideString(pReplace, pNameText - pReplace);
1775         pFont = pFDEFontMgr->LoadFont(wsReplace.c_str(), dwStyle, wCodePage);
1776         if (pFont)
1777           break;
1778 
1779         iLength--;
1780         pNameText++;
1781         pReplace = pNameText;
1782       }
1783     }
1784   }
1785   if (pFont)
1786     m_CacheFonts.push_back(pFont);
1787   return pFont;
1788 }
1789 
GetDefaultFont(CXFA_FFDoc * hDoc,const CFX_WideStringC & wsFontFamily,uint32_t dwFontStyles,uint16_t wCodePage)1790 CFX_RetainPtr<CFGAS_GEFont> CXFA_DefFontMgr::GetDefaultFont(
1791     CXFA_FFDoc* hDoc,
1792     const CFX_WideStringC& wsFontFamily,
1793     uint32_t dwFontStyles,
1794     uint16_t wCodePage) {
1795   CFGAS_FontMgr* pFDEFontMgr = hDoc->GetApp()->GetFDEFontMgr();
1796   CFX_RetainPtr<CFGAS_GEFont> pFont =
1797       pFDEFontMgr->LoadFont(L"Arial Narrow", dwFontStyles, wCodePage);
1798   if (!pFont) {
1799     pFont = pFDEFontMgr->LoadFont(static_cast<const FX_WCHAR*>(nullptr),
1800                                   dwFontStyles, wCodePage);
1801   }
1802   if (pFont)
1803     m_CacheFonts.push_back(pFont);
1804   return pFont;
1805 }
1806 
CXFA_PDFFontMgr(CXFA_FFDoc * pDoc)1807 CXFA_PDFFontMgr::CXFA_PDFFontMgr(CXFA_FFDoc* pDoc) : m_pDoc(pDoc) {}
1808 
~CXFA_PDFFontMgr()1809 CXFA_PDFFontMgr::~CXFA_PDFFontMgr() {}
1810 
FindFont(const CFX_ByteString & strPsName,bool bBold,bool bItalic,CPDF_Font ** pDstPDFFont,bool bStrictMatch)1811 CFX_RetainPtr<CFGAS_GEFont> CXFA_PDFFontMgr::FindFont(
1812     const CFX_ByteString& strPsName,
1813     bool bBold,
1814     bool bItalic,
1815     CPDF_Font** pDstPDFFont,
1816     bool bStrictMatch) {
1817   CPDF_Document* pDoc = m_pDoc->GetPDFDoc();
1818   if (!pDoc)
1819     return nullptr;
1820 
1821   CPDF_Dictionary* pFontSetDict =
1822       pDoc->GetRoot()->GetDictFor("AcroForm")->GetDictFor("DR");
1823   if (!pFontSetDict)
1824     return nullptr;
1825 
1826   pFontSetDict = pFontSetDict->GetDictFor("Font");
1827   if (!pFontSetDict)
1828     return nullptr;
1829 
1830   CFX_ByteString name = strPsName;
1831   name.Remove(' ');
1832   CFGAS_FontMgr* pFDEFontMgr = m_pDoc->GetApp()->GetFDEFontMgr();
1833   for (const auto& it : *pFontSetDict) {
1834     const CFX_ByteString& key = it.first;
1835     CPDF_Object* pObj = it.second.get();
1836     if (!PsNameMatchDRFontName(name.AsStringC(), bBold, bItalic, key,
1837                                bStrictMatch)) {
1838       continue;
1839     }
1840     CPDF_Dictionary* pFontDict = ToDictionary(pObj->GetDirect());
1841     if (!pFontDict || pFontDict->GetStringFor("Type") != "Font") {
1842       return nullptr;
1843     }
1844     CPDF_Font* pPDFFont = pDoc->LoadFont(pFontDict);
1845     if (!pPDFFont) {
1846       return nullptr;
1847     }
1848     if (!pPDFFont->IsEmbedded()) {
1849       *pDstPDFFont = pPDFFont;
1850       return nullptr;
1851     }
1852     return CFGAS_GEFont::LoadFont(&pPDFFont->m_Font, pFDEFontMgr);
1853   }
1854   return nullptr;
1855 }
1856 
GetFont(const CFX_WideStringC & wsFontFamily,uint32_t dwFontStyles,CPDF_Font ** pPDFFont,bool bStrictMatch)1857 CFX_RetainPtr<CFGAS_GEFont> CXFA_PDFFontMgr::GetFont(
1858     const CFX_WideStringC& wsFontFamily,
1859     uint32_t dwFontStyles,
1860     CPDF_Font** pPDFFont,
1861     bool bStrictMatch) {
1862   uint32_t dwHashCode = FX_HashCode_GetW(wsFontFamily, false);
1863   CFX_ByteString strKey;
1864   strKey.Format("%u%u", dwHashCode, dwFontStyles);
1865   auto it = m_FontMap.find(strKey);
1866   if (it != m_FontMap.end())
1867     return it->second;
1868   CFX_ByteString bsPsName =
1869       CFX_ByteString::FromUnicode(CFX_WideString(wsFontFamily));
1870   bool bBold = (dwFontStyles & FX_FONTSTYLE_Bold) == FX_FONTSTYLE_Bold;
1871   bool bItalic = (dwFontStyles & FX_FONTSTYLE_Italic) == FX_FONTSTYLE_Italic;
1872   CFX_ByteString strFontName = PsNameToFontName(bsPsName, bBold, bItalic);
1873   CFX_RetainPtr<CFGAS_GEFont> pFont =
1874       FindFont(strFontName, bBold, bItalic, pPDFFont, bStrictMatch);
1875   if (pFont)
1876     m_FontMap[strKey] = pFont;
1877   return pFont;
1878 }
1879 
PsNameToFontName(const CFX_ByteString & strPsName,bool bBold,bool bItalic)1880 CFX_ByteString CXFA_PDFFontMgr::PsNameToFontName(
1881     const CFX_ByteString& strPsName,
1882     bool bBold,
1883     bool bItalic) {
1884   for (size_t i = 0; i < FX_ArraySize(g_XFAPDFFontName); ++i) {
1885     if (strPsName == g_XFAPDFFontName[i][0]) {
1886       size_t index = 1;
1887       if (bBold)
1888         ++index;
1889       if (bItalic)
1890         index += 2;
1891       return g_XFAPDFFontName[i][index];
1892     }
1893   }
1894   return strPsName;
1895 }
1896 
PsNameMatchDRFontName(const CFX_ByteStringC & bsPsName,bool bBold,bool bItalic,const CFX_ByteString & bsDRFontName,bool bStrictMatch)1897 bool CXFA_PDFFontMgr::PsNameMatchDRFontName(const CFX_ByteStringC& bsPsName,
1898                                             bool bBold,
1899                                             bool bItalic,
1900                                             const CFX_ByteString& bsDRFontName,
1901                                             bool bStrictMatch) {
1902   CFX_ByteString bsDRName = bsDRFontName;
1903   bsDRName.Remove('-');
1904   int32_t iPsLen = bsPsName.GetLength();
1905   int32_t nIndex = bsDRName.Find(bsPsName);
1906   if (nIndex != -1 && !bStrictMatch)
1907     return true;
1908 
1909   if (nIndex != 0)
1910     return false;
1911 
1912   int32_t iDifferLength = bsDRName.GetLength() - iPsLen;
1913   if (iDifferLength > 1 || (bBold || bItalic)) {
1914     int32_t iBoldIndex = bsDRName.Find("Bold");
1915     bool bBoldFont = iBoldIndex > 0;
1916     if (bBold != bBoldFont)
1917       return false;
1918 
1919     if (bBoldFont) {
1920       iDifferLength =
1921           std::min(iDifferLength - 4, bsDRName.GetLength() - iBoldIndex - 4);
1922     }
1923     bool bItalicFont = true;
1924     if (bsDRName.Find("Italic") > 0) {
1925       iDifferLength -= 6;
1926     } else if (bsDRName.Find("It") > 0) {
1927       iDifferLength -= 2;
1928     } else if (bsDRName.Find("Oblique") > 0) {
1929       iDifferLength -= 7;
1930     } else {
1931       bItalicFont = false;
1932     }
1933     if (bItalic != bItalicFont)
1934       return false;
1935 
1936     if (iDifferLength > 1) {
1937       CFX_ByteString bsDRTailer = bsDRName.Right(iDifferLength);
1938       if (bsDRTailer == "MT" || bsDRTailer == "PSMT" ||
1939           bsDRTailer == "Regular" || bsDRTailer == "Reg") {
1940         return true;
1941       }
1942       if (bBoldFont || bItalicFont)
1943         return false;
1944 
1945       bool bMatch = false;
1946       switch (bsPsName.GetAt(iPsLen - 1)) {
1947         case 'L': {
1948           if (bsDRName.Right(5) == "Light") {
1949             bMatch = true;
1950           }
1951         } break;
1952         case 'R': {
1953           if (bsDRName.Right(7) == "Regular" || bsDRName.Right(3) == "Reg") {
1954             bMatch = true;
1955           }
1956         } break;
1957         case 'M': {
1958           if (bsDRName.Right(5) == "Medium") {
1959             bMatch = true;
1960           }
1961         } break;
1962         default:
1963           break;
1964       }
1965       return bMatch;
1966     }
1967   }
1968   return true;
1969 }
1970 
GetCharWidth(const CFX_RetainPtr<CFGAS_GEFont> & pFont,FX_WCHAR wUnicode,bool bCharCode,int32_t * pWidth)1971 bool CXFA_PDFFontMgr::GetCharWidth(const CFX_RetainPtr<CFGAS_GEFont>& pFont,
1972                                    FX_WCHAR wUnicode,
1973                                    bool bCharCode,
1974                                    int32_t* pWidth) {
1975   if (wUnicode != 0x20 || bCharCode)
1976     return false;
1977 
1978   auto it = m_FDE2PDFFont.find(pFont);
1979   if (it == m_FDE2PDFFont.end())
1980     return false;
1981 
1982   CPDF_Font* pPDFFont = it->second;
1983   *pWidth = pPDFFont->GetCharWidthF(pPDFFont->CharCodeFromUnicode(wUnicode));
1984   return true;
1985 }
1986 
SetFont(const CFX_RetainPtr<CFGAS_GEFont> & pFont,CPDF_Font * pPDFFont)1987 void CXFA_PDFFontMgr::SetFont(const CFX_RetainPtr<CFGAS_GEFont>& pFont,
1988                               CPDF_Font* pPDFFont) {
1989   m_FDE2PDFFont[pFont] = pPDFFont;
1990 }
1991 
CXFA_FontMgr()1992 CXFA_FontMgr::CXFA_FontMgr() {}
1993 
~CXFA_FontMgr()1994 CXFA_FontMgr::~CXFA_FontMgr() {}
1995 
GetFont(CXFA_FFDoc * hDoc,const CFX_WideStringC & wsFontFamily,uint32_t dwFontStyles,uint16_t wCodePage)1996 CFX_RetainPtr<CFGAS_GEFont> CXFA_FontMgr::GetFont(
1997     CXFA_FFDoc* hDoc,
1998     const CFX_WideStringC& wsFontFamily,
1999     uint32_t dwFontStyles,
2000     uint16_t wCodePage) {
2001   uint32_t dwHash = FX_HashCode_GetW(wsFontFamily, false);
2002   CFX_ByteString bsKey;
2003   bsKey.Format("%u%u%u", dwHash, dwFontStyles, wCodePage);
2004   auto iter = m_FontMap.find(bsKey);
2005   if (iter != m_FontMap.end())
2006     return iter->second;
2007 
2008   CFX_WideString wsEnglishName = XFA_LocalFontNameToEnglishName(wsFontFamily);
2009   auto it = m_PDFFontMgrMap.find(hDoc);
2010   CXFA_PDFFontMgr* pMgr =
2011       it != m_PDFFontMgrMap.end() ? it->second.get() : nullptr;
2012   CPDF_Font* pPDFFont = nullptr;
2013   CFX_RetainPtr<CFGAS_GEFont> pFont;
2014   if (pMgr) {
2015     pFont =
2016         pMgr->GetFont(wsEnglishName.AsStringC(), dwFontStyles, &pPDFFont, true);
2017     if (pFont)
2018       return pFont;
2019   }
2020   if (!pFont && m_pDefFontMgr)
2021     pFont = m_pDefFontMgr->GetFont(hDoc, wsFontFamily, dwFontStyles, wCodePage);
2022 
2023   if (!pFont && pMgr) {
2024     pPDFFont = nullptr;
2025     pFont = pMgr->GetFont(wsEnglishName.AsStringC(), dwFontStyles, &pPDFFont,
2026                           false);
2027     if (pFont)
2028       return pFont;
2029   }
2030   if (!pFont && m_pDefFontMgr) {
2031     pFont = m_pDefFontMgr->GetDefaultFont(hDoc, wsFontFamily, dwFontStyles,
2032                                           wCodePage);
2033   }
2034   if (pFont) {
2035     if (pPDFFont) {
2036       pMgr->SetFont(pFont, pPDFFont);
2037       pFont->SetFontProvider(pMgr);
2038     }
2039     m_FontMap[bsKey] = pFont;
2040   }
2041   return pFont;
2042 }
2043 
LoadDocFonts(CXFA_FFDoc * hDoc)2044 void CXFA_FontMgr::LoadDocFonts(CXFA_FFDoc* hDoc) {
2045   if (!m_PDFFontMgrMap[hDoc])
2046     m_PDFFontMgrMap[hDoc] = pdfium::MakeUnique<CXFA_PDFFontMgr>(hDoc);
2047 }
2048 
ReleaseDocFonts(CXFA_FFDoc * hDoc)2049 void CXFA_FontMgr::ReleaseDocFonts(CXFA_FFDoc* hDoc) {
2050   m_PDFFontMgrMap.erase(hDoc);
2051 }
2052 
SetDefFontMgr(std::unique_ptr<CXFA_DefFontMgr> pFontMgr)2053 void CXFA_FontMgr::SetDefFontMgr(std::unique_ptr<CXFA_DefFontMgr> pFontMgr) {
2054   m_pDefFontMgr = std::move(pFontMgr);
2055 }
2056