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

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

Issue 1547833002: Switch from nonstd::unique_ptr to std::unique_ptr. (Closed) Base URL: https://pdfium.googlesource.com/pdfium@master
Patch Set: rebase Created 4 years, 12 months 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
« no previous file with comments | « core/src/fpdftext/fpdf_text.cpp ('k') | core/src/fxcodec/codec/codec_int.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 <algorithm>
7 #include <cctype> 8 #include <cctype>
8 #include <cwctype> 9 #include <cwctype>
9 #include <algorithm> 10 #include <memory>
10 11
11 #include "core/include/fpdfapi/fpdf_module.h" 12 #include "core/include/fpdfapi/fpdf_module.h"
12 #include "core/include/fpdfapi/fpdf_page.h" 13 #include "core/include/fpdfapi/fpdf_page.h"
13 #include "core/include/fpdfapi/fpdf_pageobj.h" 14 #include "core/include/fpdfapi/fpdf_pageobj.h"
14 #include "core/include/fpdfapi/fpdf_resource.h" 15 #include "core/include/fpdfapi/fpdf_resource.h"
15 #include "core/include/fpdftext/fpdf_text.h" 16 #include "core/include/fpdftext/fpdf_text.h"
16 #include "core/include/fxcrt/fx_bidi.h" 17 #include "core/include/fxcrt/fx_bidi.h"
17 #include "core/include/fxcrt/fx_ext.h" 18 #include "core/include/fxcrt/fx_ext.h"
18 #include "core/include/fxcrt/fx_ucd.h" 19 #include "core/include/fxcrt/fx_ucd.h"
19 #include "text_int.h" 20 #include "text_int.h"
20 #include "third_party/base/nonstd_unique_ptr.h"
21 21
22 namespace { 22 namespace {
23 23
24 FX_BOOL _IsIgnoreSpaceCharacter(FX_WCHAR curChar) { 24 FX_BOOL _IsIgnoreSpaceCharacter(FX_WCHAR curChar) {
25 if (curChar < 255) { 25 if (curChar < 255) {
26 return FALSE; 26 return FALSE;
27 } 27 }
28 if ((curChar >= 0x0600 && curChar <= 0x06FF) || 28 if ((curChar >= 0x0600 && curChar <= 0x06FF) ||
29 (curChar >= 0xFE70 && curChar <= 0xFEFF) || 29 (curChar >= 0xFE70 && curChar <= 0xFEFF) ||
30 (curChar >= 0xFB50 && curChar <= 0xFDFF) || 30 (curChar >= 0xFB50 && curChar <= 0xFDFF) ||
(...skipping 1015 matching lines...) Expand 10 before | Expand all | Expand 10 after
1046 } 1046 }
1047 if (!m_ParseOptions.m_bGetCharCodeOnly) { 1047 if (!m_ParseOptions.m_bGetCharCodeOnly) {
1048 m_charList.Add(Info); 1048 m_charList.Add(Info);
1049 } 1049 }
1050 } 1050 }
1051 void CPDF_TextPage::CloseTempLine() { 1051 void CPDF_TextPage::CloseTempLine() {
1052 int count1 = m_TempCharList.GetSize(); 1052 int count1 = m_TempCharList.GetSize();
1053 if (count1 <= 0) { 1053 if (count1 <= 0) {
1054 return; 1054 return;
1055 } 1055 }
1056 nonstd::unique_ptr<CFX_BidiChar> pBidiChar(new CFX_BidiChar); 1056 std::unique_ptr<CFX_BidiChar> pBidiChar(new CFX_BidiChar);
1057 CFX_WideString str = m_TempTextBuf.GetWideString(); 1057 CFX_WideString str = m_TempTextBuf.GetWideString();
1058 CFX_WordArray order; 1058 CFX_WordArray order;
1059 FX_BOOL bR2L = FALSE; 1059 FX_BOOL bR2L = FALSE;
1060 int32_t start = 0, count = 0; 1060 int32_t start = 0, count = 0;
1061 int nR2L = 0, nL2R = 0; 1061 int nR2L = 0, nL2R = 0;
1062 FX_BOOL bPrevSpace = FALSE; 1062 FX_BOOL bPrevSpace = FALSE;
1063 for (int i = 0; i < str.GetLength(); i++) { 1063 for (int i = 0; i < str.GetLength(); i++) {
1064 if (str.GetAt(i) == 32) { 1064 if (str.GetAt(i) == 32) {
1065 if (bPrevSpace) { 1065 if (bPrevSpace) {
1066 m_TempTextBuf.Delete(i, 1); 1066 m_TempTextBuf.Delete(i, 1);
(...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after
1434 FX_WCHAR* pTempBuffer = m_TempTextBuf.GetBuffer(); 1434 FX_WCHAR* pTempBuffer = m_TempTextBuf.GetBuffer();
1435 i = iBufStartAppend; 1435 i = iBufStartAppend;
1436 j = m_TempTextBuf.GetLength() - 1; 1436 j = m_TempTextBuf.GetLength() - 1;
1437 for (; i < j; i++, j--) { 1437 for (; i < j; i++, j--) {
1438 std::swap(pTempBuffer[i], pTempBuffer[j]); 1438 std::swap(pTempBuffer[i], pTempBuffer[j]);
1439 } 1439 }
1440 } 1440 }
1441 FX_BOOL CPDF_TextPage::IsRightToLeft(const CPDF_TextObject* pTextObj, 1441 FX_BOOL CPDF_TextPage::IsRightToLeft(const CPDF_TextObject* pTextObj,
1442 const CPDF_Font* pFont, 1442 const CPDF_Font* pFont,
1443 int nItems) const { 1443 int nItems) const {
1444 nonstd::unique_ptr<CFX_BidiChar> pBidiChar(new CFX_BidiChar); 1444 std::unique_ptr<CFX_BidiChar> pBidiChar(new CFX_BidiChar);
1445 int32_t nR2L = 0; 1445 int32_t nR2L = 0;
1446 int32_t nL2R = 0; 1446 int32_t nL2R = 0;
1447 int32_t start = 0, count = 0; 1447 int32_t start = 0, count = 0;
1448 CPDF_TextObjectItem item; 1448 CPDF_TextObjectItem item;
1449 for (int32_t i = 0; i < nItems; i++) { 1449 for (int32_t i = 0; i < nItems; i++) {
1450 pTextObj->GetItemInfo(i, &item); 1450 pTextObj->GetItemInfo(i, &item);
1451 if (item.m_CharCode == (FX_DWORD)-1) { 1451 if (item.m_CharCode == (FX_DWORD)-1) {
1452 continue; 1452 continue;
1453 } 1453 }
1454 CFX_WideString wstrItem = pFont->UnicodeFromCharCode(item.m_CharCode); 1454 CFX_WideString wstrItem = pFont->UnicodeFromCharCode(item.m_CharCode);
(...skipping 1261 matching lines...) Expand 10 before | Expand all | Expand 10 after
2716 if (!m_bIsParsed || index < 0 || index >= m_LinkList.GetSize()) { 2716 if (!m_bIsParsed || index < 0 || index >= m_LinkList.GetSize()) {
2717 return; 2717 return;
2718 } 2718 }
2719 CPDF_LinkExt* link = NULL; 2719 CPDF_LinkExt* link = NULL;
2720 link = m_LinkList.GetAt(index); 2720 link = m_LinkList.GetAt(index);
2721 if (!link) { 2721 if (!link) {
2722 return; 2722 return;
2723 } 2723 }
2724 m_pTextPage->GetRectArray(link->m_Start, link->m_Count, rects); 2724 m_pTextPage->GetRectArray(link->m_Start, link->m_Count, rects);
2725 } 2725 }
OLDNEW
« no previous file with comments | « core/src/fpdftext/fpdf_text.cpp ('k') | core/src/fxcodec/codec/codec_int.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698