summaryrefslogtreecommitdiff
path: root/core/fpdfapi/font/cpdf_type3font.cpp
diff options
context:
space:
mode:
authorLei Zhang <thestig@chromium.org>2017-12-04 16:41:16 +0000
committerChromium commit bot <commit-bot@chromium.org>2017-12-04 16:41:16 +0000
commita6bc91192be6e64a4ff615aba3bd057b3a810e67 (patch)
treeb0032367f39bdb6d08f897c62b5e17510bd57193 /core/fpdfapi/font/cpdf_type3font.cpp
parentddf945fc297356062eb8ba07b2d58e65a09b152b (diff)
downloadpdfium-a6bc91192be6e64a4ff615aba3bd057b3a810e67.tar.xz
Add text unit to glyph unit conversion to CPDF_Type3Char.
Use it in type 3 font code. Change-Id: I8b0eb462cc0308f1700d21a62efc929babae8e20 Reviewed-on: https://pdfium-review.googlesource.com/20215 Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
Diffstat (limited to 'core/fpdfapi/font/cpdf_type3font.cpp')
-rw-r--r--core/fpdfapi/font/cpdf_type3font.cpp16
1 files changed, 7 insertions, 9 deletions
diff --git a/core/fpdfapi/font/cpdf_type3font.cpp b/core/fpdfapi/font/cpdf_type3font.cpp
index 6588493e16..c328c1020d 100644
--- a/core/fpdfapi/font/cpdf_type3font.cpp
+++ b/core/fpdfapi/font/cpdf_type3font.cpp
@@ -54,14 +54,11 @@ bool CPDF_Type3Font::Load() {
CPDF_Array* pBBox = m_pFontDict->GetArrayFor("FontBBox");
if (pBBox) {
- m_FontBBox.left =
- static_cast<int32_t>(pBBox->GetNumberAt(0) * xscale * 1000);
- m_FontBBox.bottom =
- static_cast<int32_t>(pBBox->GetNumberAt(1) * yscale * 1000);
- m_FontBBox.right =
- static_cast<int32_t>(pBBox->GetNumberAt(2) * xscale * 1000);
- m_FontBBox.top =
- static_cast<int32_t>(pBBox->GetNumberAt(3) * yscale * 1000);
+ CFX_FloatRect box(
+ pBBox->GetNumberAt(0) * xscale, pBBox->GetNumberAt(1) * yscale,
+ pBBox->GetNumberAt(2) * xscale, pBBox->GetNumberAt(3) * yscale);
+ CPDF_Type3Char::TextUnitRectToGlyphUnitRect(&box);
+ m_FontBBox = box.ToFxRect();
}
static constexpr size_t kCharLimit = FX_ArraySize(m_CharWidthL);
@@ -73,7 +70,8 @@ bool CPDF_Type3Font::Load() {
count = std::min(count, kCharLimit - StartChar);
for (size_t i = 0; i < count; i++) {
m_CharWidthL[StartChar + i] =
- FXSYS_round(pWidthArray->GetNumberAt(i) * xscale * 1000);
+ FXSYS_round(CPDF_Type3Char::TextUnitToGlyphUnit(
+ pWidthArray->GetNumberAt(i) * xscale));
}
}
}