Remove in-out parameter from GetFontFamily.
Change-Id: I783a1edfc127faf6e20295aee4e068a54675ddb1
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/117590
Reviewed-by: Thomas Sepez <tsepez@google.com>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fxge/cfx_fontmapper.cpp b/core/fxge/cfx_fontmapper.cpp
index 1b3f61e..aa164a4 100644
--- a/core/fxge/cfx_fontmapper.cpp
+++ b/core/fxge/cfx_fontmapper.cpp
@@ -176,24 +176,26 @@
return norm;
}
-void GetFontFamily(uint32_t nStyle, ByteString* fontName) {
- if (fontName->Contains("Script")) {
- if (FontStyleIsForceBold(nStyle))
- *fontName = "ScriptMTBold";
- else if (fontName->Contains("Palace"))
- *fontName = "PalaceScriptMT";
- else if (fontName->Contains("French"))
- *fontName = "FrenchScriptMT";
- else if (fontName->Contains("FreeStyle"))
- *fontName = "FreeStyleScript";
- return;
+const char* GetFontFamily(uint32_t nStyle, const ByteString& fontname) {
+ if (fontname.Contains("Script")) {
+ if (FontStyleIsForceBold(nStyle)) {
+ return "ScriptMTBold";
+ }
+ if (fontname.Contains("Palace")) {
+ return "PalaceScriptMT";
+ } else if (fontname.Contains("French")) {
+ return "FrenchScriptMT";
+ } else if (fontname.Contains("FreeStyle")) {
+ return "FreeStyleScript";
+ }
+ return nullptr;
}
for (const auto& alternate : kAltFontFamilies) {
- if (fontName->Contains(alternate.m_pFontName)) {
- *fontName = alternate.m_pFontFamily;
- return;
+ if (fontname.Contains(alternate.m_pFontName)) {
+ return alternate.m_pFontFamily;
}
}
+ return nullptr;
}
ByteString ParseStyle(const ByteString& bsStyle, size_t iStart) {
@@ -656,7 +658,11 @@
const bool is_cjk = FX_CharSetIsCJK(Charset);
bool is_italic = FontStyleIsItalic(nStyle);
- GetFontFamily(nStyle, &family);
+ const char* maybe_family = GetFontFamily(nStyle, family);
+ if (maybe_family) {
+ family = ByteString(maybe_family);
+ }
+
ByteString match = MatchInstalledFonts(TT_NormalizeName(family));
if (match.IsEmpty() && family != subst_name &&
(!has_comma && (!has_hyphen || (has_hyphen && !is_style_available)))) {