| OLD | NEW |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <limits> | 8 #include <limits> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 310 AltFontFamily* found = (AltFontFamily*)FXSYS_bsearch( | 310 AltFontFamily* found = (AltFontFamily*)FXSYS_bsearch( |
| 311 fontName.c_str(), g_AltFontFamilies, | 311 fontName.c_str(), g_AltFontFamilies, |
| 312 sizeof g_AltFontFamilies / sizeof(AltFontFamily), sizeof(AltFontFamily), | 312 sizeof g_AltFontFamilies / sizeof(AltFontFamily), sizeof(AltFontFamily), |
| 313 CompareFontFamilyString); | 313 CompareFontFamilyString); |
| 314 return found ? CFX_ByteString(found->m_pFontFamily) : fontName; | 314 return found ? CFX_ByteString(found->m_pFontFamily) : fontName; |
| 315 } | 315 } |
| 316 | 316 |
| 317 CFX_ByteString ParseStyle(const FX_CHAR* pStyle, int iLen, int iIndex) { | 317 CFX_ByteString ParseStyle(const FX_CHAR* pStyle, int iLen, int iIndex) { |
| 318 CFX_ByteTextBuf buf; | 318 CFX_ByteTextBuf buf; |
| 319 if (!iLen || iLen <= iIndex) { | 319 if (!iLen || iLen <= iIndex) { |
| 320 return buf.AsStringC(); | 320 return buf.MakeString(); |
| 321 } | 321 } |
| 322 while (iIndex < iLen) { | 322 while (iIndex < iLen) { |
| 323 if (pStyle[iIndex] == ',') { | 323 if (pStyle[iIndex] == ',') { |
| 324 break; | 324 break; |
| 325 } | 325 } |
| 326 buf.AppendChar(pStyle[iIndex]); | 326 buf.AppendChar(pStyle[iIndex]); |
| 327 ++iIndex; | 327 ++iIndex; |
| 328 } | 328 } |
| 329 return buf.AsStringC(); | 329 return buf.MakeString(); |
| 330 } | 330 } |
| 331 | 331 |
| 332 int32_t GetStyleType(const CFX_ByteString& bsStyle, FX_BOOL bRevert) { | 332 int32_t GetStyleType(const CFX_ByteString& bsStyle, FX_BOOL bRevert) { |
| 333 int32_t iLen = bsStyle.GetLength(); | 333 int32_t iLen = bsStyle.GetLength(); |
| 334 if (!iLen) { | 334 if (!iLen) { |
| 335 return -1; | 335 return -1; |
| 336 } | 336 } |
| 337 int iSize = sizeof(g_FontStyles) / sizeof(FX_FontStyle); | 337 int iSize = sizeof(g_FontStyles) / sizeof(FX_FontStyle); |
| 338 const FX_FontStyle* pStyle = NULL; | 338 const FX_FontStyle* pStyle = NULL; |
| 339 for (int i = iSize - 1; i >= 0; --i) { | 339 for (int i = iSize - 1; i >= 0; --i) { |
| (...skipping 341 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 681 m_pFontInfo = pFontInfo; | 681 m_pFontInfo = pFontInfo; |
| 682 } | 682 } |
| 683 | 683 |
| 684 static CFX_ByteString GetStringFromTable(const uint8_t* string_ptr, | 684 static CFX_ByteString GetStringFromTable(const uint8_t* string_ptr, |
| 685 uint32_t string_ptr_length, | 685 uint32_t string_ptr_length, |
| 686 uint16_t offset, | 686 uint16_t offset, |
| 687 uint16_t length) { | 687 uint16_t length) { |
| 688 if (string_ptr_length < static_cast<uint32_t>(offset + length)) { | 688 if (string_ptr_length < static_cast<uint32_t>(offset + length)) { |
| 689 return CFX_ByteString(); | 689 return CFX_ByteString(); |
| 690 } | 690 } |
| 691 return CFX_ByteStringC(string_ptr + offset, length); | 691 return CFX_ByteString(string_ptr + offset, length); |
| 692 } | 692 } |
| 693 | 693 |
| 694 CFX_ByteString GetNameFromTT(const uint8_t* name_table, | 694 CFX_ByteString GetNameFromTT(const uint8_t* name_table, |
| 695 uint32_t name_table_size, | 695 uint32_t name_table_size, |
| 696 uint32_t name_id) { | 696 uint32_t name_id) { |
| 697 if (!name_table || name_table_size < 6) { | 697 if (!name_table || name_table_size < 6) { |
| 698 return CFX_ByteString(); | 698 return CFX_ByteString(); |
| 699 } | 699 } |
| 700 uint32_t name_count = GET_TT_SHORT(name_table + 2); | 700 uint32_t name_count = GET_TT_SHORT(name_table + 2); |
| 701 uint32_t string_offset = GET_TT_SHORT(name_table + 4); | 701 uint32_t string_offset = GET_TT_SHORT(name_table + 4); |
| (...skipping 659 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1361 return NULL; | 1361 return NULL; |
| 1362 } | 1362 } |
| 1363 #endif | 1363 #endif |
| 1364 | 1364 |
| 1365 CFX_FolderFontInfo::CFX_FolderFontInfo() {} | 1365 CFX_FolderFontInfo::CFX_FolderFontInfo() {} |
| 1366 CFX_FolderFontInfo::~CFX_FolderFontInfo() { | 1366 CFX_FolderFontInfo::~CFX_FolderFontInfo() { |
| 1367 for (const auto& pair : m_FontList) { | 1367 for (const auto& pair : m_FontList) { |
| 1368 delete pair.second; | 1368 delete pair.second; |
| 1369 } | 1369 } |
| 1370 } | 1370 } |
| 1371 |
| 1371 void CFX_FolderFontInfo::AddPath(const CFX_ByteStringC& path) { | 1372 void CFX_FolderFontInfo::AddPath(const CFX_ByteStringC& path) { |
| 1372 m_PathList.push_back(path); | 1373 m_PathList.push_back(CFX_ByteString(path)); |
| 1373 } | 1374 } |
| 1375 |
| 1374 void CFX_FolderFontInfo::Release() { | 1376 void CFX_FolderFontInfo::Release() { |
| 1375 delete this; | 1377 delete this; |
| 1376 } | 1378 } |
| 1379 |
| 1377 FX_BOOL CFX_FolderFontInfo::EnumFontList(CFX_FontMapper* pMapper) { | 1380 FX_BOOL CFX_FolderFontInfo::EnumFontList(CFX_FontMapper* pMapper) { |
| 1378 m_pMapper = pMapper; | 1381 m_pMapper = pMapper; |
| 1379 for (const auto& path : m_PathList) | 1382 for (const auto& path : m_PathList) |
| 1380 ScanPath(path); | 1383 ScanPath(path); |
| 1381 return TRUE; | 1384 return TRUE; |
| 1382 } | 1385 } |
| 1383 void CFX_FolderFontInfo::ScanPath(const CFX_ByteString& path) { | 1386 void CFX_FolderFontInfo::ScanPath(const CFX_ByteString& path) { |
| 1384 void* handle = FX_OpenFolder(path.c_str()); | 1387 void* handle = FX_OpenFolder(path.c_str()); |
| 1385 if (!handle) | 1388 if (!handle) |
| 1386 return; | 1389 return; |
| (...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1644 int PDF_GetStandardFontName(CFX_ByteString* name) { | 1647 int PDF_GetStandardFontName(CFX_ByteString* name) { |
| 1645 AltFontName* found = static_cast<AltFontName*>( | 1648 AltFontName* found = static_cast<AltFontName*>( |
| 1646 FXSYS_bsearch(name->c_str(), g_AltFontNames, FX_ArraySize(g_AltFontNames), | 1649 FXSYS_bsearch(name->c_str(), g_AltFontNames, FX_ArraySize(g_AltFontNames), |
| 1647 sizeof(AltFontName), CompareString)); | 1650 sizeof(AltFontName), CompareString)); |
| 1648 if (!found) | 1651 if (!found) |
| 1649 return -1; | 1652 return -1; |
| 1650 | 1653 |
| 1651 *name = g_Base14FontNames[found->m_Index]; | 1654 *name = g_Base14FontNames[found->m_Index]; |
| 1652 return found->m_Index; | 1655 return found->m_Index; |
| 1653 } | 1656 } |
| OLD | NEW |