diff options
Diffstat (limited to 'xfa')
-rw-r--r-- | xfa/fgas/font/cfgas_pdffontmgr.cpp | 5 | ||||
-rw-r--r-- | xfa/fgas/layout/cfx_rtfbreak.cpp | 2 | ||||
-rw-r--r-- | xfa/fgas/layout/cfx_txtbreak.cpp | 2 |
3 files changed, 7 insertions, 2 deletions
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<CFGAS_GEFont>& 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<int32_t>( + 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; } |