diff options
author | thestig <thestig@chromium.org> | 2016-08-15 10:21:46 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-08-15 10:21:46 -0700 |
commit | 93ee11937bc2351882648f6aa1127883adbf0268 (patch) | |
tree | 066f009b0cfc721cd982e27a63f5270ccef68418 /core/fpdfapi/fpdf_font/fpdf_font.cpp | |
parent | c4f3c0f183c9ce472cd22e831075c3897e14c3af (diff) | |
download | pdfium-93ee11937bc2351882648f6aa1127883adbf0268.tar.xz |
Use a std::vector in fpdf_font code.
Review-Url: https://codereview.chromium.org/2248453002
Diffstat (limited to 'core/fpdfapi/fpdf_font/fpdf_font.cpp')
-rw-r--r-- | core/fpdfapi/fpdf_font/fpdf_font.cpp | 31 |
1 files changed, 14 insertions, 17 deletions
diff --git a/core/fpdfapi/fpdf_font/fpdf_font.cpp b/core/fpdfapi/fpdf_font/fpdf_font.cpp index 1735f0ba25..cb410b8d68 100644 --- a/core/fpdfapi/fpdf_font/fpdf_font.cpp +++ b/core/fpdfapi/fpdf_font/fpdf_font.cpp @@ -21,17 +21,23 @@ #include "core/fxge/include/fx_freetype.h" #include "third_party/base/stl_util.h" -FX_BOOL FT_UseTTCharmap(FXFT_Face face, int platform_id, int encoding_id) { +int16_t TT2PDF(int m, FXFT_Face face) { + int upm = FXFT_Get_Face_UnitsPerEM(face); + if (upm == 0) + return static_cast<int16_t>(m); + return (m * 1000 + upm / 2) / upm; +} + +bool FT_UseTTCharmap(FXFT_Face face, int platform_id, int encoding_id) { + auto* pCharMap = FXFT_Get_Face_Charmaps(face); for (int i = 0; i < FXFT_Get_Face_CharmapCount(face); i++) { - if (FXFT_Get_Charmap_PlatformID(FXFT_Get_Face_Charmaps(face)[i]) == - platform_id && - FXFT_Get_Charmap_EncodingID(FXFT_Get_Face_Charmaps(face)[i]) == - encoding_id) { - FXFT_Set_Charmap(face, FXFT_Get_Face_Charmaps(face)[i]); - return TRUE; + if (FXFT_Get_Charmap_PlatformID(pCharMap[i]) == platform_id && + FXFT_Get_Charmap_EncodingID(pCharMap[i]) == encoding_id) { + FXFT_Set_Charmap(face, pCharMap[i]); + return true; } } - return FALSE; + return false; } CFX_StockFontArray::CFX_StockFontArray() {} @@ -84,15 +90,6 @@ void CPDF_FontGlobals::Clear(CPDF_Document* pDoc) { m_StockMap.erase(pDoc); } - - -short TT2PDF(int m, FXFT_Face face) { - int upm = FXFT_Get_Face_UnitsPerEM(face); - if (upm == 0) - return (short)m; - return (m * 1000 + upm / 2) / upm; -} - CFX_WideString CPDF_ToUnicodeMap::Lookup(uint32_t charcode) const { auto it = m_Map.find(charcode); if (it != m_Map.end()) { |