Index: core/src/fpdfdoc/doc_vt.cpp |
diff --git a/core/src/fpdfdoc/doc_vt.cpp b/core/src/fpdfdoc/doc_vt.cpp |
index c9f5673a602f28975b0e1e32fc946274a052b154..9b87d920cf1f913ea0c9cf064ed938feaf508be3 100644 |
--- a/core/src/fpdfdoc/doc_vt.cpp |
+++ b/core/src/fpdfdoc/doc_vt.cpp |
@@ -96,9 +96,8 @@ CPVT_FloatRect CSection::Rearrange() |
ASSERT(m_pVT != NULL); |
if (m_pVT->m_nCharArray > 0) { |
return CTypeset(this).CharArray(); |
- } else { |
- return CTypeset(this).Typeset(); |
} |
+ return CTypeset(this).Typeset(); |
} |
CPVT_Size CSection::GetSectionSize(FX_FLOAT fFontSize) |
{ |
@@ -108,17 +107,15 @@ CPVT_WordPlace CSection::GetBeginWordPlace() const |
{ |
if (CLine * pLine = m_LineArray.GetAt(0)) { |
return pLine->GetBeginWordPlace(); |
- } else { |
- return SecPlace; |
} |
+ return SecPlace; |
} |
CPVT_WordPlace CSection::GetEndWordPlace() const |
{ |
if (CLine * pLine = m_LineArray.GetAt(m_LineArray.GetSize() - 1)) { |
return pLine->GetEndWordPlace(); |
- } else { |
- return SecPlace; |
} |
+ return SecPlace; |
} |
CPVT_WordPlace CSection::GetPrevWordPlace(const CPVT_WordPlace & place) const |
{ |
@@ -131,7 +128,8 @@ CPVT_WordPlace CSection::GetPrevWordPlace(const CPVT_WordPlace & place) const |
if (CLine * pLine = m_LineArray.GetAt(place.nLineIndex)) { |
if (place.nWordIndex == pLine->m_LineInfo.nBeginWordIndex) { |
return CPVT_WordPlace(place.nSecIndex, place.nLineIndex, -1); |
- } else if (place.nWordIndex < pLine->m_LineInfo.nBeginWordIndex) { |
+ } |
+ if (place.nWordIndex < pLine->m_LineInfo.nBeginWordIndex) { |
if (CLine * pPrevLine = m_LineArray.GetAt(place.nLineIndex - 1)) { |
return pPrevLine->GetEndWordPlace(); |
} |
@@ -572,17 +570,23 @@ static FX_BOOL NeedDivision(FX_WORD prevWord, FX_WORD curWord) |
{ |
if ((IsLatin(prevWord) || IsDigit(prevWord)) && (IsLatin(curWord) || IsDigit(curWord))) { |
return FALSE; |
- } else if (IsSpace(curWord) || IsPunctuation(curWord)) { |
+ } |
+ if (IsSpace(curWord) || IsPunctuation(curWord)) { |
return FALSE; |
- } else if (IsConnectiveSymbol(prevWord) || IsConnectiveSymbol(curWord)) { |
+ } |
+ if (IsConnectiveSymbol(prevWord) || IsConnectiveSymbol(curWord)) { |
return FALSE; |
- } else if (IsSpace(prevWord) || IsPunctuation(prevWord)) { |
+ } |
+ if (IsSpace(prevWord) || IsPunctuation(prevWord)) { |
return TRUE; |
- } else if (IsPrefixSymbol(prevWord)) { |
+ } |
+ if (IsPrefixSymbol(prevWord)) { |
return FALSE; |
- } else if (IsPrefixSymbol(curWord) || IsCJK(curWord)) { |
+ } |
+ if (IsPrefixSymbol(curWord) || IsCJK(curWord)) { |
return TRUE; |
- } else if (IsCJK(prevWord)) { |
+ } |
+ if (IsCJK(prevWord)) { |
return TRUE; |
} |
return FALSE; |
@@ -866,16 +870,12 @@ CPVT_WordPlace CPDF_VariableText::InsertWord(const CPVT_WordPlace & place, FX_WO |
CPVT_WordPlace newplace = place; |
newplace.nWordIndex ++; |
if (m_bRichText) { |
- CPVT_WordProps * pNewProps = pWordProps ? FX_NEW CPVT_WordProps(*pWordProps) : FX_NEW CPVT_WordProps(); |
- if (pNewProps) { |
- pNewProps->nFontIndex = GetWordFontIndex(word, charset, pWordProps->nFontIndex); |
- return AddWord(newplace, CPVT_WordInfo(word, charset, -1, pNewProps)); |
- } |
- } else { |
- int32_t nFontIndex = GetSubWord() > 0 ? GetDefaultFontIndex() : GetWordFontIndex(word, charset, GetDefaultFontIndex()); |
- return AddWord(newplace, CPVT_WordInfo(word, charset, nFontIndex, NULL)); |
+ CPVT_WordProps* pNewProps = pWordProps ? new CPVT_WordProps(*pWordProps) : new CPVT_WordProps(); |
+ pNewProps->nFontIndex = GetWordFontIndex(word, charset, pWordProps->nFontIndex); |
+ return AddWord(newplace, CPVT_WordInfo(word, charset, -1, pNewProps)); |
} |
- return place; |
+ int32_t nFontIndex = GetSubWord() > 0 ? GetDefaultFontIndex() : GetWordFontIndex(word, charset, GetDefaultFontIndex()); |
+ return AddWord(newplace, CPVT_WordInfo(word, charset, nFontIndex, NULL)); |
} |
CPVT_WordPlace CPDF_VariableText::InsertSection(const CPVT_WordPlace & place, const CPVT_SecProps * pSecProps, |
const CPVT_WordProps * pWordProps) |
@@ -1123,12 +1123,10 @@ CPVT_WordPlace CPDF_VariableText::GetPrevWordPlace(const CPVT_WordPlace & place) |
if (place.WordCmp(pSection->GetBeginWordPlace()) <= 0) { |
if (CSection * pPrevSection = m_SectionArray.GetAt(place.nSecIndex - 1)) { |
return pPrevSection->GetEndWordPlace(); |
- } else { |
- return GetBeginWordPlace(); |
} |
- } else { |
- return pSection->GetPrevWordPlace(place); |
+ return GetBeginWordPlace(); |
} |
+ return pSection->GetPrevWordPlace(place); |
} |
return place; |
} |
@@ -1144,12 +1142,10 @@ CPVT_WordPlace CPDF_VariableText::GetNextWordPlace(const CPVT_WordPlace & place) |
if (place.WordCmp(pSection->GetEndWordPlace()) >= 0) { |
if (CSection * pNextSection = m_SectionArray.GetAt(place.nSecIndex + 1)) { |
return pNextSection->GetBeginWordPlace(); |
- } else { |
- return GetEndWordPlace(); |
} |
- } else { |
- return pSection->GetNextWordPlace(place); |
+ return GetEndWordPlace(); |
} |
+ return pSection->GetNextWordPlace(place); |
} |
return place; |
} |
@@ -1204,12 +1200,11 @@ CPVT_WordPlace CPDF_VariableText::GetUpWordPlace(const CPVT_WordPlace & place, c |
CPDF_Point pt = OutToIn(point); |
if (temp.nLineIndex-- > 0) { |
return pSection->SearchWordPlace(pt.x - pSection->m_SecInfo.rcSection.left, temp); |
- } else { |
- if (temp.nSecIndex-- > 0) { |
- if (CSection * pLastSection = m_SectionArray.GetAt(temp.nSecIndex)) { |
- temp.nLineIndex = pLastSection->m_LineArray.GetSize() - 1; |
- return pLastSection->SearchWordPlace(pt.x - pLastSection->m_SecInfo.rcSection.left, temp); |
- } |
+ } |
+ if (temp.nSecIndex-- > 0) { |
+ if (CSection * pLastSection = m_SectionArray.GetAt(temp.nSecIndex)) { |
+ temp.nLineIndex = pLastSection->m_LineArray.GetSize() - 1; |
+ return pLastSection->SearchWordPlace(pt.x - pLastSection->m_SecInfo.rcSection.left, temp); |
} |
} |
} |
@@ -1222,12 +1217,11 @@ CPVT_WordPlace CPDF_VariableText::GetDownWordPlace(const CPVT_WordPlace & place, |
CPDF_Point pt = OutToIn(point); |
if (temp.nLineIndex++ < pSection->m_LineArray.GetSize() - 1) { |
return pSection->SearchWordPlace(pt.x - pSection->m_SecInfo.rcSection.left, temp); |
- } else { |
- if (temp.nSecIndex++ < m_SectionArray.GetSize() - 1) { |
- if (CSection * pNextSection = m_SectionArray.GetAt(temp.nSecIndex)) { |
- temp.nLineIndex = 0; |
- return pNextSection->SearchWordPlace(pt.x - pSection->m_SecInfo.rcSection.left, temp); |
- } |
+ } |
+ if (temp.nSecIndex++ < m_SectionArray.GetSize() - 1) { |
+ if (CSection * pNextSection = m_SectionArray.GetAt(temp.nSecIndex)) { |
+ temp.nLineIndex = 0; |
+ return pNextSection->SearchWordPlace(pt.x - pSection->m_SecInfo.rcSection.left, temp); |
} |
} |
} |
@@ -1239,10 +1233,10 @@ CPVT_WordPlace CPDF_VariableText::GetLineBeginPlace(const CPVT_WordPlace & place |
} |
CPVT_WordPlace CPDF_VariableText::GetLineEndPlace(const CPVT_WordPlace & place) const |
{ |
- if (CSection * pSection = m_SectionArray.GetAt(place.nSecIndex)) |
- if (CLine * pLine = pSection->m_LineArray.GetAt(place.nLineIndex)) { |
+ if (CSection* pSection = m_SectionArray.GetAt(place.nSecIndex)) { |
+ if (CLine* pLine = pSection->m_LineArray.GetAt(place.nLineIndex)) |
return pLine->GetEndWordPlace(); |
- } |
+ } |
return place; |
} |
CPVT_WordPlace CPDF_VariableText::GetSectionBeginPlace(const CPVT_WordPlace & place) const |
@@ -1439,11 +1433,7 @@ void CPDF_VariableText::ClearSectionRightWords(const CPVT_WordPlace & place) |
CPVT_WordPlace CPDF_VariableText::AjustLineHeader(const CPVT_WordPlace & place, FX_BOOL bPrevOrNext) const |
{ |
if (place.nWordIndex < 0 && place.nLineIndex > 0) { |
- if (bPrevOrNext) { |
- return GetPrevWordPlace(place); |
- } else { |
- return GetNextWordPlace(place); |
- } |
+ return bPrevOrNext ? GetPrevWordPlace(place) : GetNextWordPlace(place); |
} |
return place; |
} |
@@ -1639,14 +1629,13 @@ CPVT_FloatRect CPDF_VariableText::RearrangeSections(const CPVT_WordRange & Place |
} |
int32_t CPDF_VariableText::GetCharWidth(int32_t nFontIndex, FX_WORD Word, FX_WORD SubWord, int32_t nWordStyle) |
{ |
- if (m_pVTProvider) { |
- if (SubWord > 0) { |
- return m_pVTProvider->GetCharWidth(nFontIndex, SubWord, nWordStyle); |
- } else { |
- return m_pVTProvider->GetCharWidth(nFontIndex, Word, nWordStyle); |
- } |
+ if (!m_pVTProvider) { |
+ return 0; |
+ } |
+ if (SubWord > 0) { |
+ return m_pVTProvider->GetCharWidth(nFontIndex, SubWord, nWordStyle); |
} |
- return 0; |
+ return m_pVTProvider->GetCharWidth(nFontIndex, Word, nWordStyle); |
} |
int32_t CPDF_VariableText::GetTypeAscent(int32_t nFontIndex) |
{ |
@@ -1701,7 +1690,6 @@ void CPDF_VariableText_Iterator::SetAt(const CPVT_WordPlace & place) |
} |
FX_BOOL CPDF_VariableText_Iterator::NextWord() |
{ |
- ASSERT(m_pVT != NULL); |
if (m_CurPos == m_pVT->GetEndWordPlace()) { |
return FALSE; |
} |
@@ -1710,7 +1698,6 @@ FX_BOOL CPDF_VariableText_Iterator::NextWord() |
} |
FX_BOOL CPDF_VariableText_Iterator::PrevWord() |
{ |
- ASSERT(m_pVT != NULL); |
if (m_CurPos == m_pVT->GetBeginWordPlace()) { |
return FALSE; |
} |
@@ -1719,33 +1706,29 @@ FX_BOOL CPDF_VariableText_Iterator::PrevWord() |
} |
FX_BOOL CPDF_VariableText_Iterator::NextLine() |
{ |
- ASSERT(m_pVT != NULL); |
if (CSection * pSection = m_pVT->m_SectionArray.GetAt(m_CurPos.nSecIndex)) { |
if (m_CurPos.nLineIndex < pSection->m_LineArray.GetSize() - 1) { |
m_CurPos = CPVT_WordPlace(m_CurPos.nSecIndex, m_CurPos.nLineIndex + 1, -1); |
return TRUE; |
- } else { |
- if (m_CurPos.nSecIndex < m_pVT->m_SectionArray.GetSize() - 1) { |
- m_CurPos = CPVT_WordPlace(m_CurPos.nSecIndex + 1, 0, -1); |
- return TRUE; |
- } |
+ } |
+ if (m_CurPos.nSecIndex < m_pVT->m_SectionArray.GetSize() - 1) { |
+ m_CurPos = CPVT_WordPlace(m_CurPos.nSecIndex + 1, 0, -1); |
+ return TRUE; |
} |
} |
return FALSE; |
} |
FX_BOOL CPDF_VariableText_Iterator::PrevLine() |
{ |
- ASSERT(m_pVT != NULL); |
if (m_pVT->m_SectionArray.GetAt(m_CurPos.nSecIndex)) { |
if (m_CurPos.nLineIndex > 0) { |
m_CurPos = CPVT_WordPlace(m_CurPos.nSecIndex, m_CurPos.nLineIndex - 1, -1); |
return TRUE; |
- } else { |
- if (m_CurPos.nSecIndex > 0) { |
- if (CSection * pLastSection = m_pVT->m_SectionArray.GetAt(m_CurPos.nSecIndex - 1)) { |
- m_CurPos = CPVT_WordPlace(m_CurPos.nSecIndex - 1, pLastSection->m_LineArray.GetSize() - 1, -1); |
- return TRUE; |
- } |
+ } |
+ if (m_CurPos.nSecIndex > 0) { |
+ if (CSection * pLastSection = m_pVT->m_SectionArray.GetAt(m_CurPos.nSecIndex - 1)) { |
+ m_CurPos = CPVT_WordPlace(m_CurPos.nSecIndex - 1, pLastSection->m_LineArray.GetSize() - 1, -1); |
+ return TRUE; |
} |
} |
} |
@@ -1753,7 +1736,6 @@ FX_BOOL CPDF_VariableText_Iterator::PrevLine() |
} |
FX_BOOL CPDF_VariableText_Iterator::NextSection() |
{ |
- ASSERT(m_pVT != NULL); |
if (m_CurPos.nSecIndex < m_pVT->m_SectionArray.GetSize() - 1) { |
m_CurPos = CPVT_WordPlace(m_CurPos.nSecIndex + 1, 0, -1); |
return TRUE; |