summaryrefslogtreecommitdiff
path: root/core/fpdfapi/fpdf_font/fpdf_font.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/fpdfapi/fpdf_font/fpdf_font.cpp')
-rw-r--r--core/fpdfapi/fpdf_font/fpdf_font.cpp31
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()) {