summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2015-05-12 12:24:22 -0700
committerTom Sepez <tsepez@chromium.org>2015-05-12 12:24:22 -0700
commit8f6445b83139349fa31a137496d54b1847a66d7c (patch)
tree03d63792bf7aa8339a8254135be041cddd87a2c8
parent2daf76fde8b2985297a4c5cab8816faae283e46a (diff)
downloadpdfium-8f6445b83139349fa31a137496d54b1847a66d7c.tar.xz
NEW public API for pdfwindow font manipulation.chromium/2402chromium/2401chromium/2400
PDFium side of fix to make chromium free of private header includes. This moves the one snippet of contaminating code from chrome to PDFium itself. BUG=486818 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1126283004
-rw-r--r--fpdfsdk/include/pdfwindow/PWL_FontMap.h6
-rw-r--r--fpdfsdk/src/fpdf_sysfontinfo.cpp6
-rw-r--r--public/fpdf_sysfontinfo.h23
3 files changed, 30 insertions, 5 deletions
diff --git a/fpdfsdk/include/pdfwindow/PWL_FontMap.h b/fpdfsdk/include/pdfwindow/PWL_FontMap.h
index a7aac6d698..2ff6c0f38c 100644
--- a/fpdfsdk/include/pdfwindow/PWL_FontMap.h
+++ b/fpdfsdk/include/pdfwindow/PWL_FontMap.h
@@ -7,6 +7,7 @@
#ifndef _PWL_FONTMAP_H_
#define _PWL_FONTMAP_H_
+#include "../../../public/fpdf_sysfontinfo.h"
#include "../fxedit/fx_edit.h"
class CPDF_Document;
@@ -111,10 +112,7 @@ private:
CFX_ByteString GetNativeFont(FX_INT32 nCharset);
public:
- struct CharsetFontMap {
- FX_INT32 charset;
- const char* fontname;
- };
+ using CharsetFontMap = FPDF_CharsetFontMap;
static const CharsetFontMap defaultTTFMap[];
protected:
diff --git a/fpdfsdk/src/fpdf_sysfontinfo.cpp b/fpdfsdk/src/fpdf_sysfontinfo.cpp
index 9be2fe9223..6bb41b82ff 100644
--- a/fpdfsdk/src/fpdf_sysfontinfo.cpp
+++ b/fpdfsdk/src/fpdf_sysfontinfo.cpp
@@ -6,6 +6,7 @@
#include "../../public/fpdf_sysfontinfo.h"
#include "../include/fsdk_define.h"
+#include "../include/pdfwindow/PWL_FontMap.h"
class CSysFontInfo_Ext FX_FINAL : public IFX_SystemFontInfo
{
@@ -94,6 +95,11 @@ DLLEXPORT void STDCALL FPDF_SetSystemFontInfo(FPDF_SYSFONTINFO* pFontInfoExt)
CFX_GEModule::Get()->GetFontMgr()->SetSystemFontInfo(pFontInfo);
}
+DLLEXPORT const FPDF_CharsetFontMap* STDCALL FPDF_GetDefaultTTFMap()
+{
+ return CPWL_FontMap::defaultTTFMap;
+}
+
struct FPDF_SYSFONTINFO_DEFAULT : public FPDF_SYSFONTINFO
{
IFX_SystemFontInfo* m_pFontInfo;
diff --git a/public/fpdf_sysfontinfo.h b/public/fpdf_sysfontinfo.h
index 00c9fab0e6..275ca84d55 100644
--- a/public/fpdf_sysfontinfo.h
+++ b/public/fpdf_sysfontinfo.h
@@ -32,7 +32,6 @@
extern "C" {
#endif
-
/**
* Interface: FPDF_SYSFONTINFO
* Interface for getting system font information and font mapping
@@ -193,6 +192,28 @@ typedef struct _FPDF_SYSFONTINFO {
} FPDF_SYSFONTINFO;
/**
+ * Struct: FPDF_CharsetFontMap
+ * Provides the name of a font to use for a given charset value.
+ **/
+typedef struct FPDF_CharsetFontMap_
+{
+ int charset; // Character Set Enum value, see FXFONT_*_CHARSET above.
+ const char* fontname; // Name of default font to use with that charset.
+} FPDF_CharsetFontMap;
+
+/**
+ * Function: FPDF_GetDefaultTTFMap
+ * Returns a pointer to the default character set to TT Font name map. The
+ * map is an array of FPDF_CharsetFontMap structs, with its end indicated
+ * by a { -1, NULL } entry.
+ * Parameters:
+ * None.
+ * Return Value:
+ * Pointer to the Charset Font Map.
+ **/
+DLLEXPORT const FPDF_CharsetFontMap* STDCALL FPDF_GetDefaultTTFMap();
+
+/**
* Function: FPDF_AddInstalledFont
* Add a system font to the list in Foxit SDK.
* Comments: