diff options
author | Tom Sepez <tsepez@chromium.org> | 2015-05-12 12:24:22 -0700 |
---|---|---|
committer | Tom Sepez <tsepez@chromium.org> | 2015-05-12 12:24:22 -0700 |
commit | 8f6445b83139349fa31a137496d54b1847a66d7c (patch) | |
tree | 03d63792bf7aa8339a8254135be041cddd87a2c8 | |
parent | 2daf76fde8b2985297a4c5cab8816faae283e46a (diff) | |
download | pdfium-chromium/2402.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.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 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: |