| Index: xfa/fxfa/app/xfa_fontmgr.cpp
|
| diff --git a/xfa/fxfa/app/xfa_fontmgr.cpp b/xfa/fxfa/app/xfa_fontmgr.cpp
|
| index ed93b16ad21ab639f0f85c0e08119f255a57c7b3..964c0352b86495b061368690a80615be5f904663 100644
|
| --- a/xfa/fxfa/app/xfa_fontmgr.cpp
|
| +++ b/xfa/fxfa/app/xfa_fontmgr.cpp
|
| @@ -12,6 +12,7 @@
|
| #include "core/fpdfapi/fpdf_font/include/cpdf_font.h"
|
| #include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
|
| #include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
|
| +#include "xfa/fgas/font/fgas_gefont.h"
|
| #include "xfa/fxfa/include/xfa_ffapp.h"
|
| #include "xfa/fxfa/include/xfa_ffdoc.h"
|
|
|
| @@ -1742,13 +1743,13 @@ CXFA_DefFontMgr::~CXFA_DefFontMgr() {
|
| m_CacheFonts[i]->Release();
|
| }
|
|
|
| -IFGAS_Font* CXFA_DefFontMgr::GetFont(CXFA_FFDoc* hDoc,
|
| - const CFX_WideStringC& wsFontFamily,
|
| - uint32_t dwFontStyles,
|
| - uint16_t wCodePage) {
|
| +CFGAS_GEFont* CXFA_DefFontMgr::GetFont(CXFA_FFDoc* hDoc,
|
| + const CFX_WideStringC& wsFontFamily,
|
| + uint32_t dwFontStyles,
|
| + uint16_t wCodePage) {
|
| CFX_WideString wsFontName(wsFontFamily);
|
| IFGAS_FontMgr* pFDEFontMgr = hDoc->GetApp()->GetFDEFontMgr();
|
| - IFGAS_Font* pFont =
|
| + CFGAS_GEFont* pFont =
|
| pFDEFontMgr->LoadFont(wsFontName.c_str(), dwFontStyles, wCodePage);
|
| if (!pFont) {
|
| const XFA_FONTINFO* pCurFont =
|
| @@ -1787,12 +1788,13 @@ IFGAS_Font* CXFA_DefFontMgr::GetFont(CXFA_FFDoc* hDoc,
|
| return pFont;
|
| }
|
|
|
| -IFGAS_Font* CXFA_DefFontMgr::GetDefaultFont(CXFA_FFDoc* hDoc,
|
| - const CFX_WideStringC& wsFontFamily,
|
| - uint32_t dwFontStyles,
|
| - uint16_t wCodePage) {
|
| +CFGAS_GEFont* CXFA_DefFontMgr::GetDefaultFont(
|
| + CXFA_FFDoc* hDoc,
|
| + const CFX_WideStringC& wsFontFamily,
|
| + uint32_t dwFontStyles,
|
| + uint16_t wCodePage) {
|
| IFGAS_FontMgr* pFDEFontMgr = hDoc->GetApp()->GetFDEFontMgr();
|
| - IFGAS_Font* pFont =
|
| + CFGAS_GEFont* pFont =
|
| pFDEFontMgr->LoadFont(L"Arial Narrow", dwFontStyles, wCodePage);
|
| if (!pFont)
|
| pFont =
|
| @@ -1824,11 +1826,11 @@ CXFA_PDFFontMgr::~CXFA_PDFFontMgr() {
|
| pair.second->Release();
|
| }
|
| }
|
| -IFGAS_Font* CXFA_PDFFontMgr::FindFont(CFX_ByteString strPsName,
|
| - FX_BOOL bBold,
|
| - FX_BOOL bItalic,
|
| - CPDF_Font** pDstPDFFont,
|
| - FX_BOOL bStrictMatch) {
|
| +CFGAS_GEFont* CXFA_PDFFontMgr::FindFont(CFX_ByteString strPsName,
|
| + FX_BOOL bBold,
|
| + FX_BOOL bItalic,
|
| + CPDF_Font** pDstPDFFont,
|
| + FX_BOOL bStrictMatch) {
|
| CPDF_Document* pDoc = m_pDoc->GetPDFDoc();
|
| if (pDoc == NULL) {
|
| return NULL;
|
| @@ -1867,15 +1869,15 @@ IFGAS_Font* CXFA_PDFFontMgr::FindFont(CFX_ByteString strPsName,
|
| *pDstPDFFont = pPDFFont;
|
| return NULL;
|
| }
|
| - return IFGAS_Font::LoadFont(&pPDFFont->m_Font, pFDEFontMgr);
|
| + return CFGAS_GEFont::LoadFont(&pPDFFont->m_Font, pFDEFontMgr, FALSE);
|
| }
|
| return NULL;
|
| }
|
|
|
| -IFGAS_Font* CXFA_PDFFontMgr::GetFont(const CFX_WideStringC& wsFontFamily,
|
| - uint32_t dwFontStyles,
|
| - CPDF_Font** pPDFFont,
|
| - FX_BOOL bStrictMatch) {
|
| +CFGAS_GEFont* CXFA_PDFFontMgr::GetFont(const CFX_WideStringC& wsFontFamily,
|
| + uint32_t dwFontStyles,
|
| + CPDF_Font** pPDFFont,
|
| + FX_BOOL bStrictMatch) {
|
| uint32_t dwHashCode = FX_HashCode_GetW(wsFontFamily, false);
|
| CFX_ByteString strKey;
|
| strKey.Format("%u%u", dwHashCode, dwFontStyles);
|
| @@ -1887,7 +1889,7 @@ IFGAS_Font* CXFA_PDFFontMgr::GetFont(const CFX_WideStringC& wsFontFamily,
|
| FX_BOOL bBold = (dwFontStyles & FX_FONTSTYLE_Bold) == FX_FONTSTYLE_Bold;
|
| FX_BOOL bItalic = (dwFontStyles & FX_FONTSTYLE_Italic) == FX_FONTSTYLE_Italic;
|
| CFX_ByteString strFontName = PsNameToFontName(bsPsName, bBold, bItalic);
|
| - IFGAS_Font* pFont =
|
| + CFGAS_GEFont* pFont =
|
| FindFont(strFontName, bBold, bItalic, pPDFFont, bStrictMatch);
|
| if (pFont)
|
| m_FontMap[strKey] = pFont;
|
| @@ -1982,7 +1984,7 @@ FX_BOOL CXFA_PDFFontMgr::PsNameMatchDRFontName(
|
| }
|
| return TRUE;
|
| }
|
| -FX_BOOL CXFA_PDFFontMgr::GetCharWidth(IFGAS_Font* pFont,
|
| +FX_BOOL CXFA_PDFFontMgr::GetCharWidth(CFGAS_GEFont* pFont,
|
| FX_WCHAR wUnicode,
|
| int32_t& iWidth,
|
| FX_BOOL bCharCode) {
|
| @@ -2002,10 +2004,10 @@ CXFA_FontMgr::CXFA_FontMgr() {}
|
|
|
| CXFA_FontMgr::~CXFA_FontMgr() {}
|
|
|
| -IFGAS_Font* CXFA_FontMgr::GetFont(CXFA_FFDoc* hDoc,
|
| - const CFX_WideStringC& wsFontFamily,
|
| - uint32_t dwFontStyles,
|
| - uint16_t wCodePage) {
|
| +CFGAS_GEFont* CXFA_FontMgr::GetFont(CXFA_FFDoc* hDoc,
|
| + const CFX_WideStringC& wsFontFamily,
|
| + uint32_t dwFontStyles,
|
| + uint16_t wCodePage) {
|
| uint32_t dwHash = FX_HashCode_GetW(wsFontFamily, false);
|
| CFX_ByteString bsKey;
|
| bsKey.Format("%u%u%u", dwHash, dwFontStyles, wCodePage);
|
| @@ -2018,7 +2020,7 @@ IFGAS_Font* CXFA_FontMgr::GetFont(CXFA_FFDoc* hDoc,
|
| CXFA_PDFFontMgr* pMgr =
|
| it != m_PDFFontMgrMap.end() ? it->second.get() : nullptr;
|
| CPDF_Font* pPDFFont = nullptr;
|
| - IFGAS_Font* pFont = nullptr;
|
| + CFGAS_GEFont* pFont = nullptr;
|
| if (pMgr) {
|
| pFont = pMgr->GetFont(wsEnglishName.AsStringC(), dwFontStyles, &pPDFFont);
|
| if (pFont)
|
|
|