Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(451)

Side by Side Diff: core/src/fpdftext/fpdf_text_int.cpp

Issue 1452673002: Merge to XFA: Reland "Cleanup some numeric code."" (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #include <ctype.h> 7 #include <cctype>
8 #include <cwctype>
8 #include <algorithm> 9 #include <algorithm>
9 10
10 #include "core/include/fpdfapi/fpdf_module.h" 11 #include "core/include/fpdfapi/fpdf_module.h"
11 #include "core/include/fpdfapi/fpdf_page.h" 12 #include "core/include/fpdfapi/fpdf_page.h"
12 #include "core/include/fpdfapi/fpdf_pageobj.h" 13 #include "core/include/fpdfapi/fpdf_pageobj.h"
13 #include "core/include/fpdfapi/fpdf_resource.h" 14 #include "core/include/fpdfapi/fpdf_resource.h"
14 #include "core/include/fpdftext/fpdf_text.h" 15 #include "core/include/fpdftext/fpdf_text.h"
15 #include "core/include/fxcrt/fx_bidi.h" 16 #include "core/include/fxcrt/fx_bidi.h"
16 #include "core/include/fxcrt/fx_ucd.h" 17 #include "core/include/fxcrt/fx_ucd.h"
17 #include "text_int.h" 18 #include "text_int.h"
(...skipping 2421 matching lines...) Expand 10 before | Expand all | Expand 10 after
2439 } 2440 }
2440 if (!csWord.IsEmpty()) { 2441 if (!csWord.IsEmpty()) {
2441 m_csFindWhatArray.Add(csWord); 2442 m_csFindWhatArray.Add(csWord);
2442 } 2443 }
2443 index++; 2444 index++;
2444 } 2445 }
2445 } 2446 }
2446 FX_BOOL CPDF_TextPageFind::IsMatchWholeWord(const CFX_WideString& csPageText, 2447 FX_BOOL CPDF_TextPageFind::IsMatchWholeWord(const CFX_WideString& csPageText,
2447 int startPos, 2448 int startPos,
2448 int endPos) { 2449 int endPos) {
2449 int char_left = 0; 2450 FX_WCHAR char_left = 0;
2450 int char_right = 0; 2451 FX_WCHAR char_right = 0;
2451 int char_count = endPos - startPos + 1; 2452 int char_count = endPos - startPos + 1;
2452 if (char_count < 1) { 2453 if (char_count < 1) {
2453 return FALSE; 2454 return FALSE;
2454 } 2455 }
2455 if (char_count == 1 && csPageText.GetAt(startPos) > 255) { 2456 if (char_count == 1 && csPageText.GetAt(startPos) > 255) {
2456 return TRUE; 2457 return TRUE;
2457 } 2458 }
2458 if (startPos - 1 >= 0) { 2459 if (startPos - 1 >= 0) {
2459 char_left = csPageText.GetAt(startPos - 1); 2460 char_left = csPageText.GetAt(startPos - 1);
2460 } 2461 }
2461 if (startPos + char_count < csPageText.GetLength()) { 2462 if (startPos + char_count < csPageText.GetLength()) {
2462 char_right = csPageText.GetAt(startPos + char_count); 2463 char_right = csPageText.GetAt(startPos + char_count);
2463 } 2464 }
2464 if ((char_left > 'A' && char_left < 'a') || 2465 if ((char_left > 'A' && char_left < 'a') ||
2465 (char_left > 'a' && char_left < 'z') || 2466 (char_left > 'a' && char_left < 'z') ||
2466 (char_left > 0xfb00 && char_left < 0xfb06) || 2467 (char_left > 0xfb00 && char_left < 0xfb06) || std::iswdigit(char_left) ||
2467 (char_left >= '0' && char_left <= '9') ||
2468 (char_right > 'A' && char_right < 'a') || 2468 (char_right > 'A' && char_right < 'a') ||
2469 (char_right > 'a' && char_right < 'z') || 2469 (char_right > 'a' && char_right < 'z') ||
2470 (char_right > 0xfb00 && char_right < 0xfb06) || 2470 (char_right > 0xfb00 && char_right < 0xfb06) ||
2471 (char_right >= '0' && char_right <= '9')) { 2471 std::iswdigit(char_right)) {
2472 return FALSE; 2472 return FALSE;
2473 } 2473 }
2474 if (!(('A' > char_left || char_left > 'Z') && 2474 if (!(('A' > char_left || char_left > 'Z') &&
2475 ('a' > char_left || char_left > 'z') && 2475 ('a' > char_left || char_left > 'z') &&
2476 ('A' > char_right || char_right > 'Z') && 2476 ('A' > char_right || char_right > 'Z') &&
2477 ('a' > char_right || char_right > 'z'))) { 2477 ('a' > char_right || char_right > 'z'))) {
2478 return FALSE; 2478 return FALSE;
2479 } 2479 }
2480 if (char_count > 0) { 2480 if (char_count > 0) {
2481 if (csPageText.GetAt(startPos) >= L'0' && 2481 if (csPageText.GetAt(startPos) >= L'0' &&
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after
2756 if (!m_bIsParsed || index < 0 || index >= m_LinkList.GetSize()) { 2756 if (!m_bIsParsed || index < 0 || index >= m_LinkList.GetSize()) {
2757 return; 2757 return;
2758 } 2758 }
2759 CPDF_LinkExt* link = NULL; 2759 CPDF_LinkExt* link = NULL;
2760 link = m_LinkList.GetAt(index); 2760 link = m_LinkList.GetAt(index);
2761 if (!link) { 2761 if (!link) {
2762 return; 2762 return;
2763 } 2763 }
2764 m_pTextPage->GetRectArray(link->m_Start, link->m_Count, rects); 2764 m_pTextPage->GetRectArray(link->m_Start, link->m_Count, rects);
2765 } 2765 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698