diff options
-rw-r--r-- | core/include/fxge/fx_font.h | 4 | ||||
-rw-r--r-- | core/src/fpdfapi/fpdf_font/fpdf_font.cpp | 24 | ||||
-rw-r--r-- | core/src/fxge/apple/fx_apple_platform.cpp | 10 | ||||
-rw-r--r-- | core/src/fxge/apple/fx_quartz_device.cpp | 10 |
4 files changed, 26 insertions, 22 deletions
diff --git a/core/include/fxge/fx_font.h b/core/include/fxge/fx_font.h index 04918ea275..1423be497b 100644 --- a/core/include/fxge/fx_font.h +++ b/core/include/fxge/fx_font.h @@ -91,6 +91,10 @@ class CFX_Font { FX_BOOL IsEmbedded() const { return m_bEmbedded; } uint8_t* GetSubData() const { return m_pGsubData; } void SetSubData(uint8_t* data) { m_pGsubData = data; } + void* GetPlatformFont() const { return m_pPlatformFont; } + void SetPlatformFont(void* font) { m_pPlatformFont = font; } + uint8_t* GetFontData() const { return m_pFontData; } + FX_DWORD GetSize() const { return m_dwSize; } void AdjustMMParams(int glyph_index, int width, int weight); private: diff --git a/core/src/fpdfapi/fpdf_font/fpdf_font.cpp b/core/src/fpdfapi/fpdf_font/fpdf_font.cpp index 37b0c019a5..a228cf76ec 100644 --- a/core/src/fpdfapi/fpdf_font/fpdf_font.cpp +++ b/core/src/fpdfapi/fpdf_font/fpdf_font.cpp @@ -1090,13 +1090,13 @@ void CPDF_Type1Font::LoadGlyphMap() { FX_BOOL bCoreText = TRUE; CQuartz2D& quartz2d = ((CApplePlatform*)CFX_GEModule::Get()->GetPlatformData())->_quartz2d; - if (!m_Font.m_pPlatformFont) { + if (!m_Font.GetPlatformFont()) { if (m_Font.GetPsName() == CFX_WideString::FromLocal("DFHeiStd-W5")) { bCoreText = FALSE; } - m_Font.m_pPlatformFont = - quartz2d.CreateFont(m_Font.m_pFontData, m_Font.m_dwSize); - if (NULL == m_Font.m_pPlatformFont) { + m_Font.SetPlatformFont( + quartz2d.CreateFont(m_Font.GetFontData(), m_Font.GetSize())); + if (!m_Font.GetPlatformFont()) { bCoreText = FALSE; } } @@ -1119,7 +1119,7 @@ void CPDF_Type1Font::LoadGlyphMap() { kCFAllocatorDefault, name_glyph, kCFStringEncodingASCII, kCFAllocatorNull); m_ExtGID[charcode] = CGFontGetGlyphWithGlyphName( - (CGFontRef)m_Font.m_pPlatformFont, name_ct); + (CGFontRef)m_Font.GetPlatformFont(), name_ct); if (name_ct) { CFRelease(name_ct); } @@ -1161,7 +1161,7 @@ void CPDF_Type1Font::LoadGlyphMap() { kCFAllocatorDefault, name_glyph, kCFStringEncodingASCII, kCFAllocatorNull); m_ExtGID[charcode] = CGFontGetGlyphWithGlyphName( - (CGFontRef)m_Font.m_pPlatformFont, name_ct); + (CGFontRef)m_Font.GetPlatformFont(), name_ct); if (name_ct) { CFRelease(name_ct); } @@ -1178,7 +1178,7 @@ void CPDF_Type1Font::LoadGlyphMap() { kCFAllocatorDefault, name_glyph, kCFStringEncodingASCII, kCFAllocatorNull); m_ExtGID[charcode] = CGFontGetGlyphWithGlyphName( - (CGFontRef)m_Font.m_pPlatformFont, name_ct); + (CGFontRef)m_Font.GetPlatformFont(), name_ct); if (name_ct) { CFRelease(name_ct); } @@ -1207,7 +1207,7 @@ void CPDF_Type1Font::LoadGlyphMap() { kCFAllocatorDefault, name, kCFStringEncodingASCII, kCFAllocatorNull); m_ExtGID[charcode] = CGFontGetGlyphWithGlyphName( - (CGFontRef)m_Font.m_pPlatformFont, name_ct); + (CGFontRef)m_Font.GetPlatformFont(), name_ct); if (name_ct) { CFRelease(name_ct); } @@ -1232,7 +1232,7 @@ void CPDF_Type1Font::LoadGlyphMap() { kCFAllocatorDefault, name_glyph, kCFStringEncodingASCII, kCFAllocatorNull); m_ExtGID[charcode] = CGFontGetGlyphWithGlyphName( - (CGFontRef)m_Font.m_pPlatformFont, name_ct); + (CGFontRef)m_Font.GetPlatformFont(), name_ct); if (name_ct) { CFRelease(name_ct); } @@ -1261,7 +1261,7 @@ void CPDF_Type1Font::LoadGlyphMap() { CFStringRef name_ct = CFStringCreateWithCStringNoCopy( kCFAllocatorDefault, name, kCFStringEncodingASCII, kCFAllocatorNull); m_ExtGID[charcode] = CGFontGetGlyphWithGlyphName( - (CGFontRef)m_Font.m_pPlatformFont, name_ct); + (CGFontRef)m_Font.GetPlatformFont(), name_ct); if (name_ct) { CFRelease(name_ct); } @@ -1279,7 +1279,7 @@ void CPDF_Type1Font::LoadGlyphMap() { kCFAllocatorDefault, name_glyph, kCFStringEncodingASCII, kCFAllocatorNull); m_ExtGID[charcode] = CGFontGetGlyphWithGlyphName( - (CGFontRef)m_Font.m_pPlatformFont, name_ct); + (CGFontRef)m_Font.GetPlatformFont(), name_ct); if (name_ct) { CFRelease(name_ct); } @@ -1295,7 +1295,7 @@ void CPDF_Type1Font::LoadGlyphMap() { kCFAllocatorDefault, name_glyph, kCFStringEncodingASCII, kCFAllocatorNull); m_ExtGID[charcode] = CGFontGetGlyphWithGlyphName( - (CGFontRef)m_Font.m_pPlatformFont, name_ct); + (CGFontRef)m_Font.GetPlatformFont(), name_ct); if (name_ct) { CFRelease(name_ct); } diff --git a/core/src/fxge/apple/fx_apple_platform.cpp b/core/src/fxge/apple/fx_apple_platform.cpp index 95cd1a1dd8..03b5629d4b 100644 --- a/core/src/fxge/apple/fx_apple_platform.cpp +++ b/core/src/fxge/apple/fx_apple_platform.cpp @@ -64,13 +64,13 @@ static FX_BOOL _CGDrawGlyphRun(CGContextRef pContext, } CQuartz2D& quartz2d = ((CApplePlatform*)CFX_GEModule::Get()->GetPlatformData())->_quartz2d; - if (!pFont->m_pPlatformFont) { + if (!pFont->GetPlatformFont()) { if (pFont->GetPsName() == CFX_WideString::FromLocal("DFHeiStd-W5")) { return FALSE; } - pFont->m_pPlatformFont = - quartz2d.CreateFont(pFont->m_pFontData, pFont->m_dwSize); - if (NULL == pFont->m_pPlatformFont) { + pFont->SetPlatformFont( + quartz2d.CreateFont(pFont->GetFontData(), pFont->GetSize())); + if (!pFont->GetPlatformFont()) { return FALSE; } } @@ -92,7 +92,7 @@ static FX_BOOL _CGDrawGlyphRun(CGContextRef pContext, new_matrix.d = -new_matrix.d; } quartz2d.setGraphicsTextMatrix(pContext, &new_matrix); - return quartz2d.drawGraphicsString(pContext, pFont->m_pPlatformFont, + return quartz2d.drawGraphicsString(pContext, pFont->GetPlatformFont(), font_size, glyph_indices, glyph_positions, nChars, argb, NULL); } diff --git a/core/src/fxge/apple/fx_quartz_device.cpp b/core/src/fxge/apple/fx_quartz_device.cpp index 61a0cef543..eba27c0049 100644 --- a/core/src/fxge/apple/fx_quartz_device.cpp +++ b/core/src/fxge/apple/fx_quartz_device.cpp @@ -751,13 +751,13 @@ FX_BOOL CFX_QuartzDeviceDriver::CG_DrawGlypRun( } CQuartz2D& quartz2d = ((CApplePlatform*)CFX_GEModule::Get()->GetPlatformData())->_quartz2d; - if (!pFont->m_pPlatformFont) { + if (!pFont->GetPlatformFont()) { if (pFont->GetPsName() == CFX_WideString::FromLocal("DFHeiStd-W5")) { return FALSE; } - pFont->m_pPlatformFont = - quartz2d.CreateFont(pFont->m_pFontData, pFont->m_dwSize); - if (NULL == pFont->m_pPlatformFont) { + pFont->SetPlatformFont( + quartz2d.CreateFont(pFont->GetFontData(), pFont->GetSize())); + if (!pFont->GetPlatformFont()) { return FALSE; } } @@ -777,7 +777,7 @@ FX_BOOL CFX_QuartzDeviceDriver::CG_DrawGlypRun( text_matrix.d, text_matrix.e, text_matrix.f); matrix_cg = CGAffineTransformConcat(matrix_cg, _foxitDevice2User); CGContextSetTextMatrix(_context, matrix_cg); - CGContextSetFont(_context, (CGFontRef)pFont->m_pPlatformFont); + CGContextSetFont(_context, (CGFontRef)pFont->GetPlatformFont()); CGContextSetFontSize(_context, FXSYS_fabs(font_size)); int32_t a, r, g, b; ArgbDecode(argb, a, r, g, b); |