Index: xfa/fgas/layout/fgas_rtfbreak.cpp |
diff --git a/xfa/fgas/layout/fgas_rtfbreak.cpp b/xfa/fgas/layout/fgas_rtfbreak.cpp |
index b44af96c77c86e8e3a5e81e62b09a25bc1510eb1..aaef7aec615af9da55dcee096be570ae8b441c56 100644 |
--- a/xfa/fgas/layout/fgas_rtfbreak.cpp |
+++ b/xfa/fgas/layout/fgas_rtfbreak.cpp |
@@ -15,7 +15,6 @@ |
CFX_RTFBreak::CFX_RTFBreak(uint32_t dwPolicies) |
: m_dwPolicies(dwPolicies), |
- m_pArabicChar(NULL), |
m_iBoundaryStart(0), |
m_iBoundaryEnd(2000000), |
m_dwLayoutStyles(0), |
@@ -50,13 +49,11 @@ CFX_RTFBreak::CFX_RTFBreak(uint32_t dwPolicies) |
m_pCurLine(NULL), |
m_iReady(0), |
m_iTolerance(0) { |
- m_pArabicChar = new CFX_ArabicChar; |
m_pCurLine = &m_RTFLine1; |
} |
CFX_RTFBreak::~CFX_RTFBreak() { |
Reset(); |
m_PositionedTabs.RemoveAll(); |
- m_pArabicChar->Release(); |
if (m_pUserData != NULL) { |
m_pUserData->Release(); |
} |
@@ -343,7 +340,7 @@ static const FX_RTFBreak_LPFAppendChar g_FX_RTFBreak_lpfAppendChar[16] = { |
&CFX_RTFBreak::AppendChar_Others, &CFX_RTFBreak::AppendChar_Others, |
}; |
uint32_t CFX_RTFBreak::AppendChar(FX_WCHAR wch) { |
- ASSERT(m_pFont != NULL && m_pCurLine != NULL && m_pArabicChar != NULL); |
+ ASSERT(m_pFont && m_pCurLine); |
if (m_bCharCode) { |
return AppendChar_CharCode(wch); |
} |
@@ -520,7 +517,7 @@ uint32_t CFX_RTFBreak::AppendChar_Arabic(CFX_RTFChar* pCurChar, |
if (pLastChar != NULL) { |
iLineWidth -= pLastChar->m_iCharWidth; |
CFX_RTFChar* pPrevChar = GetLastChar(2); |
- wForm = m_pArabicChar->GetFormChar(pLastChar, pPrevChar, pCurChar); |
+ wForm = pdfium::arabic::GetFormChar(pLastChar, pPrevChar, pCurChar); |
bAlef = (wForm == 0xFEFF && |
pLastChar->GetCharType() == FX_CHARTYPE_ArabicAlef); |
int32_t iLastRotation = pLastChar->m_nRotation + m_iLineRotation; |
@@ -544,8 +541,8 @@ uint32_t CFX_RTFBreak::AppendChar_Arabic(CFX_RTFChar* pCurChar, |
iCharWidth = 0; |
} |
} |
- wForm = |
- m_pArabicChar->GetFormChar(pCurChar, (bAlef ? NULL : pLastChar), NULL); |
+ wForm = pdfium::arabic::GetFormChar(pCurChar, bAlef ? nullptr : pLastChar, |
+ nullptr); |
if (m_bVertical != FX_IsOdd(iRotation)) { |
iCharWidth = 1000; |
} else if (!m_pFont->GetCharWidth(wForm, iCharWidth, m_bCharCode) && |
@@ -1268,7 +1265,7 @@ int32_t CFX_RTFBreak::GetDisplayPos(const FX_RTFTEXTOBJ* pText, |
} else { |
wNext = 0xFEFF; |
} |
- wForm = m_pArabicChar->GetFormChar(wch, wPrev, wNext); |
+ wForm = pdfium::arabic::GetFormChar(wch, wPrev, wNext); |
} else if (bRTLPiece || bVerticalChar) { |
wForm = FX_GetMirrorChar(wch, dwProps, bRTLPiece, bVerticalChar); |
} else if (dwCharType == FX_CHARTYPE_Numeric && bArabicNumber) { |