diff options
author | Tom Sepez <tsepez@chromium.org> | 2015-05-12 12:37:14 -0700 |
---|---|---|
committer | Tom Sepez <tsepez@chromium.org> | 2015-05-12 12:37:14 -0700 |
commit | 2a0bb3bcf8db77f9ad39a5a868548ea8465244a4 (patch) | |
tree | 700477de521d9d91af3f09b077e175679fc730a6 | |
parent | fc736d861fdb4081b1cfe5ea157031adae0b2cc0 (diff) | |
download | pdfium-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.h | 6 | ||||
-rw-r--r-- | fpdfsdk/src/fpdf_sysfontinfo.cpp | 6 | ||||
-rw-r--r-- | public/fpdf_sysfontinfo.h | 23 |
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: |