From 257900b6dae0fe8d82d48ecc91d92e5dbb3a28bf Mon Sep 17 00:00:00 2001 From: Lei Zhang Date: Fri, 9 Feb 2018 22:28:49 +0000 Subject: Use CPDF_Dictionary::SetRectFor() when appropriate. Change-Id: I4ced221fb5691927485deceb7002dac880c2c210 Reviewed-on: https://pdfium-review.googlesource.com/26110 Commit-Queue: Lei Zhang Reviewed-by: Henrique Nakashima --- fpdfsdk/fpdfedittext.cpp | 37 ++++++++++++++++--------------------- 1 file changed, 16 insertions(+), 21 deletions(-) (limited to 'fpdfsdk/fpdfedittext.cpp') diff --git a/fpdfsdk/fpdfedittext.cpp b/fpdfsdk/fpdfedittext.cpp index 7bbb6a857c..460e852eaa 100644 --- a/fpdfsdk/fpdfedittext.cpp +++ b/fpdfsdk/fpdfedittext.cpp @@ -35,9 +35,9 @@ CPDF_Dictionary* LoadFontDesc(CPDF_Document* pDoc, const uint8_t* data, uint32_t size, int font_type) { - CPDF_Dictionary* fontDesc = pDoc->NewIndirect(); - fontDesc->SetNewFor("Type", "FontDescriptor"); - fontDesc->SetNewFor("FontName", font_name); + CPDF_Dictionary* pFontDesc = pDoc->NewIndirect(); + pFontDesc->SetNewFor("Type", "FontDescriptor"); + pFontDesc->SetNewFor("FontName", font_name); int flags = 0; if (FXFT_Is_Face_fixedwidth(pFont->GetFace())) flags |= FXFONT_FIXED_PITCH; @@ -51,25 +51,20 @@ CPDF_Dictionary* LoadFontDesc(CPDF_Document* pDoc, // TODO(npm): How do I know if a font is symbolic, script, allcap, smallcap flags |= FXFONT_NONSYMBOLIC; - fontDesc->SetNewFor("Flags", flags); + pFontDesc->SetNewFor("Flags", flags); FX_RECT bbox; pFont->GetBBox(bbox); - auto pBBox = pdfium::MakeUnique(); - pBBox->AddNew(bbox.left); - pBBox->AddNew(bbox.top); - pBBox->AddNew(bbox.right); - pBBox->AddNew(bbox.bottom); - fontDesc->SetFor("FontBBox", std::move(pBBox)); + pFontDesc->SetRectFor("FontBBox", CFX_FloatRect(bbox)); // TODO(npm): calculate italic angle correctly - fontDesc->SetNewFor("ItalicAngle", pFont->IsItalic() ? -12 : 0); + pFontDesc->SetNewFor("ItalicAngle", pFont->IsItalic() ? -12 : 0); - fontDesc->SetNewFor("Ascent", pFont->GetAscent()); - fontDesc->SetNewFor("Descent", pFont->GetDescent()); + pFontDesc->SetNewFor("Ascent", pFont->GetAscent()); + pFontDesc->SetNewFor("Descent", pFont->GetDescent()); // TODO(npm): calculate the capheight, stemV correctly - fontDesc->SetNewFor("CapHeight", pFont->GetAscent()); - fontDesc->SetNewFor("StemV", pFont->IsBold() ? 120 : 70); + pFontDesc->SetNewFor("CapHeight", pFont->GetAscent()); + pFontDesc->SetNewFor("StemV", pFont->IsBold() ? 120 : 70); CPDF_Stream* pStream = pDoc->NewIndirect(); pStream->SetData(data, size); @@ -79,8 +74,8 @@ CPDF_Dictionary* LoadFontDesc(CPDF_Document* pDoc, static_cast(size)); } ByteString fontFile = font_type == FPDF_FONT_TYPE1 ? "FontFile" : "FontFile2"; - fontDesc->SetNewFor(fontFile, pDoc, pStream->GetObjNum()); - return fontDesc; + pFontDesc->SetNewFor(fontFile, pDoc, pStream->GetObjNum()); + return pFontDesc; } const char ToUnicodeStart[] = @@ -276,11 +271,11 @@ void* LoadSimpleFont(CPDF_Document* pDoc, } fontDict->SetNewFor("LastChar", static_cast(currentChar)); fontDict->SetNewFor("Widths", pDoc, widthsArray->GetObjNum()); - CPDF_Dictionary* fontDesc = + CPDF_Dictionary* pFontDesc = LoadFontDesc(pDoc, name, pFont.get(), data, size, font_type); fontDict->SetNewFor("FontDescriptor", pDoc, - fontDesc->GetObjNum()); + pFontDesc->GetObjNum()); return pDoc->LoadFont(fontDict); } @@ -319,10 +314,10 @@ void* LoadCompositeFont(CPDF_Document* pDoc, pCIDFont->SetNewFor("CIDSystemInfo", pDoc, pCIDSystemInfo->GetObjNum()); - CPDF_Dictionary* fontDesc = + CPDF_Dictionary* pFontDesc = LoadFontDesc(pDoc, name, pFont.get(), data, size, font_type); pCIDFont->SetNewFor("FontDescriptor", pDoc, - fontDesc->GetObjNum()); + pFontDesc->GetObjNum()); uint32_t glyphIndex; uint32_t currentChar = FXFT_Get_First_Char(pFont->GetFace(), &glyphIndex); -- cgit v1.2.3