OLD | NEW |
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 #include <utility> | 10 #include <utility> |
(...skipping 1757 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1768 int32_t iLength = FXSYS_wcslen(pReplace); | 1768 int32_t iLength = FXSYS_wcslen(pReplace); |
1769 while (iLength > 0) { | 1769 while (iLength > 0) { |
1770 const FX_WCHAR* pNameText = pReplace; | 1770 const FX_WCHAR* pNameText = pReplace; |
1771 while (*pNameText != L',' && iLength > 0) { | 1771 while (*pNameText != L',' && iLength > 0) { |
1772 pNameText++; | 1772 pNameText++; |
1773 iLength--; | 1773 iLength--; |
1774 } | 1774 } |
1775 CFX_WideString wsReplace = | 1775 CFX_WideString wsReplace = |
1776 CFX_WideString(pReplace, pNameText - pReplace); | 1776 CFX_WideString(pReplace, pNameText - pReplace); |
1777 pFont = pFDEFontMgr->LoadFont(wsReplace.c_str(), dwStyle, wCodePage); | 1777 pFont = pFDEFontMgr->LoadFont(wsReplace.c_str(), dwStyle, wCodePage); |
1778 if (pFont) { | 1778 if (pFont) |
1779 break; | 1779 break; |
1780 } | 1780 |
1781 iLength--; | 1781 iLength--; |
1782 pNameText++; | 1782 pNameText++; |
1783 pReplace = pNameText; | 1783 pReplace = pNameText; |
1784 } | 1784 } |
1785 } | 1785 } |
1786 } | 1786 } |
1787 if (pFont) { | 1787 if (pFont) |
1788 m_CacheFonts.Add(pFont); | 1788 m_CacheFonts.Add(pFont); |
1789 } | |
1790 return pFont; | 1789 return pFont; |
1791 } | 1790 } |
1792 | 1791 |
1793 CFGAS_GEFont* CXFA_DefFontMgr::GetDefaultFont( | 1792 CFGAS_GEFont* CXFA_DefFontMgr::GetDefaultFont( |
1794 CXFA_FFDoc* hDoc, | 1793 CXFA_FFDoc* hDoc, |
1795 const CFX_WideStringC& wsFontFamily, | 1794 const CFX_WideStringC& wsFontFamily, |
1796 uint32_t dwFontStyles, | 1795 uint32_t dwFontStyles, |
1797 uint16_t wCodePage) { | 1796 uint16_t wCodePage) { |
1798 IFGAS_FontMgr* pFDEFontMgr = hDoc->GetApp()->GetFDEFontMgr(); | 1797 IFGAS_FontMgr* pFDEFontMgr = hDoc->GetApp()->GetFDEFontMgr(); |
1799 CFGAS_GEFont* pFont = | 1798 CFGAS_GEFont* pFont = |
1800 pFDEFontMgr->LoadFont(L"Arial Narrow", dwFontStyles, wCodePage); | 1799 pFDEFontMgr->LoadFont(L"Arial Narrow", dwFontStyles, wCodePage); |
1801 if (!pFont) { | 1800 if (!pFont) { |
1802 pFont = pFDEFontMgr->LoadFont((const FX_WCHAR*)nullptr, dwFontStyles, | 1801 pFont = pFDEFontMgr->LoadFont((const FX_WCHAR*)nullptr, dwFontStyles, |
1803 wCodePage); | 1802 wCodePage); |
1804 } | 1803 } |
1805 | 1804 |
1806 ASSERT(pFont); | 1805 ASSERT(pFont); |
1807 if (pFont) { | 1806 if (pFont) |
1808 m_CacheFonts.Add(pFont); | 1807 m_CacheFonts.Add(pFont); |
1809 } | |
1810 return pFont; | 1808 return pFont; |
1811 } | 1809 } |
1812 struct XFA_PDFFONTNAME { | 1810 struct XFA_PDFFONTNAME { |
1813 const FX_CHAR* lpPsName; | 1811 const FX_CHAR* lpPsName; |
1814 const FX_CHAR* lpNormal; | 1812 const FX_CHAR* lpNormal; |
1815 const FX_CHAR* lpBold; | 1813 const FX_CHAR* lpBold; |
1816 const FX_CHAR* lpItalic; | 1814 const FX_CHAR* lpItalic; |
1817 const FX_CHAR* lpBoldItalic; | 1815 const FX_CHAR* lpBoldItalic; |
1818 }; | 1816 }; |
1819 const XFA_PDFFONTNAME g_XFAPDFFontName[] = { | 1817 const XFA_PDFFONTNAME g_XFAPDFFontName[] = { |
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2055 m_PDFFontMgrMap[hDoc].reset(new CXFA_PDFFontMgr(hDoc)); | 2053 m_PDFFontMgrMap[hDoc].reset(new CXFA_PDFFontMgr(hDoc)); |
2056 } | 2054 } |
2057 | 2055 |
2058 void CXFA_FontMgr::ReleaseDocFonts(CXFA_FFDoc* hDoc) { | 2056 void CXFA_FontMgr::ReleaseDocFonts(CXFA_FFDoc* hDoc) { |
2059 m_PDFFontMgrMap.erase(hDoc); | 2057 m_PDFFontMgrMap.erase(hDoc); |
2060 } | 2058 } |
2061 | 2059 |
2062 void CXFA_FontMgr::SetDefFontMgr(std::unique_ptr<CXFA_DefFontMgr> pFontMgr) { | 2060 void CXFA_FontMgr::SetDefFontMgr(std::unique_ptr<CXFA_DefFontMgr> pFontMgr) { |
2063 m_pDefFontMgr = std::move(pFontMgr); | 2061 m_pDefFontMgr = std::move(pFontMgr); |
2064 } | 2062 } |
OLD | NEW |