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