diff options
author | Nicolás Peña <npm@chromium.org> | 2017-09-28 13:00:45 +0900 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-09-28 04:11:37 +0000 |
commit | 5f95f36cac52c92d34bffbfa22a7da49d0653978 (patch) | |
tree | 85f9004d9b290e07cfd2d0bfeef26e288d96bdde | |
parent | 86f5cf12b517d348a64868a477a19fbf1f1318fc (diff) | |
download | pdfium-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.cpp | 10 | ||||
-rw-r--r-- | fpdfsdk/fpdfedittext.cpp | 4 |
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 |