diff options
author | Bo Xu <bo_xu@foxitsoftware.com> | 2014-12-19 08:56:16 -0800 |
---|---|---|
committer | Bo Xu <bo_xu@foxitsoftware.com> | 2014-12-19 08:56:16 -0800 |
commit | a09d50d09259bd90c865e92026a69f5434678e71 (patch) | |
tree | 88667dc911d20ed646f9b2db5190193f7b2ab939 /core | |
parent | e4fc5ced45c8fcfbe2487ec64eab036bc7d57602 (diff) | |
download | pdfium-a09d50d09259bd90c865e92026a69f5434678e71.tar.xz |
Transform font size to user space for valid text size comparison.
BUG=438441
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/816153002
Diffstat (limited to 'core')
-rw-r--r-- | core/src/fpdftext/fpdf_text_int.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/core/src/fpdftext/fpdf_text_int.cpp b/core/src/fpdftext/fpdf_text_int.cpp index 958b213d3d..4650272e4c 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; } |