From 065c35006d96eaca324f49248d20d83709a25fbe Mon Sep 17 00:00:00 2001 From: npm Date: Thu, 6 Oct 2016 12:29:09 -0700 Subject: Split m_InstalledTTFonts into two vectors to avoid sketchy logic. Instead of relying on ' ' to determine whether the CFX_Bytestring is added on one place or another, use another vector. When trying to match fonts from the fontmapper, compare with both vectors. BUG=pdfium:510 Review-Url: https://codereview.chromium.org/2395883002 --- core/fxge/win32/fx_win32_device.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'core/fxge/win32/fx_win32_device.cpp') diff --git a/core/fxge/win32/fx_win32_device.cpp b/core/fxge/win32/fx_win32_device.cpp index bc6817da63..0ef7829549 100644 --- a/core/fxge/win32/fx_win32_device.cpp +++ b/core/fxge/win32/fx_win32_device.cpp @@ -471,13 +471,13 @@ CFX_ByteString CFX_Win32FontInfo::FindFont(const CFX_ByteString& name) { for (size_t i = 0; i < m_pMapper->m_InstalledTTFonts.size(); ++i) { CFX_ByteString thisname = m_pMapper->m_InstalledTTFonts[i]; - if (thisname[0] == ' ') { - if (thisname.Mid(1, name.GetLength()) == name) { - return m_pMapper->m_InstalledTTFonts[i + 1]; - } - } else if (thisname.Left(name.GetLength()) == name) { + if (thisname.Left(name.GetLength()) == name) return m_pMapper->m_InstalledTTFonts[i]; - } + } + for (size_t i = 0; i < m_pMapper->m_LocalizedTTFonts.size(); ++i) { + CFX_ByteString thisname = m_pMapper->m_LocalizedTTFonts[i].first; + if (thisname.Left(name.GetLength()) == name) + return m_pMapper->m_LocalizedTTFonts[i].second; } return CFX_ByteString(); } -- cgit v1.2.3