Index: core/fpdfdoc/cpvt_generateap.cpp |
diff --git a/core/fpdfdoc/cpvt_generateap.cpp b/core/fpdfdoc/cpvt_generateap.cpp |
index 5ec9513e849e184dc135e265f0af98d124632388..7fcd90969e85019f2a2590d7c81645a225f634d3 100644 |
--- a/core/fpdfdoc/cpvt_generateap.cpp |
+++ b/core/fpdfdoc/cpvt_generateap.cpp |
@@ -507,76 +507,73 @@ CFX_ByteString CPVT_GenerateAP::GenerateEditAP( |
CFX_ByteTextBuf sEditStream, sLineStream, sWords; |
CFX_FloatPoint ptOld(0.0f, 0.0f), ptNew(0.0f, 0.0f); |
int32_t nCurFontIndex = -1; |
- if (pIterator) { |
- pIterator->SetAt(0); |
- |
- CPVT_WordPlace oldplace; |
- while (pIterator->NextWord()) { |
- CPVT_WordPlace place = pIterator->GetAt(); |
- if (bContinuous) { |
- if (place.LineCmp(oldplace) != 0) { |
- if (sWords.GetSize() > 0) { |
- sLineStream << GetWordRenderString(sWords.AsStringC()); |
- sEditStream << sLineStream; |
- sLineStream.Clear(); |
- sWords.Clear(); |
- } |
- CPVT_Word word; |
- if (pIterator->GetWord(word)) { |
- ptNew = CFX_FloatPoint(word.ptWord.x + ptOffset.x, |
- word.ptWord.y + ptOffset.y); |
- } else { |
- CPVT_Line line; |
- pIterator->GetLine(line); |
- ptNew = CFX_FloatPoint(line.ptLine.x + ptOffset.x, |
- line.ptLine.y + ptOffset.y); |
- } |
- if (ptNew.x != ptOld.x || ptNew.y != ptOld.y) { |
- sLineStream << ptNew.x - ptOld.x << " " << ptNew.y - ptOld.y |
- << " Td\n"; |
- ptOld = ptNew; |
- } |
+ pIterator->SetAt(0); |
+ |
+ CPVT_WordPlace oldplace; |
+ while (pIterator->NextWord()) { |
+ CPVT_WordPlace place = pIterator->GetAt(); |
+ if (bContinuous) { |
+ if (place.LineCmp(oldplace) != 0) { |
+ if (sWords.GetSize() > 0) { |
+ sLineStream << GetWordRenderString(sWords.AsStringC()); |
+ sEditStream << sLineStream; |
+ sLineStream.Clear(); |
+ sWords.Clear(); |
} |
CPVT_Word word; |
if (pIterator->GetWord(word)) { |
- if (word.nFontIndex != nCurFontIndex) { |
- if (sWords.GetSize() > 0) { |
- sLineStream << GetWordRenderString(sWords.AsStringC()); |
- sWords.Clear(); |
- } |
- sLineStream << GetFontSetString(pFontMap, word.nFontIndex, |
- word.fFontSize); |
- nCurFontIndex = word.nFontIndex; |
- } |
- sWords << GetPDFWordString(pFontMap, nCurFontIndex, word.Word, |
- SubWord); |
- } |
- oldplace = place; |
- } else { |
- CPVT_Word word; |
- if (pIterator->GetWord(word)) { |
ptNew = CFX_FloatPoint(word.ptWord.x + ptOffset.x, |
word.ptWord.y + ptOffset.y); |
- if (ptNew.x != ptOld.x || ptNew.y != ptOld.y) { |
- sEditStream << ptNew.x - ptOld.x << " " << ptNew.y - ptOld.y |
- << " Td\n"; |
- ptOld = ptNew; |
- } |
- if (word.nFontIndex != nCurFontIndex) { |
- sEditStream << GetFontSetString(pFontMap, word.nFontIndex, |
- word.fFontSize); |
- nCurFontIndex = word.nFontIndex; |
+ } else { |
+ CPVT_Line line; |
+ pIterator->GetLine(line); |
+ ptNew = CFX_FloatPoint(line.ptLine.x + ptOffset.x, |
+ line.ptLine.y + ptOffset.y); |
+ } |
+ if (ptNew.x != ptOld.x || ptNew.y != ptOld.y) { |
+ sLineStream << ptNew.x - ptOld.x << " " << ptNew.y - ptOld.y |
+ << " Td\n"; |
+ ptOld = ptNew; |
+ } |
+ } |
+ CPVT_Word word; |
+ if (pIterator->GetWord(word)) { |
+ if (word.nFontIndex != nCurFontIndex) { |
+ if (sWords.GetSize() > 0) { |
+ sLineStream << GetWordRenderString(sWords.AsStringC()); |
+ sWords.Clear(); |
} |
- sEditStream << GetWordRenderString( |
- GetPDFWordString(pFontMap, nCurFontIndex, word.Word, SubWord)); |
+ sLineStream << GetFontSetString(pFontMap, word.nFontIndex, |
+ word.fFontSize); |
+ nCurFontIndex = word.nFontIndex; |
} |
+ sWords << GetPDFWordString(pFontMap, nCurFontIndex, word.Word, SubWord); |
+ } |
+ oldplace = place; |
+ } else { |
+ CPVT_Word word; |
+ if (pIterator->GetWord(word)) { |
+ ptNew = CFX_FloatPoint(word.ptWord.x + ptOffset.x, |
+ word.ptWord.y + ptOffset.y); |
+ if (ptNew.x != ptOld.x || ptNew.y != ptOld.y) { |
+ sEditStream << ptNew.x - ptOld.x << " " << ptNew.y - ptOld.y |
+ << " Td\n"; |
+ ptOld = ptNew; |
+ } |
+ if (word.nFontIndex != nCurFontIndex) { |
+ sEditStream << GetFontSetString(pFontMap, word.nFontIndex, |
+ word.fFontSize); |
+ nCurFontIndex = word.nFontIndex; |
+ } |
+ sEditStream << GetWordRenderString( |
+ GetPDFWordString(pFontMap, nCurFontIndex, word.Word, SubWord)); |
} |
} |
- if (sWords.GetSize() > 0) { |
- sLineStream << GetWordRenderString(sWords.AsStringC()); |
- sEditStream << sLineStream; |
- sWords.Clear(); |
- } |
+ } |
+ if (sWords.GetSize() > 0) { |
+ sLineStream << GetWordRenderString(sWords.AsStringC()); |
+ sEditStream << sLineStream; |
+ sWords.Clear(); |
} |
return sEditStream.AsStringC(); |
} |