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

Side by Side Diff: xfa/fxfa/app/xfa_fontmgr.cpp

Issue 1882043004: Remove implicit cast from CFX_WideString to (const wchar_t*) (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: win error #2 Created 4 years, 8 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 | « xfa/fxfa/app/xfa_ffwidgetacc.cpp ('k') | xfa/fxfa/app/xfa_fwltheme.cpp » ('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 "xfa/fxfa/include/xfa_fontmgr.h" 7 #include "xfa/fxfa/include/xfa_fontmgr.h"
8 8
9 #include <algorithm> 9 #include <algorithm>
10 10
(...skipping 1707 matching lines...) Expand 10 before | Expand all | Expand 10 after
1718 #endif 1718 #endif
1719 } 1719 }
1720 const XFA_FONTINFO* XFA_GetFontINFOByFontName( 1720 const XFA_FONTINFO* XFA_GetFontINFOByFontName(
1721 const CFX_WideStringC& wsFontName) { 1721 const CFX_WideStringC& wsFontName) {
1722 #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ || \ 1722 #if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ || \
1723 _FXM_PLATFORM_ == _FXM_PLATFORM_LINUX_ || \ 1723 _FXM_PLATFORM_ == _FXM_PLATFORM_LINUX_ || \
1724 _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_ || \ 1724 _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_ || \
1725 _FXM_PLATFORM_ == _FXM_PLATFORM_ANDROID_ 1725 _FXM_PLATFORM_ == _FXM_PLATFORM_ANDROID_
1726 CFX_WideString wsFontNameTemp = wsFontName; 1726 CFX_WideString wsFontNameTemp = wsFontName;
1727 wsFontNameTemp.Remove(L' '); 1727 wsFontNameTemp.Remove(L' ');
1728 uint32_t dwCurFontNameHash = 1728 uint32_t dwCurFontNameHash = FX_HashCode_String_GetW(
1729 FX_HashCode_String_GetW(wsFontNameTemp, wsFontNameTemp.GetLength(), TRUE); 1729 wsFontNameTemp.c_str(), wsFontNameTemp.GetLength(), TRUE);
1730 int32_t iStart = 0; 1730 int32_t iStart = 0;
1731 int32_t iEnd = sizeof(g_XFAFontsMap) / sizeof(XFA_FONTINFO) - 1; 1731 int32_t iEnd = sizeof(g_XFAFontsMap) / sizeof(XFA_FONTINFO) - 1;
1732 int32_t iMid = 0; 1732 int32_t iMid = 0;
1733 const XFA_FONTINFO* pFontInfo = NULL; 1733 const XFA_FONTINFO* pFontInfo = NULL;
1734 do { 1734 do {
1735 iMid = (iStart + iEnd) / 2; 1735 iMid = (iStart + iEnd) / 2;
1736 uint32_t dwFontNameHash = g_XFAFontsMap[iMid].dwFontNameHash; 1736 uint32_t dwFontNameHash = g_XFAFontsMap[iMid].dwFontNameHash;
1737 if (dwFontNameHash == dwCurFontNameHash) { 1737 if (dwFontNameHash == dwCurFontNameHash) {
1738 pFontInfo = &g_XFAFontsMap[iMid]; 1738 pFontInfo = &g_XFAFontsMap[iMid];
1739 break; 1739 break;
(...skipping 16 matching lines...) Expand all
1756 } 1756 }
1757 m_CacheFonts.RemoveAll(); 1757 m_CacheFonts.RemoveAll();
1758 } 1758 }
1759 1759
1760 IFX_Font* CXFA_DefFontMgr::GetFont(CXFA_FFDoc* hDoc, 1760 IFX_Font* CXFA_DefFontMgr::GetFont(CXFA_FFDoc* hDoc,
1761 const CFX_WideStringC& wsFontFamily, 1761 const CFX_WideStringC& wsFontFamily,
1762 uint32_t dwFontStyles, 1762 uint32_t dwFontStyles,
1763 uint16_t wCodePage) { 1763 uint16_t wCodePage) {
1764 CFX_WideString wsFontName = wsFontFamily; 1764 CFX_WideString wsFontName = wsFontFamily;
1765 IFX_FontMgr* pFDEFontMgr = hDoc->GetApp()->GetFDEFontMgr(); 1765 IFX_FontMgr* pFDEFontMgr = hDoc->GetApp()->GetFDEFontMgr();
1766 IFX_Font* pFont = pFDEFontMgr->LoadFont(wsFontName, dwFontStyles, wCodePage); 1766 IFX_Font* pFont =
1767 pFDEFontMgr->LoadFont(wsFontName.c_str(), dwFontStyles, wCodePage);
1767 if (!pFont) { 1768 if (!pFont) {
1768 const XFA_FONTINFO* pCurFont = 1769 const XFA_FONTINFO* pCurFont =
1769 XFA_GetFontINFOByFontName(wsFontName.AsStringC()); 1770 XFA_GetFontINFOByFontName(wsFontName.AsStringC());
1770 if (pCurFont && pCurFont->pReplaceFont) { 1771 if (pCurFont && pCurFont->pReplaceFont) {
1771 uint32_t dwStyle = 0; 1772 uint32_t dwStyle = 0;
1772 if (dwFontStyles & FX_FONTSTYLE_Bold) { 1773 if (dwFontStyles & FX_FONTSTYLE_Bold) {
1773 dwStyle |= FX_FONTSTYLE_Bold; 1774 dwStyle |= FX_FONTSTYLE_Bold;
1774 } 1775 }
1775 if (dwFontStyles & FX_FONTSTYLE_Italic) { 1776 if (dwFontStyles & FX_FONTSTYLE_Italic) {
1776 dwStyle |= FX_FONTSTYLE_Italic; 1777 dwStyle |= FX_FONTSTYLE_Italic;
1777 } 1778 }
1778 const FX_WCHAR* pReplace = pCurFont->pReplaceFont; 1779 const FX_WCHAR* pReplace = pCurFont->pReplaceFont;
1779 int32_t iLength = FXSYS_wcslen(pReplace); 1780 int32_t iLength = FXSYS_wcslen(pReplace);
1780 while (iLength > 0) { 1781 while (iLength > 0) {
1781 const FX_WCHAR* pNameText = pReplace; 1782 const FX_WCHAR* pNameText = pReplace;
1782 while (*pNameText != L',' && iLength > 0) { 1783 while (*pNameText != L',' && iLength > 0) {
1783 pNameText++; 1784 pNameText++;
1784 iLength--; 1785 iLength--;
1785 } 1786 }
1786 CFX_WideString wsReplace = 1787 CFX_WideString wsReplace =
1787 CFX_WideString(pReplace, pNameText - pReplace); 1788 CFX_WideString(pReplace, pNameText - pReplace);
1788 pFont = pFDEFontMgr->LoadFont(wsReplace, dwStyle, wCodePage); 1789 pFont = pFDEFontMgr->LoadFont(wsReplace.c_str(), dwStyle, wCodePage);
1789 if (pFont) { 1790 if (pFont) {
1790 break; 1791 break;
1791 } 1792 }
1792 iLength--; 1793 iLength--;
1793 pNameText++; 1794 pNameText++;
1794 pReplace = pNameText; 1795 pReplace = pNameText;
1795 } 1796 }
1796 } 1797 }
1797 } 1798 }
1798 if (pFont) { 1799 if (pFont) {
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after
2076 CXFA_PDFFontMgr* pMgr = NULL; 2077 CXFA_PDFFontMgr* pMgr = NULL;
2077 m_PDFFontMgrArray.GetNextAssoc(ps, (void*&)hDoc, (void*&)pMgr); 2078 m_PDFFontMgrArray.GetNextAssoc(ps, (void*&)hDoc, (void*&)pMgr);
2078 delete pMgr; 2079 delete pMgr;
2079 } 2080 }
2080 m_PDFFontMgrArray.RemoveAll(); 2081 m_PDFFontMgrArray.RemoveAll();
2081 m_FontMap.clear(); 2082 m_FontMap.clear();
2082 } 2083 }
2083 void CXFA_FontMgr::SetDefFontMgr(CXFA_DefFontMgr* pFontMgr) { 2084 void CXFA_FontMgr::SetDefFontMgr(CXFA_DefFontMgr* pFontMgr) {
2084 m_pDefFontMgr = pFontMgr; 2085 m_pDefFontMgr = pFontMgr;
2085 } 2086 }
OLDNEW
« no previous file with comments | « xfa/fxfa/app/xfa_ffwidgetacc.cpp ('k') | xfa/fxfa/app/xfa_fwltheme.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698