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 "../../public/fpdf_sysfontinfo.h" | 7 #include "../../public/fpdf_sysfontinfo.h" |
8 #include "../include/fsdk_define.h" | 8 #include "../include/fsdk_define.h" |
| 9 #include "../include/pdfwindow/PWL_FontMap.h" |
9 | 10 |
10 class CSysFontInfo_Ext FX_FINAL : public IFX_SystemFontInfo | 11 class CSysFontInfo_Ext FX_FINAL : public IFX_SystemFontInfo |
11 { | 12 { |
12 public: | 13 public: |
13 FPDF_SYSFONTINFO* m_pInfo; | 14 FPDF_SYSFONTINFO* m_pInfo; |
14 | 15 |
15 virtual void Release() FX_OVERRIDE | 16 virtual void Release() FX_OVERRIDE |
16 { | 17 { |
17 if (m_pInfo->Release) | 18 if (m_pInfo->Release) |
18 m_pInfo->Release(m_pInfo); | 19 m_pInfo->Release(m_pInfo); |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 | 88 |
88 DLLEXPORT void STDCALL FPDF_SetSystemFontInfo(FPDF_SYSFONTINFO* pFontInfoExt) | 89 DLLEXPORT void STDCALL FPDF_SetSystemFontInfo(FPDF_SYSFONTINFO* pFontInfoExt) |
89 { | 90 { |
90 if (pFontInfoExt->version != 1) return; | 91 if (pFontInfoExt->version != 1) return; |
91 | 92 |
92 CSysFontInfo_Ext* pFontInfo = new CSysFontInfo_Ext; | 93 CSysFontInfo_Ext* pFontInfo = new CSysFontInfo_Ext; |
93 pFontInfo->m_pInfo = pFontInfoExt; | 94 pFontInfo->m_pInfo = pFontInfoExt; |
94 CFX_GEModule::Get()->GetFontMgr()->SetSystemFontInfo(pFontInfo); | 95 CFX_GEModule::Get()->GetFontMgr()->SetSystemFontInfo(pFontInfo); |
95 } | 96 } |
96 | 97 |
| 98 DLLEXPORT const FPDF_CharsetFontMap* STDCALL FPDF_GetDefaultTTFMap() |
| 99 { |
| 100 return CPWL_FontMap::defaultTTFMap; |
| 101 } |
| 102 |
97 struct FPDF_SYSFONTINFO_DEFAULT : public FPDF_SYSFONTINFO | 103 struct FPDF_SYSFONTINFO_DEFAULT : public FPDF_SYSFONTINFO |
98 { | 104 { |
99 IFX_SystemFontInfo* m_pFontInfo; | 105 IFX_SystemFontInfo* m_pFontInfo; |
100 }; | 106 }; |
101 | 107 |
102 static void DefaultRelease(struct _FPDF_SYSFONTINFO* pThis) | 108 static void DefaultRelease(struct _FPDF_SYSFONTINFO* pThis) |
103 { | 109 { |
104 ((FPDF_SYSFONTINFO_DEFAULT*)pThis)->m_pFontInfo->Release(); | 110 ((FPDF_SYSFONTINFO_DEFAULT*)pThis)->m_pFontInfo->Release(); |
105 } | 111 } |
106 | 112 |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
157 pFontInfoExt->GetFaceName = DefaultGetFaceName; | 163 pFontInfoExt->GetFaceName = DefaultGetFaceName; |
158 pFontInfoExt->GetFont = DefaultGetFont; | 164 pFontInfoExt->GetFont = DefaultGetFont; |
159 pFontInfoExt->GetFontCharset = DefaultGetFontCharset; | 165 pFontInfoExt->GetFontCharset = DefaultGetFontCharset; |
160 pFontInfoExt->GetFontData = DefaultGetFontData; | 166 pFontInfoExt->GetFontData = DefaultGetFontData; |
161 pFontInfoExt->MapFont = DefaultMapFont; | 167 pFontInfoExt->MapFont = DefaultMapFont; |
162 pFontInfoExt->Release = DefaultRelease; | 168 pFontInfoExt->Release = DefaultRelease; |
163 pFontInfoExt->version = 1; | 169 pFontInfoExt->version = 1; |
164 pFontInfoExt->m_pFontInfo = pFontInfo; | 170 pFontInfoExt->m_pFontInfo = pFontInfo; |
165 return pFontInfoExt; | 171 return pFontInfoExt; |
166 } | 172 } |
OLD | NEW |