| 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..b388545751cbed27924ee5b83b1e4e911e7cc4fc 100644
|
| --- a/core/fxge/ge/cfx_fontmapper.cpp
|
| +++ b/core/fxge/ge/cfx_fontmapper.cpp
|
| @@ -347,10 +347,8 @@ void CFX_FontMapper::AddInstalledFont(const CFX_ByteString& name, int charset) {
|
| }
|
|
|
| CFX_ByteString new_name = GetPSNameFromTT(hFont);
|
| - if (!new_name.IsEmpty()) {
|
| - new_name.Insert(0, ' ');
|
| - m_InstalledTTFonts.push_back(new_name);
|
| - }
|
| + if (!new_name.IsEmpty())
|
| + m_LocalizedTTFonts.push_back(std::make_pair(new_name, name));
|
| m_pFontInfo->DeleteFont(hFont);
|
| }
|
| m_InstalledTTFonts.push_back(name);
|
| @@ -372,14 +370,15 @@ CFX_ByteString CFX_FontMapper::MatchInstalledFonts(
|
| for (i = pdfium::CollectionSize<int>(m_InstalledTTFonts) - 1; i >= 0; i--) {
|
| CFX_ByteString norm1 = TT_NormalizeName(m_InstalledTTFonts[i].c_str());
|
| if (norm1 == norm_name)
|
| - break;
|
| + return m_InstalledTTFonts[i];
|
| }
|
| - if (i < 0)
|
| - return CFX_ByteString();
|
| - CFX_ByteString match = m_InstalledTTFonts[i];
|
| - if (match[0] == ' ')
|
| - match = m_InstalledTTFonts[i + 1];
|
| - return match;
|
| + 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)
|
| + return m_LocalizedTTFonts[i].second;
|
| + }
|
| + return CFX_ByteString();
|
| }
|
|
|
| FXFT_Face CFX_FontMapper::UseInternalSubst(CFX_SubstFont* pSubstFont,
|
|
|