diff options
Diffstat (limited to 'core/fpdfdoc/cpvt_generateap.cpp')
-rw-r--r-- | core/fpdfdoc/cpvt_generateap.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/core/fpdfdoc/cpvt_generateap.cpp b/core/fpdfdoc/cpvt_generateap.cpp index dd935de61e..c5e2cc7fab 100644 --- a/core/fpdfdoc/cpvt_generateap.cpp +++ b/core/fpdfdoc/cpvt_generateap.cpp @@ -36,7 +36,7 @@ FX_BOOL GenerateWidgetAP(CPDF_Document* pDoc, if (DA.IsEmpty()) return FALSE; - CPDF_SimpleParser syntax(DA); + CPDF_SimpleParser syntax(DA.AsByteStringC()); syntax.FindTagParamFromStart("Tf", 2); CFX_ByteString sFontName = syntax.GetWord(); sFontName = PDF_NameDecode(sFontName); @@ -54,12 +54,12 @@ FX_BOOL GenerateWidgetAP(CPDF_Document* pDoc, } CPDF_Dictionary* pDRFontDict = pDRDict ? pDRDict->GetDictBy("Font") : nullptr; if (pDRFontDict) { - pFontDict = pDRFontDict->GetDictBy(sFontName.Mid(1)); + pFontDict = pDRFontDict->GetDictBy(sFontName.Mid(1).AsByteStringC()); if (!pFontDict && !bUseFormRes) { pDRDict = pFormDict->GetDictBy("DR"); pDRFontDict = pDRDict->GetDictBy("Font"); if (pDRFontDict) - pFontDict = pDRFontDict->GetDictBy(sFontName.Mid(1)); + pFontDict = pDRFontDict->GetDictBy(sFontName.Mid(1).AsByteStringC()); } } if (!pDRFontDict) @@ -72,7 +72,8 @@ FX_BOOL GenerateWidgetAP(CPDF_Document* pDoc, pFontDict->SetAtName("BaseFont", "Helvetica"); pFontDict->SetAtName("Encoding", "WinAnsiEncoding"); pDoc->AddIndirectObject(pFontDict); - pDRFontDict->SetAtReference(sFontName.Mid(1), pDoc, pFontDict); + pDRFontDict->SetAtReference(sFontName.Mid(1).AsByteStringC(), pDoc, + pFontDict); } CPDF_Font* pDefFont = pDoc->LoadFont(pFontDict); if (!pDefFont) @@ -189,8 +190,9 @@ FX_BOOL GenerateWidgetAP(CPDF_Document* pDoc, pStreamResFontList = new CPDF_Dictionary; pStreamResList->SetAt("Font", pStreamResFontList); } - if (!pStreamResFontList->KeyExist(sFontName)) - pStreamResFontList->SetAtReference(sFontName, pDoc, pFontDict); + if (!pStreamResFontList->KeyExist(sFontName.AsByteStringC())) + pStreamResFontList->SetAtReference(sFontName.AsByteStringC(), pDoc, + pFontDict); } else { pStreamDict->SetAt("Resources", pFormDict->GetDictBy("DR")->Clone()); pStreamResList = pStreamDict->GetDictBy("Resources"); @@ -435,8 +437,9 @@ FX_BOOL GenerateWidgetAP(CPDF_Document* pDoc, pStreamResFontList = new CPDF_Dictionary; pStreamResList->SetAt("Font", pStreamResFontList); } - if (!pStreamResFontList->KeyExist(sFontName)) - pStreamResFontList->SetAtReference(sFontName, pDoc, pFontDict); + if (!pStreamResFontList->KeyExist(sFontName.AsByteStringC())) + pStreamResFontList->SetAtReference(sFontName.AsByteStringC(), pDoc, + pFontDict); } else { pStreamDict->SetAt("Resources", pFormDict->GetDictBy("DR")->Clone()); pStreamResList = pStreamDict->GetDictBy("Resources"); |