summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorLei Zhang <thestig@chromium.org>2015-10-16 14:45:16 -0700
committerLei Zhang <thestig@chromium.org>2015-10-16 14:45:16 -0700
commita725bc9a3525256976c112b2b5a429a119cf9b69 (patch)
treec78495b35fd31cf69bcfb1ee2b5540ac35dc3982 /core
parent24e733ef26280268ac6ede6d73fac7475aedd1a9 (diff)
downloadpdfium-a725bc9a3525256976c112b2b5a429a119cf9b69.tar.xz
Merge to XFA: Declare PDF_GetStandardFontName() in the header.
R=tsepez@chromium.org TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1410043003 . (cherry picked from commit 3d7d1d2f29e5fb099367a40822684d31f684fd62) Review URL: https://codereview.chromium.org/1415453002 .
Diffstat (limited to 'core')
-rw-r--r--core/include/fxge/fx_font.h2
-rw-r--r--core/src/fpdfapi/fpdf_edit/fpdf_edit_doc.cpp8
-rw-r--r--core/src/fpdfapi/fpdf_font/fpdf_font.cpp8
-rw-r--r--core/src/fxge/ge/fx_ge_fontmap.cpp31
4 files changed, 26 insertions, 23 deletions
diff --git a/core/include/fxge/fx_font.h b/core/include/fxge/fx_font.h
index 39353d7b16..2314fb3d08 100644
--- a/core/include/fxge/fx_font.h
+++ b/core/include/fxge/fx_font.h
@@ -525,4 +525,6 @@ class IFX_GSUBTable {
CFX_ByteString GetNameFromTT(const uint8_t* name_table, FX_DWORD name);
+int PDF_GetStandardFontName(CFX_ByteString* name);
+
#endif // CORE_INCLUDE_FXGE_FX_FONT_H_
diff --git a/core/src/fpdfapi/fpdf_edit/fpdf_edit_doc.cpp b/core/src/fpdfapi/fpdf_edit/fpdf_edit_doc.cpp
index d0be5ec1f4..95eac538bb 100644
--- a/core/src/fpdfapi/fpdf_edit/fpdf_edit_doc.cpp
+++ b/core/src/fpdfapi/fpdf_edit/fpdf_edit_doc.cpp
@@ -1106,15 +1106,15 @@ CPDF_Dictionary* CPDF_Document::CreateNewPage(int iPage) {
}
return pDict;
}
-int _PDF_GetStandardFontName(CFX_ByteString& name);
+
CPDF_Font* CPDF_Document::AddStandardFont(const FX_CHAR* font,
CPDF_FontEncoding* pEncoding) {
CFX_ByteString name(font, -1);
- if (_PDF_GetStandardFontName(name) < 0) {
- return NULL;
- }
+ if (PDF_GetStandardFontName(&name) < 0)
+ return nullptr;
return GetPageData()->GetStandardFont(name, pEncoding);
}
+
void CPDF_Document::DeletePage(int iPage) {
CPDF_Dictionary* pRoot = GetRoot();
if (pRoot == NULL) {
diff --git a/core/src/fpdfapi/fpdf_font/fpdf_font.cpp b/core/src/fpdfapi/fpdf_font/fpdf_font.cpp
index d64c77f03f..3157b36fbd 100644
--- a/core/src/fpdfapi/fpdf_font/fpdf_font.cpp
+++ b/core/src/fpdfapi/fpdf_font/fpdf_font.cpp
@@ -369,13 +369,13 @@ int CPDF_Font::GetCharTypeWidth(FX_DWORD charcode) {
}
return m_Font.GetGlyphWidth(glyph_index);
}
-int _PDF_GetStandardFontName(CFX_ByteString& name);
+
CPDF_Font* CPDF_Font::GetStockFont(CPDF_Document* pDoc,
const CFX_ByteStringC& name) {
CFX_ByteString fontname(name);
- int font_id = _PDF_GetStandardFontName(fontname);
+ int font_id = PDF_GetStandardFontName(&fontname);
if (font_id < 0) {
- return NULL;
+ return nullptr;
}
CPDF_FontGlobals* pFontGlobals =
CPDF_ModuleMgr::Get()->GetPageModule()->GetFontGlobals();
@@ -1009,7 +1009,7 @@ CPDF_Type1Font::CPDF_Type1Font() : CPDF_SimpleFont(PDFFONT_TYPE1) {
m_Base14Font = -1;
}
FX_BOOL CPDF_Type1Font::_Load() {
- m_Base14Font = _PDF_GetStandardFontName(m_BaseFont);
+ m_Base14Font = PDF_GetStandardFontName(&m_BaseFont);
if (m_Base14Font >= 0) {
CPDF_Dictionary* pFontDesc =
m_pFontDict->GetDict(FX_BSTRC("FontDescriptor"));
diff --git a/core/src/fxge/ge/fx_ge_fontmap.cpp b/core/src/fxge/ge/fx_ge_fontmap.cpp
index b332ffdea2..817ce2786a 100644
--- a/core/src/fxge/ge/fx_ge_fontmap.cpp
+++ b/core/src/fxge/ge/fx_ge_fontmap.cpp
@@ -179,7 +179,7 @@ const FX_CHAR* const g_Base14FontNames[14] = {
"Symbol",
"ZapfDingbats",
};
-const struct _AltFontName {
+const struct AltFontName {
const FX_CHAR* m_pName;
int m_Index;
} g_AltFontNames[] = {
@@ -275,20 +275,10 @@ const struct _AltFontName {
};
extern "C" {
static int compareString(const void* key, const void* element) {
- return FXSYS_stricmp((const FX_CHAR*)key, ((_AltFontName*)element)->m_pName);
+ return FXSYS_stricmp((const FX_CHAR*)key, ((AltFontName*)element)->m_pName);
}
}
-int _PDF_GetStandardFontName(CFX_ByteString& name) {
- _AltFontName* found =
- (_AltFontName*)FXSYS_bsearch(name.c_str(), g_AltFontNames,
- sizeof g_AltFontNames / sizeof(_AltFontName),
- sizeof(_AltFontName), compareString);
- if (found == NULL) {
- return -1;
- }
- name = g_Base14FontNames[found->m_Index];
- return found->m_Index;
-}
+
int GetTTCIndex(const uint8_t* pFontData,
FX_DWORD ttc_size,
FX_DWORD font_offset) {
@@ -854,7 +844,7 @@ FXFT_Face CFX_FontMapper::FindSubstFont(const CFX_ByteString& name,
SubstName = name.Mid(1);
}
}
- _PDF_GetStandardFontName(SubstName);
+ PDF_GetStandardFontName(&SubstName);
if (SubstName == FX_BSTRC("Symbol") && !bTrueType) {
pSubstFont->m_Family = "Chrome Symbol";
pSubstFont->m_Charset = FXFONT_SYMBOL_CHARSET;
@@ -888,7 +878,7 @@ FXFT_Face CFX_FontMapper::FindSubstFont(const CFX_ByteString& name,
int find = SubstName.Find(FX_BSTRC(","), 0);
if (find >= 0) {
family = SubstName.Left(find);
- _PDF_GetStandardFontName(family);
+ PDF_GetStandardFontName(&family);
style = SubstName.Mid(find + 1);
bHasComma = TRUE;
} else {
@@ -1669,3 +1659,14 @@ FX_BOOL CFX_FolderFontInfo::GetFaceName(void* hFont, CFX_ByteString& name) {
FX_BOOL CFX_FolderFontInfo::GetFontCharset(void* hFont, int& charset) {
return FALSE;
}
+
+int PDF_GetStandardFontName(CFX_ByteString* name) {
+ AltFontName* found = static_cast<AltFontName*>(
+ FXSYS_bsearch(name->c_str(), g_AltFontNames, FX_ArraySize(g_AltFontNames),
+ sizeof(AltFontName), compareString));
+ if (!found)
+ return -1;
+
+ *name = g_Base14FontNames[found->m_Index];
+ return found->m_Index;
+}