summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolás Peña <npm@chromium.org>2017-09-28 13:00:45 +0900
committerChromium commit bot <commit-bot@chromium.org>2017-09-28 04:11:37 +0000
commit5f95f36cac52c92d34bffbfa22a7da49d0653978 (patch)
tree85f9004d9b290e07cfd2d0bfeef26e288d96bdde
parent86f5cf12b517d348a64868a477a19fbf1f1318fc (diff)
downloadpdfium-5f95f36cac52c92d34bffbfa22a7da49d0653978.tar.xz
Change bottom-top order in FontBBox
The FontBBox, for compatiblity reasons, must be specified top to bottom. This CL flips the current implementation which was bottom to top. Bug: pdfium:892 Change-Id: Ieb8d3bb183ed7870e3b3d7f0380f1343adedf87b Reviewed-on: https://pdfium-review.googlesource.com/14851 Commit-Queue: Nicolás Peña Moreno <npm@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
-rw-r--r--fpdfsdk/fpdfedit_embeddertest.cpp10
-rw-r--r--fpdfsdk/fpdfedittext.cpp4
2 files changed, 11 insertions, 3 deletions
diff --git a/fpdfsdk/fpdfedit_embeddertest.cpp b/fpdfsdk/fpdfedit_embeddertest.cpp
index 0fb736a9d4..9f43054b4c 100644
--- a/fpdfsdk/fpdfedit_embeddertest.cpp
+++ b/fpdfsdk/fpdfedit_embeddertest.cpp
@@ -58,7 +58,15 @@ class FPDFEditEmbeddertest : public EmbedderTest {
EXPECT_FALSE(font_flags & FXFONT_ITALIC);
EXPECT_TRUE(font_flags & FXFONT_NONSYMBOLIC);
ASSERT_TRUE(font_desc->KeyExist("FontBBox"));
- EXPECT_EQ(4U, font_desc->GetArrayFor("FontBBox")->GetCount());
+
+ CPDF_Array* fontBBox = font_desc->GetArrayFor("FontBBox");
+ ASSERT_TRUE(fontBBox);
+ EXPECT_EQ(4U, fontBBox->GetCount());
+ // Check that the coordinates are in the preferred order according to spec
+ // 1.7 Section 3.8.4
+ EXPECT_TRUE(fontBBox->GetIntegerAt(0) < fontBBox->GetIntegerAt(2));
+ EXPECT_TRUE(fontBBox->GetIntegerAt(1) < fontBBox->GetIntegerAt(3));
+
EXPECT_TRUE(font_desc->KeyExist("ItalicAngle"));
EXPECT_TRUE(font_desc->KeyExist("Ascent"));
EXPECT_TRUE(font_desc->KeyExist("Descent"));
diff --git a/fpdfsdk/fpdfedittext.cpp b/fpdfsdk/fpdfedittext.cpp
index 2a9ef53273..bac1108243 100644
--- a/fpdfsdk/fpdfedittext.cpp
+++ b/fpdfsdk/fpdfedittext.cpp
@@ -54,9 +54,9 @@ CPDF_Dictionary* LoadFontDesc(CPDF_Document* pDoc,
pFont->GetBBox(bbox);
auto pBBox = pdfium::MakeUnique<CPDF_Array>();
pBBox->AddNew<CPDF_Number>(bbox.left);
- pBBox->AddNew<CPDF_Number>(bbox.bottom);
- pBBox->AddNew<CPDF_Number>(bbox.right);
pBBox->AddNew<CPDF_Number>(bbox.top);
+ pBBox->AddNew<CPDF_Number>(bbox.right);
+ pBBox->AddNew<CPDF_Number>(bbox.bottom);
fontDesc->SetFor("FontBBox", std::move(pBBox));
// TODO(npm): calculate italic angle correctly