From 2334660053e044ca79a1831a6c73f69891f039e0 Mon Sep 17 00:00:00 2001 From: Nicolas Pena Date: Tue, 30 Jan 2018 21:42:41 +0000 Subject: Use unsigned for char width MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bug: 806612 Change-Id: I22bd9046dd37a1b596762c46a6b29a323d6e9fa1 Reviewed-on: https://pdfium-review.googlesource.com/24410 Reviewed-by: dsinclair Commit-Queue: Nicolás Peña Moreno --- xfa/fgas/font/cfgas_pdffontmgr.cpp | 5 ++++- xfa/fgas/layout/cfx_rtfbreak.cpp | 2 +- xfa/fgas/layout/cfx_txtbreak.cpp | 2 ++ 3 files changed, 7 insertions(+), 2 deletions(-) (limited to 'xfa') diff --git a/xfa/fgas/font/cfgas_pdffontmgr.cpp b/xfa/fgas/font/cfgas_pdffontmgr.cpp index 4d34ac8284..e2fb905f66 100644 --- a/xfa/fgas/font/cfgas_pdffontmgr.cpp +++ b/xfa/fgas/font/cfgas_pdffontmgr.cpp @@ -194,7 +194,10 @@ bool CFGAS_PDFFontMgr::GetCharWidth(const RetainPtr& pFont, return false; CPDF_Font* pPDFFont = it->second; - *pWidth = pPDFFont->GetCharWidthF(pPDFFont->CharCodeFromUnicode(wUnicode)); + // TODO(npm): CFGAS_GEFont::GetCharWidth currently uses -1 as a special value, + // so |pWidth| cannot be changed to unsigned until this behavior is changed. + *pWidth = static_cast( + pPDFFont->GetCharWidthF(pPDFFont->CharCodeFromUnicode(wUnicode))); return true; } diff --git a/xfa/fgas/layout/cfx_rtfbreak.cpp b/xfa/fgas/layout/cfx_rtfbreak.cpp index 3ef0ef2624..9497e5fde6 100644 --- a/xfa/fgas/layout/cfx_rtfbreak.cpp +++ b/xfa/fgas/layout/cfx_rtfbreak.cpp @@ -702,7 +702,7 @@ int32_t CFX_RTFBreak::GetDisplayPos(const FX_RTFTEXTOBJ* pText, continue; } - int32_t iCharWidth = abs(iWidth); + uint32_t iCharWidth = abs(iWidth); bool bEmptyChar = (dwCharType >= FX_CHARTYPE_Tab && dwCharType <= FX_CHARTYPE_Control); if (!bEmptyChar) diff --git a/xfa/fgas/layout/cfx_txtbreak.cpp b/xfa/fgas/layout/cfx_txtbreak.cpp index b028c9baf6..b0199922c4 100644 --- a/xfa/fgas/layout/cfx_txtbreak.cpp +++ b/xfa/fgas/layout/cfx_txtbreak.cpp @@ -831,6 +831,8 @@ int32_t CFX_TxtBreak::GetDisplayPos(const FX_TXTRUN* pTxtRun, #if _FX_PLATFORM_ == _FX_PLATFORM_APPLE_ pCharPos->m_ExtGID = pCharPos->m_GlyphIndex; #endif + // TODO(npm): change widths in this method to unsigned to avoid implicit + // cast in the following line. pCharPos->m_FontCharWidth = iCharWidth; } -- cgit v1.2.3