summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2015-05-12 12:37:14 -0700
committerTom Sepez <tsepez@chromium.org>2015-05-12 12:37:14 -0700
commit2a0bb3bcf8db77f9ad39a5a868548ea8465244a4 (patch)
tree700477de521d9d91af3f09b077e175679fc730a6
parentfc736d861fdb4081b1cfe5ea157031adae0b2cc0 (diff)
downloadpdfium-2a0bb3bcf8db77f9ad39a5a868548ea8465244a4.tar.xz
Merge to XFA: NEW public API for pdfwindow font manipulation.
Original Review URL: https://codereview.chromium.org/1126283004 BUG=486818 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1137163002
-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 603bb62250..f73a7701dc 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: