diff options
author | thestig <thestig@chromium.org> | 2016-06-01 20:18:41 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-06-01 20:18:41 -0700 |
commit | a31d4a90f3446df76d8d3ffa0b441db0ad4623af (patch) | |
tree | b66f6dafdb562a4aa5ec7364028c00e888836f20 /core/fxge/ge/fx_ge_text.cpp | |
parent | dbdcb81a82cd9e46023a3ee500df75717c1a47b4 (diff) | |
download | pdfium-a31d4a90f3446df76d8d3ffa0b441db0ad4623af.tar.xz |
Change CFX_Font::GetPsName() to return a CFX_ByteString.
So everyone can avoid doing Byte to WideString conversions.
Also remove CFX_GEFont::GetPsName() and deduplicate a couple of
GetPsName() calls.
Review-Url: https://codereview.chromium.org/2019173002
Diffstat (limited to 'core/fxge/ge/fx_ge_text.cpp')
-rw-r--r-- | core/fxge/ge/fx_ge_text.cpp | 35 |
1 files changed, 17 insertions, 18 deletions
diff --git a/core/fxge/ge/fx_ge_text.cpp b/core/fxge/ge/fx_ge_text.cpp index aeac66b4b0..042e6f2b5b 100644 --- a/core/fxge/ge/fx_ge_text.cpp +++ b/core/fxge/ge/fx_ge_text.cpp @@ -347,6 +347,21 @@ void DrawNormalTextHelper(CFX_DIBitmap* bitmap, } } +bool ShouldDrawDeviceText(const CFX_Font* pFont, uint32_t text_flags) { +#if _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_ + if (text_flags & FXFONT_CIDFONT) + return false; + + const CFX_ByteString bsPsName = pFont->GetPsName(); + if (bsPsName.Find("+ZJHL") != -1) + return false; + + if (bsPsName == "CNAAJI+cmex10") + return false; +#endif + return true; +} + } // namespace void Color2Argb(FX_ARGB& argb, @@ -431,16 +446,7 @@ FX_BOOL CFX_RenderDevice::DrawNormalText(int nChars, int nativetext_flags = text_flags; if (m_DeviceClass != FXDC_DISPLAY) { if (!(text_flags & FXTEXT_PRINTGRAPHICTEXT)) { - bool should_call_draw_device_text = true; -#if _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_ - if ((text_flags & FXFONT_CIDFONT) || - (pFont->GetPsName().Find( - CFX_WideString::FromLocal("+ZJHL").AsStringC()) != -1) || - (pFont->GetPsName() == CFX_WideString::FromLocal("CNAAJI+cmex10"))) { - should_call_draw_device_text = false; - } -#endif - if (should_call_draw_device_text && + if (ShouldDrawDeviceText(pFont, text_flags) && m_pDeviceDriver->DrawDeviceText(nChars, pCharPos, pFont, pCache, pText2Device, font_size, fill_color, 0, nullptr)) { @@ -450,14 +456,7 @@ FX_BOOL CFX_RenderDevice::DrawNormalText(int nChars, if (FXARGB_A(fill_color) < 255) return FALSE; } else if (!(text_flags & FXTEXT_NO_NATIVETEXT)) { - bool should_call_draw_device_text = true; -#if _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_ - if ((text_flags & FXFONT_CIDFONT) || - (pFont->GetPsName() == CFX_WideString::FromLocal("CNAAJI+cmex10"))) { - should_call_draw_device_text = false; - } -#endif - if (should_call_draw_device_text && + if (ShouldDrawDeviceText(pFont, text_flags) && m_pDeviceDriver->DrawDeviceText(nChars, pCharPos, pFont, pCache, pText2Device, font_size, fill_color, 0, nullptr)) { |