Make FX_CodePage an enum class. Replaces using a number of FX_CODEPAGE_ #defines. In turn, move some functions that require FX_CodePage arguments from fx_system.h to fx_codepage.h. -- Introduce new kFailure sentinel. -- Introduce incomplete definition header fx_codepage_forward.h -- Replace literal integers with symbolic names where needed. -- Correct "847" to Thai (874). Change-Id: I1a74672c1c42855a0bd4716f6d33ef3c57f08e5c Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/83290 Commit-Queue: Tom Sepez <tsepez@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
diff --git a/core/fpdfapi/font/cpdf_cidfont.cpp b/core/fpdfapi/font/cpdf_cidfont.cpp index d8b7b14..0717795 100644 --- a/core/fpdfapi/font/cpdf_cidfont.cpp +++ b/core/fpdfapi/font/cpdf_cidfont.cpp
@@ -21,6 +21,7 @@ #include "core/fpdfapi/parser/cpdf_array.h" #include "core/fpdfapi/parser/cpdf_dictionary.h" #include "core/fpdfapi/parser/cpdf_stream_acc.h" +#include "core/fxcrt/fx_codepage.h" #include "core/fxcrt/fx_memory.h" #include "core/fxcrt/fx_safe_types.h" #include "core/fxcrt/fx_unicode.h" @@ -34,10 +35,15 @@ namespace { -constexpr uint16_t kCharsetCodePages[CIDSET_NUM_SETS] = {0, 936, 950, - 932, 949, 1200}; +constexpr FX_CodePage kCharsetCodePages[CIDSET_NUM_SETS] = { + FX_CodePage::kDefANSI, + FX_CodePage::kChineseSimplified, + FX_CodePage::kChineseTraditional, + FX_CodePage::kShiftJIS, + FX_CodePage::kHangul, + FX_CodePage::kUTF16LE}; -constexpr struct CIDTransform { +struct CIDTransform { uint16_t cid; uint8_t a; uint8_t b; @@ -45,7 +51,9 @@ uint8_t d; uint8_t e; uint8_t f; -} kJapan1VerticalCIDs[] = { +}; + +constexpr CIDTransform kJapan1VerticalCIDs[] = { {97, 129, 0, 0, 127, 55, 0}, {7887, 127, 0, 0, 127, 76, 89}, {7888, 127, 0, 0, 127, 79, 94}, {7889, 0, 129, 127, 0, 17, 127}, {7890, 0, 129, 127, 0, 17, 127}, {7891, 0, 129, 127, 0, 17, 127}, @@ -322,9 +330,9 @@ charcode = (charcode % 256) * 256 + (charcode / 256); charsize = 2; } - int ret = FXSYS_MultiByteToWideChar( - kCharsetCodePages[m_pCMap->GetCoding()], 0, - reinterpret_cast<const char*>(&charcode), charsize, &unicode, 1); + int ret = FX_MultiByteToWideChar(kCharsetCodePages[m_pCMap->GetCoding()], 0, + reinterpret_cast<const char*>(&charcode), + charsize, &unicode, 1); return ret == 1 ? unicode : 0; #else if (!m_pCMap->GetEmbedMap()) @@ -365,9 +373,9 @@ return 0; #if defined(OS_WIN) uint8_t buffer[32]; - int ret = FXSYS_WideCharToMultiByte( - kCharsetCodePages[m_pCMap->GetCoding()], 0, &unicode, 1, - reinterpret_cast<char*>(buffer), 4, nullptr, nullptr); + int ret = FX_WideCharToMultiByte(kCharsetCodePages[m_pCMap->GetCoding()], 0, + &unicode, 1, reinterpret_cast<char*>(buffer), + 4, nullptr, nullptr); if (ret == 1) return buffer[0]; if (ret == 2)
diff --git a/core/fpdfapi/font/cpdf_cidfont.h b/core/fpdfapi/font/cpdf_cidfont.h index 11f6d81..bf07aa6 100644 --- a/core/fpdfapi/font/cpdf_cidfont.h +++ b/core/fpdfapi/font/cpdf_cidfont.h
@@ -13,7 +13,6 @@ #include "core/fpdfapi/font/cpdf_font.h" #include "core/fxcrt/fx_coordinates.h" #include "core/fxcrt/fx_string.h" -#include "core/fxcrt/fx_system.h" #include "core/fxcrt/retain_ptr.h" #include "core/fxcrt/unowned_ptr.h"
diff --git a/core/fpdfapi/font/cpdf_font.cpp b/core/fpdfapi/font/cpdf_font.cpp index d85eff2..1391f5a 100644 --- a/core/fpdfapi/font/cpdf_font.cpp +++ b/core/fpdfapi/font/cpdf_font.cpp
@@ -25,6 +25,7 @@ #include "core/fpdfapi/parser/cpdf_name.h" #include "core/fpdfapi/parser/cpdf_stream.h" #include "core/fpdfapi/parser/cpdf_stream_acc.h" +#include "core/fxcrt/fx_codepage.h" #include "core/fxcrt/fx_safe_types.h" #include "core/fxcrt/stl_util.h" #include "core/fxge/cfx_fontmapper.h" @@ -385,7 +386,8 @@ safeWeight *= 5; m_FontFallbacks[0]->LoadSubst("Arial", IsTrueTypeFont(), m_Flags, safeWeight.ValueOrDefault(FXFONT_FW_NORMAL), - m_ItalicAngle, 0, IsVertWriting()); + m_ItalicAngle, FX_CodePage::kDefANSI, + IsVertWriting()); } return 0; }
diff --git a/core/fpdfapi/font/cpdf_simplefont.cpp b/core/fpdfapi/font/cpdf_simplefont.cpp index 698e35b..1593639 100644 --- a/core/fpdfapi/font/cpdf_simplefont.cpp +++ b/core/fpdfapi/font/cpdf_simplefont.cpp
@@ -12,6 +12,7 @@ #include "core/fpdfapi/parser/cpdf_array.h" #include "core/fpdfapi/parser/cpdf_dictionary.h" #include "core/fpdfapi/parser/cpdf_name.h" +#include "core/fxcrt/fx_codepage.h" #include "core/fxge/fx_font.h" #include "core/fxge/fx_freetype.h" #include "third_party/base/cxx17_backports.h" @@ -266,7 +267,7 @@ m_Flags |= FXFONT_FIXED_PITCH; } m_Font.LoadSubst(m_BaseFontName, IsTrueTypeFont(), m_Flags, GetFontWeight(), - m_ItalicAngle, 0, false); + m_ItalicAngle, FX_CodePage::kDefANSI, false); } bool CPDF_SimpleFont::IsUnicodeCompatible() const {
diff --git a/core/fpdfdoc/cpdf_bafontmap.cpp b/core/fpdfdoc/cpdf_bafontmap.cpp index ab92dc9..174e937 100644 --- a/core/fpdfdoc/cpdf_bafontmap.cpp +++ b/core/fpdfdoc/cpdf_bafontmap.cpp
@@ -159,7 +159,7 @@ } int32_t CPDF_BAFontMap::GetNativeCharset() { - return FX_GetCharsetFromCodePage(FXSYS_GetACP()); + return FX_GetCharsetFromCodePage(FX_GetACP()); } RetainPtr<CPDF_Font> CPDF_BAFontMap::FindFontSameCharset(ByteString* sFontAlias,
diff --git a/core/fpdfdoc/cpdf_interactiveform.cpp b/core/fpdfdoc/cpdf_interactiveform.cpp index 5f4e605..8c6e89b 100644 --- a/core/fpdfdoc/cpdf_interactiveform.cpp +++ b/core/fpdfdoc/cpdf_interactiveform.cpp
@@ -266,7 +266,7 @@ } uint8_t GetNativeCharSet() { - return FX_GetCharsetFromCodePage(FXSYS_GetACP()); + return FX_GetCharsetFromCodePage(FX_GetACP()); } void InitDict(CPDF_Dictionary*& pFormDict, CPDF_Document* pDocument) {
diff --git a/core/fxcrt/BUILD.gn b/core/fxcrt/BUILD.gn index 07beba6..8509148 100644 --- a/core/fxcrt/BUILD.gn +++ b/core/fxcrt/BUILD.gn
@@ -36,6 +36,7 @@ "fx_bidi.h", "fx_codepage.cpp", "fx_codepage.h", + "fx_codepage_forward.h", "fx_coordinates.cpp", "fx_coordinates.h", "fx_extension.cpp",
diff --git a/core/fxcrt/cfx_seekablestreamproxy.cpp b/core/fxcrt/cfx_seekablestreamproxy.cpp index f677eec..666aee5 100644 --- a/core/fxcrt/cfx_seekablestreamproxy.cpp +++ b/core/fxcrt/cfx_seekablestreamproxy.cpp
@@ -112,18 +112,18 @@ bom &= BOM_UTF8_MASK; if (bom == BOM_UTF8) { m_wBOMLength = 3; - m_wCodePage = FX_CODEPAGE_UTF8; + m_wCodePage = FX_CodePage::kUTF8; } else { bom &= BOM_UTF16_MASK; if (bom == BOM_UTF16_BE) { m_wBOMLength = 2; - m_wCodePage = FX_CODEPAGE_UTF16BE; + m_wCodePage = FX_CodePage::kUTF16BE; } else if (bom == BOM_UTF16_LE) { m_wBOMLength = 2; - m_wCodePage = FX_CODEPAGE_UTF16LE; + m_wCodePage = FX_CodePage::kUTF16LE; } else { m_wBOMLength = 0; - m_wCodePage = FXSYS_GetACP(); + m_wCodePage = FX_GetACP(); } } @@ -160,7 +160,7 @@ pdfium::clamp(m_iPosition, static_cast<FX_FILESIZE>(0), GetSize()); } -void CFX_SeekableStreamProxy::SetCodePage(uint16_t wCodePage) { +void CFX_SeekableStreamProxy::SetCodePage(FX_CodePage wCodePage) { if (m_wBOMLength > 0) return; m_wCodePage = wCodePage; @@ -188,12 +188,12 @@ if (!pStr || size == 0) return 0; - if (m_wCodePage == FX_CODEPAGE_UTF16LE || - m_wCodePage == FX_CODEPAGE_UTF16BE) { + if (m_wCodePage == FX_CodePage::kUTF16LE || + m_wCodePage == FX_CodePage::kUTF16BE) { size_t iBytes = size * 2; size_t iLen = ReadData(reinterpret_cast<uint8_t*>(pStr), iBytes); size = iLen / 2; - if (m_wCodePage == FX_CODEPAGE_UTF16BE) + if (m_wCodePage == FX_CodePage::kUTF16BE) SwapByteOrder(reinterpret_cast<uint16_t*>(pStr), size); #if defined(WCHAR_T_IS_UTF32) @@ -210,7 +210,7 @@ std::vector<uint8_t, FxAllocAllocator<uint8_t>> buf(iBytes); size_t iLen = ReadData(buf.data(), iBytes); - if (m_wCodePage != FX_CODEPAGE_UTF8) + if (m_wCodePage != FX_CodePage::kUTF8) return 0; size_t iSrc;
diff --git a/core/fxcrt/cfx_seekablestreamproxy.h b/core/fxcrt/cfx_seekablestreamproxy.h index bfff049..587a570 100644 --- a/core/fxcrt/cfx_seekablestreamproxy.h +++ b/core/fxcrt/cfx_seekablestreamproxy.h
@@ -22,8 +22,8 @@ bool IsEOF(); size_t ReadBlock(wchar_t* pStr, size_t size); - uint16_t GetCodePage() const { return m_wCodePage; } - void SetCodePage(uint16_t wCodePage); + FX_CodePage GetCodePage() const { return m_wCodePage; } + void SetCodePage(FX_CodePage wCodePage); private: enum class From { @@ -39,7 +39,7 @@ void Seek(From eSeek, FX_FILESIZE iOffset); size_t ReadData(uint8_t* pBuffer, size_t iBufferSize); - uint16_t m_wCodePage = FX_CODEPAGE_DefANSI; + FX_CodePage m_wCodePage = FX_CodePage::kDefANSI; size_t m_wBOMLength = 0; FX_FILESIZE m_iPosition = 0; RetainPtr<IFX_SeekableReadStream> const m_pStream;
diff --git a/core/fxcrt/fx_codepage.cpp b/core/fxcrt/fx_codepage.cpp index c85291f..993853b 100644 --- a/core/fxcrt/fx_codepage.cpp +++ b/core/fxcrt/fx_codepage.cpp
@@ -10,6 +10,12 @@ #include <iterator> #include <utility> +#include "build/build_config.h" + +#if defined(OS_WIN) +#include <windows.h> +#endif + namespace { const uint16_t g_FX_MSDOSThaiUnicodes[128] = { @@ -158,41 +164,41 @@ struct FX_CHARSET_MAP { uint16_t charset; - uint16_t codepage; + FX_CodePage codepage; }; const FX_CHARSET_MAP g_FXCharset2CodePageTable[] = { - {FX_CHARSET_ANSI, FX_CODEPAGE_MSWin_WesternEuropean}, - {FX_CHARSET_Default, FX_CODEPAGE_DefANSI}, - {FX_CHARSET_Symbol, FX_CODEPAGE_Symbol}, - {FX_CHARSET_MAC_Roman, FX_CODEPAGE_MAC_Roman}, - {FX_CHARSET_MAC_ShiftJIS, FX_CODEPAGE_MAC_ShiftJIS}, - {FX_CHARSET_MAC_Korean, FX_CODEPAGE_MAC_Korean}, - {FX_CHARSET_MAC_ChineseSimplified, FX_CODEPAGE_MAC_ChineseSimplified}, - {FX_CHARSET_MAC_ChineseTraditional, FX_CODEPAGE_MAC_ChineseTraditional}, - {FX_CHARSET_MAC_Hebrew, FX_CODEPAGE_MAC_Hebrew}, - {FX_CHARSET_MAC_Arabic, FX_CODEPAGE_MAC_Arabic}, - {FX_CHARSET_MAC_Greek, FX_CODEPAGE_MAC_Greek}, - {FX_CHARSET_MAC_Turkish, FX_CODEPAGE_MAC_Turkish}, - {FX_CHARSET_MAC_Thai, FX_CODEPAGE_MAC_Thai}, - {FX_CHARSET_MAC_EasternEuropean, FX_CODEPAGE_MAC_EasternEuropean}, - {FX_CHARSET_MAC_Cyrillic, FX_CODEPAGE_MAC_Cyrillic}, - {FX_CHARSET_ShiftJIS, FX_CODEPAGE_ShiftJIS}, - {FX_CHARSET_Hangul, FX_CODEPAGE_Hangul}, - {FX_CHARSET_Johab, FX_CODEPAGE_Johab}, - {FX_CHARSET_ChineseSimplified, FX_CODEPAGE_ChineseSimplified}, - {FX_CHARSET_ChineseTraditional, FX_CODEPAGE_ChineseTraditional}, - {FX_CHARSET_MSWin_Greek, FX_CODEPAGE_MSWin_Greek}, - {FX_CHARSET_MSWin_Turkish, FX_CODEPAGE_MSWin_Turkish}, - {FX_CHARSET_MSWin_Vietnamese, FX_CODEPAGE_MSWin_Vietnamese}, - {FX_CHARSET_MSWin_Hebrew, FX_CODEPAGE_MSWin_Hebrew}, - {FX_CHARSET_MSWin_Arabic, FX_CODEPAGE_MSWin_Arabic}, - {FX_CHARSET_MSWin_Baltic, FX_CODEPAGE_MSWin_Baltic}, - {FX_CHARSET_MSWin_Cyrillic, FX_CODEPAGE_MSWin_Cyrillic}, - {FX_CHARSET_Thai, FX_CODEPAGE_MSDOS_Thai}, - {FX_CHARSET_MSWin_EasternEuropean, FX_CODEPAGE_MSWin_EasternEuropean}, - {FX_CHARSET_US, FX_CODEPAGE_MSDOS_US}, - {FX_CHARSET_OEM, FX_CODEPAGE_MSDOS_WesternEuropean}, + {FX_CHARSET_ANSI, FX_CodePage::kMSWin_WesternEuropean}, + {FX_CHARSET_Default, FX_CodePage::kDefANSI}, + {FX_CHARSET_Symbol, FX_CodePage::kSymbol}, + {FX_CHARSET_MAC_Roman, FX_CodePage::kMAC_Roman}, + {FX_CHARSET_MAC_ShiftJIS, FX_CodePage::kMAC_ShiftJIS}, + {FX_CHARSET_MAC_Korean, FX_CodePage::kMAC_Korean}, + {FX_CHARSET_MAC_ChineseSimplified, FX_CodePage::kMAC_ChineseSimplified}, + {FX_CHARSET_MAC_ChineseTraditional, FX_CodePage::kMAC_ChineseTraditional}, + {FX_CHARSET_MAC_Hebrew, FX_CodePage::kMAC_Hebrew}, + {FX_CHARSET_MAC_Arabic, FX_CodePage::kMAC_Arabic}, + {FX_CHARSET_MAC_Greek, FX_CodePage::kMAC_Greek}, + {FX_CHARSET_MAC_Turkish, FX_CodePage::kMAC_Turkish}, + {FX_CHARSET_MAC_Thai, FX_CodePage::kMAC_Thai}, + {FX_CHARSET_MAC_EasternEuropean, FX_CodePage::kMAC_EasternEuropean}, + {FX_CHARSET_MAC_Cyrillic, FX_CodePage::kMAC_Cyrillic}, + {FX_CHARSET_ShiftJIS, FX_CodePage::kShiftJIS}, + {FX_CHARSET_Hangul, FX_CodePage::kHangul}, + {FX_CHARSET_Johab, FX_CodePage::kJohab}, + {FX_CHARSET_ChineseSimplified, FX_CodePage::kChineseSimplified}, + {FX_CHARSET_ChineseTraditional, FX_CodePage::kChineseTraditional}, + {FX_CHARSET_MSWin_Greek, FX_CodePage::kMSWin_Greek}, + {FX_CHARSET_MSWin_Turkish, FX_CodePage::kMSWin_Turkish}, + {FX_CHARSET_MSWin_Vietnamese, FX_CodePage::kMSWin_Vietnamese}, + {FX_CHARSET_MSWin_Hebrew, FX_CodePage::kMSWin_Hebrew}, + {FX_CHARSET_MSWin_Arabic, FX_CodePage::kMSWin_Arabic}, + {FX_CHARSET_MSWin_Baltic, FX_CodePage::kMSWin_Baltic}, + {FX_CHARSET_MSWin_Cyrillic, FX_CodePage::kMSWin_Cyrillic}, + {FX_CHARSET_Thai, FX_CodePage::kMSDOS_Thai}, + {FX_CHARSET_MSWin_EasternEuropean, FX_CodePage::kMSWin_EasternEuropean}, + {FX_CHARSET_US, FX_CodePage::kMSDOS_US}, + {FX_CHARSET_OEM, FX_CodePage::kMSDOS_WesternEuropean}, }; } // namespace @@ -208,7 +214,15 @@ {FX_CHARSET_MSWin_Baltic, g_FX_MSWinBalticUnicodes}, }; -uint16_t FX_GetCodePageFromCharset(uint8_t charset) { +FX_CodePage FX_GetACP() { +#if defined(OS_WIN) + return static_cast<FX_CodePage>(GetACP()); +#else + return FX_CodePage::kDefANSI; +#endif +} + +FX_CodePage FX_GetCodePageFromCharset(uint8_t charset) { auto* result = std::lower_bound(std::begin(g_FXCharset2CodePageTable), std::end(g_FXCharset2CodePageTable), charset, @@ -219,10 +233,10 @@ result->charset == charset) { return result->codepage; } - return 0xFFFF; + return FX_CodePage::kFailure; } -uint8_t FX_GetCharsetFromCodePage(uint16_t codepage) { +uint8_t FX_GetCharsetFromCodePage(FX_CodePage codepage) { for (const auto& it : g_FXCharset2CodePageTable) { if (it.codepage == codepage) return it.charset; @@ -235,3 +249,47 @@ (uCharset == FX_CHARSET_ChineseTraditional) || (uCharset == FX_CHARSET_Hangul) || (uCharset == FX_CHARSET_ShiftJIS); } + +int FX_WideCharToMultiByte(FX_CodePage codepage, + uint32_t dwFlags, + const wchar_t* wstr, + int wlen, + char* buf, + int buflen, + const char* default_str, + int* pUseDefault) { +#if defined(OS_WIN) + return WideCharToMultiByte(static_cast<UINT>(codepage), dwFlags, wstr, wlen, + buf, buflen, default_str, pUseDefault); +#else + int len = 0; + for (int i = 0; i < wlen; i++) { + if (wstr[i] < 0x100) { + if (buf && len < buflen) + buf[len] = static_cast<char>(wstr[i]); + len++; + } + } + return len; +#endif +} + +int FX_MultiByteToWideChar(FX_CodePage codepage, + uint32_t dwFlags, + const char* bstr, + int blen, + wchar_t* buf, + int buflen) { +#if defined(OS_WIN) + return MultiByteToWideChar(static_cast<UINT>(codepage), dwFlags, bstr, blen, + buf, buflen); +#else + int wlen = 0; + for (int i = 0; i < blen; i++) { + if (buf && wlen < buflen) + buf[wlen] = reinterpret_cast<const uint8_t*>(bstr)[i]; + wlen++; + } + return wlen; +#endif +}
diff --git a/core/fxcrt/fx_codepage.h b/core/fxcrt/fx_codepage.h index 935425d..ae4ecf0 100644 --- a/core/fxcrt/fx_codepage.h +++ b/core/fxcrt/fx_codepage.h
@@ -9,54 +9,60 @@ #include <stdint.h> -#define FX_CODEPAGE_DefANSI 0 -#define FX_CODEPAGE_Symbol 42 -#define FX_CODEPAGE_MSDOS_US 437 -#define FX_CODEPAGE_Arabic_ASMO708 708 -#define FX_CODEPAGE_MSDOS_Greek1 737 -#define FX_CODEPAGE_MSDOS_Baltic 775 -#define FX_CODEPAGE_MSDOS_WesternEuropean 850 -#define FX_CODEPAGE_MSDOS_EasternEuropean 852 -#define FX_CODEPAGE_MSDOS_Cyrillic 855 -#define FX_CODEPAGE_MSDOS_Turkish 857 -#define FX_CODEPAGE_MSDOS_Portuguese 860 -#define FX_CODEPAGE_MSDOS_Icelandic 861 -#define FX_CODEPAGE_MSDOS_Hebrew 862 -#define FX_CODEPAGE_MSDOS_FrenchCanadian 863 -#define FX_CODEPAGE_MSDOS_Arabic 864 -#define FX_CODEPAGE_MSDOS_Norwegian 865 -#define FX_CODEPAGE_MSDOS_Russian 866 -#define FX_CODEPAGE_MSDOS_Greek2 869 -#define FX_CODEPAGE_MSDOS_Thai 874 -#define FX_CODEPAGE_ShiftJIS 932 -#define FX_CODEPAGE_ChineseSimplified 936 -#define FX_CODEPAGE_Hangul 949 -#define FX_CODEPAGE_ChineseTraditional 950 -#define FX_CODEPAGE_UTF16LE 1200 -#define FX_CODEPAGE_UTF16BE 1201 -#define FX_CODEPAGE_MSWin_EasternEuropean 1250 -#define FX_CODEPAGE_MSWin_Cyrillic 1251 -#define FX_CODEPAGE_MSWin_WesternEuropean 1252 -#define FX_CODEPAGE_MSWin_Greek 1253 -#define FX_CODEPAGE_MSWin_Turkish 1254 -#define FX_CODEPAGE_MSWin_Hebrew 1255 -#define FX_CODEPAGE_MSWin_Arabic 1256 -#define FX_CODEPAGE_MSWin_Baltic 1257 -#define FX_CODEPAGE_MSWin_Vietnamese 1258 -#define FX_CODEPAGE_Johab 1361 -#define FX_CODEPAGE_MAC_Roman 10000 -#define FX_CODEPAGE_MAC_ShiftJIS 10001 -#define FX_CODEPAGE_MAC_ChineseTraditional 10002 -#define FX_CODEPAGE_MAC_Korean 10003 -#define FX_CODEPAGE_MAC_Arabic 10004 -#define FX_CODEPAGE_MAC_Hebrew 10005 -#define FX_CODEPAGE_MAC_Greek 10006 -#define FX_CODEPAGE_MAC_Cyrillic 10007 -#define FX_CODEPAGE_MAC_ChineseSimplified 10008 -#define FX_CODEPAGE_MAC_Thai 10021 -#define FX_CODEPAGE_MAC_EasternEuropean 10029 -#define FX_CODEPAGE_MAC_Turkish 10081 -#define FX_CODEPAGE_UTF8 65001 +// Prove consistency with incomplete forward definitions. +#include "core/fxcrt/fx_codepage_forward.h" + +enum class FX_CodePage : uint16_t { + kDefANSI = 0, + kSymbol = 42, + kMSDOS_US = 437, + kArabic_ASMO708 = 708, + kMSDOS_Greek1 = 737, + kMSDOS_Baltic = 775, + kMSDOS_WesternEuropean = 850, + kMSDOS_EasternEuropean = 852, + kMSDOS_Cyrillic = 855, + kMSDOS_Turkish = 857, + kMSDOS_Portuguese = 860, + kMSDOS_Icelandic = 861, + kMSDOS_Hebrew = 862, + kMSDOS_FrenchCanadian = 863, + kMSDOS_Arabic = 864, + kMSDOS_Norwegian = 865, + kMSDOS_Russian = 866, + kMSDOS_Greek2 = 869, + kMSDOS_Thai = 874, + kShiftJIS = 932, + kChineseSimplified = 936, + kHangul = 949, + kChineseTraditional = 950, + kUTF16LE = 1200, + kUTF16BE = 1201, + kMSWin_EasternEuropean = 1250, + kMSWin_Cyrillic = 1251, + kMSWin_WesternEuropean = 1252, + kMSWin_Greek = 1253, + kMSWin_Turkish = 1254, + kMSWin_Hebrew = 1255, + kMSWin_Arabic = 1256, + kMSWin_Baltic = 1257, + kMSWin_Vietnamese = 1258, + kJohab = 1361, + kMAC_Roman = 10000, + kMAC_ShiftJIS = 10001, + kMAC_ChineseTraditional = 10002, + kMAC_Korean = 10003, + kMAC_Arabic = 10004, + kMAC_Hebrew = 10005, + kMAC_Greek = 10006, + kMAC_Cyrillic = 10007, + kMAC_ChineseSimplified = 10008, + kMAC_Thai = 10021, + kMAC_EasternEuropean = 10029, + kMAC_Turkish = 10081, + kUTF8 = 65001, + kFailure = 65535, +}; #define FX_CHARSET_ANSI 0 #define FX_CHARSET_Default 1 @@ -98,8 +104,23 @@ extern const FX_CharsetUnicodes g_FX_CharsetUnicodes[8]; -uint16_t FX_GetCodePageFromCharset(uint8_t charset); -uint8_t FX_GetCharsetFromCodePage(uint16_t codepage); +FX_CodePage FX_GetACP(); +FX_CodePage FX_GetCodePageFromCharset(uint8_t charset); +uint8_t FX_GetCharsetFromCodePage(FX_CodePage codepage); bool FX_CharSetIsCJK(uint8_t uCharset); +int FX_WideCharToMultiByte(FX_CodePage codepage, + uint32_t dwFlags, + const wchar_t* wstr, + int wlen, + char* buf, + int buflen, + const char* default_str, + int* pUseDefault); +int FX_MultiByteToWideChar(FX_CodePage codepage, + uint32_t dwFlags, + const char* bstr, + int blen, + wchar_t* buf, + int buflen); #endif // CORE_FXCRT_FX_CODEPAGE_H_
diff --git a/core/fxcrt/fx_codepage_forward.h b/core/fxcrt/fx_codepage_forward.h new file mode 100644 index 0000000..e941d0a --- /dev/null +++ b/core/fxcrt/fx_codepage_forward.h
@@ -0,0 +1,16 @@ +// Copyright 2021 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef CORE_FXCRT_FX_CODEPAGE_FORWARD_H_ +#define CORE_FXCRT_FX_CODEPAGE_FORWARD_H_ + +#include <stdint.h> + +// Incomplete definitions of large enumerated type for headers that don't +// need the specifics. +enum class FX_CodePage : uint16_t; + +#endif // CORE_FXCRT_FX_CODEPAGE_FORWARD_H_
diff --git a/core/fxcrt/fx_system.cpp b/core/fxcrt/fx_system.cpp index 52da8e0..47d2db9 100644 --- a/core/fxcrt/fx_system.cpp +++ b/core/fxcrt/fx_system.cpp
@@ -146,10 +146,6 @@ #else // defined(OS_WIN) -int FXSYS_GetACP() { - return 0; -} - char* FXSYS_strlwr(char* str) { if (!str) { return nullptr; @@ -223,40 +219,6 @@ return FXSYS_IntToStr<int32_t, uint32_t, char*>(value, str, radix); } -int FXSYS_WideCharToMultiByte(uint32_t codepage, - uint32_t dwFlags, - const wchar_t* wstr, - int wlen, - char* buf, - int buflen, - const char* default_str, - int* pUseDefault) { - int len = 0; - for (int i = 0; i < wlen; i++) { - if (wstr[i] < 0x100) { - if (buf && len < buflen) - buf[len] = static_cast<char>(wstr[i]); - len++; - } - } - return len; -} - -int FXSYS_MultiByteToWideChar(uint32_t codepage, - uint32_t dwFlags, - const char* bstr, - int blen, - wchar_t* buf, - int buflen) { - int wlen = 0; - for (int i = 0; i < blen; i++) { - if (buf && wlen < buflen) - buf[wlen] = reinterpret_cast<const uint8_t*>(bstr)[i]; - wlen++; - } - return wlen; -} - void FXSYS_SetLastError(uint32_t err) { g_last_error = err; }
diff --git a/core/fxcrt/fx_system.h b/core/fxcrt/fx_system.h index 29b3c56..beb1d7e 100644 --- a/core/fxcrt/fx_system.h +++ b/core/fxcrt/fx_system.h
@@ -83,10 +83,7 @@ #endif // __cplusplus #if defined(OS_WIN) -#define FXSYS_GetACP GetACP #define FXSYS_itoa _itoa -#define FXSYS_WideCharToMultiByte WideCharToMultiByte -#define FXSYS_MultiByteToWideChar MultiByteToWideChar #define FXSYS_strlwr _strlwr #define FXSYS_strupr _strupr #define FXSYS_stricmp _stricmp @@ -100,22 +97,7 @@ #define FXSYS_SetLastError SetLastError #define FXSYS_GetLastError GetLastError #else // defined(OS_WIN) -int FXSYS_GetACP(); char* FXSYS_itoa(int value, char* str, int radix); -int FXSYS_WideCharToMultiByte(uint32_t codepage, - uint32_t dwFlags, - const wchar_t* wstr, - int wlen, - char* buf, - int buflen, - const char* default_str, - int* pUseDefault); -int FXSYS_MultiByteToWideChar(uint32_t codepage, - uint32_t dwFlags, - const char* bstr, - int blen, - wchar_t* buf, - int buflen); char* FXSYS_strlwr(char* str); char* FXSYS_strupr(char* str); int FXSYS_stricmp(const char* str1, const char* str2);
diff --git a/core/fxcrt/widestring.cpp b/core/fxcrt/widestring.cpp index 6ae40a9..c3ec07f 100644 --- a/core/fxcrt/widestring.cpp +++ b/core/fxcrt/widestring.cpp
@@ -658,8 +658,8 @@ ByteString WideString::ToDefANSI() const { int src_len = GetLength(); - int dest_len = FXSYS_WideCharToMultiByte( - FX_CODEPAGE_DefANSI, 0, c_str(), src_len, nullptr, 0, nullptr, nullptr); + int dest_len = FX_WideCharToMultiByte(FX_CodePage::kDefANSI, 0, c_str(), + src_len, nullptr, 0, nullptr, nullptr); if (!dest_len) return ByteString(); @@ -667,8 +667,8 @@ { // Span's lifetime must end before ReleaseBuffer() below. pdfium::span<char> dest_buf = bstr.GetBuffer(dest_len); - FXSYS_WideCharToMultiByte(FX_CODEPAGE_DefANSI, 0, c_str(), src_len, - dest_buf.data(), dest_len, nullptr, nullptr); + FX_WideCharToMultiByte(FX_CodePage::kDefANSI, 0, c_str(), src_len, + dest_buf.data(), dest_len, nullptr, nullptr); } bstr.ReleaseBuffer(dest_len); return bstr; @@ -921,8 +921,8 @@ // static WideString WideString::FromDefANSI(ByteStringView bstr) { int src_len = bstr.GetLength(); - int dest_len = FXSYS_MultiByteToWideChar( - FX_CODEPAGE_DefANSI, 0, bstr.unterminated_c_str(), src_len, nullptr, 0); + int dest_len = FX_MultiByteToWideChar( + FX_CodePage::kDefANSI, 0, bstr.unterminated_c_str(), src_len, nullptr, 0); if (!dest_len) return WideString(); @@ -930,8 +930,8 @@ { // Span's lifetime must end before ReleaseBuffer() below. pdfium::span<wchar_t> dest_buf = wstr.GetBuffer(dest_len); - FXSYS_MultiByteToWideChar(FX_CODEPAGE_DefANSI, 0, bstr.unterminated_c_str(), - src_len, dest_buf.data(), dest_len); + FX_MultiByteToWideChar(FX_CodePage::kDefANSI, 0, bstr.unterminated_c_str(), + src_len, dest_buf.data(), dest_len); } wstr.ReleaseBuffer(dest_len); return wstr;
diff --git a/core/fxcrt/xml/cfx_xmlparser.cpp b/core/fxcrt/xml/cfx_xmlparser.cpp index 5f28388..9008e12 100644 --- a/core/fxcrt/xml/cfx_xmlparser.cpp +++ b/core/fxcrt/xml/cfx_xmlparser.cpp
@@ -65,10 +65,10 @@ DCHECK(pStream); auto proxy = pdfium::MakeRetain<CFX_SeekableStreamProxy>(pStream); - uint16_t wCodePage = proxy->GetCodePage(); - if (wCodePage != FX_CODEPAGE_UTF16LE && wCodePage != FX_CODEPAGE_UTF16BE && - wCodePage != FX_CODEPAGE_UTF8) { - proxy->SetCodePage(FX_CODEPAGE_UTF8); + FX_CodePage wCodePage = proxy->GetCodePage(); + if (wCodePage != FX_CodePage::kUTF16LE && + wCodePage != FX_CodePage::kUTF16BE && wCodePage != FX_CodePage::kUTF8) { + proxy->SetCodePage(FX_CodePage::kUTF8); } stream_ = proxy;
diff --git a/core/fxge/cfx_font.cpp b/core/fxge/cfx_font.cpp index 86b6cbe..df2bab1 100644 --- a/core/fxge/cfx_font.cpp +++ b/core/fxge/cfx_font.cpp
@@ -347,13 +347,13 @@ uint32_t flags, int weight, int italic_angle, - int CharsetCP, + FX_CodePage code_page, bool bVertical) { m_bEmbedded = false; m_bVertical = bVertical; m_pSubstFont = std::make_unique<CFX_SubstFont>(); m_Face = CFX_GEModule::Get()->GetFontMgr()->FindSubstFont( - face_name, bTrueType, flags, weight, italic_angle, CharsetCP, + face_name, bTrueType, flags, weight, italic_angle, code_page, m_pSubstFont.get()); if (m_Face) { m_FontData = {FXFT_Get_Face_Stream_Base(m_Face->GetRec()),
diff --git a/core/fxge/cfx_font.h b/core/fxge/cfx_font.h index f86bc73..57177e4 100644 --- a/core/fxge/cfx_font.h +++ b/core/fxge/cfx_font.h
@@ -12,6 +12,7 @@ #include "build/build_config.h" #include "core/fxcrt/bytestring.h" +#include "core/fxcrt/fx_codepage_forward.h" #include "core/fxcrt/fx_coordinates.h" #include "core/fxcrt/fx_memory_wrappers.h" #include "core/fxcrt/retain_ptr.h" @@ -67,7 +68,7 @@ uint32_t flags, int weight, int italic_angle, - int CharsetCP, + FX_CodePage code_page, bool bVertical); bool LoadEmbedded(pdfium::span<const uint8_t> src_span,
diff --git a/core/fxge/cfx_fontmapper.cpp b/core/fxge/cfx_fontmapper.cpp index 0a22470..db28c20 100644 --- a/core/fxge/cfx_fontmapper.cpp +++ b/core/fxge/cfx_fontmapper.cpp
@@ -408,7 +408,7 @@ uint32_t flags, int weight, int italic_angle, - int CharsetCP, + FX_CodePage code_page, CFX_SubstFont* pSubstFont) { if (weight == 0) weight = FXFONT_FW_NORMAL; @@ -546,8 +546,8 @@ } int Charset = FX_CHARSET_ANSI; - if (CharsetCP) - Charset = FX_GetCharsetFromCodePage(CharsetCP); + if (code_page != FX_CodePage::kDefANSI) + Charset = FX_GetCharsetFromCodePage(code_page); else if (iBaseFont == kNumStandardFonts && FontStyleIsSymbolic(flags)) Charset = FX_CHARSET_Symbol; const bool bCJK = FX_CharSetIsCJK(Charset); @@ -625,7 +625,8 @@ } #endif return FindSubstFont(family, bTrueType, flags & ~FXFONT_SYMBOLIC, - weight, italic_angle, 0, pSubstFont); + weight, italic_angle, FX_CodePage::kDefANSI, + pSubstFont); } if (Charset == FX_CHARSET_ANSI) { return UseInternalSubst(pSubstFont, iBaseFont, italic_angle, old_weight,
diff --git a/core/fxge/cfx_fontmapper.h b/core/fxge/cfx_fontmapper.h index e1897d4..cd200c7 100644 --- a/core/fxge/cfx_fontmapper.h +++ b/core/fxge/cfx_fontmapper.h
@@ -12,6 +12,7 @@ #include <vector> #include "build/build_config.h" +#include "core/fxcrt/fx_codepage_forward.h" #include "core/fxcrt/fx_memory_wrappers.h" #include "core/fxcrt/fx_string.h" #include "core/fxcrt/retain_ptr.h" @@ -64,7 +65,7 @@ uint32_t flags, int weight, int italic_angle, - int CharsetCP, + FX_CodePage code_page, CFX_SubstFont* pSubstFont); bool IsBuiltinFace(const RetainPtr<CFX_Face>& face) const;
diff --git a/core/fxge/cfx_fontmgr.cpp b/core/fxge/cfx_fontmgr.cpp index 6cab19f..5e01413 100644 --- a/core/fxge/cfx_fontmgr.cpp +++ b/core/fxge/cfx_fontmgr.cpp
@@ -103,10 +103,10 @@ uint32_t flags, int weight, int italic_angle, - int CharsetCP, + FX_CodePage code_page, CFX_SubstFont* pSubstFont) { return m_pBuiltinMapper->FindSubstFont(face_name, bTrueType, flags, weight, - italic_angle, CharsetCP, pSubstFont); + italic_angle, code_page, pSubstFont); } RetainPtr<CFX_FontMgr::FontDesc> CFX_FontMgr::GetCachedFontDesc(
diff --git a/core/fxge/cfx_fontmgr.h b/core/fxge/cfx_fontmgr.h index 1c4f68c..5b99f41 100644 --- a/core/fxge/cfx_fontmgr.h +++ b/core/fxge/cfx_fontmgr.h
@@ -10,6 +10,7 @@ #include <map> #include <memory> +#include "core/fxcrt/fx_codepage_forward.h" #include "core/fxcrt/fx_memory_wrappers.h" #include "core/fxcrt/fx_string.h" #include "core/fxcrt/observed_ptr.h" @@ -74,7 +75,7 @@ uint32_t flags, int weight, int italic_angle, - int CharsetCP, + FX_CodePage code_page, CFX_SubstFont* pSubstFont); void SetSystemFontInfo(std::unique_ptr<SystemFontInfoIface> pFontInfo);
diff --git a/fpdfsdk/fpdf_edit_embeddertest.cpp b/fpdfsdk/fpdf_edit_embeddertest.cpp index 97a52fd..4ea5c14 100644 --- a/fpdfsdk/fpdf_edit_embeddertest.cpp +++ b/fpdfsdk/fpdf_edit_embeddertest.cpp
@@ -16,6 +16,7 @@ #include "core/fpdfapi/parser/cpdf_number.h" #include "core/fpdfapi/parser/cpdf_stream.h" #include "core/fpdfapi/parser/cpdf_stream_acc.h" +#include "core/fxcrt/fx_codepage.h" #include "core/fxcrt/fx_system.h" #include "core/fxge/fx_font.h" #include "fpdfsdk/cpdfsdk_helpers.h" @@ -3006,7 +3007,7 @@ CFX_Font CIDfont; { // First, get the data from the font - CIDfont.LoadSubst("IPAGothic", 1, 0, 400, 0, 932, 0); + CIDfont.LoadSubst("IPAGothic", 1, 0, 400, 0, FX_CodePage::kShiftJIS, 0); EXPECT_EQ("IPAGothic", CIDfont.GetFaceName()); pdfium::span<const uint8_t> span = CIDfont.GetFontSpan();
diff --git a/testing/fuzzers/pdf_bidi_fuzzer.cc b/testing/fuzzers/pdf_bidi_fuzzer.cc index 1e4c08d..3c77b76 100644 --- a/testing/fuzzers/pdf_bidi_fuzzer.cc +++ b/testing/fuzzers/pdf_bidi_fuzzer.cc
@@ -5,6 +5,7 @@ #include <cstdint> #include <memory> +#include "core/fxcrt/fx_codepage.h" #include "core/fxcrt/widestring.h" #include "core/fxge/cfx_font.h" #include "core/fxge/fx_font.h" @@ -17,7 +18,8 @@ return 0; auto font = std::make_unique<CFX_Font>(); - font->LoadSubst("Arial", true, 0, FXFONT_FW_NORMAL, 0, 0, 0); + font->LoadSubst("Arial", true, 0, FXFONT_FW_NORMAL, 0, FX_CodePage::kDefANSI, + 0); assert(font); CFGAS_RTFBreak rtf_break(FX_LAYOUTSTYLE_ExpandTab);
diff --git a/xfa/fde/cfde_texteditengine_unittest.cpp b/xfa/fde/cfde_texteditengine_unittest.cpp index 9dfd221..b532770 100644 --- a/xfa/fde/cfde_texteditengine_unittest.cpp +++ b/xfa/fde/cfde_texteditengine_unittest.cpp
@@ -4,6 +4,7 @@ #include "xfa/fde/cfde_texteditengine.h" +#include "core/fxcrt/fx_codepage.h" #include "core/fxcrt/fx_extension.h" #include "core/fxge/text_char_pos.h" #include "testing/gtest/include/gtest/gtest.h" @@ -38,7 +39,7 @@ ~CFDE_TextEditEngineTest() override = default; void SetUp() override { - font_ = CFGAS_GEFont::LoadFont(L"Arial Black", 0, 0); + font_ = CFGAS_GEFont::LoadFont(L"Arial Black", 0, FX_CodePage::kDefANSI); ASSERT_TRUE(font_); engine_ = std::make_unique<CFDE_TextEditEngine>();
diff --git a/xfa/fgas/font/cfgas_defaultfontmanager.cpp b/xfa/fgas/font/cfgas_defaultfontmanager.cpp index c28b21b..3f0bb24 100644 --- a/xfa/fgas/font/cfgas_defaultfontmanager.cpp +++ b/xfa/fgas/font/cfgas_defaultfontmanager.cpp
@@ -6,6 +6,7 @@ #include "xfa/fgas/font/cfgas_defaultfontmanager.h" +#include "core/fxcrt/fx_codepage.h" #include "core/fxge/fx_font.h" #include "xfa/fgas/font/cfgas_fontmgr.h" #include "xfa/fgas/font/cfgas_gefont.h" @@ -18,8 +19,8 @@ uint32_t dwFontStyles) { WideString wsFontName(wsFontFamily); CFGAS_FontMgr* pFontMgr = CFGAS_GEModule::Get()->GetFontMgr(); - RetainPtr<CFGAS_GEFont> pFont = - pFontMgr->LoadFont(wsFontName.c_str(), dwFontStyles, 0xFFFF); + RetainPtr<CFGAS_GEFont> pFont = pFontMgr->LoadFont( + wsFontName.c_str(), dwFontStyles, FX_CodePage::kFailure); if (pFont) return pFont; @@ -45,7 +46,8 @@ } WideString wsReplace = WideString::FromASCII(ByteStringView(pReplace, pNameText - pReplace)); - pFont = pFontMgr->LoadFont(wsReplace.c_str(), dwStyle, 0xFFFF); + pFont = + pFontMgr->LoadFont(wsReplace.c_str(), dwStyle, FX_CodePage::kFailure); if (pFont) break; @@ -61,9 +63,9 @@ uint32_t dwFontStyles) { CFGAS_FontMgr* pFontMgr = CFGAS_GEModule::Get()->GetFontMgr(); RetainPtr<CFGAS_GEFont> pFont = - pFontMgr->LoadFont(L"Arial Narrow", dwFontStyles, 0xFFFF); + pFontMgr->LoadFont(L"Arial Narrow", dwFontStyles, FX_CodePage::kFailure); if (pFont) return pFont; - return pFontMgr->LoadFont(nullptr, dwFontStyles, 0xFFFF); + return pFontMgr->LoadFont(nullptr, dwFontStyles, FX_CodePage::kFailure); }
diff --git a/xfa/fgas/font/cfgas_fontmgr.cpp b/xfa/fgas/font/cfgas_fontmgr.cpp index 91c2e99..6b2aef9 100644 --- a/xfa/fgas/font/cfgas_fontmgr.cpp +++ b/xfa/fgas/font/cfgas_fontmgr.cpp
@@ -89,7 +89,7 @@ } if (font.uCharSet == FX_CHARSET_Symbol) continue; - if (pParams->wCodePage != 0xFFFF) { + if (pParams->wCodePage != FX_CodePage::kFailure) { if (FX_GetCodePageFromCharset(font.uCharSet) != pParams->wCodePage) continue; } else { @@ -184,7 +184,7 @@ uint32_t dwFontStyles, const wchar_t* pszFontFamily, uint32_t dwHash, - uint16_t wCodePage, + FX_CodePage wCodePage, uint16_t wBitField) { const FX_FONTDESCRIPTOR* pFD = FindFont(pszFontFamily, dwFontStyles, false, wCodePage, wBitField, wUnicode); @@ -195,7 +195,7 @@ if (!pFD) return nullptr; - uint16_t newCodePage = FX_GetCodePageFromCharset(pFD->uCharSet); + FX_CodePage newCodePage = FX_GetCodePageFromCharset(pFD->uCharSet); RetainPtr<CFGAS_GEFont> pFont = CFGAS_GEFont::LoadFont(pFD->wsFontFace, dwFontStyles, newCodePage); if (!pFont) @@ -214,7 +214,7 @@ const FX_FONTDESCRIPTOR* CFGAS_FontMgr::FindFont(const wchar_t* pszFontFamily, uint32_t dwFontStyles, bool matchParagraphStyle, - uint16_t wCodePage, + FX_CodePage wCodePage, uint32_t dwUSB, wchar_t wUnicode) { FX_FONTMATCHPARAMS params; @@ -255,74 +255,74 @@ namespace { -const uint16_t g_CodePages[] = {FX_CODEPAGE_MSWin_WesternEuropean, - FX_CODEPAGE_MSWin_EasternEuropean, - FX_CODEPAGE_MSWin_Cyrillic, - FX_CODEPAGE_MSWin_Greek, - FX_CODEPAGE_MSWin_Turkish, - FX_CODEPAGE_MSWin_Hebrew, - FX_CODEPAGE_MSWin_Arabic, - FX_CODEPAGE_MSWin_Baltic, - FX_CODEPAGE_MSWin_Vietnamese, - FX_CODEPAGE_DefANSI, - FX_CODEPAGE_DefANSI, - FX_CODEPAGE_DefANSI, - FX_CODEPAGE_DefANSI, - FX_CODEPAGE_DefANSI, - FX_CODEPAGE_DefANSI, - FX_CODEPAGE_DefANSI, - FX_CODEPAGE_MSDOS_Thai, - FX_CODEPAGE_ShiftJIS, - FX_CODEPAGE_ChineseSimplified, - FX_CODEPAGE_Hangul, - FX_CODEPAGE_ChineseTraditional, - FX_CODEPAGE_Johab, - FX_CODEPAGE_DefANSI, - FX_CODEPAGE_DefANSI, - FX_CODEPAGE_DefANSI, - FX_CODEPAGE_DefANSI, - FX_CODEPAGE_DefANSI, - FX_CODEPAGE_DefANSI, - FX_CODEPAGE_DefANSI, - FX_CODEPAGE_DefANSI, - FX_CODEPAGE_DefANSI, - FX_CODEPAGE_DefANSI, - FX_CODEPAGE_DefANSI, - FX_CODEPAGE_DefANSI, - FX_CODEPAGE_DefANSI, - FX_CODEPAGE_DefANSI, - FX_CODEPAGE_DefANSI, - FX_CODEPAGE_DefANSI, - FX_CODEPAGE_DefANSI, - FX_CODEPAGE_DefANSI, - FX_CODEPAGE_DefANSI, - FX_CODEPAGE_DefANSI, - FX_CODEPAGE_DefANSI, - FX_CODEPAGE_DefANSI, - FX_CODEPAGE_DefANSI, - FX_CODEPAGE_DefANSI, - FX_CODEPAGE_DefANSI, - FX_CODEPAGE_DefANSI, - FX_CODEPAGE_MSDOS_Greek2, - FX_CODEPAGE_MSDOS_Russian, - FX_CODEPAGE_MSDOS_Norwegian, - FX_CODEPAGE_MSDOS_Arabic, - FX_CODEPAGE_MSDOS_FrenchCanadian, - FX_CODEPAGE_MSDOS_Hebrew, - FX_CODEPAGE_MSDOS_Icelandic, - FX_CODEPAGE_MSDOS_Portuguese, - FX_CODEPAGE_MSDOS_Turkish, - FX_CODEPAGE_MSDOS_Cyrillic, - FX_CODEPAGE_MSDOS_EasternEuropean, - FX_CODEPAGE_MSDOS_Baltic, - FX_CODEPAGE_MSDOS_Greek1, - FX_CODEPAGE_Arabic_ASMO708, - FX_CODEPAGE_MSDOS_WesternEuropean, - FX_CODEPAGE_MSDOS_US}; +const FX_CodePage kCodePages[] = {FX_CodePage::kMSWin_WesternEuropean, + FX_CodePage::kMSWin_EasternEuropean, + FX_CodePage::kMSWin_Cyrillic, + FX_CodePage::kMSWin_Greek, + FX_CodePage::kMSWin_Turkish, + FX_CodePage::kMSWin_Hebrew, + FX_CodePage::kMSWin_Arabic, + FX_CodePage::kMSWin_Baltic, + FX_CodePage::kMSWin_Vietnamese, + FX_CodePage::kDefANSI, + FX_CodePage::kDefANSI, + FX_CodePage::kDefANSI, + FX_CodePage::kDefANSI, + FX_CodePage::kDefANSI, + FX_CodePage::kDefANSI, + FX_CodePage::kDefANSI, + FX_CodePage::kMSDOS_Thai, + FX_CodePage::kShiftJIS, + FX_CodePage::kChineseSimplified, + FX_CodePage::kHangul, + FX_CodePage::kChineseTraditional, + FX_CodePage::kJohab, + FX_CodePage::kDefANSI, + FX_CodePage::kDefANSI, + FX_CodePage::kDefANSI, + FX_CodePage::kDefANSI, + FX_CodePage::kDefANSI, + FX_CodePage::kDefANSI, + FX_CodePage::kDefANSI, + FX_CodePage::kDefANSI, + FX_CodePage::kDefANSI, + FX_CodePage::kDefANSI, + FX_CodePage::kDefANSI, + FX_CodePage::kDefANSI, + FX_CodePage::kDefANSI, + FX_CodePage::kDefANSI, + FX_CodePage::kDefANSI, + FX_CodePage::kDefANSI, + FX_CodePage::kDefANSI, + FX_CodePage::kDefANSI, + FX_CodePage::kDefANSI, + FX_CodePage::kDefANSI, + FX_CodePage::kDefANSI, + FX_CodePage::kDefANSI, + FX_CodePage::kDefANSI, + FX_CodePage::kDefANSI, + FX_CodePage::kDefANSI, + FX_CodePage::kDefANSI, + FX_CodePage::kMSDOS_Greek2, + FX_CodePage::kMSDOS_Russian, + FX_CodePage::kMSDOS_Norwegian, + FX_CodePage::kMSDOS_Arabic, + FX_CodePage::kMSDOS_FrenchCanadian, + FX_CodePage::kMSDOS_Hebrew, + FX_CodePage::kMSDOS_Icelandic, + FX_CodePage::kMSDOS_Portuguese, + FX_CodePage::kMSDOS_Turkish, + FX_CodePage::kMSDOS_Cyrillic, + FX_CodePage::kMSDOS_EasternEuropean, + FX_CodePage::kMSDOS_Baltic, + FX_CodePage::kMSDOS_Greek1, + FX_CodePage::kArabic_ASMO708, + FX_CodePage::kMSDOS_WesternEuropean, + FX_CodePage::kMSDOS_US}; -uint16_t FX_GetCodePageBit(uint16_t wCodePage) { - for (size_t i = 0; i < pdfium::size(g_CodePages); ++i) { - if (g_CodePages[i] == wCodePage) +uint16_t FX_GetCodePageBit(FX_CodePage wCodePage) { + for (size_t i = 0; i < pdfium::size(kCodePages); ++i) { + if (kCodePages[i] == wCodePage) return static_cast<uint16_t>(i); } return static_cast<uint16_t>(-1); @@ -531,7 +531,7 @@ } int32_t CalcPenalty(CFGAS_FontDescriptor* pInstalled, - uint16_t wCodePage, + FX_CodePage wCodePage, uint32_t dwFontStyles, const WideString& FontName, wchar_t wcUnicode) { @@ -578,9 +578,10 @@ if (nPenalty >= 0xFFFF) return 0xFFFF; - uint16_t wBit = (wCodePage == FX_CODEPAGE_DefANSI || wCodePage == 0xFFFF) - ? static_cast<uint16_t>(-1) - : FX_GetCodePageBit(wCodePage); + uint16_t wBit = + (wCodePage == FX_CodePage::kDefANSI || wCodePage == FX_CodePage::kFailure) + ? static_cast<uint16_t>(-1) + : FX_GetCodePageBit(wCodePage); if (wBit != static_cast<uint16_t>(-1)) { DCHECK(wBit < 64); if ((pInstalled->m_dwCsb[wBit / 32] & (1 << (wBit % 32))) == 0) @@ -638,7 +639,7 @@ uint32_t dwFontStyles, const wchar_t* pszFontFamily, uint32_t dwHash, - uint16_t wCodePage, + FX_CodePage wCodePage, uint16_t /* wBitField*/) { if (!m_Hash2CandidateList[dwHash].has_value()) { m_Hash2CandidateList[dwHash] = @@ -677,7 +678,7 @@ } std::vector<CFGAS_FontDescriptorInfo> CFGAS_FontMgr::MatchFonts( - uint16_t wCodePage, + FX_CodePage wCodePage, uint32_t dwFontStyles, const WideString& FontName, wchar_t wcUnicode) { @@ -749,7 +750,7 @@ #endif // defined(OS_WIN) RetainPtr<CFGAS_GEFont> CFGAS_FontMgr::GetFontByCodePage( - uint16_t wCodePage, + FX_CodePage wCodePage, uint32_t dwFontStyles, const wchar_t* pszFontFamily) { ByteString bsHash = ByteString::Format("%d, %d", wCodePage, dwFontStyles); @@ -807,10 +808,10 @@ return nullptr; const FGAS_FONTUSB* x = FGAS_GetUnicodeBitField(wUnicode); - uint16_t wCodePage = x ? x->wCodePage : 0xFFFF; + FX_CodePage wCodePage = x ? x->wCodePage : FX_CodePage::kFailure; uint16_t wBitField = x ? x->wBitField : 0x03E7; ByteString bsHash; - if (wCodePage == 0xFFFF) { + if (wCodePage == FX_CodePage::kFailure) { bsHash = ByteString::Format("%d, %d, %d", wCodePage, wBitField, dwFontStyles); } else { @@ -830,7 +831,7 @@ RetainPtr<CFGAS_GEFont> CFGAS_FontMgr::LoadFont(const wchar_t* pszFontFamily, uint32_t dwFontStyles, - uint16_t wCodePage) { + FX_CodePage wCodePage) { #if defined(OS_WIN) ByteString bsHash = ByteString::Format("%d, %d", wCodePage, dwFontStyles); bsHash += FX_UTF8Encode(WideStringView(pszFontFamily));
diff --git a/xfa/fgas/font/cfgas_fontmgr.h b/xfa/fgas/font/cfgas_fontmgr.h index 6f4828b..6e17c15 100644 --- a/xfa/fgas/font/cfgas_fontmgr.h +++ b/xfa/fgas/font/cfgas_fontmgr.h
@@ -14,6 +14,7 @@ #include <vector> #include "build/build_config.h" +#include "core/fxcrt/fx_codepage_forward.h" #include "core/fxcrt/fx_string.h" #include "core/fxcrt/retain_ptr.h" #include "core/fxge/cfx_face.h" @@ -30,7 +31,7 @@ uint32_t dwUSB; bool matchParagraphStyle; wchar_t wUnicode; - uint16_t wCodePage; + FX_CodePage wCodePage; }; struct FX_FONTSIGNATURE { @@ -99,7 +100,7 @@ ~CFGAS_FontMgr(); bool EnumFonts(); - RetainPtr<CFGAS_GEFont> GetFontByCodePage(uint16_t wCodePage, + RetainPtr<CFGAS_GEFont> GetFontByCodePage(FX_CodePage wCodePage, uint32_t dwFontStyles, const wchar_t* pszFontFamily); RetainPtr<CFGAS_GEFont> GetFontByUnicode(wchar_t wUnicode, @@ -107,21 +108,21 @@ const wchar_t* pszFontFamily); RetainPtr<CFGAS_GEFont> LoadFont(const wchar_t* pszFontFamily, uint32_t dwFontStyles, - uint16_t wCodePage); + FX_CodePage wCodePage); private: RetainPtr<CFGAS_GEFont> GetFontByUnicodeImpl(wchar_t wUnicode, uint32_t dwFontStyles, const wchar_t* pszFontFamily, uint32_t dwHash, - uint16_t wCodePage, + FX_CodePage wCodePage, uint16_t wBitField); #if defined(OS_WIN) const FX_FONTDESCRIPTOR* FindFont(const wchar_t* pszFontFamily, uint32_t dwFontStyles, bool matchParagraphStyle, - uint16_t wCodePage, + FX_CodePage wCodePage, uint32_t dwUSB, wchar_t wUnicode); @@ -131,7 +132,7 @@ void RegisterFace(RetainPtr<CFX_Face> pFace, const WideString* pFaceName); void RegisterFaces(const RetainPtr<IFX_SeekableReadStream>& pFontStream, const WideString* pFaceName); - std::vector<CFGAS_FontDescriptorInfo> MatchFonts(uint16_t wCodePage, + std::vector<CFGAS_FontDescriptorInfo> MatchFonts(FX_CodePage wCodePage, uint32_t dwFontStyles, const WideString& FontName, wchar_t wcUnicode);
diff --git a/xfa/fgas/font/cfgas_gefont.cpp b/xfa/fgas/font/cfgas_gefont.cpp index 43f1fde..fcb304d 100644 --- a/xfa/fgas/font/cfgas_gefont.cpp +++ b/xfa/fgas/font/cfgas_gefont.cpp
@@ -11,7 +11,6 @@ #include "build/build_config.h" #include "core/fpdfapi/font/cpdf_font.h" -#include "core/fxcrt/fx_codepage.h" #include "core/fxge/cfx_font.h" #include "core/fxge/cfx_substfont.h" #include "core/fxge/cfx_unicodeencodingex.h" @@ -24,7 +23,7 @@ // static RetainPtr<CFGAS_GEFont> CFGAS_GEFont::LoadFont(const wchar_t* pszFontFamily, uint32_t dwFontStyles, - uint16_t wCodePage) { + FX_CodePage wCodePage) { #if defined(OS_WIN) auto pFont = pdfium::MakeRetain<CFGAS_GEFont>(); if (!pFont->LoadFontInternal(pszFontFamily, dwFontStyles, wCodePage)) @@ -72,7 +71,7 @@ #if defined(OS_WIN) bool CFGAS_GEFont::LoadFontInternal(const wchar_t* pszFontFamily, uint32_t dwFontStyles, - uint16_t wCodePage) { + FX_CodePage wCodePage) { if (m_pFont) return false; ByteString csFontFamily;
diff --git a/xfa/fgas/font/cfgas_gefont.h b/xfa/fgas/font/cfgas_gefont.h index 9716bf5..c29da21 100644 --- a/xfa/fgas/font/cfgas_gefont.h +++ b/xfa/fgas/font/cfgas_gefont.h
@@ -13,6 +13,7 @@ #include <vector> #include "build/build_config.h" +#include "core/fxcrt/fx_codepage_forward.h" #include "core/fxcrt/fx_coordinates.h" #include "core/fxcrt/fx_string.h" #include "core/fxcrt/fx_system.h" @@ -31,7 +32,7 @@ static RetainPtr<CFGAS_GEFont> LoadFont(const wchar_t* pszFontFamily, uint32_t dwFontStyles, - uint16_t wCodePage); + FX_CodePage wCodePage); static RetainPtr<CFGAS_GEFont> LoadFont(const RetainPtr<CPDF_Font>& pFont); static RetainPtr<CFGAS_GEFont> LoadFont(std::unique_ptr<CFX_Font> pFont); static RetainPtr<CFGAS_GEFont> LoadStockFont(CPDF_Document* pDoc, @@ -59,7 +60,7 @@ #if defined(OS_WIN) bool LoadFontInternal(const wchar_t* pszFontFamily, uint32_t dwFontStyles, - uint16_t wCodePage); + FX_CodePage wCodePage); bool LoadFontInternal(const uint8_t* pBuffer, int32_t length); #endif bool LoadFontInternal(std::unique_ptr<CFX_Font> pInternalFont);
diff --git a/xfa/fgas/font/fgas_fontutils.cpp b/xfa/fgas/font/fgas_fontutils.cpp index 191aeb8..3bbe383 100644 --- a/xfa/fgas/font/fgas_fontutils.cpp +++ b/xfa/fgas/font/fgas_fontutils.cpp
@@ -15,1836 +15,2410 @@ namespace { const FGAS_FONTUSB g_FXGdiFontUSBTable[] = { - {0x0000, 0x007F, 0, FX_CODEPAGE_MSWin_WesternEuropean}, - {0x0080, 0x00FF, 1, FX_CODEPAGE_MSWin_WesternEuropean}, - {0x0100, 0x017F, 2, FX_CODEPAGE_MSWin_EasternEuropean}, - {0x0180, 0x024F, 3, FX_CODEPAGE_MSWin_EasternEuropean}, - {0x0250, 0x02AF, 4, 0xFFFF}, - {0x02B0, 0x02FF, 5, 0xFFFF}, - {0x0300, 0x036F, 6, 0xFFFF}, - {0x0370, 0x03FF, 7, FX_CODEPAGE_MSWin_Greek}, - {0x0400, 0x04FF, 9, FX_CODEPAGE_MSWin_Cyrillic}, - {0x0500, 0x052F, 9, 0xFFFF}, - {0x0530, 0x058F, 10, 0xFFFF}, - {0x0590, 0x05FF, 11, FX_CODEPAGE_MSWin_Hebrew}, - {0x0600, 0x06FF, 13, FX_CODEPAGE_MSWin_Arabic}, - {0x0700, 0x074F, 71, 0xFFFF}, - {0x0750, 0x077F, 13, 0xFFFF}, - {0x0780, 0x07BF, 72, 0xFFFF}, - {0x07C0, 0x07FF, 14, 0xFFFF}, - {0x0800, 0x08FF, 999, 0xFFFF}, - {0x0900, 0x097F, 15, 0xFFFF}, - {0x0980, 0x09FF, 16, 0xFFFF}, - {0x0A00, 0x0A7F, 17, 0xFFFF}, - {0x0A80, 0x0AFF, 18, 0xFFFF}, - {0x0B00, 0x0B7F, 19, 0xFFFF}, - {0x0B80, 0x0BFF, 20, 0xFFFF}, - {0x0C00, 0x0C7F, 21, 0xFFFF}, - {0x0C80, 0x0CFF, 22, 0xFFFF}, - {0x0D00, 0x0D7F, 23, 0xFFFF}, - {0x0D80, 0x0DFF, 73, 0xFFFF}, - {0x0E00, 0x0E7F, 24, FX_CODEPAGE_MSDOS_Thai}, - {0x0E80, 0x0EFF, 25, 0xFFFF}, - {0x0F00, 0x0FFF, 70, 0xFFFF}, - {0x1000, 0x109F, 74, 0xFFFF}, - {0x10A0, 0x10FF, 26, 0xFFFF}, - {0x1100, 0x11FF, 28, 0xFFFF}, - {0x1200, 0x137F, 75, 0xFFFF}, - {0x1380, 0x139F, 75, 0xFFFF}, - {0x13A0, 0x13FF, 76, 0xFFFF}, - {0x1400, 0x167F, 77, 0xFFFF}, - {0x1680, 0x169F, 78, 0xFFFF}, - {0x16A0, 0x16FF, 79, 0xFFFF}, - {0x1700, 0x171F, 84, 0xFFFF}, - {0x1720, 0x173F, 84, 0xFFFF}, - {0x1740, 0x175F, 84, 0xFFFF}, - {0x1760, 0x177F, 84, 0xFFFF}, - {0x1780, 0x17FF, 80, 0xFFFF}, - {0x1800, 0x18AF, 81, 0xFFFF}, - {0x18B0, 0x18FF, 999, 0xFFFF}, - {0x1900, 0x194F, 93, 0xFFFF}, - {0x1950, 0x197F, 94, 0xFFFF}, - {0x1980, 0x19DF, 95, 0xFFFF}, - {0x19E0, 0x19FF, 80, 0xFFFF}, - {0x1A00, 0x1A1F, 96, 0xFFFF}, - {0x1A20, 0x1AFF, 999, 0xFFFF}, - {0x1B00, 0x1B7F, 27, 0xFFFF}, - {0x1B80, 0x1BBF, 112, 0xFFFF}, - {0x1BC0, 0x1BFF, 999, 0xFFFF}, - {0x1C00, 0x1C4F, 113, 0xFFFF}, - {0x1C50, 0x1C7F, 114, 0xFFFF}, - {0x1C80, 0x1CFF, 999, 0xFFFF}, - {0x1D00, 0x1D7F, 4, 0xFFFF}, - {0x1D80, 0x1DBF, 4, 0xFFFF}, - {0x1DC0, 0x1DFF, 6, 0xFFFF}, - {0x1E00, 0x1EFF, 29, 0xFFFF}, - {0x1F00, 0x1FFF, 30, 0xFFFF}, - {0x2000, 0x206F, 31, 0xFFFF}, - {0x2070, 0x209F, 32, 0xFFFF}, - {0x20A0, 0x20CF, 33, 0xFFFF}, - {0x20D0, 0x20FF, 34, 0xFFFF}, - {0x2100, 0x214F, 35, 0xFFFF}, - {0x2150, 0x215F, 36, 0xFFFF}, - {0x2160, 0x216B, 36, FX_CODEPAGE_ChineseSimplified}, - {0x216C, 0x216F, 36, 0xFFFF}, - {0x2170, 0x2179, 36, FX_CODEPAGE_ChineseSimplified}, - {0x217A, 0x218F, 36, 0xFFFF}, - {0x2190, 0x2199, 37, FX_CODEPAGE_Hangul}, - {0x219A, 0x21FF, 37, 0xFFFF}, - {0x2200, 0x22FF, 38, 0xFFFF}, - {0x2300, 0x23FF, 39, 0xFFFF}, - {0x2400, 0x243F, 40, 0xFFFF}, - {0x2440, 0x245F, 41, 0xFFFF}, - {0x2460, 0x2473, 42, FX_CODEPAGE_ShiftJIS}, - {0x2474, 0x249B, 42, FX_CODEPAGE_ChineseSimplified}, - {0x249C, 0x24E9, 42, FX_CODEPAGE_Hangul}, - {0x24EA, 0x24FF, 42, 0xFFFF}, - {0x2500, 0x2573, 43, FX_CODEPAGE_ChineseSimplified}, - {0x2574, 0x257F, 43, 0xFFFF}, - {0x2580, 0x2580, 44, 0xFFFF}, - {0x2581, 0x258F, 44, FX_CODEPAGE_ChineseSimplified}, - {0x2590, 0x259F, 44, 0xFFFF}, - {0x25A0, 0x25FF, 45, 0xFFFF}, - {0x2600, 0x26FF, 46, 0xFFFF}, - {0x2700, 0x27BF, 47, 0xFFFF}, - {0x27C0, 0x27EF, 38, 0xFFFF}, - {0x27F0, 0x27FF, 37, 0xFFFF}, - {0x2800, 0x28FF, 82, 0xFFFF}, - {0x2900, 0x297F, 37, 0xFFFF}, - {0x2980, 0x29FF, 38, 0xFFFF}, - {0x2A00, 0x2AFF, 38, 0xFFFF}, - {0x2B00, 0x2BFF, 37, 0xFFFF}, - {0x2C00, 0x2C5F, 97, 0xFFFF}, - {0x2C60, 0x2C7F, 29, 0xFFFF}, - {0x2C80, 0x2CFF, 8, 0xFFFF}, - {0x2D00, 0x2D2F, 26, 0xFFFF}, - {0x2D30, 0x2D7F, 98, 0xFFFF}, - {0x2D80, 0x2DDF, 75, 0xFFFF}, - {0x2DE0, 0x2DFF, 9, 0xFFFF}, - {0x2E00, 0x2E7F, 31, 0xFFFF}, - {0x2E80, 0x2EFF, 59, 0xFFFF}, - {0x2F00, 0x2FDF, 59, 0xFFFF}, - {0x2FE0, 0x2FEF, 999, 0xFFFF}, - {0x2FF0, 0x2FFF, 59, 0xFFFF}, - {0x3000, 0x303F, 48, 0xFFFF}, - {0x3040, 0x309F, 49, FX_CODEPAGE_ShiftJIS}, - {0x30A0, 0x30FF, 50, FX_CODEPAGE_ShiftJIS}, - {0x3100, 0x3129, 51, FX_CODEPAGE_ChineseSimplified}, - {0x312A, 0x312F, 51, 0xFFFF}, - {0x3130, 0x318F, 52, FX_CODEPAGE_Hangul}, - {0x3190, 0x319F, 59, 0xFFFF}, - {0x31A0, 0x31BF, 51, 0xFFFF}, - {0x31C0, 0x31EF, 61, 0xFFFF}, - {0x31F0, 0x31FF, 50, 0xFFFF}, - {0x3200, 0x321C, 54, FX_CODEPAGE_Hangul}, - {0x321D, 0x325F, 54, 0xFFFF}, - {0x3260, 0x327F, 54, FX_CODEPAGE_Hangul}, - {0x3280, 0x32FF, 54, 0xFFFF}, - {0x3300, 0x3387, 55, 0xFFFF}, - {0x3388, 0x33D0, 55, FX_CODEPAGE_Hangul}, - {0x33D1, 0x33FF, 55, 0xFFFF}, - {0x3400, 0x4DBF, 59, 0xFFFF}, - {0x4DC0, 0x4DFF, 99, 0xFFFF}, - {0x4E00, 0x9FA5, 59, FX_CODEPAGE_ChineseSimplified}, - {0x9FA6, 0x9FFF, 59, 0xFFFF}, - {0xA000, 0xA48F, 83, 0xFFFF}, - {0xA490, 0xA4CF, 83, 0xFFFF}, - {0xA4D0, 0xA4FF, 999, 0xFFFF}, - {0xA500, 0xA63F, 12, 0xFFFF}, - {0xA640, 0xA69F, 9, 0xFFFF}, - {0xA6A0, 0xA6FF, 999, 0xFFFF}, - {0xA700, 0xA71F, 5, 0xFFFF}, - {0xA720, 0xA7FF, 29, 0xFFFF}, - {0xA800, 0xA82F, 100, 0xFFFF}, - {0xA830, 0xA8FF, 999, 0xFFFF}, - {0xA840, 0xA87F, 53, 0xFFFF}, - {0xA880, 0xA8DF, 115, 0xFFFF}, - {0xA8E0, 0xA8FF, 999, 0xFFFF}, - {0xA900, 0xA92F, 116, 0xFFFF}, - {0xA930, 0xA95F, 117, 0xFFFF}, - {0xA960, 0xA9FF, 999, 0xFFFF}, - {0xAA00, 0xAA5F, 118, 0xFFFF}, - {0xAA60, 0xABFF, 999, 0xFFFF}, - {0xAC00, 0xD7AF, 56, FX_CODEPAGE_Hangul}, - {0xD7B0, 0xD7FF, 999, 0xFFFF}, - {0xD800, 0xDB7F, 57, 0xFFFF}, - {0xDB80, 0xDBFF, 57, 0xFFFF}, - {0xDC00, 0xDFFF, 57, 0xFFFF}, - {0xE000, 0xE814, 60, 0xFFFF}, - {0xE815, 0xE864, 60, FX_CODEPAGE_ChineseSimplified}, - {0xE865, 0xF8FF, 60, 0xFFFF}, - {0xF900, 0xFA0B, 61, FX_CODEPAGE_Hangul}, - {0xFA0C, 0xFA0D, 61, FX_CODEPAGE_ChineseSimplified}, - {0xFA0E, 0xFA2D, 61, FX_CODEPAGE_ShiftJIS}, - {0xFA2E, 0xFAFF, 61, 0xFFFF}, - {0xFB00, 0xFB4F, 62, 0xFFFF}, - {0xFB50, 0xFDFF, 63, FX_CODEPAGE_MSWin_Arabic}, - {0xFE00, 0xFE0F, 91, 0xFFFF}, - {0xFE10, 0xFE1F, 65, 0xFFFF}, - {0xFE20, 0xFE2F, 64, 0xFFFF}, - {0xFE30, 0xFE4F, 65, 0xFFFF}, - {0xFE50, 0xFE6F, 66, 0xFFFF}, - {0xFE70, 0xFEFF, 67, FX_CODEPAGE_MSWin_Arabic}, - {0xFF00, 0xFF5F, 68, FX_CODEPAGE_ChineseSimplified}, - {0xFF60, 0xFF9F, 68, FX_CODEPAGE_ShiftJIS}, - {0xFFA0, 0xFFEF, 68, 0xFFFF}, + {0x0000, 0x007F, 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x0080, 0x00FF, 1, FX_CodePage::kMSWin_WesternEuropean}, + {0x0100, 0x017F, 2, FX_CodePage::kMSWin_EasternEuropean}, + {0x0180, 0x024F, 3, FX_CodePage::kMSWin_EasternEuropean}, + {0x0250, 0x02AF, 4, FX_CodePage::kFailure}, + {0x02B0, 0x02FF, 5, FX_CodePage::kFailure}, + {0x0300, 0x036F, 6, FX_CodePage::kFailure}, + {0x0370, 0x03FF, 7, FX_CodePage::kMSWin_Greek}, + {0x0400, 0x04FF, 9, FX_CodePage::kMSWin_Cyrillic}, + {0x0500, 0x052F, 9, FX_CodePage::kFailure}, + {0x0530, 0x058F, 10, FX_CodePage::kFailure}, + {0x0590, 0x05FF, 11, FX_CodePage::kMSWin_Hebrew}, + {0x0600, 0x06FF, 13, FX_CodePage::kMSWin_Arabic}, + {0x0700, 0x074F, 71, FX_CodePage::kFailure}, + {0x0750, 0x077F, 13, FX_CodePage::kFailure}, + {0x0780, 0x07BF, 72, FX_CodePage::kFailure}, + {0x07C0, 0x07FF, 14, FX_CodePage::kFailure}, + {0x0800, 0x08FF, 999, FX_CodePage::kFailure}, + {0x0900, 0x097F, 15, FX_CodePage::kFailure}, + {0x0980, 0x09FF, 16, FX_CodePage::kFailure}, + {0x0A00, 0x0A7F, 17, FX_CodePage::kFailure}, + {0x0A80, 0x0AFF, 18, FX_CodePage::kFailure}, + {0x0B00, 0x0B7F, 19, FX_CodePage::kFailure}, + {0x0B80, 0x0BFF, 20, FX_CodePage::kFailure}, + {0x0C00, 0x0C7F, 21, FX_CodePage::kFailure}, + {0x0C80, 0x0CFF, 22, FX_CodePage::kFailure}, + {0x0D00, 0x0D7F, 23, FX_CodePage::kFailure}, + {0x0D80, 0x0DFF, 73, FX_CodePage::kFailure}, + {0x0E00, 0x0E7F, 24, FX_CodePage::kMSDOS_Thai}, + {0x0E80, 0x0EFF, 25, FX_CodePage::kFailure}, + {0x0F00, 0x0FFF, 70, FX_CodePage::kFailure}, + {0x1000, 0x109F, 74, FX_CodePage::kFailure}, + {0x10A0, 0x10FF, 26, FX_CodePage::kFailure}, + {0x1100, 0x11FF, 28, FX_CodePage::kFailure}, + {0x1200, 0x137F, 75, FX_CodePage::kFailure}, + {0x1380, 0x139F, 75, FX_CodePage::kFailure}, + {0x13A0, 0x13FF, 76, FX_CodePage::kFailure}, + {0x1400, 0x167F, 77, FX_CodePage::kFailure}, + {0x1680, 0x169F, 78, FX_CodePage::kFailure}, + {0x16A0, 0x16FF, 79, FX_CodePage::kFailure}, + {0x1700, 0x171F, 84, FX_CodePage::kFailure}, + {0x1720, 0x173F, 84, FX_CodePage::kFailure}, + {0x1740, 0x175F, 84, FX_CodePage::kFailure}, + {0x1760, 0x177F, 84, FX_CodePage::kFailure}, + {0x1780, 0x17FF, 80, FX_CodePage::kFailure}, + {0x1800, 0x18AF, 81, FX_CodePage::kFailure}, + {0x18B0, 0x18FF, 999, FX_CodePage::kFailure}, + {0x1900, 0x194F, 93, FX_CodePage::kFailure}, + {0x1950, 0x197F, 94, FX_CodePage::kFailure}, + {0x1980, 0x19DF, 95, FX_CodePage::kFailure}, + {0x19E0, 0x19FF, 80, FX_CodePage::kFailure}, + {0x1A00, 0x1A1F, 96, FX_CodePage::kFailure}, + {0x1A20, 0x1AFF, 999, FX_CodePage::kFailure}, + {0x1B00, 0x1B7F, 27, FX_CodePage::kFailure}, + {0x1B80, 0x1BBF, 112, FX_CodePage::kFailure}, + {0x1BC0, 0x1BFF, 999, FX_CodePage::kFailure}, + {0x1C00, 0x1C4F, 113, FX_CodePage::kFailure}, + {0x1C50, 0x1C7F, 114, FX_CodePage::kFailure}, + {0x1C80, 0x1CFF, 999, FX_CodePage::kFailure}, + {0x1D00, 0x1D7F, 4, FX_CodePage::kFailure}, + {0x1D80, 0x1DBF, 4, FX_CodePage::kFailure}, + {0x1DC0, 0x1DFF, 6, FX_CodePage::kFailure}, + {0x1E00, 0x1EFF, 29, FX_CodePage::kFailure}, + {0x1F00, 0x1FFF, 30, FX_CodePage::kFailure}, + {0x2000, 0x206F, 31, FX_CodePage::kFailure}, + {0x2070, 0x209F, 32, FX_CodePage::kFailure}, + {0x20A0, 0x20CF, 33, FX_CodePage::kFailure}, + {0x20D0, 0x20FF, 34, FX_CodePage::kFailure}, + {0x2100, 0x214F, 35, FX_CodePage::kFailure}, + {0x2150, 0x215F, 36, FX_CodePage::kFailure}, + {0x2160, 0x216B, 36, FX_CodePage::kChineseSimplified}, + {0x216C, 0x216F, 36, FX_CodePage::kFailure}, + {0x2170, 0x2179, 36, FX_CodePage::kChineseSimplified}, + {0x217A, 0x218F, 36, FX_CodePage::kFailure}, + {0x2190, 0x2199, 37, FX_CodePage::kHangul}, + {0x219A, 0x21FF, 37, FX_CodePage::kFailure}, + {0x2200, 0x22FF, 38, FX_CodePage::kFailure}, + {0x2300, 0x23FF, 39, FX_CodePage::kFailure}, + {0x2400, 0x243F, 40, FX_CodePage::kFailure}, + {0x2440, 0x245F, 41, FX_CodePage::kFailure}, + {0x2460, 0x2473, 42, FX_CodePage::kShiftJIS}, + {0x2474, 0x249B, 42, FX_CodePage::kChineseSimplified}, + {0x249C, 0x24E9, 42, FX_CodePage::kHangul}, + {0x24EA, 0x24FF, 42, FX_CodePage::kFailure}, + {0x2500, 0x2573, 43, FX_CodePage::kChineseSimplified}, + {0x2574, 0x257F, 43, FX_CodePage::kFailure}, + {0x2580, 0x2580, 44, FX_CodePage::kFailure}, + {0x2581, 0x258F, 44, FX_CodePage::kChineseSimplified}, + {0x2590, 0x259F, 44, FX_CodePage::kFailure}, + {0x25A0, 0x25FF, 45, FX_CodePage::kFailure}, + {0x2600, 0x26FF, 46, FX_CodePage::kFailure}, + {0x2700, 0x27BF, 47, FX_CodePage::kFailure}, + {0x27C0, 0x27EF, 38, FX_CodePage::kFailure}, + {0x27F0, 0x27FF, 37, FX_CodePage::kFailure}, + {0x2800, 0x28FF, 82, FX_CodePage::kFailure}, + {0x2900, 0x297F, 37, FX_CodePage::kFailure}, + {0x2980, 0x29FF, 38, FX_CodePage::kFailure}, + {0x2A00, 0x2AFF, 38, FX_CodePage::kFailure}, + {0x2B00, 0x2BFF, 37, FX_CodePage::kFailure}, + {0x2C00, 0x2C5F, 97, FX_CodePage::kFailure}, + {0x2C60, 0x2C7F, 29, FX_CodePage::kFailure}, + {0x2C80, 0x2CFF, 8, FX_CodePage::kFailure}, + {0x2D00, 0x2D2F, 26, FX_CodePage::kFailure}, + {0x2D30, 0x2D7F, 98, FX_CodePage::kFailure}, + {0x2D80, 0x2DDF, 75, FX_CodePage::kFailure}, + {0x2DE0, 0x2DFF, 9, FX_CodePage::kFailure}, + {0x2E00, 0x2E7F, 31, FX_CodePage::kFailure}, + {0x2E80, 0x2EFF, 59, FX_CodePage::kFailure}, + {0x2F00, 0x2FDF, 59, FX_CodePage::kFailure}, + {0x2FE0, 0x2FEF, 999, FX_CodePage::kFailure}, + {0x2FF0, 0x2FFF, 59, FX_CodePage::kFailure}, + {0x3000, 0x303F, 48, FX_CodePage::kFailure}, + {0x3040, 0x309F, 49, FX_CodePage::kShiftJIS}, + {0x30A0, 0x30FF, 50, FX_CodePage::kShiftJIS}, + {0x3100, 0x3129, 51, FX_CodePage::kChineseSimplified}, + {0x312A, 0x312F, 51, FX_CodePage::kFailure}, + {0x3130, 0x318F, 52, FX_CodePage::kHangul}, + {0x3190, 0x319F, 59, FX_CodePage::kFailure}, + {0x31A0, 0x31BF, 51, FX_CodePage::kFailure}, + {0x31C0, 0x31EF, 61, FX_CodePage::kFailure}, + {0x31F0, 0x31FF, 50, FX_CodePage::kFailure}, + {0x3200, 0x321C, 54, FX_CodePage::kHangul}, + {0x321D, 0x325F, 54, FX_CodePage::kFailure}, + {0x3260, 0x327F, 54, FX_CodePage::kHangul}, + {0x3280, 0x32FF, 54, FX_CodePage::kFailure}, + {0x3300, 0x3387, 55, FX_CodePage::kFailure}, + {0x3388, 0x33D0, 55, FX_CodePage::kHangul}, + {0x33D1, 0x33FF, 55, FX_CodePage::kFailure}, + {0x3400, 0x4DBF, 59, FX_CodePage::kFailure}, + {0x4DC0, 0x4DFF, 99, FX_CodePage::kFailure}, + {0x4E00, 0x9FA5, 59, FX_CodePage::kChineseSimplified}, + {0x9FA6, 0x9FFF, 59, FX_CodePage::kFailure}, + {0xA000, 0xA48F, 83, FX_CodePage::kFailure}, + {0xA490, 0xA4CF, 83, FX_CodePage::kFailure}, + {0xA4D0, 0xA4FF, 999, FX_CodePage::kFailure}, + {0xA500, 0xA63F, 12, FX_CodePage::kFailure}, + {0xA640, 0xA69F, 9, FX_CodePage::kFailure}, + {0xA6A0, 0xA6FF, 999, FX_CodePage::kFailure}, + {0xA700, 0xA71F, 5, FX_CodePage::kFailure}, + {0xA720, 0xA7FF, 29, FX_CodePage::kFailure}, + {0xA800, 0xA82F, 100, FX_CodePage::kFailure}, + {0xA830, 0xA8FF, 999, FX_CodePage::kFailure}, + {0xA840, 0xA87F, 53, FX_CodePage::kFailure}, + {0xA880, 0xA8DF, 115, FX_CodePage::kFailure}, + {0xA8E0, 0xA8FF, 999, FX_CodePage::kFailure}, + {0xA900, 0xA92F, 116, FX_CodePage::kFailure}, + {0xA930, 0xA95F, 117, FX_CodePage::kFailure}, + {0xA960, 0xA9FF, 999, FX_CodePage::kFailure}, + {0xAA00, 0xAA5F, 118, FX_CodePage::kFailure}, + {0xAA60, 0xABFF, 999, FX_CodePage::kFailure}, + {0xAC00, 0xD7AF, 56, FX_CodePage::kHangul}, + {0xD7B0, 0xD7FF, 999, FX_CodePage::kFailure}, + {0xD800, 0xDB7F, 57, FX_CodePage::kFailure}, + {0xDB80, 0xDBFF, 57, FX_CodePage::kFailure}, + {0xDC00, 0xDFFF, 57, FX_CodePage::kFailure}, + {0xE000, 0xE814, 60, FX_CodePage::kFailure}, + {0xE815, 0xE864, 60, FX_CodePage::kChineseSimplified}, + {0xE865, 0xF8FF, 60, FX_CodePage::kFailure}, + {0xF900, 0xFA0B, 61, FX_CodePage::kHangul}, + {0xFA0C, 0xFA0D, 61, FX_CodePage::kChineseSimplified}, + {0xFA0E, 0xFA2D, 61, FX_CodePage::kShiftJIS}, + {0xFA2E, 0xFAFF, 61, FX_CodePage::kFailure}, + {0xFB00, 0xFB4F, 62, FX_CodePage::kFailure}, + {0xFB50, 0xFDFF, 63, FX_CodePage::kMSWin_Arabic}, + {0xFE00, 0xFE0F, 91, FX_CodePage::kFailure}, + {0xFE10, 0xFE1F, 65, FX_CodePage::kFailure}, + {0xFE20, 0xFE2F, 64, FX_CodePage::kFailure}, + {0xFE30, 0xFE4F, 65, FX_CodePage::kFailure}, + {0xFE50, 0xFE6F, 66, FX_CodePage::kFailure}, + {0xFE70, 0xFEFF, 67, FX_CodePage::kMSWin_Arabic}, + {0xFF00, 0xFF5F, 68, FX_CodePage::kChineseSimplified}, + {0xFF60, 0xFF9F, 68, FX_CodePage::kShiftJIS}, + {0xFFA0, 0xFFEF, 68, FX_CodePage::kFailure}, }; #if defined(OS_WIN) const FGAS_FontInfo g_XFAFontsMap[] = { - {0x01d5d33e, "SimSun", "Arial", 0, 936}, - {0x01e4f102, "YouYuan", "Arial", 1, 936}, - {0x030549dc, "LiSu", "Arial", 1, 936}, - {0x032edd44, "Simhei", "Arial", 1, 936}, - {0x03eac6fc, "PoorRichard-Regular", "Arial", 2, 1252}, - {0x03ed90e6, "Nina", "Arial", 0, 1252}, - {0x077b56b3, "KingsoftPhoneticPlain", "Arial", 0, 1252}, - {0x078ed524, "MicrosoftSansSerif", "Arial", 0, 1252}, - {0x089b18a9, "Arial", "Arial", 0, 1252}, - {0x0b2cad72, "MonotypeCorsiva", "Arial", 8, 1252}, - {0x0bb003e7, "Kartika", "Arial", 2, 1252}, - {0x0bb469df, "VinerHandITC", "Arial", 8, 1252}, - {0x0bc1a851, "SegoeUI", "Arial", 0, 1252}, - {0x0c112ebd, "KozukaGothicPro-VIM", "Arial", 0, 1252}, - {0x0cfcb9c1, "AdobeThai", "Kokila,Arial Narrow", 0, 847}, - {0x0e7de0f9, "Playbill", "Arial", 0, 1252}, - {0x0eff47c3, "STHupo", "Arial", 0, 936}, - {0x107ad374, "Constantia", "Arial", 2, 1252}, - {0x12194c2d, "KunstlerScript", "Arial", 8, 1252}, + {0x01d5d33e, "SimSun", "Arial", 0, FX_CodePage::kChineseSimplified}, + {0x01e4f102, "YouYuan", "Arial", 1, FX_CodePage::kChineseSimplified}, + {0x030549dc, "LiSu", "Arial", 1, FX_CodePage::kChineseSimplified}, + {0x032edd44, "Simhei", "Arial", 1, FX_CodePage::kChineseSimplified}, + {0x03eac6fc, "PoorRichard-Regular", "Arial", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0x03ed90e6, "Nina", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x077b56b3, "KingsoftPhoneticPlain", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x078ed524, "MicrosoftSansSerif", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x089b18a9, "Arial", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x0b2cad72, "MonotypeCorsiva", "Arial", 8, + FX_CodePage::kMSWin_WesternEuropean}, + {0x0bb003e7, "Kartika", "Arial", 2, FX_CodePage::kMSWin_WesternEuropean}, + {0x0bb469df, "VinerHandITC", "Arial", 8, + FX_CodePage::kMSWin_WesternEuropean}, + {0x0bc1a851, "SegoeUI", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x0c112ebd, "KozukaGothicPro-VIM", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + // Was 847 (not defined), presumably 874 (Thai). + {0x0cfcb9c1, "AdobeThai", "Kokila,Arial Narrow", 0, + FX_CodePage::kMSDOS_Thai}, + {0x0e7de0f9, "Playbill", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x0eff47c3, "STHupo", "Arial", 0, FX_CodePage::kChineseSimplified}, + {0x107ad374, "Constantia", "Arial", 2, FX_CodePage::kMSWin_WesternEuropean}, + {0x12194c2d, "KunstlerScript", "Arial", 8, + FX_CodePage::kMSWin_WesternEuropean}, {0x135ef6a1, "MinionProSmBd", - "Bell MT,Corbel,Times New Roman,Cambria,Berlin Sans FB", 0, 1252}, - {0x158c4049, "Garamond", "Arial", 2, 1252}, - {0x160ecb24, "STZhongsong", "Arial", 0, 936}, - {0x161ed07e, "MSGothic", "Arial", 1, 1252}, - {0x171d1ed1, "SnapITC-Regular", "Arial", 0, 1252}, - {0x18d1188f, "Cambria", "Arial", 2, 1252}, - {0x18eaf350, "ArialUnicodeMS", "Arial", 0, 936}, - {0x1a92d115, "MingLiU", "Arial", 1, 1252}, - {0x1cc217c6, "TrebuchetMS", "Arial", 0, 1252}, - {0x1d649596, "BasemicTimes", "Arial", 0, 1252}, - {0x1e34ee60, "BellMT", "Arial", 2, 1252}, - {0x1eb36945, "CooperBlack", "Arial", 2, 1252}, - {0x1ef7787d, "BatangChe", "Arial", 1, 1252}, - {0x20b3bd3a, "BrushScriptMT", "Arial", 8, 1252}, - {0x220877aa, "Candara", "Arial", 0, 1252}, - {0x22135007, "FreestyleScript-Regular", "Arial", 8, 1252}, - {0x251059c3, "Chiller", "Arial", 0, 1252}, - {0x25bed6dd, "MSReferenceSansSerif", "Arial", 0, 1252}, - {0x28154c81, "Parchment-Regular", "Arial", 8, 1252}, - {0x29711eb9, "STLiti", "Arial", 0, 936}, - {0x2b1993b4, "Basemic", "Arial", 0, 1252}, - {0x2b316339, "NiagaraSolid-Reg", "Arial", 0, 1252}, - {0x2c147529, "FootlightMTLight", "Arial", 0, 1252}, - {0x2c198928, "HarlowSolid", "Arial", 0, 1252}, - {0x2c6ac6b2, "LucidaBright", "Arial", 2, 1252}, - {0x2c9f38e2, "KozukaMinchoPro-VIR", "Arial", 0, 1252}, - {0x2d5a47b0, "STCaiyun", "Arial", 0, 936}, - {0x2def26bf, "BernardMT-Condensed", "Arial", 0, 1252}, - {0x2fd8930b, "KozukaMinchoPr6NR", "Arial", 0, 1252}, - {0x3115525a, "FangSong_GB2312", "Arial", 0, 1252}, + "Bell MT,Corbel,Times New Roman,Cambria,Berlin Sans FB", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x158c4049, "Garamond", "Arial", 2, FX_CodePage::kMSWin_WesternEuropean}, + {0x160ecb24, "STZhongsong", "Arial", 0, FX_CodePage::kChineseSimplified}, + {0x161ed07e, "MSGothic", "Arial", 1, FX_CodePage::kMSWin_WesternEuropean}, + {0x171d1ed1, "SnapITC-Regular", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x18d1188f, "Cambria", "Arial", 2, FX_CodePage::kMSWin_WesternEuropean}, + {0x18eaf350, "ArialUnicodeMS", "Arial", 0, FX_CodePage::kChineseSimplified}, + {0x1a92d115, "MingLiU", "Arial", 1, FX_CodePage::kMSWin_WesternEuropean}, + {0x1cc217c6, "TrebuchetMS", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x1d649596, "BasemicTimes", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x1e34ee60, "BellMT", "Arial", 2, FX_CodePage::kMSWin_WesternEuropean}, + {0x1eb36945, "CooperBlack", "Arial", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0x1ef7787d, "BatangChe", "Arial", 1, FX_CodePage::kMSWin_WesternEuropean}, + {0x20b3bd3a, "BrushScriptMT", "Arial", 8, + FX_CodePage::kMSWin_WesternEuropean}, + {0x220877aa, "Candara", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x22135007, "FreestyleScript-Regular", "Arial", 8, + FX_CodePage::kMSWin_WesternEuropean}, + {0x251059c3, "Chiller", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x25bed6dd, "MSReferenceSansSerif", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x28154c81, "Parchment-Regular", "Arial", 8, + FX_CodePage::kMSWin_WesternEuropean}, + {0x29711eb9, "STLiti", "Arial", 0, FX_CodePage::kChineseSimplified}, + {0x2b1993b4, "Basemic", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x2b316339, "NiagaraSolid-Reg", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x2c147529, "FootlightMTLight", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x2c198928, "HarlowSolid", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x2c6ac6b2, "LucidaBright", "Arial", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0x2c9f38e2, "KozukaMinchoPro-VIR", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x2d5a47b0, "STCaiyun", "Arial", 0, FX_CodePage::kChineseSimplified}, + {0x2def26bf, "BernardMT-Condensed", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x2fd8930b, "KozukaMinchoPr6NR", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x3115525a, "FangSong_GB2312", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x31327817, "MyriadPro", "Calibri,Corbel,Candara,Cambria Math,Franklin Gothic Medium,Arial " "Narrow,Times New Roman", - 0, 1252}, - {0x32244975, "Helvetica", "Arial", 0, 1252}, - {0x32ac995c, "Terminal", "Arial", 0, 1252}, - {0x338d648a, "NiagaraEngraved-Reg", "Arial", 0, 1252}, - {0x33bb65f2, "Sylfaen", "Arial", 2, 1252}, - {0x3402c30e, "MSPMincho", "Arial", 2, 1252}, - {0x3412bf31, "SimSun-PUA", "Arial", 0, 936}, - {0x36eb39b9, "BerlinSansFB", "Arial", 0, 1252}, - {0x36f42055, "UniversATT", "Microsoft Sans Serif", 0, 1252}, - {0x3864c4f6, "HighTowerText", "Arial", 2, 1252}, - {0x3a257d03, "FangSong_GB2312", "Arial", 0, 1252}, - {0x3cdae668, "FreestyleScript", "Arial", 8, 1252}, - {0x3d55aed7, "Jokerman", "Arial", 0, 1252}, - {0x3d5b4385, "PMingLiU", "Arial", 2, 1252}, - {0x3d9b7669, "EstrangeloEdessa", "Arial", 0, 1252}, - {0x3e532d74, "FranklinGothicMedium", "Arial", 0, 1252}, - {0x3e6aa32d, "NSimSun", "Arial", 1, 936}, - {0x3f6c36a8, "Gautami", "Arial", 0, 1252}, - {0x3ff32662, "Chiller-Regular", "Arial", 0, 1252}, - {0x409de312, "ModernNo.20", "Arial", 2, 1252}, - {0x41443c5e, "Georgia", "Arial", 2, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x32244975, "Helvetica", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x32ac995c, "Terminal", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x338d648a, "NiagaraEngraved-Reg", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x33bb65f2, "Sylfaen", "Arial", 2, FX_CodePage::kMSWin_WesternEuropean}, + {0x3402c30e, "MSPMincho", "Arial", 2, FX_CodePage::kMSWin_WesternEuropean}, + {0x3412bf31, "SimSun-PUA", "Arial", 0, FX_CodePage::kChineseSimplified}, + {0x36eb39b9, "BerlinSansFB", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x36f42055, "UniversATT", "Microsoft Sans Serif", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x3864c4f6, "HighTowerText", "Arial", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0x3a257d03, "FangSong_GB2312", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x3cdae668, "FreestyleScript", "Arial", 8, + FX_CodePage::kMSWin_WesternEuropean}, + {0x3d55aed7, "Jokerman", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x3d5b4385, "PMingLiU", "Arial", 2, FX_CodePage::kMSWin_WesternEuropean}, + {0x3d9b7669, "EstrangeloEdessa", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x3e532d74, "FranklinGothicMedium", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x3e6aa32d, "NSimSun", "Arial", 1, FX_CodePage::kChineseSimplified}, + {0x3f6c36a8, "Gautami", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x3ff32662, "Chiller-Regular", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x409de312, "ModernNo.20", "Arial", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0x41443c5e, "Georgia", "Arial", 2, FX_CodePage::kMSWin_WesternEuropean}, {0x4160ade5, "BellGothicStdBlack", - "Arial,Arial Unicode MS,Book Antiqua,Dotum,Georgia", 0, 1252}, - {0x421976c4, "Modern-Regular", "Arial", 2, 1252}, - {0x422a7252, "Stencil", "Arial", 0, 1252}, - {0x42c8554f, "Fixedsys", "Arial", 0, 1252}, - {0x435cb41d, "Roman", "Arial", 0, 1252}, - {0x47882383, "CourierNew", "Arial", 1, 1252}, - {0x480a2338, "BerlinSansFBDemi", "Arial", 0, 1252}, - {0x480bf7a4, "CourierStd", "Courier New,Verdana", 0, 1252}, - {0x481ad6ed, "VladimirScript", "Arial", 8, 1252}, - {0x4911577a, "YouYuan", "Arial", 1, 936}, - {0x4a788d72, "STXingkai", "Arial", 0, 936}, - {0x4bf88566, "SegoeCondensed", "Arial", 0, 1252}, - {0x4ccf51a4, "BerlinSansFB-Reg", "Arial", 0, 1252}, - {0x4ea967ce, "GulimChe", "Arial", 1, 1252}, - {0x4f68bd79, "LetterGothicStd", "Courier New,Verdana", 0, 1252}, - {0x51a0d0e6, "KozukaGothicPr6NM", "Arial", 0, 1252}, - {0x531b3dea, "BasemicSymbol", "Arial", 0, 1252}, - {0x5333fd39, "CalifornianFB-Reg", "Arial", 2, 1252}, - {0x53561a54, "FZYTK--GBK1-0", "Arial", 0, 936}, - {0x55e0dde6, "LucidaSansTypewriter", "Arial", 0, 1252}, - {0x574d4d3d, "AdobeArabic", "Arial Narrow", 0, 1252}, - {0x5792e759, "STKaiti", "Arial", 0, 936}, - {0x5921978e, "LucidaSansUnicode", "Arial", 0, 1252}, - {0x594e2da4, "Vrinda", "Arial", 0, 1252}, - {0x59baa9a2, "KaiTi_GB2312", "Arial", 0, 1252}, - {0x5cfedf4f, "BaskOldFace", "Arial", 0, 1252}, + "Arial,Arial Unicode MS,Book Antiqua,Dotum,Georgia", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x421976c4, "Modern-Regular", "Arial", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0x422a7252, "Stencil", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x42c8554f, "Fixedsys", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x435cb41d, "Roman", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x47882383, "CourierNew", "Arial", 1, FX_CodePage::kMSWin_WesternEuropean}, + {0x480a2338, "BerlinSansFBDemi", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x480bf7a4, "CourierStd", "Courier New,Verdana", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x481ad6ed, "VladimirScript", "Arial", 8, + FX_CodePage::kMSWin_WesternEuropean}, + {0x4911577a, "YouYuan", "Arial", 1, FX_CodePage::kChineseSimplified}, + {0x4a788d72, "STXingkai", "Arial", 0, FX_CodePage::kChineseSimplified}, + {0x4bf88566, "SegoeCondensed", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x4ccf51a4, "BerlinSansFB-Reg", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x4ea967ce, "GulimChe", "Arial", 1, FX_CodePage::kMSWin_WesternEuropean}, + {0x4f68bd79, "LetterGothicStd", "Courier New,Verdana", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x51a0d0e6, "KozukaGothicPr6NM", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x531b3dea, "BasemicSymbol", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x5333fd39, "CalifornianFB-Reg", "Arial", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0x53561a54, "FZYTK--GBK1-0", "Arial", 0, FX_CodePage::kChineseSimplified}, + {0x55e0dde6, "LucidaSansTypewriter", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x574d4d3d, "AdobeArabic", "Arial Narrow", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x5792e759, "STKaiti", "Arial", 0, FX_CodePage::kChineseSimplified}, + {0x5921978e, "LucidaSansUnicode", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x594e2da4, "Vrinda", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x59baa9a2, "KaiTi_GB2312", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x5cfedf4f, "BaskOldFace", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x5f97921c, "AdobeMyungjoStdM", - "Batang,Bookman Old Style,Consolas,STZhongsong", 0, 936}, - {0x5fefbfad, "Batang", "Arial", 2, 1252}, - {0x605342b9, "DotumChe", "Arial", 1, 1252}, - {0x608c5f9a, "KaiTi_GB2312", "Arial", 0, 936}, - {0x61efd0d1, "MaturaMTScriptCapitals", "Arial", 0, 1252}, - {0x626608a9, "MVBoli", "Arial", 0, 1252}, - {0x630501a3, "SmallFonts", "Arial", 0, 1252}, - {0x65d0e2a9, "FZYTK--GBK1-0", "Arial", 0, 936}, - {0x669f29e1, "FZSTK--GBK1-0", "Arial", 0, 936}, - {0x673a9e5f, "Tunga", "Arial", 0, 1252}, - {0x691aa4ce, "NiagaraSolid", "Arial", 0, 1252}, - {0x696259b7, "Corbel", "Arial", 0, 1252}, - {0x696ee9be, "STXihei", "Arial", 0, 936}, - {0x6c59cf69, "Dotum", "Arial", 0, 1252}, - {0x707fa561, "Gungsuh", "Arial", 2, 1252}, - {0x71416bb2, "ZWAdobeF", "Arial", 0, 1252}, - {0x71b41801, "Verdana", "Arial", 0, 1252}, - {0x73f25e4c, "PalatinoLinotype", "Arial", 0, 1252}, - {0x73f4d19f, "NiagaraEngraved", "Arial", 0, 1252}, + "Batang,Bookman Old Style,Consolas,STZhongsong", 0, + FX_CodePage::kChineseSimplified}, + {0x5fefbfad, "Batang", "Arial", 2, FX_CodePage::kMSWin_WesternEuropean}, + {0x605342b9, "DotumChe", "Arial", 1, FX_CodePage::kMSWin_WesternEuropean}, + {0x608c5f9a, "KaiTi_GB2312", "Arial", 0, FX_CodePage::kChineseSimplified}, + {0x61efd0d1, "MaturaMTScriptCapitals", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x626608a9, "MVBoli", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x630501a3, "SmallFonts", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x65d0e2a9, "FZYTK--GBK1-0", "Arial", 0, FX_CodePage::kChineseSimplified}, + {0x669f29e1, "FZSTK--GBK1-0", "Arial", 0, FX_CodePage::kChineseSimplified}, + {0x673a9e5f, "Tunga", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x691aa4ce, "NiagaraSolid", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x696259b7, "Corbel", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x696ee9be, "STXihei", "Arial", 0, FX_CodePage::kChineseSimplified}, + {0x6c59cf69, "Dotum", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x707fa561, "Gungsuh", "Arial", 2, FX_CodePage::kMSWin_WesternEuropean}, + {0x71416bb2, "ZWAdobeF", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x71b41801, "Verdana", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x73f25e4c, "PalatinoLinotype", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x73f4d19f, "NiagaraEngraved", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x74001694, "MyriadProBlack", "Book Antiqua,Constantia,Dotum,Georgia", 0, - 1252}, - {0x74b14d8f, "Haettenschweiler", "Arial", 0, 1252}, - {0x74cb44ee, "NSimSun", "Arial", 1, 936}, - {0x76b4d7ff, "Shruti", "Arial", 0, 1252}, - {0x788b3533, "Webdings", "Arial", 6, 42}, - {0x797dde99, "MSSerif", "Arial", 0, 1252}, - {0x7a0f9e9e, "MSMincho", "Arial", 1, 1252}, - {0x7b439caf, "OldEnglishTextMT", "Arial", 0, 1252}, - {0x8213a433, "LucidaSans-Typewriter", "Arial", 0, 1252}, + FX_CodePage::kMSWin_WesternEuropean}, + {0x74b14d8f, "Haettenschweiler", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x74cb44ee, "NSimSun", "Arial", 1, FX_CodePage::kChineseSimplified}, + {0x76b4d7ff, "Shruti", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x788b3533, "Webdings", "Arial", 6, FX_CodePage::kSymbol}, + {0x797dde99, "MSSerif", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x7a0f9e9e, "MSMincho", "Arial", 1, FX_CodePage::kMSWin_WesternEuropean}, + {0x7b439caf, "OldEnglishTextMT", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x8213a433, "LucidaSans-Typewriter", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x82fec929, "AdobeSongStd", - "Centaur,Calibri,STSong,Bell MT,Garamond,Times New Roman", 0, 936}, - {0x83581825, "Modern", "Arial", 0, 1252}, - {0x835a2823, "Algerian", "Arial", 0, 1252}, - {0x83dab9f5, "Script", "Arial", 0, 1252}, - {0x847b56da, "Tahoma", "Arial", 0, 1252}, - {0x8a783cb2, "SimSun-PUA", "Arial", 0, 1252}, - {0x8b5cac0e, "Onyx", "Arial", 0, 1252}, - {0x8c6a499e, "Gulim", "Arial", 0, 1252}, - {0x8e0af790, "JuiceITC", "Arial", 0, 1252}, - {0x8e8d43b2, "Centaur", "Arial", 2, 1252}, - {0x8ee4dcca, "BookshelfSymbol7", "Arial", 0, 1252}, + "Centaur,Calibri,STSong,Bell MT,Garamond,Times New Roman", 0, + FX_CodePage::kChineseSimplified}, + {0x83581825, "Modern", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x835a2823, "Algerian", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x83dab9f5, "Script", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x847b56da, "Tahoma", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x8a783cb2, "SimSun-PUA", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x8b5cac0e, "Onyx", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x8c6a499e, "Gulim", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x8e0af790, "JuiceITC", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x8e8d43b2, "Centaur", "Arial", 2, FX_CodePage::kMSWin_WesternEuropean}, + {0x8ee4dcca, "BookshelfSymbol7", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x90794800, "BellGothicStdLight", "Bell MT,Calibri,Times New Roman", 0, - 1252}, - {0x909b516a, "Century", "Arial", 2, 1252}, - {0x92ae370d, "MSOutlook", "Arial", 4, 42}, - {0x93c9fbf1, "LucidaFax", "Arial", 2, 1252}, - {0x9565085e, "BookAntiqua", "Arial", 2, 1252}, + FX_CodePage::kMSWin_WesternEuropean}, + {0x909b516a, "Century", "Arial", 2, FX_CodePage::kMSWin_WesternEuropean}, + {0x92ae370d, "MSOutlook", "Arial", 4, FX_CodePage::kSymbol}, + {0x93c9fbf1, "LucidaFax", "Arial", 2, FX_CodePage::kMSWin_WesternEuropean}, + {0x9565085e, "BookAntiqua", "Arial", 2, + FX_CodePage::kMSWin_WesternEuropean}, {0x9856d95d, "AdobeMingStd", "Arial,Arial Unicode MS,Cambria,BatangChe", 0, - 949}, - {0x9bbadd6b, "ColonnaMT", "Arial", 0, 1252}, - {0x9cbd16a4, "ShowcardGothic-Reg", "Arial", 0, 1252}, - {0x9d73008e, "MSSansSerif", "Arial", 0, 1252}, - {0xa0607db1, "GungsuhChe", "Arial", 1, 1252}, - {0xa0bcf6a1, "LatinWide", "Arial", 2, 1252}, - {0xa1429b36, "Symbol", "Arial", 6, 42}, - {0xa1fa5abc, "Wingdings2", "Arial", 6, 42}, - {0xa1fa5abd, "Wingdings3", "Arial", 6, 42}, - {0xa427bad4, "InformalRoman-Regular", "Arial", 8, 1252}, - {0xa8b92ece, "FZSTK--GBK1-0", "Arial", 0, 936}, - {0xa8d83ece, "CalifornianFB", "Arial", 2, 1252}, - {0xaa3e082c, "Kingsoft-Phonetic", "Arial", 0, 1252}, - {0xaa6bcabe, "HarlowSolidItalic", "Arial", 0, 1252}, - {0xade5337c, "MSUIGothic", "Arial", 0, 1252}, - {0xb08dd941, "WideLatin", "Arial", 2, 1252}, - {0xb207f05d, "PoorRichard", "Arial", 2, 1252}, - {0xb3bc492f, "JuiceITC-Regular", "Arial", 0, 1252}, - {0xb5545399, "Marlett", "Arial", 4, 42}, - {0xb5dd1ebb, "BritannicBold", "Arial", 0, 1252}, - {0xb699c1c5, "LucidaCalligraphy-Italic", "Arial", 0, 1252}, - {0xb725d629, "TimesNewRoman", "Arial", 2, 1252}, - {0xb7eaebeb, "AdobeHeitiStdR", "Batang,Century,Dotum", 0, 936}, - {0xbd29c486, "BerlinSansFBDemi-Bold", "Arial", 0, 1252}, - {0xbe8a8db4, "BookshelfSymbolSeven", "Arial", 0, 1252}, - {0xc16c0118, "AdobeHebrew", "Bell MT,Berlin Sans FB,Calibri", 0, 1252}, + FX_CodePage::kHangul}, + {0x9bbadd6b, "ColonnaMT", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x9cbd16a4, "ShowcardGothic-Reg", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x9d73008e, "MSSansSerif", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xa0607db1, "GungsuhChe", "Arial", 1, FX_CodePage::kMSWin_WesternEuropean}, + {0xa0bcf6a1, "LatinWide", "Arial", 2, FX_CodePage::kMSWin_WesternEuropean}, + {0xa1429b36, "Symbol", "Arial", 6, FX_CodePage::kSymbol}, + {0xa1fa5abc, "Wingdings2", "Arial", 6, FX_CodePage::kSymbol}, + {0xa1fa5abd, "Wingdings3", "Arial", 6, FX_CodePage::kSymbol}, + {0xa427bad4, "InformalRoman-Regular", "Arial", 8, + FX_CodePage::kMSWin_WesternEuropean}, + {0xa8b92ece, "FZSTK--GBK1-0", "Arial", 0, FX_CodePage::kChineseSimplified}, + {0xa8d83ece, "CalifornianFB", "Arial", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0xaa3e082c, "Kingsoft-Phonetic", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xaa6bcabe, "HarlowSolidItalic", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xade5337c, "MSUIGothic", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0xb08dd941, "WideLatin", "Arial", 2, FX_CodePage::kMSWin_WesternEuropean}, + {0xb207f05d, "PoorRichard", "Arial", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0xb3bc492f, "JuiceITC-Regular", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xb5545399, "Marlett", "Arial", 4, FX_CodePage::kSymbol}, + {0xb5dd1ebb, "BritannicBold", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xb699c1c5, "LucidaCalligraphy-Italic", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xb725d629, "TimesNewRoman", "Arial", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0xb7eaebeb, "AdobeHeitiStdR", "Batang,Century,Dotum", 0, + FX_CodePage::kChineseSimplified}, + {0xbd29c486, "BerlinSansFBDemi-Bold", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xbe8a8db4, "BookshelfSymbolSeven", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xc16c0118, "AdobeHebrew", "Bell MT,Berlin Sans FB,Calibri", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xc318b0af, "MyriadProLight", "Calibri,STFangsong,Times New Roman", 0, - 1252}, - {0xc65e5659, "CambriaMath", "Arial", 2, 1252}, - {0xc75c8f05, "LucidaConsole", "Arial", 1, 1252}, - {0xca7c35d6, "Calibri", "Arial", 0, 1252}, - {0xcb053f53, "MicrosoftYaHei", "Arial", 0, 936}, - {0xcb7190f9, "Magneto-Bold", "Arial", 0, 1252}, - {0xcca00cc5, "System", "Arial", 0, 1252}, - {0xccad6f76, "Jokerman-Regular", "Arial", 0, 1252}, - {0xccc5818c, "EuroSign", "Arial", 0, 1252}, - {0xcf3d7234, "LucidaHandwriting-Italic", "Arial", 0, 1252}, + FX_CodePage::kMSWin_WesternEuropean}, + {0xc65e5659, "CambriaMath", "Arial", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0xc75c8f05, "LucidaConsole", "Arial", 1, + FX_CodePage::kMSWin_WesternEuropean}, + {0xca7c35d6, "Calibri", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0xcb053f53, "MicrosoftYaHei", "Arial", 0, FX_CodePage::kChineseSimplified}, + {0xcb7190f9, "Magneto-Bold", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xcca00cc5, "System", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0xccad6f76, "Jokerman-Regular", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xccc5818c, "EuroSign", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0xcf3d7234, "LucidaHandwriting-Italic", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xcf7b8fdb, "MinionPro", - "Bell MT,Corbel,Times New Roman,Cambria,Berlin Sans FB", 0, 1252}, - {0xcfe5755f, "Simhei", "Arial", 1, 936}, - {0xd011f4ee, "MSPGothic", "Arial", 0, 1252}, - {0xd060e7ef, "Vivaldi", "Arial", 8, 1252}, - {0xd07edec1, "FranklinGothic-Medium", "Arial", 0, 1252}, - {0xd107243f, "SimSun", "Arial", 0, 936}, - {0xd1881562, "ArialNarrow", "Arial Narrow", 0, 1252}, - {0xd22b7dce, "BodoniMTPosterCompressed", "Arial", 0, 1252}, - {0xd22bfa60, "ComicSansMS", "Arial", 8, 1252}, - {0xd3bd0e35, "Bauhaus93", "Arial", 0, 1252}, - {0xd429ee7a, "STFangsong", "Arial", 0, 936}, - {0xd6679c12, "BernardMTCondensed", "Arial", 0, 1252}, - {0xd8e8a027, "LucidaSans", "Arial", 0, 1252}, - {0xd9fe7761, "HighTowerText-Reg", "Arial", 2, 1252}, - {0xda7e551e, "STSong", "Arial", 0, 936}, - {0xdaa6842d, "STZhongsong", "Arial", 0, 936}, - {0xdaaab93f, "STFangsong", "Arial", 0, 936}, - {0xdaeb0713, "STSong", "Arial", 0, 936}, - {0xdafedbef, "STCaiyun", "Arial", 0, 936}, - {0xdb00a3d9, "Broadway", "Arial", 0, 1252}, - {0xdb1f5ad4, "STXinwei", "Arial", 0, 936}, - {0xdb326e7f, "STKaiti", "Arial", 0, 936}, - {0xdb69595a, "STHupo", "Arial", 0, 936}, - {0xdba0082c, "STXihei", "Arial", 0, 936}, - {0xdbd0ab18, "STXingkai", "Arial", 0, 936}, - {0xdc1a7db1, "STLiti", "Arial", 0, 936}, - {0xdc33075f, "KristenITC-Regular", "Arial", 8, 1252}, - {0xdcc7009c, "Harrington", "Arial", 0, 1252}, - {0xdd712466, "ArialBlack", "Arial", 0, 1252}, - {0xdde87b3e, "Impact", "Arial", 0, 1252}, - {0xdf69fb32, "SnapITC", "Arial", 0, 1252}, - {0xdf8b25e8, "CenturyGothic", "Arial", 0, 1252}, - {0xe0f705c0, "KristenITC", "Arial", 8, 1252}, - {0xe1427573, "Raavi", "Arial", 0, 1252}, - {0xe2cea0cb, "Magneto", "Arial", 0, 1252}, - {0xe36a9e17, "Ravie", "Arial", 0, 1252}, - {0xe433f8e2, "Parchment", "Arial", 8, 1252}, - {0xe43dff4a, "Wingdings", "Arial", 4, 42}, - {0xe4e2c405, "MTExtra", "Arial", 6, 42}, - {0xe618cc35, "InformalRoman", "Arial", 8, 1252}, - {0xe6c27ffc, "Mistral", "Arial", 8, 1252}, - {0xe7ebf4b9, "Courier", "Courier New", 0, 1252}, - {0xe8bc4a9d, "MSReferenceSpecialty", "Arial", 0, 1252}, - {0xe90fb013, "TempusSansITC", "Arial", 0, 1252}, - {0xec637b42, "Consolas", "Verdana", 1, 1252}, - {0xed3a683b, "STXinwei", "Arial", 0, 936}, - {0xef264cd1, "LucidaHandwriting", "Arial", 0, 1252}, - {0xf086bca2, "BaskervilleOldFace", "Arial", 0, 1252}, - {0xf1028030, "Mangal", "Arial", 2, 1252}, - {0xf1da7eb9, "ShowcardGothic", "Arial", 0, 1252}, - {0xf210f06a, "ArialMT", "Arial", 0, 1252}, - {0xf477f16a, "Latha", "Arial", 0, 1252}, - {0xf616f3dd, "LiSu", "Arial", 1, 936}, - {0xfa479aa6, "MicrosoftYaHei", "Arial", 0, 936}, - {0xfcd19697, "BookmanOldStyle", "Arial", 0, 1252}, - {0xfe209a82, "LucidaCalligraphy", "Arial", 0, 1252}, - {0xfef135f8, "AdobeHeitiStd-Regular", "Batang,Century,Dotum", 0, 936}, + "Bell MT,Corbel,Times New Roman,Cambria,Berlin Sans FB", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xcfe5755f, "Simhei", "Arial", 1, FX_CodePage::kChineseSimplified}, + {0xd011f4ee, "MSPGothic", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0xd060e7ef, "Vivaldi", "Arial", 8, FX_CodePage::kMSWin_WesternEuropean}, + {0xd07edec1, "FranklinGothic-Medium", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xd107243f, "SimSun", "Arial", 0, FX_CodePage::kChineseSimplified}, + {0xd1881562, "ArialNarrow", "Arial Narrow", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xd22b7dce, "BodoniMTPosterCompressed", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xd22bfa60, "ComicSansMS", "Arial", 8, + FX_CodePage::kMSWin_WesternEuropean}, + {0xd3bd0e35, "Bauhaus93", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0xd429ee7a, "STFangsong", "Arial", 0, FX_CodePage::kChineseSimplified}, + {0xd6679c12, "BernardMTCondensed", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xd8e8a027, "LucidaSans", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0xd9fe7761, "HighTowerText-Reg", "Arial", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0xda7e551e, "STSong", "Arial", 0, FX_CodePage::kChineseSimplified}, + {0xdaa6842d, "STZhongsong", "Arial", 0, FX_CodePage::kChineseSimplified}, + {0xdaaab93f, "STFangsong", "Arial", 0, FX_CodePage::kChineseSimplified}, + {0xdaeb0713, "STSong", "Arial", 0, FX_CodePage::kChineseSimplified}, + {0xdafedbef, "STCaiyun", "Arial", 0, FX_CodePage::kChineseSimplified}, + {0xdb00a3d9, "Broadway", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0xdb1f5ad4, "STXinwei", "Arial", 0, FX_CodePage::kChineseSimplified}, + {0xdb326e7f, "STKaiti", "Arial", 0, FX_CodePage::kChineseSimplified}, + {0xdb69595a, "STHupo", "Arial", 0, FX_CodePage::kChineseSimplified}, + {0xdba0082c, "STXihei", "Arial", 0, FX_CodePage::kChineseSimplified}, + {0xdbd0ab18, "STXingkai", "Arial", 0, FX_CodePage::kChineseSimplified}, + {0xdc1a7db1, "STLiti", "Arial", 0, FX_CodePage::kChineseSimplified}, + {0xdc33075f, "KristenITC-Regular", "Arial", 8, + FX_CodePage::kMSWin_WesternEuropean}, + {0xdcc7009c, "Harrington", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0xdd712466, "ArialBlack", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0xdde87b3e, "Impact", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0xdf69fb32, "SnapITC", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0xdf8b25e8, "CenturyGothic", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xe0f705c0, "KristenITC", "Arial", 8, FX_CodePage::kMSWin_WesternEuropean}, + {0xe1427573, "Raavi", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0xe2cea0cb, "Magneto", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0xe36a9e17, "Ravie", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0xe433f8e2, "Parchment", "Arial", 8, FX_CodePage::kMSWin_WesternEuropean}, + {0xe43dff4a, "Wingdings", "Arial", 4, FX_CodePage::kSymbol}, + {0xe4e2c405, "MTExtra", "Arial", 6, FX_CodePage::kSymbol}, + {0xe618cc35, "InformalRoman", "Arial", 8, + FX_CodePage::kMSWin_WesternEuropean}, + {0xe6c27ffc, "Mistral", "Arial", 8, FX_CodePage::kMSWin_WesternEuropean}, + {0xe7ebf4b9, "Courier", "Courier New", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xe8bc4a9d, "MSReferenceSpecialty", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xe90fb013, "TempusSansITC", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xec637b42, "Consolas", "Verdana", 1, FX_CodePage::kMSWin_WesternEuropean}, + {0xed3a683b, "STXinwei", "Arial", 0, FX_CodePage::kChineseSimplified}, + {0xef264cd1, "LucidaHandwriting", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xf086bca2, "BaskervilleOldFace", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xf1028030, "Mangal", "Arial", 2, FX_CodePage::kMSWin_WesternEuropean}, + {0xf1da7eb9, "ShowcardGothic", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xf210f06a, "ArialMT", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0xf477f16a, "Latha", "Arial", 0, FX_CodePage::kMSWin_WesternEuropean}, + {0xf616f3dd, "LiSu", "Arial", 1, FX_CodePage::kChineseSimplified}, + {0xfa479aa6, "MicrosoftYaHei", "Arial", 0, FX_CodePage::kChineseSimplified}, + {0xfcd19697, "BookmanOldStyle", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xfe209a82, "LucidaCalligraphy", "Arial", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xfef135f8, "AdobeHeitiStd-Regular", "Batang,Century,Dotum", 0, + FX_CodePage::kChineseSimplified}, }; #elif defined(OS_APPLE) const FGAS_FontInfo g_XFAFontsMap[] = { - {0x01d5d33e, "SimSun", "STHeiti,Heiti TC,STFangsong", 0, 936}, - {0x01e4f102, "YouYuan", "STHeiti,Heiti TC,STFangsong", 1, 936}, - {0x030549dc, "LiSu", "STHeiti,Heiti TC,STFangsong", 1, 936}, - {0x032edd44, "Simhei", "STHeiti,Heiti TC,STFangsong", 1, 936}, + {0x01d5d33e, "SimSun", "STHeiti,Heiti TC,STFangsong", 0, + FX_CodePage::kChineseSimplified}, + {0x01e4f102, "YouYuan", "STHeiti,Heiti TC,STFangsong", 1, + FX_CodePage::kChineseSimplified}, + {0x030549dc, "LiSu", "STHeiti,Heiti TC,STFangsong", 1, + FX_CodePage::kChineseSimplified}, + {0x032edd44, "Simhei", "STHeiti,Heiti TC,STFangsong", 1, + FX_CodePage::kChineseSimplified}, {0x03eac6fc, "PoorRichard-Regular", - "Noteworthy,Avenir Next Condensed,Impact", 2, 1252}, - {0x03ed90e6, "Nina", "Microsoft Sans Serif", 0, 1252}, + "Noteworthy,Avenir Next Condensed,Impact", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0x03ed90e6, "Nina", "Microsoft Sans Serif", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x077b56b3, "KingsoftPhoneticPlain", "LastResort,Apple " "Chancery,STIXVariants,STIXSizeOneSym,STIXSizeOneSym,Apple Braille", - 0, 1252}, - {0x078ed524, "MicrosoftSansSerif", "Songti SC,Apple Symbols", 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x078ed524, "MicrosoftSansSerif", "Songti SC,Apple Symbols", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x089b18a9, "Arial", "Arial Unicode MS,Microsoft Sans Serif,Apple Symbols", - 0, 1252}, - {0x0b2cad72, "MonotypeCorsiva", "Arial Narrow,Impact", 8, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x0b2cad72, "MonotypeCorsiva", "Arial Narrow,Impact", 8, + FX_CodePage::kMSWin_WesternEuropean}, {0x0bb003e7, "Kartika", - "Arial Unicode MS,Microsoft Sans Serif,Arial Narrow,Damascus", 2, 1252}, - {0x0bb469df, "VinerHandITC", "Comic Sans MS,Songti SC,STSong", 8, 1252}, - {0x0bc1a851, "SegoeUI", "Apple Symbols", 0, 1252}, + "Arial Unicode MS,Microsoft Sans Serif,Arial Narrow,Damascus", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0x0bb469df, "VinerHandITC", "Comic Sans MS,Songti SC,STSong", 8, + FX_CodePage::kMSWin_WesternEuropean}, + {0x0bc1a851, "SegoeUI", "Apple Symbols", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x0c112ebd, "KozukaGothicPro-VIM", "Microsoft Sans Serif,Apple Symbols", 0, - 1252}, - {0x0cfcb9c1, "AdobeThai", "Avenir Next Condensed Ultra Light", 0, 847}, - {0x0e7de0f9, "Playbill", "STIXNonUnicode", 0, 1252}, - {0x0eff47c3, "STHupo", "Kaiti SC,Songti SC,STHeiti", 0, 936}, + FX_CodePage::kMSWin_WesternEuropean}, + // Was 847 (not defined), presumably 874 (Thai). + {0x0cfcb9c1, "AdobeThai", "Avenir Next Condensed Ultra Light", 0, + FX_CodePage::kMSDOS_Thai}, + {0x0e7de0f9, "Playbill", "STIXNonUnicode", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x0eff47c3, "STHupo", "Kaiti SC,Songti SC,STHeiti", 0, + FX_CodePage::kChineseSimplified}, {0x107ad374, "Constantia", "Arial Unicode MS,Palatino,Baskerville", 2, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0x12194c2d, "KunstlerScript", - "Avenir Next Condensed Demi Bold,Arial Narrow", 8, 1252}, + "Avenir Next Condensed Demi Bold,Arial Narrow", 8, + FX_CodePage::kMSWin_WesternEuropean}, {0x135ef6a1, "MinionProSmBd", "Microsoft Sans Serif,Apple Symbols", 0, - 1252}, - {0x158c4049, "Garamond", "Impact,Arial Narrow", 2, 1252}, - {0x160ecb24, "STZhongsong", "STFangsong,Songti SC", 0, 936}, + FX_CodePage::kMSWin_WesternEuropean}, + {0x158c4049, "Garamond", "Impact,Arial Narrow", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0x160ecb24, "STZhongsong", "STFangsong,Songti SC", 0, + FX_CodePage::kChineseSimplified}, {0x161ed07e, "MSGothic", "WenQuanYi Zen Hei Mono,AR PL UMing CN,AR PL UMing HK,AR PL UMing " "TW,Microsoft Sans Serif,Apple Symbols", - 1, 1252}, - {0x171d1ed1, "SnapITC-Regular", "STHeiti,Arial Black", 0, 1252}, - {0x18d1188f, "Cambria", "Arial Unicode MS", 2, 1252}, + 1, FX_CodePage::kMSWin_WesternEuropean}, + {0x171d1ed1, "SnapITC-Regular", "STHeiti,Arial Black", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x18d1188f, "Cambria", "Arial Unicode MS", 2, + FX_CodePage::kMSWin_WesternEuropean}, {0x18eaf350, "ArialUnicodeMS", "Microsoft Sans Serif,Apple Symbols", 0, - 936}, - {0x1a92d115, "MingLiU", "Heiti SC,STHeiti", 1, 1252}, - {0x1cc217c6, "TrebuchetMS", "Damascus,Impact,Arial Narrow", 0, 1252}, + FX_CodePage::kChineseSimplified}, + {0x1a92d115, "MingLiU", "Heiti SC,STHeiti", 1, + FX_CodePage::kMSWin_WesternEuropean}, + {0x1cc217c6, "TrebuchetMS", "Damascus,Impact,Arial Narrow", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x1d649596, "BasemicTimes", "Liberation Serif,Impact,Arial Narrow", 0, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0x1e34ee60, "BellMT", - "Papyrus,STIXNonUnicode,Microsoft Sans Serif,Avenir Light", 2, 1252}, + "Papyrus,STIXNonUnicode,Microsoft Sans Serif,Avenir Light", 2, + FX_CodePage::kMSWin_WesternEuropean}, {0x1eb36945, "CooperBlack", - "Marion,STIXNonUnicode,Arial Rounded MT Bold,Lucida Grande", 2, 1252}, + "Marion,STIXNonUnicode,Arial Rounded MT Bold,Lucida Grande", 2, + FX_CodePage::kMSWin_WesternEuropean}, {0x1ef7787d, "BatangChe", "WenQuanYi Zen Hei Mono,AR PL UMing CN,,AR PL UMing HK,AR PL UMing TW,AR " "PL UMing TW MBE,Arial Unicode MS,Heiti TC", - 1, 1252}, + 1, FX_CodePage::kMSWin_WesternEuropean}, {0x20b3bd3a, "BrushScriptMT", "STIXNonUnicode,Damascus,Arial Narrow,Avenir Next Condensed,Cochin", 8, - 1252}, - {0x220877aa, "Candara", "Cochin,Baskerville,Marion", 0, 1252}, + FX_CodePage::kMSWin_WesternEuropean}, + {0x220877aa, "Candara", "Cochin,Baskerville,Marion", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x22135007, "FreestyleScript-Regular", - "STIXNonUnicode,Nadeem,Zapf Dingbats", 8, 1252}, + "STIXNonUnicode,Nadeem,Zapf Dingbats", 8, + FX_CodePage::kMSWin_WesternEuropean}, {0x251059c3, "Chiller", "Zapf Dingbats,Damascus,STIXNonUnicode,Papyrus,KufiStandardGK,Baghdad", 0, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0x25bed6dd, "MSReferenceSansSerif", "Tahoma,Apple Symbols,Apple LiGothic,Arial Unicode MS,Lucida " "Grande,Microsoft Sans Serif", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0x28154c81, "Parchment-Regular", "Microsoft Sans Serif,Apple Symbols", 8, - 1252}, - {0x29711eb9, "STLiti", "Kaiti SC,Songti SC", 0, 936}, - {0x2b1993b4, "Basemic", "Impact,Arial Narrow", 0, 1252}, + FX_CodePage::kMSWin_WesternEuropean}, + {0x29711eb9, "STLiti", "Kaiti SC,Songti SC", 0, + FX_CodePage::kChineseSimplified}, + {0x2b1993b4, "Basemic", "Impact,Arial Narrow", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x2b316339, "NiagaraSolid-Reg", "Microsoft Sans Serif,Apple Symbols", 0, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0x2c147529, "FootlightMTLight", - "STIXNonUnicode,Avenir Next Condensed Heavy,PT Sans,Noteworthy", 0, 1252}, + "STIXNonUnicode,Avenir Next Condensed Heavy,PT Sans,Noteworthy", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x2c198928, "HarlowSolid", - "Avenir Medium,Avenir Next Medium,Arial Unicode MS", 0, 1252}, + "Avenir Medium,Avenir Next Medium,Arial Unicode MS", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x2c6ac6b2, "LucidaBright", "PT Sans Narrow,Papyrus,Damascus,STIXNonUnicode,Arial Rounded MT " "Bold,Comic Sans MS,Avenir Next", - 2, 1252}, + 2, FX_CodePage::kMSWin_WesternEuropean}, {0x2c9f38e2, "KozukaMinchoPro-VIR", "Microsoft Sans Serif,Apple Symbols", 0, - 1252}, - {0x2d5a47b0, "STCaiyun", "Kaiti SC,Songti SC", 0, 936}, + FX_CodePage::kMSWin_WesternEuropean}, + {0x2d5a47b0, "STCaiyun", "Kaiti SC,Songti SC", 0, + FX_CodePage::kChineseSimplified}, {0x2def26bf, "BernardMT-Condensed", - "Impact,Avenir Next Condensed Demi Bold,American Typewriter", 0, 1252}, + "Impact,Avenir Next Condensed Demi Bold,American Typewriter", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x2fd8930b, "KozukaMinchoPr6NR", "Microsoft Sans Serif,Apple Symbols", 0, - 1252}, - {0x3115525a, "FangSong_GB2312", "Hiragino Sans GB,STHeiti", 0, 1252}, - {0x31327817, "MyriadPro", "Microsoft Sans Serif,Apple Symbols", 0, 1252}, + FX_CodePage::kMSWin_WesternEuropean}, + {0x3115525a, "FangSong_GB2312", "Hiragino Sans GB,STHeiti", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x31327817, "MyriadPro", "Microsoft Sans Serif,Apple Symbols", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x32244975, "Helvetica", - "Arial Narrow,Arial Unicode MS,Damascus,STIXNonUnicode", 0, 1252}, - {0x32ac995c, "Terminal", "Microsoft Sans Serif,Apple Symbols", 0, 1252}, + "Arial Narrow,Arial Unicode MS,Damascus,STIXNonUnicode", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x32ac995c, "Terminal", "Microsoft Sans Serif,Apple Symbols", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x338d648a, "NiagaraEngraved-Reg", "Microsoft Sans Serif,Apple Symbols", 0, - 1252}, - {0x33bb65f2, "Sylfaen", "Arial Unicode MS,Marion", 2, 1252}, - {0x3402c30e, "MSPMincho", "Arial Unicode MS,Apple SD Gothic Neo", 2, 1252}, - {0x3412bf31, "SimSun-PUA", "STHeiti,Heiti TC,STFangsong", 0, 936}, - {0x36eb39b9, "BerlinSansFB", "American Typewriter,Impact", 0, 1252}, - {0x36f42055, "UniversATT", "Microsoft Sans Serif", 0, 1252}, + FX_CodePage::kMSWin_WesternEuropean}, + {0x33bb65f2, "Sylfaen", "Arial Unicode MS,Marion", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0x3402c30e, "MSPMincho", "Arial Unicode MS,Apple SD Gothic Neo", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0x3412bf31, "SimSun-PUA", "STHeiti,Heiti TC,STFangsong", 0, + FX_CodePage::kChineseSimplified}, + {0x36eb39b9, "BerlinSansFB", "American Typewriter,Impact", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x36f42055, "UniversATT", "Microsoft Sans Serif", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x3864c4f6, "HighTowerText", "STIXGeneral,.Helvetica Neue Desk UI", 2, - 1252}, - {0x3a257d03, "FangSong_GB2312", "Hiragino Sans GB,STHeiti", 0, 1252}, + FX_CodePage::kMSWin_WesternEuropean}, + {0x3a257d03, "FangSong_GB2312", "Hiragino Sans GB,STHeiti", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x3cdae668, "FreestyleScript", "Nadeem,Zapf Dingbats,STIXNonUnicode", 8, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0x3d55aed7, "Jokerman", - "Papyrus,Lucida Grande,Heiti TC,American Typewriter", 0, 1252}, - {0x3d5b4385, "PMingLiU", "Heiti SC,STHeiti", 2, 1252}, - {0x3d9b7669, "EstrangeloEdessa", "American Typewriter,Marion", 0, 1252}, - {0x3e532d74, "FranklinGothicMedium", "Impact,Arial Narrow", 0, 1252}, - {0x3e6aa32d, "NSimSun", "STHeiti,STFangsong", 1, 936}, + "Papyrus,Lucida Grande,Heiti TC,American Typewriter", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x3d5b4385, "PMingLiU", "Heiti SC,STHeiti", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0x3d9b7669, "EstrangeloEdessa", "American Typewriter,Marion", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x3e532d74, "FranklinGothicMedium", "Impact,Arial Narrow", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x3e6aa32d, "NSimSun", "STHeiti,STFangsong", 1, + FX_CodePage::kChineseSimplified}, {0x3f6c36a8, "Gautami", - "Damascus,STIXNonUnicode,STIXGeneral,American Typewriter", 0, 1252}, - {0x3ff32662, "Chiller-Regular", "Papyrus,KufiStandardGK,Baghdad", 0, 1252}, - {0x409de312, "ModernNo.20", "Avenir Next Condensed,Impact", 2, 1252}, + "Damascus,STIXNonUnicode,STIXGeneral,American Typewriter", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x3ff32662, "Chiller-Regular", "Papyrus,KufiStandardGK,Baghdad", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x409de312, "ModernNo.20", "Avenir Next Condensed,Impact", 2, + FX_CodePage::kMSWin_WesternEuropean}, {0x41443c5e, "Georgia", ".Helvetica Neue Desk UI,Arial Unicode MS", 2, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0x4160ade5, "BellGothicStdBlack", "Microsoft Sans Serif,Apple Symbols", 0, - 1252}, - {0x421976c4, "Modern-Regular", "Impact", 2, 1252}, + FX_CodePage::kMSWin_WesternEuropean}, + {0x421976c4, "Modern-Regular", "Impact", 2, + FX_CodePage::kMSWin_WesternEuropean}, {0x422a7252, "Stencil", "STIXNonUnicode,Songti SC,Georgia,Baskerville", 0, - 1252}, - {0x42c8554f, "Fixedsys", "Microsoft Sans Serif,Apple Symbols", 0, 1252}, - {0x435cb41d, "Roman", "Arial Narrow", 0, 1252}, + FX_CodePage::kMSWin_WesternEuropean}, + {0x42c8554f, "Fixedsys", "Microsoft Sans Serif,Apple Symbols", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x435cb41d, "Roman", "Arial Narrow", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x47882383, "CourierNew", "PCMyungjo,Osaka,Arial Unicode MS,Songti SC", 1, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0x480a2338, "BerlinSansFBDemi", - "STIXNonUnicode,American Typewriter,Avenir Next Condensed Heavy", 0, 1252}, - {0x480bf7a4, "CourierStd", "Courier New", 0, 1252}, + "STIXNonUnicode,American Typewriter,Avenir Next Condensed Heavy", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x480bf7a4, "CourierStd", "Courier New", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x481ad6ed, "VladimirScript", - "STIXNonUnicode,Avenir Next Condensed,Impact", 8, 1252}, - {0x4911577a, "YouYuan", "STHeiti,Heiti TC", 1, 936}, - {0x4a788d72, "STXingkai", "Kaiti SC,Songti SC", 0, 936}, + "STIXNonUnicode,Avenir Next Condensed,Impact", 8, + FX_CodePage::kMSWin_WesternEuropean}, + {0x4911577a, "YouYuan", "STHeiti,Heiti TC", 1, + FX_CodePage::kChineseSimplified}, + {0x4a788d72, "STXingkai", "Kaiti SC,Songti SC", 0, + FX_CodePage::kChineseSimplified}, {0x4bf88566, "SegoeCondensed", "Microsoft Sans Serif,Apple Symbols", 0, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0x4ccf51a4, "BerlinSansFB-Reg", - "STIXNonUnicode,American Typewriter,Impact", 0, 1252}, - {0x4ea967ce, "GulimChe", "Arial Unicode MS,Heiti TC,STFangsong", 1, 1252}, + "STIXNonUnicode,American Typewriter,Impact", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x4ea967ce, "GulimChe", "Arial Unicode MS,Heiti TC,STFangsong", 1, + FX_CodePage::kMSWin_WesternEuropean}, {0x4f68bd79, "LetterGothicStd", - "Courier New,Andale Mono,Ayuthaya,PCMyungjo,Osaka", 0, 1252}, + "Courier New,Andale Mono,Ayuthaya,PCMyungjo,Osaka", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x51a0d0e6, "KozukaGothicPr6NM", "Microsoft Sans Serif,Apple Symbols", 0, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0x531b3dea, "BasemicSymbol", "Microsoft Sans Serif,Apple Symbols", 0, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0x5333fd39, "CalifornianFB-Reg", - "American Typewriter,Avenir Next Condensed,Impact", 2, 1252}, - {0x53561a54, "FZYTK--GBK1-0", "STFangsong,Songti SC,STSong", 0, 936}, + "American Typewriter,Avenir Next Condensed,Impact", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0x53561a54, "FZYTK--GBK1-0", "STFangsong,Songti SC,STSong", 0, + FX_CodePage::kChineseSimplified}, {0x55e0dde6, "LucidaSansTypewriter", "Menlo,Courier New,Andale Mono", 0, - 1252}, - {0x574d4d3d, "AdobeArabic", "Arial Narrow", 0, 1252}, - {0x5792e759, "STKaiti", "Songti SC,Arial Unicode MS", 0, 936}, + FX_CodePage::kMSWin_WesternEuropean}, + {0x574d4d3d, "AdobeArabic", "Arial Narrow", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x5792e759, "STKaiti", "Songti SC,Arial Unicode MS", 0, + FX_CodePage::kChineseSimplified}, {0x5921978e, "LucidaSansUnicode", "Lucida Grande,Arial Unicode MS,Menlo", 0, - 1252}, - {0x594e2da4, "Vrinda", "Geeza Pro,Damascus,STIXGeneral,Gill Sans", 0, 1252}, - {0x59baa9a2, "KaiTi_GB2312", "Hiragino Sans GB,STHeiti", 0, 1252}, + FX_CodePage::kMSWin_WesternEuropean}, + {0x594e2da4, "Vrinda", "Geeza Pro,Damascus,STIXGeneral,Gill Sans", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x59baa9a2, "KaiTi_GB2312", "Hiragino Sans GB,STHeiti", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x5cfedf4f, "BaskOldFace", - "Avenir Next Condensed Heavy,PT Sans,Avenir Next Condensed", 0, 1252}, - {0x5e16ac91, "TrajanPro", "Arial Narrow,PT Sans Narrow,Damascus", 0, 1252}, + "Avenir Next Condensed Heavy,PT Sans,Avenir Next Condensed", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x5e16ac91, "TrajanPro", "Arial Narrow,PT Sans Narrow,Damascus", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x5f97921c, "AdobeMyungjoStdM", - "AppleMyungjo,AppleGothic,Arial Unicode MS", 0, 936}, - {0x5fefbfad, "Batang", "Arial Unicode MS,Songti SC", 2, 1252}, - {0x605342b9, "DotumChe", "Arial Unicode MS,Heiti TC", 1, 1252}, - {0x608c5f9a, "KaiTi_GB2312", "Hiragino Sans GB,STHeiti,Heiti TC", 0, 936}, + "AppleMyungjo,AppleGothic,Arial Unicode MS", 0, + FX_CodePage::kChineseSimplified}, + {0x5fefbfad, "Batang", "Arial Unicode MS,Songti SC", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0x605342b9, "DotumChe", "Arial Unicode MS,Heiti TC", 1, + FX_CodePage::kMSWin_WesternEuropean}, + {0x608c5f9a, "KaiTi_GB2312", "Hiragino Sans GB,STHeiti,Heiti TC", 0, + FX_CodePage::kChineseSimplified}, {0x61efd0d1, "MaturaMTScriptCapitals", "Kokonor,Damascus,STIXNonUnicode,STHeiti,Arial Black,Avenir Next Heavy", 0, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0x626608a9, "MVBoli", - "Apple Braille,Geeza Pro,Microsoft Sans Serif,Apple Symbols", 0, 1252}, - {0x630501a3, "SmallFonts", "Microsoft Sans Serif,Apple Symbols", 0, 1252}, - {0x65d0e2a9, "FZYTK--GBK1-0", "STFangsong,Songti SC,STSong", 0, 936}, - {0x669f29e1, "FZSTK--GBK1-0", "STHeiti,Heiti TC", 0, 936}, + "Apple Braille,Geeza Pro,Microsoft Sans Serif,Apple Symbols", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x630501a3, "SmallFonts", "Microsoft Sans Serif,Apple Symbols", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x65d0e2a9, "FZYTK--GBK1-0", "STFangsong,Songti SC,STSong", 0, + FX_CodePage::kChineseSimplified}, + {0x669f29e1, "FZSTK--GBK1-0", "STHeiti,Heiti TC", 0, + FX_CodePage::kChineseSimplified}, {0x673a9e5f, "Tunga", "Damascus,STIXNonUnicode,Avenir Next Condensed,Avenir Next Condensed " "Ultra Light,Futura", - 0, 1252}, - {0x691aa4ce, "NiagaraSolid", "Microsoft Sans Serif,Apple Symbols", 0, 1252}, - {0x696259b7, "Corbel", "Cochin,Baskerville,Marion", 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x691aa4ce, "NiagaraSolid", "Microsoft Sans Serif,Apple Symbols", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x696259b7, "Corbel", "Cochin,Baskerville,Marion", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x696ee9be, "STXihei", "STHeiti,Heiti TC,Songti SC,Arial Unicode MS", 0, - 936}, - {0x6c59cf69, "Dotum", "Arial Unicode MS,Songti SC", 0, 1252}, - {0x707fa561, "Gungsuh", "Arial Unicode MS,Heiti TC", 2, 1252}, + FX_CodePage::kChineseSimplified}, + {0x6c59cf69, "Dotum", "Arial Unicode MS,Songti SC", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x707fa561, "Gungsuh", "Arial Unicode MS,Heiti TC", 2, + FX_CodePage::kMSWin_WesternEuropean}, {0x71416bb2, "ZWAdobeF", - "STIXSizeFourSym,STIXSizeThreeSym,STIXSizeTwoSym,STIXSizeOneSym", 0, 1252}, + "STIXSizeFourSym,STIXSizeThreeSym,STIXSizeTwoSym,STIXSizeOneSym", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x71b41801, "Verdana", "Tahoma,Marion,Apple Symbols,.Helvetica Neue Desk UI,Lucida " "Grande,Courier New", - 0, 1252}, - {0x73f25e4c, "PalatinoLinotype", "Palatino,Arial Unicode MS", 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x73f25e4c, "PalatinoLinotype", "Palatino,Arial Unicode MS", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x73f4d19f, "NiagaraEngraved", "Microsoft Sans Serif,Apple Symbols", 0, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0x74001694, "MyriadProBlack", "Palatino,Baskerville,Marion,Cochin", 0, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0x74b14d8f, "Haettenschweiler", "Microsoft Sans Serif,Apple Symbols", 0, - 1252}, - {0x74cb44ee, "NSimSun", "STHeiti,Heiti TC,STFangsong", 1, 936}, + FX_CodePage::kMSWin_WesternEuropean}, + {0x74cb44ee, "NSimSun", "STHeiti,Heiti TC,STFangsong", 1, + FX_CodePage::kChineseSimplified}, {0x76b4d7ff, "Shruti", - "Damascus,STIXNonUnicode,Arial Unicode MS,American Typewriter", 0, 1252}, - {0x788b3533, "Webdings", "Microsoft Sans Serif,Apple Symbols", 6, 42}, - {0x797dde99, "MSSerif", "Microsoft Sans Serif,Apple Symbols", 0, 1252}, + "Damascus,STIXNonUnicode,Arial Unicode MS,American Typewriter", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x788b3533, "Webdings", "Microsoft Sans Serif,Apple Symbols", 6, + FX_CodePage::kSymbol}, + {0x797dde99, "MSSerif", "Microsoft Sans Serif,Apple Symbols", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x7a0f9e9e, "MSMincho", "WenQuanYi Zen Hei Mono,AR PL UMing CN,AR PL UMing HK,AR PL UMing TW,AR " "PL UMing TW MBE,Arial Unicode MS,Apple SD Gothic Neo", - 1, 1252}, + 1, FX_CodePage::kMSWin_WesternEuropean}, {0x7b439caf, "OldEnglishTextMT", - "STIXNonUnicode,Arial Unicode MS,Baskerville,Avenir Next Medium", 0, 1252}, + "STIXNonUnicode,Arial Unicode MS,Baskerville,Avenir Next Medium", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x8213a433, "LucidaSans-Typewriter", - "Comic Sans MS,Avenir Next,Arial Rounded MT Bold", 0, 1252}, - {0x82fec929, "AdobeSongStd", "Heiti TC,STHeiti", 0, 936}, - {0x83581825, "Modern", "Avenir Next Condensed,Impact", 0, 1252}, + "Comic Sans MS,Avenir Next,Arial Rounded MT Bold", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x82fec929, "AdobeSongStd", "Heiti TC,STHeiti", 0, + FX_CodePage::kChineseSimplified}, + {0x83581825, "Modern", "Avenir Next Condensed,Impact", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x835a2823, "Algerian", "STIXNonUnicode,Baskerville,Avenir Next Medium,American Typewriter", 0, - 1252}, - {0x83dab9f5, "Script", "Arial Narrow", 0, 1252}, - {0x847b56da, "Tahoma", "Songti SC,Apple Symbols", 0, 1252}, - {0x8a783cb2, "SimSun-PUA", "STHeiti,Heiti TC,STFangsong", 0, 1252}, - {0x8b5cac0e, "Onyx", "Microsoft Sans Serif,Apple Symbols", 0, 1252}, - {0x8c6a499e, "Gulim", "Arial Unicode MS,Songti SC", 0, 1252}, - {0x8e0af790, "JuiceITC", "Nadeem,Al Bayan", 0, 1252}, - {0x8e8d43b2, "Centaur", "Avenir Next Condensed,Noteworthy,Impact", 2, 1252}, + FX_CodePage::kMSWin_WesternEuropean}, + {0x83dab9f5, "Script", "Arial Narrow", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x847b56da, "Tahoma", "Songti SC,Apple Symbols", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x8a783cb2, "SimSun-PUA", "STHeiti,Heiti TC,STFangsong", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x8b5cac0e, "Onyx", "Microsoft Sans Serif,Apple Symbols", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x8c6a499e, "Gulim", "Arial Unicode MS,Songti SC", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x8e0af790, "JuiceITC", "Nadeem,Al Bayan", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x8e8d43b2, "Centaur", "Avenir Next Condensed,Noteworthy,Impact", 2, + FX_CodePage::kMSWin_WesternEuropean}, {0x8ee4dcca, "BookshelfSymbol7", "Microsoft Sans Serif,Apple Symbols", 0, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0x90794800, "BellGothicStdLight", "Microsoft Sans Serif,Apple Symbols", 0, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0x909b516a, "Century", "Damascus,Andale Mono,Songti SC,Arial Unicode MS", - 2, 1252}, - {0x92ae370d, "MSOutlook", "Microsoft Sans Serif,Apple Symbols", 4, 42}, + 2, FX_CodePage::kMSWin_WesternEuropean}, + {0x92ae370d, "MSOutlook", "Microsoft Sans Serif,Apple Symbols", 4, + FX_CodePage::kSymbol}, {0x93c9fbf1, "LucidaFax", "PT Sans Narrow,Papyrus,Kokonor,Geeza Pro,Arial Rounded MT Bold,Lucida " "Grande,Futura", - 2, 1252}, + 2, FX_CodePage::kMSWin_WesternEuropean}, {0x9565085e, "BookAntiqua", "Palatino,Microsoft Sans Serif,Apple Symbols", - 2, 1252}, - {0x9856d95d, "AdobeMingStd", "AHiragino Sans GB,Heiti TC,STHeiti", 0, 949}, + 2, FX_CodePage::kMSWin_WesternEuropean}, + {0x9856d95d, "AdobeMingStd", "AHiragino Sans GB,Heiti TC,STHeiti", 0, + FX_CodePage::kHangul}, {0x9bbadd6b, "ColonnaMT", "Noteworthy,Avenir Next Condensed,Impact", 0, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0x9cbd16a4, "ShowcardGothic-Reg", - "Arial Unicode MS,Georgia,American Typewriter", 0, 1252}, - {0x9d73008e, "MSSansSerif", "Songti SC,Apple Symbols", 0, 1252}, + "Arial Unicode MS,Georgia,American Typewriter", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x9d73008e, "MSSansSerif", "Songti SC,Apple Symbols", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xa0607db1, "GungsuhChe", "WenQuanYi Zen Hei Mono,AR PL UMing CN,AR PL UMing HK,AR PL UMing TW,AR " "PL UMing TW MBE,Arial Unicode MS,Heiti TC,STFangsong", - 1, 1252}, - {0xa0bcf6a1, "LatinWide", "Zapfino,Arial Black,STHeiti", 2, 1252}, - {0xa1429b36, "Symbol", "Microsoft Sans Serif,Apple Symbols", 6, 42}, - {0xa1fa5abc, "Wingdings2", "Microsoft Sans Serif,Apple Symbols", 6, 42}, - {0xa1fa5abd, "Wingdings3", "Microsoft Sans Serif,Apple Symbols", 6, 42}, + 1, FX_CodePage::kMSWin_WesternEuropean}, + {0xa0bcf6a1, "LatinWide", "Zapfino,Arial Black,STHeiti", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0xa1429b36, "Symbol", "Microsoft Sans Serif,Apple Symbols", 6, + FX_CodePage::kSymbol}, + {0xa1fa5abc, "Wingdings2", "Microsoft Sans Serif,Apple Symbols", 6, + FX_CodePage::kSymbol}, + {0xa1fa5abd, "Wingdings3", "Microsoft Sans Serif,Apple Symbols", 6, + FX_CodePage::kSymbol}, {0xa427bad4, "InformalRoman-Regular", - "STIXNonUnicode,Arial Narrow,Avenir Next Condensed Demi Bold", 8, 1252}, - {0xa8b92ece, "FZSTK--GBK1-0", "STHeiti,Heiti TC,STFangsong", 0, 936}, + "STIXNonUnicode,Arial Narrow,Avenir Next Condensed Demi Bold", 8, + FX_CodePage::kMSWin_WesternEuropean}, + {0xa8b92ece, "FZSTK--GBK1-0", "STHeiti,Heiti TC,STFangsong", 0, + FX_CodePage::kChineseSimplified}, {0xa8d83ece, "CalifornianFB", - "American Typewriter,Avenir Next Condensed,Impact", 2, 1252}, + "American Typewriter,Avenir Next Condensed,Impact", 2, + FX_CodePage::kMSWin_WesternEuropean}, {0xaa3e082c, "Kingsoft-Phonetic", - "STIXVariants,STIXSizeOneSym,Apple Braille", 0, 1252}, + "STIXVariants,STIXSizeOneSym,Apple Braille", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xaa6bcabe, "HarlowSolidItalic", "STIXNonUnicode,Avenir Medium,Avenir Next Medium,Arial Unicode MS", 0, - 1252}, - {0xade5337c, "MSUIGothic", "Arial Unicode MS,Apple SD Gothic Neo", 0, 1252}, + FX_CodePage::kMSWin_WesternEuropean}, + {0xade5337c, "MSUIGothic", "Arial Unicode MS,Apple SD Gothic Neo", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xb08dd941, "WideLatin", "Marion,Papyrus,Nanum Pen Script,Zapf Dingbats,Damascus,Zapfino,Arial " "Black,STHeiti", - 2, 1252}, + 2, FX_CodePage::kMSWin_WesternEuropean}, {0xb12765e0, "ITCLegacySansStdBook", - "LastResort,.Helvetica Neue Desk UI,Arial Unicode MS,Palatino", 0, 1252}, + "LastResort,.Helvetica Neue Desk UI,Arial Unicode MS,Palatino", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xb207f05d, "PoorRichard", "Noteworthy,Avenir Next Condensed,Impact", 2, - 1252}, - {0xb3bc492f, "JuiceITC-Regular", "Nadeem,Al Bayan,STIXNonUnicode", 0, 1252}, - {0xb5545399, "Marlett", "Microsoft Sans Serif,Apple Symbols", 4, 42}, + FX_CodePage::kMSWin_WesternEuropean}, + {0xb3bc492f, "JuiceITC-Regular", "Nadeem,Al Bayan,STIXNonUnicode", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xb5545399, "Marlett", "Microsoft Sans Serif,Apple Symbols", 4, + FX_CodePage::kSymbol}, {0xb5dd1ebb, "BritannicBold", - "Damascus,STIXNonUnicode,Avenir Next Condensed Heavy,PT Sans", 0, 1252}, - {0xb699c1c5, "LucidaCalligraphy-Italic", "STHeiti,Arial Black", 0, 1252}, + "Damascus,STIXNonUnicode,Avenir Next Condensed Heavy,PT Sans", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xb699c1c5, "LucidaCalligraphy-Italic", "STHeiti,Arial Black", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xb725d629, "TimesNewRoman", "Microsoft Sans Serif,Apple Symbols", 2, - 1252}, - {0xb7eaebeb, "AdobeHeitiStdR", "Heiti TC,STHeiti", 0, 936}, + FX_CodePage::kMSWin_WesternEuropean}, + {0xb7eaebeb, "AdobeHeitiStdR", "Heiti TC,STHeiti", 0, + FX_CodePage::kChineseSimplified}, {0xbd29c486, "BerlinSansFBDemi-Bold", - "American Typewriter,Avenir Next Condensed Heavy", 0, 1252}, + "American Typewriter,Avenir Next Condensed Heavy", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xbe8a8db4, "BookshelfSymbolSeven", "Microsoft Sans Serif,Apple Symbols", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0xc16c0118, "AdobeHebrew", - ".Helvetica Neue Desk UI,Palatino,American Typewriter", 0, 1252}, - {0xc318b0af, "MyriadProLight", "Palatino,Baskerville,Marion", 0, 1252}, - {0xc65e5659, "CambriaMath", "Arial Unicode MS", 2, 1252}, - {0xc75c8f05, "LucidaConsole", "Courier New,Menlo,Andale Mono", 1, 1252}, - {0xca7c35d6, "Calibri", "Apple Symbols,HeadLineA", 0, 1252}, - {0xcb053f53, "MicrosoftYaHei", "Arial Unicode MS", 0, 936}, - {0xcb7190f9, "Magneto-Bold", "Lucida Grande", 0, 1252}, - {0xcca00cc5, "System", "Microsoft Sans Serif,Apple Symbols", 0, 1252}, - {0xccad6f76, "Jokerman-Regular", "Lucida Grande", 0, 1252}, - {0xccc5818c, "EuroSign", "Microsoft Sans Serif,Apple Symbols", 0, 1252}, + ".Helvetica Neue Desk UI,Palatino,American Typewriter", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xc318b0af, "MyriadProLight", "Palatino,Baskerville,Marion", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xc65e5659, "CambriaMath", "Arial Unicode MS", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0xc75c8f05, "LucidaConsole", "Courier New,Menlo,Andale Mono", 1, + FX_CodePage::kMSWin_WesternEuropean}, + {0xca7c35d6, "Calibri", "Apple Symbols,HeadLineA", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xcb053f53, "MicrosoftYaHei", "Arial Unicode MS", 0, + FX_CodePage::kChineseSimplified}, + {0xcb7190f9, "Magneto-Bold", "Lucida Grande", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xcca00cc5, "System", "Microsoft Sans Serif,Apple Symbols", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xccad6f76, "Jokerman-Regular", "Lucida Grande", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xccc5818c, "EuroSign", "Microsoft Sans Serif,Apple Symbols", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xcf3d7234, "LucidaHandwriting-Italic", - "Microsoft Sans Serif,Apple Symbols", 0, 1252}, + "Microsoft Sans Serif,Apple Symbols", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xcf7b8fdb, "MinionPro", - "Bell MT,Corbel,Times New Roman,Cambria,Berlin Sans FB", 0, 1252}, - {0xcfe5755f, "Simhei", "STHeiti,Heiti TC,STFangsong", 1, 936}, - {0xd011f4ee, "MSPGothic", "Arial Unicode MS,Apple SD Gothic Neo", 0, 1252}, + "Bell MT,Corbel,Times New Roman,Cambria,Berlin Sans FB", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xcfe5755f, "Simhei", "STHeiti,Heiti TC,STFangsong", 1, + FX_CodePage::kChineseSimplified}, + {0xd011f4ee, "MSPGothic", "Arial Unicode MS,Apple SD Gothic Neo", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xd060e7ef, "Vivaldi", "STIXNonUnicode,Arial Unicode MS,Avenir Medium,Avenir Next Medium", 8, - 1252}, - {0xd07edec1, "FranklinGothic-Medium", "Impact,Arial Narrow", 0, 1252}, - {0xd107243f, "SimSun", "STHeiti,Heiti TC,STFangsong", 0, 936}, - {0xd1881562, "ArialNarrow", "PT Sans Narrow,Apple Symbols", 0, 1252}, + FX_CodePage::kMSWin_WesternEuropean}, + {0xd07edec1, "FranklinGothic-Medium", "Impact,Arial Narrow", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xd107243f, "SimSun", "STHeiti,Heiti TC,STFangsong", 0, + FX_CodePage::kChineseSimplified}, + {0xd1881562, "ArialNarrow", "PT Sans Narrow,Apple Symbols", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xd22b7dce, "BodoniMTPosterCompressed", - "Microsoft Sans Serif,Apple Symbols", 0, 1252}, + "Microsoft Sans Serif,Apple Symbols", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xd22bfa60, "ComicSansMS", "Damascus,Georgia,.Helvetica Neue Desk UI,Lucida Grande,Arial Unicode MS", - 8, 1252}, + 8, FX_CodePage::kMSWin_WesternEuropean}, {0xd3bd0e35, "Bauhaus93", - "STIXNonUnicode,Arial Unicode MS,Avenir Next,Avenir", 0, 1252}, - {0xd429ee7a, "STFangsong", "Songti SC,Arial Unicode MS", 0, 936}, + "STIXNonUnicode,Arial Unicode MS,Avenir Next,Avenir", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xd429ee7a, "STFangsong", "Songti SC,Arial Unicode MS", 0, + FX_CodePage::kChineseSimplified}, {0xd6679c12, "BernardMTCondensed", "Impact,Avenir Next Condensed Demi Bold", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0xd8e8a027, "LucidaSans", "Arial Narrow,Khmer MN,Kokonor,Damascus,Microsoft Sans Serif,Apple " "Symbols", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0xd9fe7761, "HighTowerText-Reg", - "STIXGeneral,.Helvetica Neue Desk UI,Trebuchet MS", 2, 1252}, - {0xda7e551e, "STSong", "Arial Unicode MS", 0, 936}, - {0xdaa6842d, "STZhongsong", "STFangsong,Songti SC,STSong", 0, 936}, - {0xdaaab93f, "STFangsong", "Songti SC,Arial Unicode MS", 0, 936}, - {0xdaeb0713, "STSong", "Songti SC,Arial Unicode MS", 0, 936}, - {0xdafedbef, "STCaiyun", "Kaiti SC,Songti SC,STHeiti", 0, 936}, + "STIXGeneral,.Helvetica Neue Desk UI,Trebuchet MS", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0xda7e551e, "STSong", "Arial Unicode MS", 0, + FX_CodePage::kChineseSimplified}, + {0xdaa6842d, "STZhongsong", "STFangsong,Songti SC,STSong", 0, + FX_CodePage::kChineseSimplified}, + {0xdaaab93f, "STFangsong", "Songti SC,Arial Unicode MS", 0, + FX_CodePage::kChineseSimplified}, + {0xdaeb0713, "STSong", "Songti SC,Arial Unicode MS", 0, + FX_CodePage::kChineseSimplified}, + {0xdafedbef, "STCaiyun", "Kaiti SC,Songti SC,STHeiti", 0, + FX_CodePage::kChineseSimplified}, {0xdb00a3d9, "Broadway", - "Papyrus,STIXNonUnicode,Arial Black,Avenir Next Heavy,Heiti TC", 0, 1252}, - {0xdb1f5ad4, "STXinwei", "Kaiti SC,Songti SC,STHeiti", 0, 936}, - {0xdb326e7f, "STKaiti", "Songti SC,Arial Unicode MS", 0, 936}, - {0xdb69595a, "STHupo", "Kaiti SC,Songti SC,STHeiti", 0, 936}, - {0xdba0082c, "STXihei", "Songti SC,Arial Unicode MS", 0, 936}, - {0xdbd0ab18, "STXingkai", "Kaiti SC,Songti SC", 0, 936}, - {0xdc1a7db1, "STLiti", "Kaiti SC,Songti SC", 0, 936}, + "Papyrus,STIXNonUnicode,Arial Black,Avenir Next Heavy,Heiti TC", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xdb1f5ad4, "STXinwei", "Kaiti SC,Songti SC,STHeiti", 0, + FX_CodePage::kChineseSimplified}, + {0xdb326e7f, "STKaiti", "Songti SC,Arial Unicode MS", 0, + FX_CodePage::kChineseSimplified}, + {0xdb69595a, "STHupo", "Kaiti SC,Songti SC,STHeiti", 0, + FX_CodePage::kChineseSimplified}, + {0xdba0082c, "STXihei", "Songti SC,Arial Unicode MS", 0, + FX_CodePage::kChineseSimplified}, + {0xdbd0ab18, "STXingkai", "Kaiti SC,Songti SC", 0, + FX_CodePage::kChineseSimplified}, + {0xdc1a7db1, "STLiti", "Kaiti SC,Songti SC", 0, + FX_CodePage::kChineseSimplified}, {0xdc33075f, "KristenITC-Regular", - "STIXNonUnicode,Damascus,Songti SC,STSong", 8, 1252}, + "STIXNonUnicode,Damascus,Songti SC,STSong", 8, + FX_CodePage::kMSWin_WesternEuropean}, {0xdcc7009c, "Harrington", - "STIXNonUnicode,Avenir Next Condensed Heavy,Noteworthy", 0, 1252}, - {0xdd712466, "ArialBlack", "Geeza Pro,Damascus,Songti SC,STSong", 0, 1252}, - {0xdde87b3e, "Impact", "Arial Narrow,Marion", 0, 1252}, + "STIXNonUnicode,Avenir Next Condensed Heavy,Noteworthy", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xdd712466, "ArialBlack", "Geeza Pro,Damascus,Songti SC,STSong", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xdde87b3e, "Impact", "Arial Narrow,Marion", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xdf69fb32, "SnapITC", - "Arial Narrow,PT Sans Narrow,Marion,STHeiti,Arial Black", 0, 1252}, + "Arial Narrow,PT Sans Narrow,Marion,STHeiti,Arial Black", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xdf8b25e8, "CenturyGothic", - "Damascus,Andale Mono,Songti SC,Arial Unicode MS", 0, 1252}, - {0xe0f705c0, "KristenITC", "Songti SC,STSong", 8, 1252}, + "Damascus,Andale Mono,Songti SC,Arial Unicode MS", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xe0f705c0, "KristenITC", "Songti SC,STSong", 8, + FX_CodePage::kMSWin_WesternEuropean}, {0xe1427573, "Raavi", "Damascus,STIXNonUnicode,Marion,Papyrus,Avenir Next Condensed " "Heavy,American Typewriter", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0xe2cea0cb, "Magneto", "STIXNonUnicode,Damascus,Geeza Pro,Lucida Grande,Georgia,Heiti TC", 0, - 1252}, - {0xe36a9e17, "Ravie", "STHeiti,Arial Black", 0, 1252}, - {0xe433f8e2, "Parchment", "Microsoft Sans Serif,Apple Symbols", 8, 1252}, - {0xe43dff4a, "Wingdings", "Microsoft Sans Serif,Apple Symbols", 4, 42}, - {0xe4e2c405, "MTExtra", "Microsoft Sans Serif,Apple Symbols", 6, 42}, - {0xe618cc35, "InformalRoman", "Arial Narrow", 8, 1252}, - {0xe6c27ffc, "Mistral", "Apple Symbols", 8, 1252}, - {0xe7ebf4b9, "Courier", "Courier New", 0, 1252}, + FX_CodePage::kMSWin_WesternEuropean}, + {0xe36a9e17, "Ravie", "STHeiti,Arial Black", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xe433f8e2, "Parchment", "Microsoft Sans Serif,Apple Symbols", 8, + FX_CodePage::kMSWin_WesternEuropean}, + {0xe43dff4a, "Wingdings", "Microsoft Sans Serif,Apple Symbols", 4, + FX_CodePage::kSymbol}, + {0xe4e2c405, "MTExtra", "Microsoft Sans Serif,Apple Symbols", 6, + FX_CodePage::kSymbol}, + {0xe618cc35, "InformalRoman", "Arial Narrow", 8, + FX_CodePage::kMSWin_WesternEuropean}, + {0xe6c27ffc, "Mistral", "Apple Symbols", 8, + FX_CodePage::kMSWin_WesternEuropean}, + {0xe7ebf4b9, "Courier", "Courier New", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xe8bc4a9d, "MSReferenceSpecialty", "Microsoft Sans Serif,Apple Symbols", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0xe90fb013, "TempusSansITC", - "STIXNonUnicode,Microsoft Sans Serif,Avenir Light", 0, 1252}, + "STIXNonUnicode,Microsoft Sans Serif,Avenir Light", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xec637b42, "Consolas", "AR PL UKai CN,AR PL UKai HK,AR PL UKai TW,AR PL UKai TW MBE,AR PL UMing " "CN,AR PL UMing HK,Microsoft Sans Serif,Tahoma", - 1, 1252}, - {0xed3a683b, "STXinwei", "Kaiti SC,Songti SC,", 0, 936}, + 1, FX_CodePage::kMSWin_WesternEuropean}, + {0xed3a683b, "STXinwei", "Kaiti SC,Songti SC,", 0, + FX_CodePage::kChineseSimplified}, {0xef264cd1, "LucidaHandwriting", "Arial Narrow,Avenir Next Condensed Demi Bold,Avenir Next " "Condensed,Avenir Next Condensed Medium,STHeiti,Arial Black", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0xf086bca2, "BaskervilleOldFace", - "STIXNonUnicode,Avenir Next Condensed Heavy,PT Sans", 0, 1252}, + "STIXNonUnicode,Avenir Next Condensed Heavy,PT Sans", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xf1028030, "Mangal", - "Arial Unicode MS,Microsoft Sans Serif,Arial Narrow,Tahoma", 2, 1252}, + "Arial Unicode MS,Microsoft Sans Serif,Arial Narrow,Tahoma", 2, + FX_CodePage::kMSWin_WesternEuropean}, {0xf1da7eb9, "ShowcardGothic", - "Papyrus,Arial Unicode MS,Georgia,American Typewriter", 0, 1252}, + "Papyrus,Arial Unicode MS,Georgia,American Typewriter", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xf210f06a, "ArialMT", "Arial Unicode MS,Arial Narrow,STIXNonUnicode,Damascus,Avenir Next " "Condensed Demi Bold,Avenir Next Condensed Medium,Avenir Next Condensed", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0xf477f16a, "Latha", - "Arial Narrow,Damascus,STIXNonUnicode,American Typewriter", 0, 1252}, - {0xf616f3dd, "LiSu", "STHeiti,Heiti TC,STFangsong", 1, 936}, - {0xfa479aa6, "MicrosoftYaHei", "Arial Unicode MS", 0, 936}, + "Arial Narrow,Damascus,STIXNonUnicode,American Typewriter", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xf616f3dd, "LiSu", "STHeiti,Heiti TC,STFangsong", 1, + FX_CodePage::kChineseSimplified}, + {0xfa479aa6, "MicrosoftYaHei", "Arial Unicode MS", 0, + FX_CodePage::kChineseSimplified}, {0xfcd19697, "BookmanOldStyle", - "Geeza Pro,Damascus,Andale Mono,Songti SC,Arial Unicode MS", 0, 1252}, + "Geeza Pro,Damascus,Andale Mono,Songti SC,Arial Unicode MS", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xfe209a82, "LucidaCalligraphy", - "Kokonor,Damascus,STIXNonUnicode,STHeiti,Arial Black", 0, 1252}, - {0xfef135f8, "AdobeHeitiStd-Regular", "Heiti TC,STHeiti", 0, 936}, + "Kokonor,Damascus,STIXNonUnicode,STHeiti,Arial Black", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xfef135f8, "AdobeHeitiStd-Regular", "Heiti TC,STHeiti", 0, + FX_CodePage::kChineseSimplified}, }; #elif defined(OS_ANDROID) const FGAS_FontInfo g_XFAFontsMap[] = { - {0x01d5d33e, "SimSun", "Droid Sans Fallback", 0, 936}, - {0x01e4f102, "YouYuan", "Droid Sans Fallback", 1, 936}, - {0x030549dc, "LiSu", "Droid Sans Fallback", 1, 936}, - {0x032edd44, "Simhei", "Droid Sans Fallback", 1, 936}, + {0x01d5d33e, "SimSun", "Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, + {0x01e4f102, "YouYuan", "Droid Sans Fallback", 1, + FX_CodePage::kChineseSimplified}, + {0x030549dc, "LiSu", "Droid Sans Fallback", 1, + FX_CodePage::kChineseSimplified}, + {0x032edd44, "Simhei", "Droid Sans Fallback", 1, + FX_CodePage::kChineseSimplified}, {0x03eac6fc, "PoorRichard-Regular", "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback,Droid Arabic " "Naskh,Droid Sans Ethiopic", - 2, 1252}, + 2, FX_CodePage::kMSWin_WesternEuropean}, {0x03ed90e6, "Nina", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x077b56b3, "KingsoftPhoneticPlain", "Droid Sans Thai,Droid Sans Armenian,Droid Arabic Naskh,Droid Sans " "Ethiopic,Droid Sans Fallback", - 0, 1252}, - {0x078ed524, "MicrosoftSansSerif", "Droid Sans Fallback", 0, 1252}, - {0x089b18a9, "Arial", "Droid Sans Fallback", 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x078ed524, "MicrosoftSansSerif", "Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x089b18a9, "Arial", "Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x0b2cad72, "MonotypeCorsiva", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 8, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 8, + FX_CodePage::kMSWin_WesternEuropean}, {0x0bb003e7, "Kartika", "Droid Arabic Naskh,Droid Sans Ethiopic,Roboto,Droid Serif,Droid Sans " "Mono", - 2, 1252}, + 2, FX_CodePage::kMSWin_WesternEuropean}, {0x0bb469df, "VinerHandITC", - "Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 8, 1252}, - {0x0bc1a851, "SegoeUI", "Droid Sans Fallback", 0, 1252}, + "Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 8, + FX_CodePage::kMSWin_WesternEuropean}, + {0x0bc1a851, "SegoeUI", "Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x0c112ebd, "KozukaGothicPro-VIM", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x0cfcb9c1, "AdobeThai", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 847}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSDOS_Thai}, {0x0e7de0f9, "Playbill", "Droid Arabic Naskh,Droid Sans Ethiopic,Roboto,Droid Serif,Droid Sans " "Mono", - 0, 1252}, - {0x0eff47c3, "STHupo", "Droid Sans Fallback", 0, 936}, + 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x0eff47c3, "STHupo", "Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, {0x107ad374, "Constantia", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, + FX_CodePage::kMSWin_WesternEuropean}, {0x12194c2d, "KunstlerScript", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 8, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 8, + FX_CodePage::kMSWin_WesternEuropean}, {0x135ef6a1, "MinionProSmBd", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x158c4049, "Garamond", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, 1252}, - {0x160ecb24, "STZhongsong", "Droid Sans Fallback", 0, 936}, - {0x161ed07e, "MSGothic", "Droid Sans Fallback", 1, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0x160ecb24, "STZhongsong", "Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, + {0x161ed07e, "MSGothic", "Droid Sans Fallback", 1, + FX_CodePage::kMSWin_WesternEuropean}, {0x171d1ed1, "SnapITC-Regular", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, - {0x18d1188f, "Cambria", "Droid Sans Fallback", 2, 1252}, - {0x18eaf350, "ArialUnicodeMS", "Droid Sans Fallback", 0, 936}, - {0x1a92d115, "MingLiU", "Droid Sans Fallback", 1, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x18d1188f, "Cambria", "Droid Sans Fallback", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0x18eaf350, "ArialUnicodeMS", "Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, + {0x1a92d115, "MingLiU", "Droid Sans Fallback", 1, + FX_CodePage::kMSWin_WesternEuropean}, {0x1cc217c6, "TrebuchetMS", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x1d649596, "BasemicTimes", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x1e34ee60, "BellMT", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, + FX_CodePage::kMSWin_WesternEuropean}, {0x1eb36945, "CooperBlack", - "Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 2, 1252}, - {0x1ef7787d, "BatangChe", "Droid Sans Fallback", 1, 1252}, + "Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0x1ef7787d, "BatangChe", "Droid Sans Fallback", 1, + FX_CodePage::kMSWin_WesternEuropean}, {0x20b3bd3a, "BrushScriptMT", "Droid Arabic Naskh,Droid Sans Ethiopic", 8, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0x220877aa, "Candara", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x22135007, "FreestyleScript-Regular", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 8, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 8, + FX_CodePage::kMSWin_WesternEuropean}, {0x251059c3, "Chiller", - "Droid Arabic Naskh,Droid Sans Ethiopic,Roboto,Droid Serif", 0, 1252}, - {0x25bed6dd, "MSReferenceSansSerif", "Droid Sans Fallback", 0, 1252}, + "Droid Arabic Naskh,Droid Sans Ethiopic,Roboto,Droid Serif", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x25bed6dd, "MSReferenceSansSerif", "Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x28154c81, "Parchment-Regular", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 8, 1252}, - {0x29711eb9, "STLiti", "Droid Sans Fallback", 0, 936}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 8, + FX_CodePage::kMSWin_WesternEuropean}, + {0x29711eb9, "STLiti", "Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, {0x2b1993b4, "Basemic", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x2b316339, "NiagaraSolid-Reg", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x2c147529, "FootlightMTLight", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x2c198928, "HarlowSolid", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x2c6ac6b2, "LucidaBright", - "Droid Arabic Naskh,Droid Sans Ethiopic,Droid Serif,Roboto", 2, 1252}, + "Droid Arabic Naskh,Droid Sans Ethiopic,Droid Serif,Roboto", 2, + FX_CodePage::kMSWin_WesternEuropean}, {0x2c9f38e2, "KozukaMinchoPro-VIR", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, - {0x2d5a47b0, "STCaiyun", "Droid Sans Fallback", 0, 936}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x2d5a47b0, "STCaiyun", "Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, {0x2def26bf, "BernardMT-Condensed", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x2fd8930b, "KozukaMinchoPr6NR", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, - {0x3115525a, "FangSong_GB2312", "Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x3115525a, "FangSong_GB2312", "Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x31327817, "MyriadPro", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x32244975, "Helvetica", - "Droid Arabic Naskh,Droid Sans Ethiopic,Droid Serif,Roboto", 0, 1252}, + "Droid Arabic Naskh,Droid Sans Ethiopic,Droid Serif,Roboto", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x32ac995c, "Terminal", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x338d648a, "NiagaraEngraved-Reg", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x33bb65f2, "Sylfaen", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, 1252}, - {0x3402c30e, "MSPMincho", "Droid Sans Fallback", 2, 1252}, - {0x3412bf31, "SimSun-PUA", "Droid Sans Fallback", 0, 936}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0x3402c30e, "MSPMincho", "Droid Sans Fallback", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0x3412bf31, "SimSun-PUA", "Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, {0x36eb39b9, "BerlinSansFB", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, - {0x36f42055, "UniversATT", "Microsoft Sans Serif", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x36f42055, "UniversATT", "Microsoft Sans Serif", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x3864c4f6, "HighTowerText", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, 1252}, - {0x3a257d03, "FangSong_GB2312", "Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0x3a257d03, "FangSong_GB2312", "Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x3cdae668, "FreestyleScript", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 8, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 8, + FX_CodePage::kMSWin_WesternEuropean}, {0x3d55aed7, "Jokerman", - "Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, - {0x3d5b4385, "PMingLiU", "Droid Sans Fallback", 2, 1252}, + "Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x3d5b4385, "PMingLiU", "Droid Sans Fallback", 2, + FX_CodePage::kMSWin_WesternEuropean}, {0x3d9b7669, "EstrangeloEdessa", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x3e532d74, "FranklinGothicMedium", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, - {0x3e6aa32d, "NSimSun", "Droid Sans Fallback", 1, 936}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x3e6aa32d, "NSimSun", "Droid Sans Fallback", 1, + FX_CodePage::kChineseSimplified}, {0x3f6c36a8, "Gautami", "Droid Arabic Naskh,Droid Sans Ethiopic,Roboto,Droid Serif,Droid Sans " "Mono,Droid Sans Fallback", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0x3ff32662, "Chiller-Regular", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x409de312, "ModernNo.20", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, + FX_CodePage::kMSWin_WesternEuropean}, {0x41443c5e, "Georgia", - "Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 2, 1252}, + "Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 2, + FX_CodePage::kMSWin_WesternEuropean}, {0x4160ade5, "BellGothicStdBlack", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x421976c4, "Modern-Regular", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, + FX_CodePage::kMSWin_WesternEuropean}, {0x422a7252, "Stencil", - "Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x42c8554f, "Fixedsys", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x435cb41d, "Roman", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, - {0x47882383, "CourierNew", "Droid Sans Fallback", 1, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x47882383, "CourierNew", "Droid Sans Fallback", 1, + FX_CodePage::kMSWin_WesternEuropean}, {0x480a2338, "BerlinSansFBDemi", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, - {0x480bf7a4, "CourierStd", "Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x480bf7a4, "CourierStd", "Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x481ad6ed, "VladimirScript", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 8, 1252}, - {0x4911577a, "YouYuan", "Droid Sans Fallback", 1, 936}, - {0x4a788d72, "STXingkai", "Droid Sans Fallback", 0, 936}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 8, + FX_CodePage::kMSWin_WesternEuropean}, + {0x4911577a, "YouYuan", "Droid Sans Fallback", 1, + FX_CodePage::kChineseSimplified}, + {0x4a788d72, "STXingkai", "Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, {0x4bf88566, "SegoeCondensed", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x4ccf51a4, "BerlinSansFB-Reg", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, - {0x4ea967ce, "GulimChe", "Droid Sans Fallback", 1, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x4ea967ce, "GulimChe", "Droid Sans Fallback", 1, + FX_CodePage::kMSWin_WesternEuropean}, {0x4f68bd79, "LetterGothicStd", "Droid Sans Mono,Droid Arabic Naskh,Droid Sans Ethiopic,Droid Sans " "Mono,Droid Serif,Droid Sans Fallback", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0x51a0d0e6, "KozukaGothicPr6NM", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x531b3dea, "BasemicSymbol", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x5333fd39, "CalifornianFB-Reg", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, 1252}, - {0x53561a54, "FZYTK--GBK1-0", "Droid Sans Fallback", 0, 936}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0x53561a54, "FZYTK--GBK1-0", "Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, {0x55e0dde6, "LucidaSansTypewriter", - "Droid Sans Mono,Droid Arabic Naskh,Droid Sans Ethiopic", 0, 1252}, + "Droid Sans Mono,Droid Arabic Naskh,Droid Sans Ethiopic", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x574d4d3d, "AdobeArabic", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, - {0x5792e759, "STKaiti", "Droid Sans Fallback", 0, 936}, - {0x5921978e, "LucidaSansUnicode", "Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x5792e759, "STKaiti", "Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, + {0x5921978e, "LucidaSansUnicode", "Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x594e2da4, "Vrinda", "Droid Arabic Naskh,Droid Sans Ethiopic,Roboto,Droid Serif,Droid Sans " "Mono", - 0, 1252}, - {0x59baa9a2, "KaiTi_GB2312", "Droid Sans Fallback", 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x59baa9a2, "KaiTi_GB2312", "Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x5cfedf4f, "BaskOldFace", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, - {0x5f97921c, "AdobeMyungjoStdM", "Droid Sans Fallback", 0, 936}, - {0x5fefbfad, "Batang", "Droid Sans Fallback", 2, 1252}, - {0x605342b9, "DotumChe", "Droid Sans Fallback", 1, 1252}, - {0x608c5f9a, "KaiTi_GB2312", "Droid Sans Fallback", 0, 936}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x5f97921c, "AdobeMyungjoStdM", "Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, + {0x5fefbfad, "Batang", "Droid Sans Fallback", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0x605342b9, "DotumChe", "Droid Sans Fallback", 1, + FX_CodePage::kMSWin_WesternEuropean}, + {0x608c5f9a, "KaiTi_GB2312", "Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, {0x61efd0d1, "MaturaMTScriptCapitals", "Droid Arabic Naskh,Droid Sans Ethiopic,Droid Serif,Roboto,Droid Sans " "Mono", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0x626608a9, "MVBoli", "Droid Arabic Naskh,Droid Sans Ethiopic,Droid Serif,Roboto,Droid Sans " "Mono", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0x630501a3, "SmallFonts", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, - {0x65d0e2a9, "FZYTK--GBK1-0", "Droid Sans Fallback", 0, 936}, - {0x669f29e1, "FZSTK--GBK1-0", "Droid Sans Fallback", 0, 936}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x65d0e2a9, "FZYTK--GBK1-0", "Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, + {0x669f29e1, "FZSTK--GBK1-0", "Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, {0x673a9e5f, "Tunga", "Droid Arabic Naskh,Droid Sans Ethiopic,Roboto,Droid Serif,Droid Sans " "Mono,Droid Sans Fallback", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0x691aa4ce, "NiagaraSolid", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x696259b7, "Corbel", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, - {0x696ee9be, "STXihei", "Droid Sans Fallback", 0, 936}, - {0x6c59cf69, "Dotum", "Droid Sans Fallback", 0, 1252}, - {0x707fa561, "Gungsuh", "Droid Sans Fallback", 2, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x696ee9be, "STXihei", "Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, + {0x6c59cf69, "Dotum", "Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x707fa561, "Gungsuh", "Droid Sans Fallback", 2, + FX_CodePage::kMSWin_WesternEuropean}, {0x71416bb2, "ZWAdobeF", "Droid Arabic Naskh,Droid Sans Armenian,Droid Sans Ethiopic,Droid Sans " "Georgian,Droid Sans Hebrew,Droid Sans Thai", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0x71b41801, "Verdana", - "Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, - {0x73f25e4c, "PalatinoLinotype", "Droid Sans Fallback", 0, 1252}, + "Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x73f25e4c, "PalatinoLinotype", "Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x73f4d19f, "NiagaraEngraved", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x74001694, "MyriadProBlack", "Book Antiqua,Constantia,Dotum,Georgia", 0, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0x74b14d8f, "Haettenschweiler", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, - {0x74cb44ee, "NSimSun", "Droid Sans Fallback", 1, 936}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x74cb44ee, "NSimSun", "Droid Sans Fallback", 1, + FX_CodePage::kChineseSimplified}, {0x76b4d7ff, "Shruti", "Droid Arabic Naskh,Droid Sans Ethiopic,Roboto,Droid Serif,Droid Sans " "Mono", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0x788b3533, "Webdings", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 6, 42}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 6, + FX_CodePage::kSymbol}, {0x797dde99, "MSSerif", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, - {0x7a0f9e9e, "MSMincho", "Droid Sans Fallback", 1, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x7a0f9e9e, "MSMincho", "Droid Sans Fallback", 1, + FX_CodePage::kMSWin_WesternEuropean}, {0x7b439caf, "OldEnglishTextMT", - "Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x8213a433, "LucidaSans-Typewriter", - "Droid Sans Mono,Droid Serif,Roboto,Droid Sans Fallback", 0, 1252}, - {0x82fec929, "AdobeSongStd", "Droid Sans Fallback", 0, 936}, + "Droid Sans Mono,Droid Serif,Roboto,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x82fec929, "AdobeSongStd", "Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, {0x83581825, "Modern", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x835a2823, "Algerian", - "Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x83dab9f5, "Script", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, - {0x847b56da, "Tahoma", "Droid Sans Fallback", 0, 1252}, - {0x8a783cb2, "SimSun-PUA", "Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x847b56da, "Tahoma", "Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x8a783cb2, "SimSun-PUA", "Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x8b5cac0e, "Onyx", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, - {0x8c6a499e, "Gulim", "Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x8c6a499e, "Gulim", "Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x8e0af790, "JuiceITC", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x8e8d43b2, "Centaur", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, + FX_CodePage::kMSWin_WesternEuropean}, {0x8ee4dcca, "BookshelfSymbol7", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x90794800, "BellGothicStdLight", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x909b516a, "Century", - "Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 2, 1252}, + "Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 2, + FX_CodePage::kMSWin_WesternEuropean}, {0x92ae370d, "MSOutlook", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 4, 42}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 4, + FX_CodePage::kSymbol}, {0x93c9fbf1, "LucidaFax", "Droid Arabic Naskh,Droid Sans Ethiopic,Droid Serif,Roboto,Droid Sans " "Mono", - 2, 1252}, + 2, FX_CodePage::kMSWin_WesternEuropean}, {0x9565085e, "BookAntiqua", - "Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 2, 1252}, - {0x9856d95d, "AdobeMingStd", "Droid Sans Fallback", 0, 949}, + "Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0x9856d95d, "AdobeMingStd", "Droid Sans Fallback", 0, + FX_CodePage::kHangul}, {0x9bbadd6b, "ColonnaMT", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x9cbd16a4, "ShowcardGothic-Reg", - "Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallbac", 0, 1252}, + "Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallbac", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x9d73008e, "MSSansSerif", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, - {0xa0607db1, "GungsuhChe", "Droid Sans Fallback", 1, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xa0607db1, "GungsuhChe", "Droid Sans Fallback", 1, + FX_CodePage::kMSWin_WesternEuropean}, {0xa0bcf6a1, "LatinWide", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, + FX_CodePage::kMSWin_WesternEuropean}, {0xa1429b36, "Symbol", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 6, 42}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 6, + FX_CodePage::kSymbol}, {0xa1fa5abc, "Wingdings2", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 6, 42}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 6, + FX_CodePage::kSymbol}, {0xa1fa5abd, "Wingdings3", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 6, 42}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 6, + FX_CodePage::kSymbol}, {0xa427bad4, "InformalRoman-Regular", - "Droid Arabic Naskh,Droid Sans Ethiopic", 8, 1252}, - {0xa8b92ece, "FZSTK--GBK1-0", "Droid Sans Fallback", 0, 936}, + "Droid Arabic Naskh,Droid Sans Ethiopic", 8, + FX_CodePage::kMSWin_WesternEuropean}, + {0xa8b92ece, "FZSTK--GBK1-0", "Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, {0xa8d83ece, "CalifornianFB", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, + FX_CodePage::kMSWin_WesternEuropean}, {0xaa3e082c, "Kingsoft-Phonetic", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xaa6bcabe, "HarlowSolidItalic", - "Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xade5337c, "MSUIGothic", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xb08dd941, "WideLatin", "Droid Arabic Naskh,Droid Sans Ethiopic,Droid Serif,Roboto,Droid Sans " "Mono", - 2, 1252}, + 2, FX_CodePage::kMSWin_WesternEuropean}, {0xb207f05d, "PoorRichard", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, + FX_CodePage::kMSWin_WesternEuropean}, {0xb3bc492f, "JuiceITC-Regular", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xb5545399, "Marlett", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 4, 42}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 4, + FX_CodePage::kSymbol}, {0xb5dd1ebb, "BritannicBold", "Droid Arabic Naskh,Droid Sans Ethiopic", 0, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0xb699c1c5, "LucidaCalligraphy-Italic", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, - {0xb725d629, "TimesNewRoman", "Droid Sans Fallback", 2, 1252}, - {0xb7eaebeb, "AdobeHeitiStdR", "Droid Sans Fallback", 0, 936}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xb725d629, "TimesNewRoman", "Droid Sans Fallback", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0xb7eaebeb, "AdobeHeitiStdR", "Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, {0xbd29c486, "BerlinSansFBDemi-Bold", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xbe8a8db4, "BookshelfSymbolSeven", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xc16c0118, "AdobeHebrew", "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback,Droid Arabic " "Naskh,Droid Sans Ethiopic", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0xc318b0af, "MyriadProLight", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, - {0xc65e5659, "CambriaMath", "Droid Sans Fallback", 2, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xc65e5659, "CambriaMath", "Droid Sans Fallback", 2, + FX_CodePage::kMSWin_WesternEuropean}, {0xc75c8f05, "LucidaConsole", - "Droid Sans Mono,Droid Serif,Roboto,Droid Sans Fallback", 1, 1252}, - {0xca7c35d6, "Calibri", "Droid Sans Fallback", 0, 1252}, - {0xcb053f53, "MicrosoftYaHei", "Droid Sans Fallback", 0, 936}, + "Droid Sans Mono,Droid Serif,Roboto,Droid Sans Fallback", 1, + FX_CodePage::kMSWin_WesternEuropean}, + {0xca7c35d6, "Calibri", "Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xcb053f53, "MicrosoftYaHei", "Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, {0xcb7190f9, "Magneto-Bold", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xcca00cc5, "System", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xccad6f76, "Jokerman-Regular", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xccc5818c, "EuroSign", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xcf3d7234, "LucidaHandwriting-Italic", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xcf7b8fdb, "MinionPro", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, - {0xcfe5755f, "Simhei", "Droid Sans Fallback", 1, 936}, - {0xd011f4ee, "MSPGothic", "Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xcfe5755f, "Simhei", "Droid Sans Fallback", 1, + FX_CodePage::kChineseSimplified}, + {0xd011f4ee, "MSPGothic", "Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xd060e7ef, "Vivaldi", - "Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 8, 1252}, + "Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 8, + FX_CodePage::kMSWin_WesternEuropean}, {0xd07edec1, "FranklinGothic-Medium", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, - {0xd107243f, "SimSun", "Droid Sans Fallback", 0, 936}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xd107243f, "SimSun", "Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, {0xd1881562, "ArialNarrow", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xd22b7dce, "BodoniMTPosterCompressed", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xd22bfa60, "ComicSansMS", "Droid Serif,Roboto,Droid Sans Fallback", 8, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0xd3bd0e35, "Bauhaus93", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, - {0xd429ee7a, "STFangsong", "Droid Sans Fallback", 0, 936}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xd429ee7a, "STFangsong", "Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, {0xd6679c12, "BernardMTCondensed", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xd8e8a027, "LucidaSans", - "Droid Arabic Naskh,Droid Sans Ethiopic,Droid Serif,Roboto", 0, 1252}, + "Droid Arabic Naskh,Droid Sans Ethiopic,Droid Serif,Roboto", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xd9fe7761, "HighTowerText-Reg", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, 1252}, - {0xda7e551e, "STSong", "Droid Sans Fallback", 0, 936}, - {0xdaa6842d, "STZhongsong", "Droid Sans Fallback", 0, 936}, - {0xdaaab93f, "STFangsong", "Droid Sans Fallback", 0, 936}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0xda7e551e, "STSong", "Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, + {0xdaa6842d, "STZhongsong", "Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, + {0xdaaab93f, "STFangsong", "Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, {0xdaeb0713, "STSong", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 936}, - {0xdafedbef, "STCaiyun", "Droid Sans Fallback", 0, 936}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, + {0xdafedbef, "STCaiyun", "Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, {0xdb00a3d9, "Broadway", - "Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, - {0xdb1f5ad4, "STXinwei", "Droid Sans Fallback", 0, 936}, - {0xdb326e7f, "STKaiti", "Droid Sans Fallback", 0, 936}, - {0xdb69595a, "STHupo", "Droid Sans Fallback", 0, 936}, - {0xdba0082c, "STXihei", "Droid Sans Fallback", 0, 936}, - {0xdbd0ab18, "STXingkai", "Droid Sans Fallback", 0, 936}, - {0xdc1a7db1, "STLiti", "Droid Sans Fallback", 0, 936}, + "Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xdb1f5ad4, "STXinwei", "Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, + {0xdb326e7f, "STKaiti", "Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, + {0xdb69595a, "STHupo", "Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, + {0xdba0082c, "STXihei", "Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, + {0xdbd0ab18, "STXingkai", "Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, + {0xdc1a7db1, "STLiti", "Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, {0xdc33075f, "KristenITC-Regular", - "Droid Arabic Naskh,Droid Sans Ethiopic,Droid Serif,Roboto", 8, 1252}, + "Droid Arabic Naskh,Droid Sans Ethiopic,Droid Serif,Roboto", 8, + FX_CodePage::kMSWin_WesternEuropean}, {0xdcc7009c, "Harrington", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xdd712466, "ArialBlack", - "Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xdde87b3e, "Impact", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xdf69fb32, "SnapITC", "Droid Arabic Naskh,Droid Sans Ethiopic,Droid Serif,Roboto,Droid Sans " "Mono", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0xdf8b25e8, "CenturyGothic", - "Droid Serif,Roboto,Droid Serif,Droid Sans Mono", 0, 1252}, + "Droid Serif,Roboto,Droid Serif,Droid Sans Mono", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xe0f705c0, "KristenITC", - "Droid Arabic Naskh,Droid Sans Ethiopic,Droid Serif,Roboto", 8, 1252}, + "Droid Arabic Naskh,Droid Sans Ethiopic,Droid Serif,Roboto", 8, + FX_CodePage::kMSWin_WesternEuropean}, {0xe1427573, "Raavi", "Droid Arabic Naskh,Droid Sans Ethiopic,Roboto,Droid Serif,Droid Sans " "Mono", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0xe2cea0cb, "Magneto", "Droid Arabic Naskh,Droid Sans Ethiopic,Droid Serif,Roboto,Droid Sans " "Mono", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0xe36a9e17, "Ravie", "Droid Arabic Naskh,Droid Sans Ethiopic,Roboto,Droid Serif,Droid Sans " "Mono", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0xe433f8e2, "Parchment", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 8, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 8, + FX_CodePage::kMSWin_WesternEuropean}, {0xe43dff4a, "Wingdings", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 4, 42}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 4, + FX_CodePage::kSymbol}, {0xe4e2c405, "MTExtra", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 6, 42}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 6, + FX_CodePage::kSymbol}, {0xe618cc35, "InformalRoman", - "Droid Arabic Naskh,Droid Sans Ethiopic,Roboto,Droid Serif", 8, 1252}, + "Droid Arabic Naskh,Droid Sans Ethiopic,Roboto,Droid Serif", 8, + FX_CodePage::kMSWin_WesternEuropean}, {0xe6c27ffc, "Mistral", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 8, 1252}, - {0xe7ebf4b9, "Courier", "Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 8, + FX_CodePage::kMSWin_WesternEuropean}, + {0xe7ebf4b9, "Courier", "Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xe8bc4a9d, "MSReferenceSpecialty", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xe90fb013, "TempusSansITC", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, - {0xec637b42, "Consolas", "Droid Sans Fallback", 1, 1252}, - {0xed3a683b, "STXinwei", "Droid Sans Fallback", 0, 936}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xec637b42, "Consolas", "Droid Sans Fallback", 1, + FX_CodePage::kMSWin_WesternEuropean}, + {0xed3a683b, "STXinwei", "Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, {0xef264cd1, "LucidaHandwriting", "Droid Arabic Naskh,Droid Sans Ethiopic,Droid Serif,Roboto,Droid Sans " "Mono", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0xf086bca2, "BaskervilleOldFace", - "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Roboto,Droid Serif,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xf1028030, "Mangal", "Droid Arabic Naskh,Droid Sans Ethiopic,Droid Serif,Roboto,Droid Sans " "Mono", - 2, 1252}, + 2, FX_CodePage::kMSWin_WesternEuropean}, {0xf1da7eb9, "ShowcardGothic", - "Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallbac", 0, 1252}, + "Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallbac", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xf210f06a, "ArialMT", - "Droid Arabic Naskh,Droid Sans Ethiopic,Roboto,Droid Serif", 0, 1252}, + "Droid Arabic Naskh,Droid Sans Ethiopic,Roboto,Droid Serif", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xf477f16a, "Latha", "Droid Arabic Naskh,Droid Sans Ethiopic,Roboto,Droid Serif,Droid Sans " "Mono", - 0, 1252}, - {0xf616f3dd, "LiSu", "Droid Sans Fallback", 1, 936}, - {0xfa479aa6, "MicrosoftYaHei", "Droid Sans Fallback", 0, 936}, + 0, FX_CodePage::kMSWin_WesternEuropean}, + {0xf616f3dd, "LiSu", "Droid Sans Fallback", 1, + FX_CodePage::kChineseSimplified}, + {0xfa479aa6, "MicrosoftYaHei", "Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, {0xfcd19697, "BookmanOldStyle", - "Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 0, 1252}, + "Droid Serif,Roboto,Droid Sans Mono,Droid Sans Fallback", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xfe209a82, "LucidaCalligraphy", "Droid Arabic Naskh,Droid Sans Ethiopic,Droid Serif,Roboto,Droid Sans " "Mono", - 0, 1252}, - {0xfef135f8, "AdobeHeitiStd-Regular", "Droid Sans Fallback", 0, 936}, + 0, FX_CodePage::kMSWin_WesternEuropean}, + {0xfef135f8, "AdobeHeitiStd-Regular", "Droid Sans Fallback", 0, + FX_CodePage::kChineseSimplified}, }; #elif defined(OS_POSIX) const FGAS_FontInfo g_XFAFontsMap[] = { {0x01d5d33e, "SimSun", "WenQuanYi Zen Hei Mono,AR PL UMing CN,AR PL UMing HK,AR PL UMing TW,AR " "PL UMing TW MBE", - 0, 936}, + 0, FX_CodePage::kChineseSimplified}, {0x01e4f102, "YouYuan", "WenQuanYi Zen Hei Mono,AR PL UMing CN,AR PL UMing HK,AR PL UMing TW,AR " "PL UMing TW MBE", - 1, 936}, + 1, FX_CodePage::kChineseSimplified}, {0x030549dc, "LiSu", "WenQuanYi Zen Hei,WenQuanYi Zen Hei Sharp,WenQuanYi Zen Hei " "Mono,WenQuanYi Micro Hei", - 1, 936}, + 1, FX_CodePage::kChineseSimplified}, {0x032edd44, "Simhei", "WenQuanYi Zen Hei,WenQuanYi Zen Hei Sharp,WenQuanYi Zen Hei " "Mono,WenQuanYi Micro Hei", - 1, 936}, + 1, FX_CodePage::kChineseSimplified}, {0x03eac6fc, "PoorRichard-Regular", "Droid Sans Japanese,FreeSerif", 2, - 1252}, - {0x03ed90e6, "Nina", "FreeSerif", 0, 1252}, + FX_CodePage::kMSWin_WesternEuropean}, + {0x03ed90e6, "Nina", "FreeSerif", 0, FX_CodePage::kMSWin_WesternEuropean}, {0x077b56b3, "KingsoftPhoneticPlain", "Tibetan Machine Uni,LKLUG,Samyak Gujarati,Droid Sans Thai,Droid Sans " "Armenian,Untitled1,utkal,Lohit Oriya", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0x078ed524, "MicrosoftSansSerif", - "Droid Sans Japanese,FreeSerif,WenQuanYi Micro Hei", 0, 1252}, + "Droid Sans Japanese,FreeSerif,WenQuanYi Micro Hei", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x089b18a9, "Arial", "Droid Sans Japanese,DejaVu Sans Condensed,FreeSerif,WenQuanYi Micro Hei", - 0, 1252}, - {0x0b2cad72, "MonotypeCorsiva", "Droid Sans Japanese,FreeSerif", 8, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x0b2cad72, "MonotypeCorsiva", "Droid Sans Japanese,FreeSerif", 8, + FX_CodePage::kMSWin_WesternEuropean}, {0x0bb003e7, "Kartika", "FreeSans,Liberation Sans,Liberation Sans Narrow,Nimbus Sans " "L,Garuda,FreeSerif,WenQuanYi Micro Hei", - 2, 1252}, + 2, FX_CodePage::kMSWin_WesternEuropean}, {0x0bb469df, "VinerHandITC", - "Droid Sans Japanese,Ubuntu,Liberation Sans,Liberation Serif", 8, 1252}, - {0x0bc1a851, "SegoeUI", "Droid Sans Japanese,DejaVu Sans", 0, 1252}, - {0x0c112ebd, "KozukaGothicPro-VIM", "FreeSerif", 0, 1252}, - {0x0cfcb9c1, "AdobeThai", "Droid Sans Japanese,Waree", 0, 847}, + "Droid Sans Japanese,Ubuntu,Liberation Sans,Liberation Serif", 8, + FX_CodePage::kMSWin_WesternEuropean}, + {0x0bc1a851, "SegoeUI", "Droid Sans Japanese,DejaVu Sans", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x0c112ebd, "KozukaGothicPro-VIM", "FreeSerif", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x0cfcb9c1, "AdobeThai", "Droid Sans Japanese,Waree", 0, + FX_CodePage::kMSDOS_Thai}, {0x0e7de0f9, "Playbill", "KacstQurn,Droid Arabic Naskh,Droid Sans Ethiopic,mry_KacstQurn,Droid " "Sans Ethiopic,Droid Sans Japanese,FreeSerif", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0x0eff47c3, "STHupo", "AR PL UKai HK,AR PL UMing HK,AR PL UKai CN", 0, - 936}, + FX_CodePage::kChineseSimplified}, {0x107ad374, "Constantia", - "Droid Sans Japanese,FreeSerif,WenQuanYi Micro Hei,Ubuntu", 2, 1252}, + "Droid Sans Japanese,FreeSerif,WenQuanYi Micro Hei,Ubuntu", 2, + FX_CodePage::kMSWin_WesternEuropean}, {0x12194c2d, "KunstlerScript", "Droid Sans Japanese,Liberation Serif", 8, - 1252}, - {0x135ef6a1, "MinionProSmBd", "Liberation Serif", 0, 1252}, + FX_CodePage::kMSWin_WesternEuropean}, + {0x135ef6a1, "MinionProSmBd", "Liberation Serif", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x158c4049, "Garamond", - "Droid Sans Japanese,Liberation Serif,Ubuntu,FreeSerif", 2, 1252}, + "Droid Sans Japanese,Liberation Serif,Ubuntu,FreeSerif", 2, + FX_CodePage::kMSWin_WesternEuropean}, {0x160ecb24, "STZhongsong", "WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei " "Sharp,WenQuanYi Micro Hei", - 0, 936}, + 0, FX_CodePage::kChineseSimplified}, {0x161ed07e, "MSGothic", "WenQuanYi Micro Hei Mono,WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,AR PL " "UMing CN,AR PL UMing HK,AR PL UMing TW", - 1, 1252}, + 1, FX_CodePage::kMSWin_WesternEuropean}, {0x171d1ed1, "SnapITC-Regular", "Liberation Sans Narrow,Ubuntu Condensed,Nimbus Sans L,DejaVu Sans", 0, - 1252}, - {0x18d1188f, "Cambria", "Droid Sans Japanese,FreeSerif,FreeMono", 2, 1252}, + FX_CodePage::kMSWin_WesternEuropean}, + {0x18d1188f, "Cambria", "Droid Sans Japanese,FreeSerif,FreeMono", 2, + FX_CodePage::kMSWin_WesternEuropean}, {0x18eaf350, "ArialUnicodeMS", "WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei " "Sharp,WenQuanYi Micro Hei", - 0, 936}, + 0, FX_CodePage::kChineseSimplified}, {0x1a92d115, "MingLiU", "WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei " "Sharp,WenQuanYi Micro Hei", - 1, 1252}, + 1, FX_CodePage::kMSWin_WesternEuropean}, {0x1cc217c6, "TrebuchetMS", - "Droid Sans Japanese,Liberation Serif,FreeSerif,Ubuntu", 0, 1252}, + "Droid Sans Japanese,Liberation Serif,FreeSerif,Ubuntu", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x1d649596, "BasemicTimes", "Liberation Serif,Times New Roman,Droid Sans Japanese,FreeSerif,Ubuntu", 0, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0x1e34ee60, "BellMT", - "KacstQurn,Droid Sans Japanese,Ubuntu,Liberation Serif", 2, 1252}, + "KacstQurn,Droid Sans Japanese,Ubuntu,Liberation Serif", 2, + FX_CodePage::kMSWin_WesternEuropean}, {0x1eb36945, "CooperBlack", "KacstQurn,Droid Sans Japanese,FreeMono,Liberation Mono, WenQuanYi Micro " "Hei Mono", - 2, 1252}, + 2, FX_CodePage::kMSWin_WesternEuropean}, {0x1ef7787d, "BatangChe", "WenQuanYi Zen Hei Mono,AR PL UMing CN,AR PL UMing HK,AR PL UMing " "TW,WenQuanYi Zen Hei,WenQuanYi Micro Hei", - 1, 1252}, + 1, FX_CodePage::kMSWin_WesternEuropean}, {0x20b3bd3a, "BrushScriptMT", "KacstQurn,Droid Arabic Naskh,Droid Sans Ethiopic,Droid Sans " "Japanese,URW Chancery L,Liberation Sans", - 8, 1252}, - {0x220877aa, "Candara", "Droid Sans Japanese,DejaVu Sans", 0, 1252}, + 8, FX_CodePage::kMSWin_WesternEuropean}, + {0x220877aa, "Candara", "Droid Sans Japanese,DejaVu Sans", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x22135007, "FreestyleScript-Regular", - "KacstQurn,Droid Sans Japanese,Liberation Sans", 8, 1252}, + "KacstQurn,Droid Sans Japanese,Liberation Sans", 8, + FX_CodePage::kMSWin_WesternEuropean}, {0x251059c3, "Chiller", "KacstQurn,Droid Arabic Naskh,Droid Sans Ethiopic,Droid Sans " "Japanese,Liberation Sans", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0x25bed6dd, "MSReferenceSansSerif", "DejaVu Sans Condensed,Ubuntu Condensed,Droid Sans Japanese,AR PL UKai " "HK", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0x28154c81, "Parchment-Regular", "Droid Sans Japanese,Liberation Sans", 8, - 1252}, - {0x29711eb9, "STLiti", "AR PL UKai HK", 0, 936}, + FX_CodePage::kMSWin_WesternEuropean}, + {0x29711eb9, "STLiti", "AR PL UKai HK", 0, FX_CodePage::kChineseSimplified}, {0x2b1993b4, "Basemic", - "Liberation Serif,Droid Sans Japanese,Liberation Sans", 0, 1252}, + "Liberation Serif,Droid Sans Japanese,Liberation Sans", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x2b316339, "NiagaraSolid-Reg", "Droid Sans Japanese,Liberation Sans", 0, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0x2c147529, "FootlightMTLight", - "KacstQurn,Droid Sans Japanese,Liberation Sans", 0, 1252}, + "KacstQurn,Droid Sans Japanese,Liberation Sans", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x2c198928, "HarlowSolid", "KacstQurn,Droid Sans Japanese,Liberation Sans", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0x2c6ac6b2, "LucidaBright", "KacstQurn,Droid Arabic Naskh,Droid Sans Ethiopic,mry_KacstQurn,Droid " "Sans Japanese,Liberation Sans", - 2, 1252}, - {0x2c9f38e2, "KozukaMinchoPro-VIR", "DejaVu Sans", 0, 1252}, - {0x2d5a47b0, "STCaiyun", "AR PL UKai HK", 0, 936}, + 2, FX_CodePage::kMSWin_WesternEuropean}, + {0x2c9f38e2, "KozukaMinchoPro-VIR", "DejaVu Sans", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x2d5a47b0, "STCaiyun", "AR PL UKai HK", 0, + FX_CodePage::kChineseSimplified}, {0x2def26bf, "BernardMT-Condensed", - "KacstQurn,Droid Sans Japanese,DejaVu Serif", 0, 1252}, - {0x2fd8930b, "KozukaMinchoPr6NR", "DejaVu Serif", 0, 1252}, + "KacstQurn,Droid Sans Japanese,DejaVu Serif", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x2fd8930b, "KozukaMinchoPr6NR", "DejaVu Serif", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x3115525a, "FangSong_GB2312", "WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei " "Sharp,WenQuanYi Micro Hei", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0x31327817, "MyriadPro", "Ubuntu Condensed,Droid Sans Japanese, FreeSerif", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0x32244975, "Helvetica", "Ubuntu,DejaVu Sans Condensed,Liberation Sans,Liberation Sans " "Narrow,Nimbus Sans ", - 0, 1252}, - {0x32ac995c, "Terminal", "DejaVu Serif", 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x32ac995c, "Terminal", "DejaVu Serif", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x338d648a, "NiagaraEngraved-Reg", "Droid Sans Japanese,DejaVu Serif", 0, - 1252}, - {0x33bb65f2, "Sylfaen", "Droid Sans Japanese,DejaVu Sans", 2, 1252}, + FX_CodePage::kMSWin_WesternEuropean}, + {0x33bb65f2, "Sylfaen", "Droid Sans Japanese,DejaVu Sans", 2, + FX_CodePage::kMSWin_WesternEuropean}, {0x3402c30e, "MSPMincho", "WenQuanYi Zen Hei Mono,AR PL UMing CN,AR PL UMing HK,AR PL UMing TW", 2, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0x3412bf31, "SimSun-PUA", "WenQuanYi Zen Hei Mono,AR PL UMing CN,AR PL UMing CN,AR PL UMing HK", 0, - 936}, + FX_CodePage::kChineseSimplified}, {0x36eb39b9, "BerlinSansFB", - "Droid Sans Japanese,Liberation Serif,Ubuntu,FreeSerif", 0, 1252}, - {0x36f42055, "UniversATT", "Microsoft Sans Serif", 0, 1252}, - {0x3864c4f6, "HighTowerText", "Droid Sans Japanese,DejaVu Serif", 2, 1252}, + "Droid Sans Japanese,Liberation Serif,Ubuntu,FreeSerif", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x36f42055, "UniversATT", "Microsoft Sans Serif", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x3864c4f6, "HighTowerText", "Droid Sans Japanese,DejaVu Serif", 2, + FX_CodePage::kMSWin_WesternEuropean}, {0x3a257d03, "FangSong_GB2312", "WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0x3c7d1d07, "Garamond3LTStd", "Droid Sans Japanese,Ubuntu Condensed,DejaVu Sans Condensed,Liberation " "Serif,Ubuntu,FreeSerif", - 2, 1252}, + 2, FX_CodePage::kMSWin_WesternEuropean}, {0x3cdae668, "FreestyleScript", "KacstQurn,Droid Sans Japanese,DejaVu Sans", - 8, 1252}, - {0x3d55aed7, "Jokerman", "Droid Sans Japanese,DejaVu Sans", 0, 1252}, + 8, FX_CodePage::kMSWin_WesternEuropean}, + {0x3d55aed7, "Jokerman", "Droid Sans Japanese,DejaVu Sans", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x3d5b4385, "PMingLiU", "WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei " "Sharp,WenQuanYi Micro Hei", - 2, 1252}, + 2, FX_CodePage::kMSWin_WesternEuropean}, {0x3d9b7669, "EstrangeloEdessa", "Droid Sans Japanese,DejaVu Sans", 0, - 1252}, - {0x3e532d74, "FranklinGothicMedium", "Droid Sans Japanese,Ubuntu", 0, 1252}, + FX_CodePage::kMSWin_WesternEuropean}, + {0x3e532d74, "FranklinGothicMedium", "Droid Sans Japanese,Ubuntu", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x3e6aa32d, "NSimSun", "WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei " "Sharp,WenQuanYi Micro Hei", - 1, 936}, + 1, FX_CodePage::kChineseSimplified}, {0x3f6c36a8, "Gautami", "Droid Arabic Naskh,Droid Sans Ethiopic, mry_KacstQurn,Droid Sans " "Japanese,FreeSans", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0x3ff32662, "Chiller-Regular", - "KacstQurn,Droid Arabic Naskh,Droid Sans Ethiopic,FreeSans", 0, 1252}, + "KacstQurn,Droid Arabic Naskh,Droid Sans Ethiopic,FreeSans", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x409de312, "ModernNo.20", "KacstQurn,Droid Sans Japanese,Nimbus Sans L,Nimbus Sans L,FreeSans", 2, - 1252}, - {0x41443c5e, "Georgia", "Droid Sans Japanese,FreeSans", 2, 1252}, - {0x4160ade5, "BellGothicStdBlack", "FreeSans", 0, 1252}, - {0x421976c4, "Modern-Regular", "FreeSans", 2, 1252}, + FX_CodePage::kMSWin_WesternEuropean}, + {0x41443c5e, "Georgia", "Droid Sans Japanese,FreeSans", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0x4160ade5, "BellGothicStdBlack", "FreeSans", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x421976c4, "Modern-Regular", "FreeSans", 2, + FX_CodePage::kMSWin_WesternEuropean}, {0x422a7252, "Stencil", "Droid Sans Japanese,FreeSans,Liberation Sans", 0, - 1252}, - {0x42c8554f, "Fixedsys", "FreeSerif", 0, 1252}, - {0x435cb41d, "Roman", "FreeSerif", 0, 1252}, + FX_CodePage::kMSWin_WesternEuropean}, + {0x42c8554f, "Fixedsys", "FreeSerif", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x435cb41d, "Roman", "FreeSerif", 0, FX_CodePage::kMSWin_WesternEuropean}, {0x47882383, "CourierNew", "FreeMono,WenQuanYi Micro Hei Mono,AR PL UKai CN,AR PL UKai HK,AR PL " "UKai TW,AR PL UKai TW MBE,DejaVu Sans", - 1, 1252}, + 1, FX_CodePage::kMSWin_WesternEuropean}, {0x480a2338, "BerlinSansFBDemi", "Droid Sans Japanese,Liberation Serif", 0, - 1252}, - {0x480bf7a4, "CourierStd", "DejaVu Sans", 0, 1252}, - {0x481ad6ed, "VladimirScript", "Droid Sans Japanese,DejaVu Serif", 8, 1252}, + FX_CodePage::kMSWin_WesternEuropean}, + {0x480bf7a4, "CourierStd", "DejaVu Sans", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x481ad6ed, "VladimirScript", "Droid Sans Japanese,DejaVu Serif", 8, + FX_CodePage::kMSWin_WesternEuropean}, {0x4911577a, "YouYuan", "WenQuanYi Zen Hei Mono,AR PL UMing CN,AR PL UMing HK,AR PL UMing TW", 1, - 936}, + FX_CodePage::kChineseSimplified}, {0x4a788d72, "STXingkai", "AR PL UKai HK,AR PL UMing HK,AR PL UKai CN", 0, - 936}, - {0x4bf88566, "SegoeCondensed", "FreeSerif", 0, 1252}, + FX_CodePage::kChineseSimplified}, + {0x4bf88566, "SegoeCondensed", "FreeSerif", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x4ccf51a4, "BerlinSansFB-Reg", "Droid Sans Japanese,Liberation Serif", 0, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0x4ea967ce, "GulimChe", "WenQuanYi Zen Hei Mono,AR PL UKai CN,AR PL UKai HK,AR PL UKai TW,AR PL " "UKai TW MBE", - 1, 1252}, + 1, FX_CodePage::kMSWin_WesternEuropean}, {0x4f68bd79, "LetterGothicStd", - "FreeMono,Liberation Mono,Andale Mono,WenQuanYi Micro Hei Mono", 0, 1252}, - {0x51a0d0e6, "KozukaGothicPr6NM", "FreeSerif", 0, 1252}, - {0x531b3dea, "BasemicSymbol", "FreeSerif", 0, 1252}, + "FreeMono,Liberation Mono,Andale Mono,WenQuanYi Micro Hei Mono", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x51a0d0e6, "KozukaGothicPr6NM", "FreeSerif", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x531b3dea, "BasemicSymbol", "FreeSerif", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x5333fd39, "CalifornianFB-Reg", - "Droid Sans Japanese,URW Chancery L,FreeSerif", 2, 1252}, + "Droid Sans Japanese,URW Chancery L,FreeSerif", 2, + FX_CodePage::kMSWin_WesternEuropean}, {0x53561a54, "FZYTK--GBK1-0", "WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei " "Sharp,WenQuanYi Micro Hei", - 0, 936}, + 0, FX_CodePage::kChineseSimplified}, {0x55e0dde6, "LucidaSansTypewriter", "Ubuntu Mono,DejaVu Sans Mono,Nimbus Mono L,Liberation Mono,Courier 10 " "Pitch,FreeMono", - 0, 1252}, - {0x574d4d3d, "AdobeArabic", "Droid Sans Japanese,DejaVu Sans", 0, 1252}, - {0x5792e759, "STKaiti", "WenQuanYi Micro Hei Mono", 0, 936}, + 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x574d4d3d, "AdobeArabic", "Droid Sans Japanese,DejaVu Sans", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x5792e759, "STKaiti", "WenQuanYi Micro Hei Mono", 0, + FX_CodePage::kChineseSimplified}, {0x5921978e, "LucidaSansUnicode", "Droid Sans Japanese,DejaVu Sans", 0, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0x594e2da4, "Vrinda", "Droid Arabic Naskh,Droid Sans Ethiopic,Droid Arabic " "Naskh,mry_KacstQurn,Droid Sans Japanese,FreeSans,FreeSerif", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0x59baa9a2, "KaiTi_GB2312", "WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei " "Sharp,WenQuanYi Micro Hei", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0x5cfedf4f, "BaskOldFace", - "KacstQurn,Droid Sans Japanese,Ubuntu,Liberation Serif", 0, 1252}, + "KacstQurn,Droid Sans Japanese,Ubuntu,Liberation Serif", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x5e16ac91, "TrajanPro", "Nimbus Sans L,AR PL UMing HK,AR PL UKai HK,AR PL UMing TW,AR PL UMing " "TW MBE,DejaVu Sans,DejaVu Serif", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0x5f388196, "ITCLegacySansStdMedium", - "Liberation Serif,FreeSerif,FreeSans,Ubuntu", 0, 1252}, + "Liberation Serif,FreeSerif,FreeSans,Ubuntu", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x5f97921c, "AdobeMyungjoStdM", "WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei " "Sharp,WenQuanYi Micro Hei", - 0, 936}, + 0, FX_CodePage::kChineseSimplified}, {0x5fefbfad, "Batang", "WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei " "Sharp,WenQuanYi Micro Hei", - 2, 1252}, + 2, FX_CodePage::kMSWin_WesternEuropean}, {0x605342b9, "DotumChe", "WenQuanYi Zen Hei Mono,AR PL UMing CN,AR PL UMing HK,AR PL UMing TW", 1, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0x608c5f9a, "KaiTi_GB2312", "WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei " "Sharp,WenQuanYi Micro Hei", - 0, 936}, + 0, FX_CodePage::kChineseSimplified}, {0x61efd0d1, "MaturaMTScriptCapitals", "KacstQurn,Droid Arabic Naskh,Droid Sans Ethiopic,mry_KacstQurn,Droid " "Sans Japanese,DejaVu Serif,DejaVu Sans", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0x626608a9, "MVBoli", "Droid Arabic Naskh,Droid Sans Ethiopic,mry_KacstQurn,Droid Sans " "Ethiopic,Droid Sans Japanese,DejaVu Sans", - 0, 1252}, - {0x630501a3, "SmallFonts", "DejaVu Serif", 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x630501a3, "SmallFonts", "DejaVu Serif", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x65d0e2a9, "FZYTK--GBK1-0", "WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei " "Sharp,WenQuanYi Micro Hei", - 0, 936}, + 0, FX_CodePage::kChineseSimplified}, {0x669f29e1, "FZSTK--GBK1-0", - "AR PL UMing CN,AR PL UKai CN, AR PL UMing HK", 0, 936}, + "AR PL UMing CN,AR PL UKai CN, AR PL UMing HK", 0, + FX_CodePage::kChineseSimplified}, {0x673a9e5f, "Tunga", "Droid Arabic Naskh,Droid Sans Ethiopic,mry_KacstQurn,Droid Sans " "Japanese,DejaVu Serif", - 0, 1252}, - {0x691aa4ce, "NiagaraSolid", "Droid Sans Japanese,DejaVu Serif", 0, 1252}, - {0x696259b7, "Corbel", "Droid Sans Japanese,DejaVu Sans", 0, 1252}, - {0x696ee9be, "STXihei", "WenQuanYi Micro Hei Mono", 0, 936}, - {0x6c59cf69, "Dotum", "WenQuanYi Zen Hei Mono", 0, 1252}, - {0x707fa561, "Gungsuh", "WenQuanYi Zen Hei Mono", 2, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x691aa4ce, "NiagaraSolid", "Droid Sans Japanese,DejaVu Serif", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x696259b7, "Corbel", "Droid Sans Japanese,DejaVu Sans", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x696ee9be, "STXihei", "WenQuanYi Micro Hei Mono", 0, + FX_CodePage::kChineseSimplified}, + {0x6c59cf69, "Dotum", "WenQuanYi Zen Hei Mono", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x707fa561, "Gungsuh", "WenQuanYi Zen Hei Mono", 2, + FX_CodePage::kMSWin_WesternEuropean}, {0x71416bb2, "ZWAdobeF", "KacstArt,KacstBookm,KacstDecorative,KacstDigital,KacstFarsi,KacstLetter," "KacstOffice,Dingbats,FreeSerif", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0x71b41801, "Verdana", "DejaVu Sans Condensed,Ubuntu Condensed,Droid Sans Japanese,DejaVu Sans", - 0, 1252}, - {0x73f25e4c, "PalatinoLinotype", "Droid Sans Japanese,FreeSerif", 0, 1252}, - {0x73f4d19f, "NiagaraEngraved", "Droid Sans Japanese,FreeSerif", 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x73f25e4c, "PalatinoLinotype", "Droid Sans Japanese,FreeSerif", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x73f4d19f, "NiagaraEngraved", "Droid Sans Japanese,FreeSerif", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x74001694, "MyriadProBlack", "Droid Sans Japanese,AR PL UKai HK", 0, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0x74b14d8f, "Haettenschweiler", "Droid Sans Japanese,DejaVu Serif", 0, - 1252}, - {0x74cb44ee, "NSimSun", "WenQuanYi Zen Hei Mono", 1, 936}, + FX_CodePage::kMSWin_WesternEuropean}, + {0x74cb44ee, "NSimSun", "WenQuanYi Zen Hei Mono", 1, + FX_CodePage::kChineseSimplified}, {0x76b4d7ff, "Shruti", "Droid Arabic Naskh,Droid Sans Ethiopic,mry_KacstQurn,Droid Sans " "Japanese,FreeSans", - 0, 1252}, - {0x788b3533, "Webdings", "FreeSans", 6, 42}, - {0x797dde99, "MSSerif", "FreeSans", 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x788b3533, "Webdings", "FreeSans", 6, FX_CodePage::kSymbol}, + {0x797dde99, "MSSerif", "FreeSans", 0, FX_CodePage::kMSWin_WesternEuropean}, {0x7a0f9e9e, "MSMincho", "WenQuanYi Micro Hei Mono,AR PL UMing CN,AR PL UMing HK,AR PL UMing TW", 1, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0x7b439caf, "OldEnglishTextMT", - "Droid Sans Japanese,Liberation Sans,Ubuntu", 0, 1252}, + "Droid Sans Japanese,Liberation Sans,Ubuntu", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x8213a433, "LucidaSans-Typewriter", - "Ubuntu Mono,Liberation Mono,DejaVu Sans Mono", 0, 1252}, + "Ubuntu Mono,Liberation Mono,DejaVu Sans Mono", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x82fec929, "AdobeSongStd", "WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei " "Sharp,WenQuanYi Micro Hei", - 0, 936}, - {0x83581825, "Modern", "FreeSans", 0, 1252}, + 0, FX_CodePage::kChineseSimplified}, + {0x83581825, "Modern", "FreeSans", 0, FX_CodePage::kMSWin_WesternEuropean}, {0x835a2823, "Algerian", - "KacstQurn,Droid Sans Japanese,FreeSans,Liberation Sans,Ubuntu", 0, 1252}, - {0x83dab9f5, "Script", "FreeSans", 0, 1252}, + "KacstQurn,Droid Sans Japanese,FreeSans,Liberation Sans,Ubuntu", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x83dab9f5, "Script", "FreeSans", 0, FX_CodePage::kMSWin_WesternEuropean}, {0x847b56da, "Tahoma", - "Droid Sans Japanese,DejaVu Sans Condensed,FreeSerif", 0, 1252}, + "Droid Sans Japanese,DejaVu Sans Condensed,FreeSerif", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x8a783cb2, "SimSun-PUA", "WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei " "Sharp,WenQuanYi Micro Hei", - 0, 1252}, - {0x8b5cac0e, "Onyx", "Droid Sans Japanese,Liberation Sans", 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x8b5cac0e, "Onyx", "Droid Sans Japanese,Liberation Sans", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x8c6a499e, "Gulim", "WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei " "Sharp,WenQuanYi Micro Hei", - 0, 1252}, - {0x8e0af790, "JuiceITC", "Droid Sans Japanese,Liberation Sans", 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, + {0x8e0af790, "JuiceITC", "Droid Sans Japanese,Liberation Sans", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x8e8d43b2, "Centaur", - "KacstQurn,Droid Sans Japanese,Khmer OS,Khmer OS System", 2, 1252}, - {0x8ee4dcca, "BookshelfSymbol7", "Liberation Sans", 0, 1252}, - {0x90794800, "BellGothicStdLight", "Liberation Sans", 0, 1252}, + "KacstQurn,Droid Sans Japanese,Khmer OS,Khmer OS System", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0x8ee4dcca, "BookshelfSymbol7", "Liberation Sans", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x90794800, "BellGothicStdLight", "Liberation Sans", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x909b516a, "Century", "Droid Sans Japanese,Liberation Sans,Liberation Mono,Liberation Serif", 2, - 1252}, - {0x92ae370d, "MSOutlook", "Liberation Sans", 4, 42}, + FX_CodePage::kMSWin_WesternEuropean}, + {0x92ae370d, "MSOutlook", "Liberation Sans", 4, FX_CodePage::kSymbol}, {0x93c9fbf1, "LucidaFax", "KacstQurn,Droid Arabic Naskh,Droid Sans " "Ethiopic,mry_KacstQurn,Liberation Sans", - 2, 1252}, + 2, FX_CodePage::kMSWin_WesternEuropean}, {0x9565085e, "BookAntiqua", - "Droid Sans Japanese,Liberation Sans,Liberation Serif", 2, 1252}, - {0x9856d95d, "AdobeMingStd", "AR PL UMing HK", 0, 949}, + "Droid Sans Japanese,Liberation Sans,Liberation Serif", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0x9856d95d, "AdobeMingStd", "AR PL UMing HK", 0, FX_CodePage::kHangul}, {0x9bbadd6b, "ColonnaMT", - "KacstQurn,Droid Sans Japanese,Khmer OS,Khmer OS System", 0, 1252}, + "KacstQurn,Droid Sans Japanese,Khmer OS,Khmer OS System", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0x9cbd16a4, "ShowcardGothic-Reg", - "Droid Sans Japanese,Liberation Sans,Ubuntu", 0, 1252}, - {0x9d73008e, "MSSansSerif", "FreeSerif", 0, 1252}, + "Droid Sans Japanese,Liberation Sans,Ubuntu", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0x9d73008e, "MSSansSerif", "FreeSerif", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xa0607db1, "GungsuhChe", "WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei " "Sharp,WenQuanYi Micro Hei", - 1, 1252}, - {0xa0bcf6a1, "LatinWide", "FreeSerif", 2, 1252}, - {0xa1429b36, "Symbol", "FreeSerif", 6, 42}, - {0xa1fa5abc, "Wingdings2", "FreeSerif", 6, 42}, - {0xa1fa5abd, "Wingdings3", "FreeSerif", 6, 42}, + 1, FX_CodePage::kMSWin_WesternEuropean}, + {0xa0bcf6a1, "LatinWide", "FreeSerif", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0xa1429b36, "Symbol", "FreeSerif", 6, FX_CodePage::kSymbol}, + {0xa1fa5abc, "Wingdings2", "FreeSerif", 6, FX_CodePage::kSymbol}, + {0xa1fa5abd, "Wingdings3", "FreeSerif", 6, FX_CodePage::kSymbol}, {0xa427bad4, "InformalRoman-Regular", "Droid Arabic Naskh,Droid Sans Ethiopic,mry_KacstQurn,Droid Sans " "Japanese,FreeSerif", - 8, 1252}, - {0xa8b92ece, "FZSTK--GBK1-0", "AR PL UMing CN", 0, 936}, - {0xa8d83ece, "CalifornianFB", "Droid Sans Japanese,FreeSerif", 2, 1252}, + 8, FX_CodePage::kMSWin_WesternEuropean}, + {0xa8b92ece, "FZSTK--GBK1-0", "AR PL UMing CN", 0, + FX_CodePage::kChineseSimplified}, + {0xa8d83ece, "CalifornianFB", "Droid Sans Japanese,FreeSerif", 2, + FX_CodePage::kMSWin_WesternEuropean}, {0xaa3e082c, "Kingsoft-Phonetic", "Tibetan Machine Uni,LKLUG,Samyak Gujarati,Droid Sans " "Thai,utkal,Kedage,Mallige,AR PL UKai CN", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0xaa6bcabe, "HarlowSolidItalic", - "KacstQurn,Droid Sans Japanese,Liberation Serif", 0, 1252}, + "KacstQurn,Droid Sans Japanese,Liberation Serif", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xade5337c, "MSUIGothic", "WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei " "Sharp,WenQuanYi Micro Hei", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0xb08dd941, "WideLatin", "KacstQurn,Droid Arabic Naskh,Droid Sans Ethiopic,mry_KacstQurn,Droid " "Sans Japanese,Liberation Serif", - 2, 1252}, + 2, FX_CodePage::kMSWin_WesternEuropean}, {0xb12765e0, "ITCLegacySansStdBook", - "AR PL UMing HK,AR PL UKai HK,FreeSerif,Ubuntu,FreeSans", 0, 1252}, + "AR PL UMing HK,AR PL UKai HK,FreeSerif,Ubuntu,FreeSans", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xb207f05d, "PoorRichard", "Droid Sans Japanese,Liberation Serif", 2, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0xb3bc492f, "JuiceITC-Regular", "Droid Sans Japanese,Liberation Serif", 0, - 1252}, - {0xb5545399, "Marlett", "Liberation Serif", 4, 42}, + FX_CodePage::kMSWin_WesternEuropean}, + {0xb5545399, "Marlett", "Liberation Serif", 4, FX_CodePage::kSymbol}, {0xb5dd1ebb, "BritannicBold", "KacstQurn,Droid Arabic Naskh,Droid Sans " "Ethiopic,mry_KacstQurn,Liberation Serif", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0xb699c1c5, "LucidaCalligraphy-Italic", "KacstQurn,Droid Arabic Naskh,Droid Sans Ethiopic,mry_KacstQurn,Droid " "Sans Japanese,DejaVu Serif", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0xb725d629, "TimesNewRoman", "Droid Sans Japanese,Liberation Sans", 2, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0xb7eaebeb, "AdobeHeitiStdR", "WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei " "Sharp,WenQuanYi Micro Hei", - 0, 936}, + 0, FX_CodePage::kChineseSimplified}, {0xbd29c486, "BerlinSansFBDemi-Bold", "Droid Sans Japanese,DejaVu Serif", 0, - 1252}, - {0xbe8a8db4, "BookshelfSymbolSeven", "DejaVu Sans", 0, 1252}, + FX_CodePage::kMSWin_WesternEuropean}, + {0xbe8a8db4, "BookshelfSymbolSeven", "DejaVu Sans", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xc16c0118, "AdobeHebrew", "Droid Sans Japanese,Ubuntu,Liberation Serif", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0xc318b0af, "MyriadProLight", - "Droid Sans Japanese,AR PL UKai HK,AR PL UMing HK,AR PL UKai CN", 0, 1252}, + "Droid Sans Japanese,AR PL UKai HK,AR PL UMing HK,AR PL UKai CN", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xc65e5659, "CambriaMath", "Droid Sans Japanese,FreeSerif,FreeMono", 2, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0xc75c8f05, "LucidaConsole", "Liberation Mono,DejaVu Sans Mono,FreeMono,WenQuanYi Micro Hei Mono", 1, - 1252}, - {0xca7c35d6, "Calibri", "Droid Sans Japanese,DejaVu Sans", 0, 1252}, + FX_CodePage::kMSWin_WesternEuropean}, + {0xca7c35d6, "Calibri", "Droid Sans Japanese,DejaVu Sans", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xcb053f53, "MicrosoftYaHei", "WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei " "Sharp,WenQuanYi Micro Hei", - 0, 936}, + 0, FX_CodePage::kChineseSimplified}, {0xcb7190f9, "Magneto-Bold", "Droid Arabic Naskh,Droid Sans Ethiopic,mry_KacstQurn,Droid Sans " "Japanese,DejaVu Serif", - 0, 1252}, - {0xcca00cc5, "System", "DejaVu Sans", 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, + {0xcca00cc5, "System", "DejaVu Sans", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xccad6f76, "Jokerman-Regular", "Droid Sans Japanese,DejaVu Sans", 0, - 1252}, - {0xccc5818c, "EuroSign", "DejaVu Serif", 0, 1252}, + FX_CodePage::kMSWin_WesternEuropean}, + {0xccc5818c, "EuroSign", "DejaVu Serif", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xcf3d7234, "LucidaHandwriting-Italic", "Liberation Sans Narrow,Ubuntu Condensed,Nimbus Sans L,DejaVu Serif", 0, - 1252}, - {0xcf7b8fdb, "MinionPro", "DejaVu Sans", 0, 1252}, + FX_CodePage::kMSWin_WesternEuropean}, + {0xcf7b8fdb, "MinionPro", "DejaVu Sans", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xcfe5755f, "Simhei", "WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei " "Sharp,WenQuanYi Micro Hei", - 1, 936}, + 1, FX_CodePage::kChineseSimplified}, {0xd011f4ee, "MSPGothic", "WenQuanYi Zen Hei Mono,AR PL UMing CN,AR PL UMing HK,AR PL UMing TW", 0, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0xd060e7ef, "Vivaldi", - "KacstQurn,Droid Sans Japanese,Liberation Sans,Ubuntu", 8, 1252}, + "KacstQurn,Droid Sans Japanese,Liberation Sans,Ubuntu", 8, + FX_CodePage::kMSWin_WesternEuropean}, {0xd07edec1, "FranklinGothic-Medium", "Droid Sans Japanese,Ubuntu", 0, - 1252}, - {0xd107243f, "SimSun", "WenQuanYi Zen Hei Mono", 0, 936}, + FX_CodePage::kMSWin_WesternEuropean}, + {0xd107243f, "SimSun", "WenQuanYi Zen Hei Mono", 0, + FX_CodePage::kChineseSimplified}, {0xd1881562, "ArialNarrow", - "Liberation Sans Narrow,Droid Sans Japanese,FreeSerif", 0, 1252}, + "Liberation Sans Narrow,Droid Sans Japanese,FreeSerif", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xd22b7dce, "BodoniMTPosterCompressed", "Droid Sans Japanese,DejaVu Serif", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0xd22bfa60, "ComicSansMS", "Droid Sans Japanese,FreeMono,Liberation Mono", - 8, 1252}, + 8, FX_CodePage::kMSWin_WesternEuropean}, {0xd3bd0e35, "Bauhaus93", - "KacstQurn,Droid Sans Japanese,Liberation Sans,Ubuntu", 0, 1252}, - {0xd429ee7a, "STFangsong", "WenQuanYi Micro Hei Mono", 0, 936}, + "KacstQurn,Droid Sans Japanese,Liberation Sans,Ubuntu", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xd429ee7a, "STFangsong", "WenQuanYi Micro Hei Mono", 0, + FX_CodePage::kChineseSimplified}, {0xd6679c12, "BernardMTCondensed", "KacstQurn,Droid Sans Japanese,Nimbus Sans L,URW Chancery " "L,KacstOne,Liberation Sans", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0xd8e8a027, "LucidaSans", "Liberation Sans Narrow,Nimbus Sans L,KacstQurn,Droid Arabic Naskh,Droid " "Sans Ethiopic,DejaVu Serif Condensed,Liberation Mono,Ubuntu", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0xd9fe7761, "HighTowerText-Reg", - "Droid Sans Japanese,Ubuntu,Liberation Serif", 2, 1252}, - {0xda7e551e, "STSong", "WenQuanYi Micro Hei Mono", 0, 936}, + "Droid Sans Japanese,Ubuntu,Liberation Serif", 2, + FX_CodePage::kMSWin_WesternEuropean}, + {0xda7e551e, "STSong", "WenQuanYi Micro Hei Mono", 0, + FX_CodePage::kChineseSimplified}, {0xdaa6842d, "STZhongsong", "WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei " "Sharp,WenQuanYi Micro Hei", - 0, 936}, + 0, FX_CodePage::kChineseSimplified}, {0xdaaab93f, "STFangsong", "WenQuanYi Micro Hei Mono,WenQuanYi Zen Hei Mono,WenQuanYi Zen " "Hei,WenQuanYi Zen Hei Sharp", - 0, 936}, + 0, FX_CodePage::kChineseSimplified}, {0xdaeb0713, "STSong", "WenQuanYi Micro Hei Mono,WenQuanYi Zen Hei Mono,WenQuanYi Zen " "Hei,WenQuanYi Zen Hei Sharp", - 0, 936}, + 0, FX_CodePage::kChineseSimplified}, {0xdafedbef, "STCaiyun", "AR PL UKai HK,AR PL UMing HK,AR PL UKai CN", 0, - 936}, + FX_CodePage::kChineseSimplified}, {0xdb00a3d9, "Broadway", "KacstQurn,Droid Sans Japanese,DejaVu Sans,FreeMono,Liberation Mono", 0, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0xdb1f5ad4, "STXinwei", "AR PL UKai HK,AR PL UMing HK,AR PL UKai CN", 0, - 936}, + FX_CodePage::kChineseSimplified}, {0xdb326e7f, "STKaiti", "WenQuanYi Micro Hei Mono,WenQuanYi Zen Hei Mono,WenQuanYi Zen " "Hei,WenQuanYi Zen Hei Sharp", - 0, 936}, + 0, FX_CodePage::kChineseSimplified}, {0xdb69595a, "STHupo", "WenQuanYi Micro Hei Mono,WenQuanYi Zen Hei Mono,WenQuanYi Zen " "Hei,WenQuanYi Zen Hei Sharp", - 0, 936}, + 0, FX_CodePage::kChineseSimplified}, {0xdba0082c, "STXihei", " WenQuanYi Micro Hei Mono,WenQuanYi Zen Hei Mono,WenQuanYi Zen " "Hei,WenQuanYi Zen Hei Sharp", - 0, 936}, + 0, FX_CodePage::kChineseSimplified}, {0xdbd0ab18, "STXingkai", "AR PL UKai HK,AR PL UMing HK,AR PL UKai CN", 0, - 936}, + FX_CodePage::kChineseSimplified}, {0xdc1a7db1, "STLiti", "AR PL UKai HK,AR PL UMing HK,AR PL UKai CN", 0, - 936}, + FX_CodePage::kChineseSimplified}, {0xdc33075f, "KristenITC-Regular", "Droid Arabic Naskh,Droid Sans Ethiopic,mry_KacstQurn,DejaVu Sans " "Condensed,Ubuntu,Liberation Sans", - 8, 1252}, + 8, FX_CodePage::kMSWin_WesternEuropean}, {0xdcc7009c, "Harrington", "KacstQurn,Droid Sans Japanese,Liberation Serif,FreeSerif,Ubuntu", 0, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0xdd712466, "ArialBlack", - "Droid Sans Japanese,DejaVu Sans,DejaVu Serif,FreeMono", 0, 1252}, - {0xdde87b3e, "Impact", "Droid Sans Japanese,DejaVu Serif", 0, 1252}, + "Droid Sans Japanese,DejaVu Sans,DejaVu Serif,FreeMono", 0, + FX_CodePage::kMSWin_WesternEuropean}, + {0xdde87b3e, "Impact", "Droid Sans Japanese,DejaVu Serif", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xdf69fb32, "SnapITC", "Liberation Sans Narrow,Ubuntu Condensed,DejaVu Sans,DejaVu " "Serif,FreeMono", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0xdf8b25e8, "CenturyGothic", "Droid Sans Japanese,Liberation Mono,Liberation Sans,Liberation Serif", 0, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0xe0f705c0, "KristenITC", "Droid Arabic Naskh,Droid Sans Ethiopic,mry_KacstQurn,DejaVu Sans " "Condensed,Ubuntu,Liberation Sans", - 8, 1252}, + 8, FX_CodePage::kMSWin_WesternEuropean}, {0xe1427573, "Raavi", "Droid Arabic Naskh,Droid Sans " "Ethiopic,mry_KacstQurn,FreeSerif,Liberation Serif,Khmer OS", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0xe2cea0cb, "Magneto", "Droid Arabic Naskh,Droid Sans Ethiopic,mry_KacstQurn,DejaVu " "Serif,DejaVu Serif Condensed,DejaVu Sans", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0xe36a9e17, "Ravie", "Droid Arabic Naskh,Droid Sans Ethiopic,mry_KacstQurn,DejaVu " "Serif,DejaVu Sans,FreeMono", - 0, 1252}, - {0xe433f8e2, "Parchment", "Droid Sans Japanese,DejaVu Serif", 8, 1252}, - {0xe43dff4a, "Wingdings", "DejaVu Serif", 4, 42}, - {0xe4e2c405, "MTExtra", "DejaVu Serif", 6, 42}, + 0, FX_CodePage::kMSWin_WesternEuropean}, + {0xe433f8e2, "Parchment", "Droid Sans Japanese,DejaVu Serif", 8, + FX_CodePage::kMSWin_WesternEuropean}, + {0xe43dff4a, "Wingdings", "DejaVu Serif", 4, FX_CodePage::kSymbol}, + {0xe4e2c405, "MTExtra", "DejaVu Serif", 6, FX_CodePage::kSymbol}, {0xe618cc35, "InformalRoman", "Droid Arabic Naskh,Droid Sans Ethiopic,mry_KacstQurn,Droid Sans " "Japanese,Nimbus Sans L,DejaVu Sans Condensed,Ubuntu,Liberation Sans", - 8, 1252}, - {0xe6c27ffc, "Mistral", "Droid Sans Japanese,DejaVu Serif", 8, 1252}, + 8, FX_CodePage::kMSWin_WesternEuropean}, + {0xe6c27ffc, "Mistral", "Droid Sans Japanese,DejaVu Serif", 8, + FX_CodePage::kMSWin_WesternEuropean}, {0xe7ebf4b9, "Courier", "DejaVu Sans,DejaVu Sans Condensed,FreeSerif", 0, - 1252}, - {0xe8bc4a9d, "MSReferenceSpecialty", "DejaVu Serif", 0, 1252}, + FX_CodePage::kMSWin_WesternEuropean}, + {0xe8bc4a9d, "MSReferenceSpecialty", "DejaVu Serif", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xe90fb013, "TempusSansITC", - "Droid Sans Japanese,Ubuntu,Liberation Serif,FreeSerif", 0, 1252}, + "Droid Sans Japanese,Ubuntu,Liberation Serif,FreeSerif", 0, + FX_CodePage::kMSWin_WesternEuropean}, {0xec637b42, "Consolas", "DejaVu Sans Condensed,AR PL UKai CN,AR PL UKai HK,AR PL UKai " "TW,FreeSerif,FreeSans", - 1, 1252}, + 1, FX_CodePage::kMSWin_WesternEuropean}, {0xed3a683b, "STXinwei", "AR PL UKai HK,AR PL UMing HK,AR PL UKai CN", 0, - 936}, + FX_CodePage::kChineseSimplified}, {0xef264cd1, "LucidaHandwriting", "Liberation Sans Narrow,Ubuntu Condensed,Nimbus Sans " "L,KacstQurn,Liberation Mono", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0xf086bca2, "BaskervilleOldFace", "KacstQurn,Droid Sans Japanese,Liberation Serif,Ubuntu,FreeSerif", 0, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0xf1028030, "Mangal", "FreeSans,TSCu_Paranar,Garuda,Liberation Sans,Liberation Sans " "Narrow,Nimbus Sans ", - 2, 1252}, + 2, FX_CodePage::kMSWin_WesternEuropean}, {0xf1da7eb9, "ShowcardGothic", "Droid Sans Japanese,DejaVu Serif Condensed,DejaVu Sans " "Condensed,Liberation Sans,Ubuntu", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0xf210f06a, "ArialMT", "Liberation Sans,Liberation Sans Narrow,FreeSans,Nimbus Sans L,Khmer OS " "System,Khmer OS", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0xf477f16a, "Latha", "Liberation Sans Narrow,Nimbus Sans L,Droid Arabic " "Naskh,mry_KacstQurn,FreeSerif,Nimbus Sans ", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0xf616f3dd, "LiSu", "WenQuanYi Zen Hei Mono,AR PL UMing CN,AR PL UMing HK,AR PL UMing TW,AR " "PL UMing TW MBE", - 1, 936}, + 1, FX_CodePage::kChineseSimplified}, {0xfa479aa6, "MicrosoftYaHei", "WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei " "Sharp,WenQuanYi Micro Hei", - 0, 936}, + 0, FX_CodePage::kChineseSimplified}, {0xfcd19697, "BookmanOldStyle", "Droid Sans Japanese,Liberation Mono,Liberation Sans,Liberation Serif", 0, - 1252}, + FX_CodePage::kMSWin_WesternEuropean}, {0xfe209a82, "LucidaCalligraphy", "KacstQurn,Droid Arabic Naskh,Droid Sans Ethiopic,mry_KacstQurn,Droid " "Sans Japanese,DejaVu Serif,DejaVu Sans,FreeMono", - 0, 1252}, + 0, FX_CodePage::kMSWin_WesternEuropean}, {0xfef135f8, "AdobeHeitiStd-Regular", "WenQuanYi Zen Hei Mono,WenQuanYi Zen Hei,WenQuanYi Zen Hei " "Sharp,WenQuanYi Micro Hei", - 0, 936}, + 0, FX_CodePage::kChineseSimplified}, }; #else #error "Unsupported platform"
diff --git a/xfa/fgas/font/fgas_fontutils.h b/xfa/fgas/font/fgas_fontutils.h index 91998d5..055d019 100644 --- a/xfa/fgas/font/fgas_fontutils.h +++ b/xfa/fgas/font/fgas_fontutils.h
@@ -7,13 +7,16 @@ #ifndef XFA_FGAS_FONT_FGAS_FONTUTILS_H_ #define XFA_FGAS_FONT_FGAS_FONTUTILS_H_ +#include <stdint.h> + +#include "core/fxcrt/fx_codepage_forward.h" #include "core/fxcrt/widestring.h" struct FGAS_FONTUSB { uint16_t wStartUnicode; uint16_t wEndUnicode; uint16_t wBitField; - uint16_t wCodePage; + FX_CodePage wCodePage; }; const FGAS_FONTUSB* FGAS_GetUnicodeBitField(wchar_t wUnicode); @@ -23,11 +26,10 @@ const char* pPsName; // Raw, POD struct. const char* pReplaceFont; // Raw, POD struct. uint16_t dwStyles; - uint16_t wCodePage; + FX_CodePage wCodePage; }; WideString FGAS_FontNameToEnglishName(WideStringView wsLocalName); - const FGAS_FontInfo* FGAS_FontInfoByFontName(WideStringView wsFontName); #endif // XFA_FGAS_FONT_FGAS_FONTUTILS_H_
diff --git a/xfa/fgas/layout/cfgas_rtfbreak_unittest.cpp b/xfa/fgas/layout/cfgas_rtfbreak_unittest.cpp index b424a49..4279146 100644 --- a/xfa/fgas/layout/cfgas_rtfbreak_unittest.cpp +++ b/xfa/fgas/layout/cfgas_rtfbreak_unittest.cpp
@@ -9,6 +9,7 @@ #include <memory> #include <utility> +#include "core/fxcrt/fx_codepage.h" #include "core/fxge/cfx_font.h" #include "core/fxge/cfx_gemodule.h" #include "testing/gtest/include/gtest/gtest.h" @@ -19,7 +20,7 @@ class CFGAS_RTFBreakTest : public testing::Test { public: void SetUp() override { - font_ = CFGAS_GEFont::LoadFont(L"Arial Black", 0, 0); + font_ = CFGAS_GEFont::LoadFont(L"Arial Black", 0, FX_CodePage::kDefANSI); ASSERT_TRUE(font_); }
diff --git a/xfa/fgas/layout/cfgas_txtbreak.cpp b/xfa/fgas/layout/cfgas_txtbreak.cpp index 54a4523..fc07ffc 100644 --- a/xfa/fgas/layout/cfgas_txtbreak.cpp +++ b/xfa/fgas/layout/cfgas_txtbreak.cpp
@@ -9,6 +9,7 @@ #include <algorithm> #include "build/build_config.h" +#include "core/fxcrt/fx_codepage.h" #include "core/fxcrt/fx_extension.h" #include "core/fxcrt/fx_safe_types.h" #include "core/fxcrt/stl_util.h"
diff --git a/xfa/fgas/layout/cfgas_txtbreak_unittest.cpp b/xfa/fgas/layout/cfgas_txtbreak_unittest.cpp index 4d64b9a..743a9ab 100644 --- a/xfa/fgas/layout/cfgas_txtbreak_unittest.cpp +++ b/xfa/fgas/layout/cfgas_txtbreak_unittest.cpp
@@ -7,6 +7,7 @@ #include <memory> #include <utility> +#include "core/fxcrt/fx_codepage.h" #include "core/fxge/cfx_font.h" #include "testing/gtest/include/gtest/gtest.h" #include "xfa/fgas/font/cfgas_fontmgr.h" @@ -16,7 +17,7 @@ class CFGAS_TxtBreakTest : public testing::Test { public: void SetUp() override { - font_ = CFGAS_GEFont::LoadFont(L"Arial Black", 0, 0); + font_ = CFGAS_GEFont::LoadFont(L"Arial Black", 0, FX_CodePage::kDefANSI); ASSERT_TRUE(font_); }
diff --git a/xfa/fwl/theme/cfwl_fontmanager.cpp b/xfa/fwl/theme/cfwl_fontmanager.cpp index 30ece54..be7106b 100644 --- a/xfa/fwl/theme/cfwl_fontmanager.cpp +++ b/xfa/fwl/theme/cfwl_fontmanager.cpp
@@ -35,7 +35,7 @@ RetainPtr<CFGAS_GEFont> CFWL_FontManager::FindFont(WideStringView wsFontFamily, uint32_t dwFontStyles, - uint16_t wCodePage) { + FX_CodePage wCodePage) { for (const auto& pData : m_FontsArray) { if (pData->Equal(wsFontFamily, dwFontStyles, wCodePage)) return pData->GetFont(); @@ -54,14 +54,14 @@ bool CFWL_FontManager::FontData::Equal(WideStringView wsFontFamily, uint32_t dwFontStyles, - uint16_t wCodePage) { + FX_CodePage wCodePage) { return m_wsFamily == wsFontFamily && m_dwStyles == dwFontStyles && m_dwCodePage == wCodePage; } bool CFWL_FontManager::FontData::LoadFont(WideStringView wsFontFamily, uint32_t dwFontStyles, - uint16_t dwCodePage) { + FX_CodePage dwCodePage) { m_wsFamily = wsFontFamily; m_dwStyles = dwFontStyles; m_dwCodePage = dwCodePage;
diff --git a/xfa/fwl/theme/cfwl_fontmanager.h b/xfa/fwl/theme/cfwl_fontmanager.h index 6a80ea8..3f950c6 100644 --- a/xfa/fwl/theme/cfwl_fontmanager.h +++ b/xfa/fwl/theme/cfwl_fontmanager.h
@@ -10,6 +10,7 @@ #include <memory> #include <vector> +#include "core/fxcrt/fx_codepage.h" #include "core/fxcrt/fx_string.h" #include "core/fxcrt/fx_system.h" #include "core/fxcrt/retain_ptr.h" @@ -23,7 +24,7 @@ RetainPtr<CFGAS_GEFont> FindFont(WideStringView wsFontFamily, uint32_t dwFontStyles, - uint16_t dwCodePage); + FX_CodePage dwCodePage); private: class FontData final { @@ -33,16 +34,16 @@ bool Equal(WideStringView wsFontFamily, uint32_t dwFontStyles, - uint16_t wCodePage); + FX_CodePage wCodePage); bool LoadFont(WideStringView wsFontFamily, uint32_t dwFontStyles, - uint16_t wCodePage); + FX_CodePage wCodePage); RetainPtr<CFGAS_GEFont> GetFont() const; private: WideString m_wsFamily; uint32_t m_dwStyles = 0; - uint32_t m_dwCodePage = 0; + FX_CodePage m_dwCodePage = FX_CodePage::kDefANSI; RetainPtr<CFGAS_GEFont> m_pFont; };
diff --git a/xfa/fwl/theme/cfwl_widgettp.cpp b/xfa/fwl/theme/cfwl_widgettp.cpp index e87fc3f..bbd2120 100644 --- a/xfa/fwl/theme/cfwl_widgettp.cpp +++ b/xfa/fwl/theme/cfwl_widgettp.cpp
@@ -78,7 +78,8 @@ if (m_pTextOut) return; - m_pFGASFont = CFWL_FontManager::GetInstance()->FindFont(L"Helvetica", 0, 0); + m_pFGASFont = CFWL_FontManager::GetInstance()->FindFont( + L"Helvetica", 0, FX_CodePage::kDefANSI); m_pTextOut = std::make_unique<CFDE_TextOut>(); m_pTextOut->SetFont(m_pFGASFont); m_pTextOut->SetFontSize(FWLTHEME_CAPACITY_FontSize);
diff --git a/xfa/fxfa/cxfa_fwltheme.cpp b/xfa/fxfa/cxfa_fwltheme.cpp index ff0d3c1..1379f97 100644 --- a/xfa/fxfa/cxfa_fwltheme.cpp +++ b/xfa/fxfa/cxfa_fwltheme.cpp
@@ -78,7 +78,7 @@ } m_pCalendarFont = CFGAS_GEModule::Get()->GetFontMgr()->GetFontByCodePage( - FX_CODEPAGE_MSWin_WesternEuropean, 0, nullptr); + FX_CodePage::kMSWin_WesternEuropean, 0, nullptr); return !!m_pCalendarFont; }