summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorthestig <thestig@chromium.org>2016-06-01 20:18:41 -0700
committerCommit bot <commit-bot@chromium.org>2016-06-01 20:18:41 -0700
commita31d4a90f3446df76d8d3ffa0b441db0ad4623af (patch)
treeb66f6dafdb562a4aa5ec7364028c00e888836f20 /core
parentdbdcb81a82cd9e46023a3ee500df75717c1a47b4 (diff)
downloadpdfium-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')
-rw-r--r--core/fpdfapi/fpdf_font/cpdf_type1font.cpp26
-rw-r--r--core/fxge/android/fpf_skiafont.cpp6
-rw-r--r--core/fxge/android/fpf_skiafont.h2
-rw-r--r--core/fxge/apple/fx_apple_platform.cpp4
-rw-r--r--core/fxge/apple/fx_quartz_device.cpp4
-rw-r--r--core/fxge/ge/fx_ge_font.cpp17
-rw-r--r--core/fxge/ge/fx_ge_text.cpp35
-rw-r--r--core/fxge/include/fx_font.h2
8 files changed, 45 insertions, 51 deletions
diff --git a/core/fpdfapi/fpdf_font/cpdf_type1font.cpp b/core/fpdfapi/fpdf_font/cpdf_type1font.cpp
index 5fbc520ae5..fc12ae78ee 100644
--- a/core/fpdfapi/fpdf_font/cpdf_type1font.cpp
+++ b/core/fpdfapi/fpdf_font/cpdf_type1font.cpp
@@ -118,19 +118,18 @@ void CPDF_Type1Font::LoadGlyphMap() {
return;
#if _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_
- FX_BOOL bCoreText = TRUE;
+ bool bCoreText = true;
CQuartz2D& quartz2d =
static_cast<CApplePlatform*>(CFX_GEModule::Get()->GetPlatformData())
->m_quartz2d;
if (!m_Font.GetPlatformFont()) {
- if (m_Font.GetPsName() == CFX_WideString::FromLocal("DFHeiStd-W5")) {
- bCoreText = FALSE;
- }
+ if (m_Font.GetPsName() == "DFHeiStd-W5")
+ bCoreText = false;
+
m_Font.SetPlatformFont(
quartz2d.CreateFont(m_Font.GetFontData(), m_Font.GetSize()));
- if (!m_Font.GetPlatformFont()) {
- bCoreText = FALSE;
- }
+ if (!m_Font.GetPlatformFont())
+ bCoreText = false;
}
#endif
if (!IsEmbedded() && (m_Base14Font < 12) && m_Font.IsTTFont()) {
@@ -164,9 +163,8 @@ void CPDF_Type1Font::LoadGlyphMap() {
}
if (bGotOne) {
#if _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_
- if (!bCoreText) {
+ if (!bCoreText)
FXSYS_memcpy(m_ExtGID, m_GlyphIndex, 256);
- }
#endif
return;
}
@@ -218,9 +216,8 @@ void CPDF_Type1Font::LoadGlyphMap() {
}
}
#if _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_
- if (!bCoreText) {
+ if (!bCoreText)
FXSYS_memcpy(m_ExtGID, m_GlyphIndex, 256);
- }
#endif
return;
}
@@ -366,9 +363,9 @@ void CPDF_Type1Font::LoadGlyphMap() {
}
}
#if _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_
- if (!bCoreText) {
+ if (!bCoreText)
FXSYS_memcpy(m_ExtGID, m_GlyphIndex, 256);
- }
+
#endif
return;
}
@@ -397,8 +394,7 @@ void CPDF_Type1Font::LoadGlyphMap() {
}
}
#if _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_
- if (!bCoreText) {
+ if (!bCoreText)
FXSYS_memcpy(m_ExtGID, m_GlyphIndex, 256);
- }
#endif
}
diff --git a/core/fxge/android/fpf_skiafont.cpp b/core/fxge/android/fpf_skiafont.cpp
index 332bfd0ca2..e3277137d0 100644
--- a/core/fxge/android/fpf_skiafont.cpp
+++ b/core/fxge/android/fpf_skiafont.cpp
@@ -49,10 +49,10 @@ CFX_ByteString CFPF_SkiaFont::GetFamilyName() {
return CFX_ByteString(FXFT_Get_Face_Family_Name(m_Face));
}
-CFX_WideString CFPF_SkiaFont::GetPsName() {
+CFX_ByteString CFPF_SkiaFont::GetPsName() {
if (!m_Face)
- return CFX_WideString();
- return CFX_WideString::FromLocal(FXFT_Get_Postscript_Name(m_Face));
+ return CFX_ByteString();
+ return FXFT_Get_Postscript_Name(m_Face);
}
int32_t CFPF_SkiaFont::GetGlyphIndex(FX_WCHAR wUnicode) {
diff --git a/core/fxge/android/fpf_skiafont.h b/core/fxge/android/fpf_skiafont.h
index 59172a5385..15347b2ff3 100644
--- a/core/fxge/android/fpf_skiafont.h
+++ b/core/fxge/android/fpf_skiafont.h
@@ -28,7 +28,7 @@ class CFPF_SkiaFont {
FPF_HFONT GetHandle();
CFX_ByteString GetFamilyName();
- CFX_WideString GetPsName();
+ CFX_ByteString GetPsName();
uint32_t GetFontStyle() const { return m_dwStyle; }
uint8_t GetCharset() const { return m_uCharset; }
int32_t GetGlyphIndex(FX_WCHAR wUnicode);
diff --git a/core/fxge/apple/fx_apple_platform.cpp b/core/fxge/apple/fx_apple_platform.cpp
index a641ad5f85..7bedc678ac 100644
--- a/core/fxge/apple/fx_apple_platform.cpp
+++ b/core/fxge/apple/fx_apple_platform.cpp
@@ -71,9 +71,9 @@ static FX_BOOL _CGDrawGlyphRun(CGContextRef pContext,
static_cast<CApplePlatform*>(CFX_GEModule::Get()->GetPlatformData())
->m_quartz2d;
if (!pFont->GetPlatformFont()) {
- if (pFont->GetPsName() == CFX_WideString::FromLocal("DFHeiStd-W5")) {
+ if (pFont->GetPsName() == "DFHeiStd-W5")
return FALSE;
- }
+
pFont->SetPlatformFont(
quartz2d.CreateFont(pFont->GetFontData(), pFont->GetSize()));
if (!pFont->GetPlatformFont()) {
diff --git a/core/fxge/apple/fx_quartz_device.cpp b/core/fxge/apple/fx_quartz_device.cpp
index 5bdffa9409..6fc22ffdf4 100644
--- a/core/fxge/apple/fx_quartz_device.cpp
+++ b/core/fxge/apple/fx_quartz_device.cpp
@@ -758,9 +758,9 @@ FX_BOOL CFX_QuartzDeviceDriver::CG_DrawGlypRun(int nChars,
static_cast<CApplePlatform*>(CFX_GEModule::Get()->GetPlatformData())
->m_quartz2d;
if (!pFont->GetPlatformFont()) {
- if (pFont->GetPsName() == CFX_WideString::FromLocal("DFHeiStd-W5")) {
+ if (pFont->GetPsName() == "DFHeiStd-W5")
return FALSE;
- }
+
pFont->SetPlatformFont(
quartz2d.CreateFont(pFont->GetFontData(), pFont->GetSize()));
if (!pFont->GetPlatformFont()) {
diff --git a/core/fxge/ge/fx_ge_font.cpp b/core/fxge/ge/fx_ge_font.cpp
index 144228ff28..ba53be7ab5 100644
--- a/core/fxge/ge/fx_ge_font.cpp
+++ b/core/fxge/ge/fx_ge_font.cpp
@@ -356,17 +356,16 @@ FX_BOOL CFX_Font::IsFixedWidth() const {
return FXFT_Is_Face_fixedwidth(m_Face);
}
-CFX_WideString CFX_Font::GetPsName() const {
- if (!m_Face) {
- return CFX_WideString();
- }
- CFX_WideString psName =
- CFX_WideString::FromLocal(FXFT_Get_Postscript_Name(m_Face));
- if (psName.IsEmpty()) {
- psName = CFX_WideString::FromLocal("Untitled");
- }
+CFX_ByteString CFX_Font::GetPsName() const {
+ if (!m_Face)
+ return CFX_ByteString();
+
+ CFX_ByteString psName = FXFT_Get_Postscript_Name(m_Face);
+ if (psName.IsEmpty())
+ psName = "Untitled";
return psName;
}
+
CFX_ByteString CFX_Font::GetFamilyName() const {
if (!m_Face && !m_pSubstFont) {
return CFX_ByteString();
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)) {
diff --git a/core/fxge/include/fx_font.h b/core/fxge/include/fx_font.h
index a8eaecec59..023a6a0928 100644
--- a/core/fxge/include/fx_font.h
+++ b/core/fxge/include/fx_font.h
@@ -102,7 +102,7 @@ class CFX_Font {
FX_BOOL IsBold() const;
FX_BOOL IsFixedWidth() const;
FX_BOOL IsVertical() const { return m_bVertical; }
- CFX_WideString GetPsName() const;
+ CFX_ByteString GetPsName() const;
CFX_ByteString GetFamilyName() const;
CFX_ByteString GetFaceName() const;
FX_BOOL IsTTFont() const;