Home | History | Annotate | Download | only in app
      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
   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 }
   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
   1750 IXFA_FontMgr* IXFA_FontMgr::CreateDefault() {
   1751   return new CXFA_DefFontMgr;
   1752 }
   1753 // virtual
   1754 IXFA_FontMgr::~IXFA_FontMgr() {}
   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_
   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 }
   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 };
   1865 CXFA_PDFFontMgr::CXFA_PDFFontMgr(CXFA_FFDoc* pDoc) {
   1866   m_pDoc = pDoc;
   1867 }
   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 }
   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 }
   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 }
   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 }
   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 }
   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 }
   2053 CXFA_FontMgr::CXFA_FontMgr() : m_pDefFontMgr(NULL) {}
   2054 CXFA_FontMgr::~CXFA_FontMgr() {
   2055   DelAllMgrMap();
   2056 }
   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 }
   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 }
   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 }
   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 }
   2130 void CXFA_FontMgr::SetDefFontMgr(IXFA_FontMgr* pFontMgr) {
   2131   m_pDefFontMgr = pFontMgr;
   2132 }
   2133