| Index: core/src/fpdftext/fpdf_text_int.cpp
|
| diff --git a/core/src/fpdftext/fpdf_text_int.cpp b/core/src/fpdftext/fpdf_text_int.cpp
|
| index cf6cde1169c8e06542951d49b75c0ad27902e752..f527f48814d72c4ce209c6bfd0b17f703c1374a0 100644
|
| --- a/core/src/fpdftext/fpdf_text_int.cpp
|
| +++ b/core/src/fpdftext/fpdf_text_int.cpp
|
| @@ -161,9 +161,9 @@ FX_BOOL CPDF_TextPage::ParseTextPage() {
|
| PAGECHAR_INFO charinfo = *(PAGECHAR_INFO*)m_charList.GetAt(i);
|
| if (charinfo.m_Flag == FPDFTEXT_CHAR_GENERATED) {
|
| bNormal = TRUE;
|
| - } else if (charinfo.m_Unicode == 0 || IsControlChar(charinfo))
|
| + } else if (charinfo.m_Unicode == 0 || IsControlChar(charinfo)) {
|
| bNormal = FALSE;
|
| - else {
|
| + } else {
|
| bNormal = TRUE;
|
| }
|
| if (bNormal) {
|
| @@ -1807,10 +1807,10 @@ FX_BOOL CPDF_TextPage::IsHyphen(FX_WCHAR curChar) {
|
| }
|
| preChar = (PAGECHAR_INFO)m_charList[size - 1];
|
| }
|
| - if (FPDFTEXT_CHAR_PIECE == preChar.m_Flag)
|
| - if (0xAD == preChar.m_Unicode || 0x2D == preChar.m_Unicode) {
|
| - return TRUE;
|
| - }
|
| + if (FPDFTEXT_CHAR_PIECE == preChar.m_Flag &&
|
| + (0xAD == preChar.m_Unicode || 0x2D == preChar.m_Unicode)) {
|
| + return TRUE;
|
| + }
|
| }
|
| return FALSE;
|
| }
|
| @@ -1920,17 +1920,14 @@ int CPDF_TextPage::ProcessInsertObject(const CPDF_TextObject* pObj,
|
| }
|
| }
|
| }
|
| - if (bNewline) {
|
| - if (IsHyphen(curChar)) {
|
| - return 3;
|
| - }
|
| - return 2;
|
| - }
|
| + if (bNewline)
|
| + return IsHyphen(curChar) ? 3 : 2;
|
| +
|
| int32_t nChars = pObj->CountChars();
|
| - if (nChars == 1 && (0x2D == curChar || 0xAD == curChar))
|
| - if (IsHyphen(curChar)) {
|
| - return 3;
|
| - }
|
| + if (nChars == 1 && (0x2D == curChar || 0xAD == curChar) &&
|
| + IsHyphen(curChar)) {
|
| + return 3;
|
| + }
|
| CFX_WideString PrevStr =
|
| m_pPreTextObj->GetFont()->UnicodeFromCharCode(PrevItem.m_CharCode);
|
| FX_WCHAR preChar = PrevStr.GetAt(PrevStr.GetLength() - 1);
|
| @@ -1956,7 +1953,7 @@ int CPDF_TextPage::ProcessInsertObject(const CPDF_TextObject* pObj,
|
| threshold *= 1.5;
|
| }
|
| if (FXSYS_fabs(last_pos + last_width - x) > threshold && curChar != L' ' &&
|
| - preChar != L' ')
|
| + preChar != L' ') {
|
| if (curChar != L' ' && preChar != L' ') {
|
| if ((x - last_pos - last_width) > threshold ||
|
| (last_pos - x - last_width) > threshold) {
|
| @@ -1970,6 +1967,7 @@ int CPDF_TextPage::ProcessInsertObject(const CPDF_TextObject* pObj,
|
| return 1;
|
| }
|
| }
|
| + }
|
| return 0;
|
| }
|
| FX_BOOL CPDF_TextPage::IsSameTextObject(CPDF_TextObject* pTextObj1,
|
| @@ -2023,8 +2021,8 @@ FX_BOOL CPDF_TextPage::IsSameTextObject(CPDF_TextObject* pTextObj1,
|
| GetCharWidth(itemPer.m_CharCode, pTextObj2->GetFont()) *
|
| pTextObj2->GetFontSize() / 1000 * 0.9 ||
|
| FXSYS_fabs(pTextObj1->GetPosY() - pTextObj2->GetPosY()) >
|
| - FX_MAX(FX_MAX(rcPreObj.Height(), rcPreObj.Width()),
|
| - pTextObj2->GetFontSize()) /
|
| + std::max(std::max(rcPreObj.Height(), rcPreObj.Width()),
|
| + pTextObj2->GetFontSize()) /
|
| 8) {
|
| return FALSE;
|
| }
|
|
|