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 "../../../include/fxge/fx_ge.h" | 7 #include "../../../include/fxge/fx_ge.h" |
8 #include "apple_int.h" | 8 #include "apple_int.h" |
9 #if _FX_OS_ == _FX_MACOSX_ | 9 #if _FX_OS_ == _FX_MACOSX_ |
10 static const struct { | 10 static const struct { |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 int iBaseFont; | 58 int iBaseFont; |
59 for (iBaseFont = 0; iBaseFont < 12; iBaseFont++) | 59 for (iBaseFont = 0; iBaseFont < 12; iBaseFont++) |
60 if (face == CFX_ByteStringC(Base14Substs[iBaseFont].m_pName)) { | 60 if (face == CFX_ByteStringC(Base14Substs[iBaseFont].m_pName)) { |
61 face = Base14Substs[iBaseFont].m_pSubstName; | 61 face = Base14Substs[iBaseFont].m_pSubstName; |
62 iExact = TRUE; | 62 iExact = TRUE; |
63 break; | 63 break; |
64 } | 64 } |
65 if (iBaseFont < 12) { | 65 if (iBaseFont < 12) { |
66 return GetFont(face); | 66 return GetFont(face); |
67 } | 67 } |
68 void* p; | 68 auto it = m_FontList.find(face); |
69 if (m_FontList.Lookup(face, p)) { | 69 if (it != m_FontList.end()) |
70 return p; | 70 return it->second; |
71 } | 71 |
72 if (charset == FXFONT_ANSI_CHARSET && (pitch_family & FXFONT_FF_FIXEDPITCH)) { | 72 if (charset == FXFONT_ANSI_CHARSET && (pitch_family & FXFONT_FF_FIXEDPITCH)) { |
73 return GetFont("Courier New"); | 73 return GetFont("Courier New"); |
74 } | 74 } |
75 if (charset == FXFONT_ANSI_CHARSET || charset == FXFONT_SYMBOL_CHARSET) { | 75 if (charset == FXFONT_ANSI_CHARSET || charset == FXFONT_SYMBOL_CHARSET) { |
76 return NULL; | 76 return NULL; |
77 } | 77 } |
78 switch (charset) { | 78 switch (charset) { |
79 case FXFONT_SHIFTJIS_CHARSET: | 79 case FXFONT_SHIFTJIS_CHARSET: |
80 GetJapanesePreference(face, weight, pitch_family); | 80 GetJapanesePreference(face, weight, pitch_family); |
81 break; | 81 break; |
82 case FXFONT_GB2312_CHARSET: | 82 case FXFONT_GB2312_CHARSET: |
83 face = "STSong"; | 83 face = "STSong"; |
84 break; | 84 break; |
85 case FXFONT_HANGEUL_CHARSET: | 85 case FXFONT_HANGEUL_CHARSET: |
86 face = "AppleMyungjo"; | 86 face = "AppleMyungjo"; |
87 break; | 87 break; |
88 case FXFONT_CHINESEBIG5_CHARSET: | 88 case FXFONT_CHINESEBIG5_CHARSET: |
89 face = "LiSong Pro Light"; | 89 face = "LiSong Pro Light"; |
90 } | 90 } |
91 if (m_FontList.Lookup(face, p)) { | 91 it = m_FontList.find(face); |
92 return p; | 92 if (it != m_FontList.end()) |
93 } | 93 return it->second; |
| 94 |
94 return NULL; | 95 return NULL; |
95 } | 96 } |
96 IFX_SystemFontInfo* IFX_SystemFontInfo::CreateDefault() { | 97 IFX_SystemFontInfo* IFX_SystemFontInfo::CreateDefault() { |
97 CFX_MacFontInfo* pInfo = new CFX_MacFontInfo; | 98 CFX_MacFontInfo* pInfo = new CFX_MacFontInfo; |
98 if (!pInfo) { | 99 if (!pInfo) { |
99 return NULL; | 100 return NULL; |
100 } | 101 } |
101 pInfo->AddPath("~/Library/Fonts"); | 102 pInfo->AddPath("~/Library/Fonts"); |
102 pInfo->AddPath("/Library/Fonts"); | 103 pInfo->AddPath("/Library/Fonts"); |
103 pInfo->AddPath("/System/Library/Fonts"); | 104 pInfo->AddPath("/System/Library/Fonts"); |
104 return pInfo; | 105 return pInfo; |
105 } | 106 } |
106 void CFX_GEModule::InitPlatform() { | 107 void CFX_GEModule::InitPlatform() { |
107 m_pPlatformData = new CApplePlatform; | 108 m_pPlatformData = new CApplePlatform; |
108 m_pFontMgr->SetSystemFontInfo(IFX_SystemFontInfo::CreateDefault()); | 109 m_pFontMgr->SetSystemFontInfo(IFX_SystemFontInfo::CreateDefault()); |
109 } | 110 } |
110 void CFX_GEModule::DestroyPlatform() { | 111 void CFX_GEModule::DestroyPlatform() { |
111 delete (CApplePlatform*)m_pPlatformData; | 112 delete (CApplePlatform*)m_pPlatformData; |
112 m_pPlatformData = NULL; | 113 m_pPlatformData = NULL; |
113 } | 114 } |
114 #endif | 115 #endif |
OLD | NEW |