diff options
author | Lei Zhang <thestig@chromium.org> | 2017-12-04 16:41:16 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-12-04 16:41:16 +0000 |
commit | a6bc91192be6e64a4ff615aba3bd057b3a810e67 (patch) | |
tree | b0032367f39bdb6d08f897c62b5e17510bd57193 /core/fpdfapi/font/cpdf_type3font.cpp | |
parent | ddf945fc297356062eb8ba07b2d58e65a09b152b (diff) | |
download | pdfium-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.cpp | 16 |
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)); } } } |