Chromium Code Reviews| Index: core/fxge/ge/cfx_fontmapper.cpp |
| diff --git a/core/fxge/ge/cfx_fontmapper.cpp b/core/fxge/ge/cfx_fontmapper.cpp |
| index 86dc2389d607a8ee77e96cd91478c94c70545c6c..3c05fab1fb1b3effe991b3bc78b9e48b8deb5105 100644 |
| --- a/core/fxge/ge/cfx_fontmapper.cpp |
| +++ b/core/fxge/ge/cfx_fontmapper.cpp |
| @@ -348,8 +348,7 @@ void CFX_FontMapper::AddInstalledFont(const CFX_ByteString& name, int charset) { |
| CFX_ByteString new_name = GetPSNameFromTT(hFont); |
| if (!new_name.IsEmpty()) { |
|
Tom Sepez
2016/10/06 15:58:03
nit: no {}
|
| - new_name.Insert(0, ' '); |
| - m_InstalledTTFonts.push_back(new_name); |
| + m_LocalizedTTFonts.push_back(std::make_pair(new_name, name)); |
| } |
| m_pFontInfo->DeleteFont(hFont); |
| } |
| @@ -374,12 +373,17 @@ CFX_ByteString CFX_FontMapper::MatchInstalledFonts( |
| if (norm1 == norm_name) |
| break; |
|
Tom Sepez
2016/10/06 15:58:03
nit: just return m_InstalledTTFonts[i] here?
|
| } |
| - if (i < 0) |
| - return CFX_ByteString(); |
| - CFX_ByteString match = m_InstalledTTFonts[i]; |
| - if (match[0] == ' ') |
| - match = m_InstalledTTFonts[i + 1]; |
| - return match; |
| + if (i >= 0) |
| + return m_InstalledTTFonts[i]; |
| + for (i = pdfium::CollectionSize<int>(m_LocalizedTTFonts) - 1; i >= 0; i--) { |
| + CFX_ByteString norm1 = |
| + TT_NormalizeName(m_LocalizedTTFonts[i].first.c_str()); |
| + if (norm1 == norm_name) |
| + break; |
|
Tom Sepez
2016/10/06 15:58:03
nit: same idea here.
|
| + } |
| + if (i >= 0) |
| + return m_LocalizedTTFonts[i].second; |
| + return CFX_ByteString(); |
| } |
| FXFT_Face CFX_FontMapper::UseInternalSubst(CFX_SubstFont* pSubstFont, |