summaryrefslogtreecommitdiff
path: root/xfa/fgas
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/fgas')
-rw-r--r--xfa/fgas/font/cfgas_pdffontmgr.cpp5
-rw-r--r--xfa/fgas/layout/cfx_rtfbreak.cpp2
-rw-r--r--xfa/fgas/layout/cfx_txtbreak.cpp2
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;
}