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 958b213d3d21b5ea318cbda2c4332daf2ae1a2a7..4650272e4c5a31c44d73b402f7c4c0aea2c4a9cc 100644 |
--- a/core/src/fpdftext/fpdf_text_int.cpp |
+++ b/core/src/fpdftext/fpdf_text_int.cpp |
@@ -1844,14 +1844,15 @@ void CPDF_TextPage::ProcessTextObject(PDFTEXT_Obj Obj) |
int nTotal = wstrItem.GetLength(); |
FX_BOOL bDel = FALSE; |
const int count = std::min(m_TempCharList.GetSize(), 7); |
+ FX_FLOAT threshold = charinfo.m_Matrix.TransformXDistance((FX_FLOAT)TEXT_CHARRATIO_GAPDELTA * pTextObj->GetFontSize()); |
for (int n = m_TempCharList.GetSize(); |
n > m_TempCharList.GetSize() - count; |
n--) { |
PAGECHAR_INFO* charinfo1 = (PAGECHAR_INFO*)m_TempCharList.GetAt(n - 1); |
if(charinfo1->m_CharCode == charinfo.m_CharCode && |
charinfo1->m_pTextObj->GetFont() == charinfo.m_pTextObj->GetFont() && |
- FXSYS_fabs(charinfo1->m_OriginX - charinfo.m_OriginX) < TEXT_CHARRATIO_GAPDELTA * pTextObj->GetFontSize() && |
- FXSYS_fabs(charinfo1->m_OriginY - charinfo.m_OriginY) < TEXT_CHARRATIO_GAPDELTA * pTextObj->GetFontSize() ) { |
+ FXSYS_fabs(charinfo1->m_OriginX - charinfo.m_OriginX) < threshold && |
+ FXSYS_fabs(charinfo1->m_OriginY - charinfo.m_OriginY) < threshold) { |
bDel = TRUE; |
break; |
} |