Index: public/fpdf_sysfontinfo.h |
diff --git a/public/fpdf_sysfontinfo.h b/public/fpdf_sysfontinfo.h |
index 61465f4262a0703e12efaa16fd2916df6a97f059..c2da74b70bb71d1929e68e3ae3db371553fd6f57 100644 |
--- a/public/fpdf_sysfontinfo.h |
+++ b/public/fpdf_sysfontinfo.h |
@@ -10,22 +10,22 @@ |
#include "fpdfview.h" |
/* Character sets for the font */ |
-#define FXFONT_ANSI_CHARSET 0 |
-#define FXFONT_DEFAULT_CHARSET 1 |
-#define FXFONT_SYMBOL_CHARSET 2 |
+#define FXFONT_ANSI_CHARSET 0 |
+#define FXFONT_DEFAULT_CHARSET 1 |
+#define FXFONT_SYMBOL_CHARSET 2 |
#define FXFONT_SHIFTJIS_CHARSET 128 |
-#define FXFONT_HANGEUL_CHARSET 129 |
-#define FXFONT_GB2312_CHARSET 134 |
-#define FXFONT_CHINESEBIG5_CHARSET 136 |
+#define FXFONT_HANGEUL_CHARSET 129 |
+#define FXFONT_GB2312_CHARSET 134 |
+#define FXFONT_CHINESEBIG5_CHARSET 136 |
/* Font pitch and family flags */ |
-#define FXFONT_FF_FIXEDPITCH 1 |
-#define FXFONT_FF_ROMAN (1<<4) |
-#define FXFONT_FF_SCRIPT (4<<4) |
+#define FXFONT_FF_FIXEDPITCH 1 |
+#define FXFONT_FF_ROMAN (1 << 4) |
+#define FXFONT_FF_SCRIPT (4 << 4) |
/* Typical weight values */ |
-#define FXFONT_FW_NORMAL 400 |
-#define FXFONT_FW_BOLD 700 |
+#define FXFONT_FW_NORMAL 400 |
+#define FXFONT_FW_BOLD 700 |
// Exported Functions |
#ifdef __cplusplus |
@@ -37,168 +37,200 @@ extern "C" { |
* Interface for getting system font information and font mapping |
*/ |
typedef struct _FPDF_SYSFONTINFO { |
- /** |
- * Version number of the interface. Currently must be 1. |
- **/ |
- int version; |
+ /** |
+ * Version number of the interface. Currently must be 1. |
+ **/ |
+ int version; |
- /** |
- * Method: Release |
- * Give implementation a chance to release any data after the interface is no longer used |
- * Interface Version: |
- * 1 |
- * Implementation Required: |
- * No |
- * Comments: |
- * Called by Foxit SDK during the final cleanup process. |
- * Parameters: |
- * pThis - Pointer to the interface structure itself |
- * Return Value: |
- * None |
- */ |
- void (*Release)(struct _FPDF_SYSFONTINFO* pThis); |
+ /** |
+ * Method: Release |
+ * Give implementation a chance to release any data after the |
+ * interface is no longer used |
+ * Interface Version: |
+ * 1 |
+ * Implementation Required: |
+ * No |
+ * Comments: |
+ * Called by Foxit SDK during the final cleanup process. |
+ * Parameters: |
+ * pThis - Pointer to the interface structure itself |
+ * Return Value: |
+ * None |
+ */ |
+ void (*Release)(struct _FPDF_SYSFONTINFO* pThis); |
- /** |
- * Method: EnumFonts |
- * Enumerate all fonts installed on the system |
- * Interface Version: |
- * 1 |
- * Implementation Required: |
- * No |
- * Comments: |
- * Implementation should call FPDF_AddIntalledFont() function for each font found. |
- * Only TrueType/OpenType and Type1 fonts are accepted by Foxit SDK. |
- * Parameters: |
- * pThis - Pointer to the interface structure itself |
- * pMapper - An opaque pointer to internal font mapper, used when calling FPDF_AddInstalledFont |
- * Return Value: |
- * None |
- */ |
- void (*EnumFonts)(struct _FPDF_SYSFONTINFO* pThis, void* pMapper); |
+ /** |
+ * Method: EnumFonts |
+ * Enumerate all fonts installed on the system |
+ * Interface Version: |
+ * 1 |
+ * Implementation Required: |
+ * No |
+ * Comments: |
+ * Implementation should call FPDF_AddIntalledFont() function for |
+ * each font found. |
+ * Only TrueType/OpenType and Type1 fonts are accepted by Foxit SDK. |
+ * Parameters: |
+ * pThis - Pointer to the interface structure itself |
+ * pMapper - An opaque pointer to internal font mapper, used |
+ * when calling FPDF_AddInstalledFont |
+ * Return Value: |
+ * None |
+ */ |
+ void (*EnumFonts)(struct _FPDF_SYSFONTINFO* pThis, void* pMapper); |
- /** |
- * Method: MapFont |
- * Use the system font mapper to get a font handle from requested parameters |
- * Interface Version: |
- * 1 |
- * Implementation Required: |
- * Yes only if GetFont method is not implemented. |
- * Comments: |
- * If the system supports native font mapper (like Windows), implementation can implement this method to get a font handle. |
- * Otherwise, Foxit SDK will do the mapping and then call GetFont method. |
- * Only TrueType/OpenType and Type1 fonts are accepted by Foxit SDK. |
- * Parameters: |
- * pThis - Pointer to the interface structure itself |
- * weight - Weight of the requested font. 400 is normal and 700 is bold. |
- * bItalic - Italic option of the requested font, TRUE or FALSE. |
- * charset - Character set identifier for the requested font. See above defined constants. |
- * pitch_family - A combination of flags. See above defined constants. |
- * face - Typeface name. Currently use system local encoding only. |
- * bExact - Pointer to a boolean value receiving the indicator whether mapper found the exact match. |
- * If mapper is not sure whether it's exact match, ignore this paramter. |
- * Return Value: |
- * An opaque pointer for font handle, or NULL if system mapping is not supported. |
- **/ |
- void* (*MapFont)(struct _FPDF_SYSFONTINFO* pThis, int weight, FPDF_BOOL bItalic, int charset, int pitch_family, |
- const char* face, FPDF_BOOL* bExact); |
+ /** |
+ * Method: MapFont |
+ * Use the system font mapper to get a font handle from requested |
+ *parameters |
+ * Interface Version: |
+ * 1 |
+ * Implementation Required: |
+ * Yes only if GetFont method is not implemented. |
+ * Comments: |
+ * If the system supports native font mapper (like Windows), |
+ *implementation can implement this method to get a font handle. |
+ * Otherwise, Foxit SDK will do the mapping and then call GetFont |
+ *method. |
+ * Only TrueType/OpenType and Type1 fonts are accepted by Foxit SDK. |
+ * Parameters: |
+ * pThis - Pointer to the interface structure itself |
+ * weight - Weight of the requested font. 400 is normal and |
+ *700 is bold. |
+ * bItalic - Italic option of the requested font, TRUE or |
+ *FALSE. |
+ * charset - Character set identifier for the requested font. |
+ *See above defined constants. |
+ * pitch_family - A combination of flags. See above defined |
+ *constants. |
+ * face - Typeface name. Currently use system local encoding |
+ *only. |
+ * bExact - Pointer to a boolean value receiving the indicator |
+ *whether mapper found the exact match. |
+ * If mapper is not sure whether it's exact match, |
+ *ignore this paramter. |
+ * Return Value: |
+ * An opaque pointer for font handle, or NULL if system mapping is |
+ *not supported. |
+ **/ |
+ void* (*MapFont)(struct _FPDF_SYSFONTINFO* pThis, |
+ int weight, |
+ FPDF_BOOL bItalic, |
+ int charset, |
+ int pitch_family, |
+ const char* face, |
+ FPDF_BOOL* bExact); |
- /** |
- * Method: GetFont |
- * Get a handle to a particular font by its internal ID |
- * Interface Version: |
- * 1 |
- * Implementation Required: |
- * Yes only if MapFont method is not implemented. |
- * Comments: |
- * If the system mapping not supported, Foxit SDK will do the font mapping and use this method to get a font handle. |
- * Parameters: |
- * pThis - Pointer to the interface structure itself |
- * face - Typeface name. Currently use system local encoding only. |
- * Return Value: |
- * An opaque pointer for font handle. |
- **/ |
- void* (*GetFont)(struct _FPDF_SYSFONTINFO* pThis, const char* face); |
+ /** |
+ * Method: GetFont |
+ * Get a handle to a particular font by its internal ID |
+ * Interface Version: |
+ * 1 |
+ * Implementation Required: |
+ * Yes only if MapFont method is not implemented. |
+ * Comments: |
+ * If the system mapping not supported, Foxit SDK will do the font |
+ *mapping and use this method to get a font handle. |
+ * Parameters: |
+ * pThis - Pointer to the interface structure itself |
+ * face - Typeface name. Currently use system local encoding |
+ *only. |
+ * Return Value: |
+ * An opaque pointer for font handle. |
+ **/ |
+ void* (*GetFont)(struct _FPDF_SYSFONTINFO* pThis, const char* face); |
- /** |
- * Method: GetFontData |
- * Get font data from a font |
- * Interface Version: |
- * 1 |
- * Implementation Required: |
- * Yes |
- * Comments: |
- * Can read either full font file, or a particular TrueType/OpenType table |
- * Parameters: |
- * pThis - Pointer to the interface structure itself |
- * hFont - Font handle returned by MapFont or GetFont method |
- * table - TrueType/OpenType table identifier (refer to TrueType specification). |
- * 0 for the whole font file. |
- * buffer - The buffer receiving the font data. Can be NULL if not provided |
- * buf_size - Buffer size, can be zero if not provided |
- * Return Value: |
- * Number of bytes needed, if buffer not provided or not large enough, |
- * or number of bytes written into buffer otherwise. |
- **/ |
- unsigned long (*GetFontData)(struct _FPDF_SYSFONTINFO* pThis, void* hFont, |
- unsigned int table, unsigned char* buffer, unsigned long buf_size); |
+ /** |
+ * Method: GetFontData |
+ * Get font data from a font |
+ * Interface Version: |
+ * 1 |
+ * Implementation Required: |
+ * Yes |
+ * Comments: |
+ * Can read either full font file, or a particular TrueType/OpenType |
+ *table |
+ * Parameters: |
+ * pThis - Pointer to the interface structure itself |
+ * hFont - Font handle returned by MapFont or GetFont method |
+ * table - TrueType/OpenType table identifier (refer to |
+ *TrueType specification). |
+ * 0 for the whole font file. |
+ * buffer - The buffer receiving the font data. Can be NULL if |
+ *not provided |
+ * buf_size - Buffer size, can be zero if not provided |
+ * Return Value: |
+ * Number of bytes needed, if buffer not provided or not large |
+ *enough, |
+ * or number of bytes written into buffer otherwise. |
+ **/ |
+ unsigned long (*GetFontData)(struct _FPDF_SYSFONTINFO* pThis, |
+ void* hFont, |
+ unsigned int table, |
+ unsigned char* buffer, |
+ unsigned long buf_size); |
- /** |
- * Method: GetFaceName |
- * Get face name from a font handle |
- * Interface Version: |
- * 1 |
- * Implementation Required: |
- * No |
- * Parameters: |
- * pThis - Pointer to the interface structure itself |
- * hFont - Font handle returned by MapFont or GetFont method |
- * buffer - The buffer receiving the face name. Can be NULL if not provided |
- * buf_size - Buffer size, can be zero if not provided |
- * Return Value: |
- * Number of bytes needed, if buffer not provided or not large enough, |
- * or number of bytes written into buffer otherwise. |
- **/ |
- unsigned long (*GetFaceName)(struct _FPDF_SYSFONTINFO* pThis, void* hFont, char* buffer, unsigned long buf_size); |
+ /** |
+ * Method: GetFaceName |
+ * Get face name from a font handle |
+ * Interface Version: |
+ * 1 |
+ * Implementation Required: |
+ * No |
+ * Parameters: |
+ * pThis - Pointer to the interface structure itself |
+ * hFont - Font handle returned by MapFont or GetFont method |
+ * buffer - The buffer receiving the face name. Can be NULL if |
+ *not provided |
+ * buf_size - Buffer size, can be zero if not provided |
+ * Return Value: |
+ * Number of bytes needed, if buffer not provided or not large |
+ *enough, |
+ * or number of bytes written into buffer otherwise. |
+ **/ |
+ unsigned long (*GetFaceName)(struct _FPDF_SYSFONTINFO* pThis, |
+ void* hFont, |
+ char* buffer, |
+ unsigned long buf_size); |
- /** |
- * Method: GetFontCharset |
- * Get character set information for a font handle |
- * Interface Version: |
- * 1 |
- * Implementation Required: |
- * No |
- * Parameters: |
- * pThis - Pointer to the interface structure itself |
- * hFont - Font handle returned by MapFont or GetFont method |
- * Return Value: |
- * Character set identifier. See defined constants above. |
- **/ |
- int (*GetFontCharset)(struct _FPDF_SYSFONTINFO* pThis, void* hFont); |
+ /** |
+ * Method: GetFontCharset |
+ * Get character set information for a font handle |
+ * Interface Version: |
+ * 1 |
+ * Implementation Required: |
+ * No |
+ * Parameters: |
+ * pThis - Pointer to the interface structure itself |
+ * hFont - Font handle returned by MapFont or GetFont method |
+ * Return Value: |
+ * Character set identifier. See defined constants above. |
+ **/ |
+ int (*GetFontCharset)(struct _FPDF_SYSFONTINFO* pThis, void* hFont); |
- /** |
- * Method: DeleteFont |
- * Delete a font handle |
- * Interface Version: |
- * 1 |
- * Implementation Required: |
- * Yes |
- * Parameters: |
- * pThis - Pointer to the interface structure itself |
- * hFont - Font handle returned by MapFont or GetFont method |
- * Return Value: |
- * None |
- **/ |
- void (*DeleteFont)(struct _FPDF_SYSFONTINFO* pThis, void* hFont); |
+ /** |
+ * Method: DeleteFont |
+ * Delete a font handle |
+ * Interface Version: |
+ * 1 |
+ * Implementation Required: |
+ * Yes |
+ * Parameters: |
+ * pThis - Pointer to the interface structure itself |
+ * hFont - Font handle returned by MapFont or GetFont method |
+ * Return Value: |
+ * None |
+ **/ |
+ void (*DeleteFont)(struct _FPDF_SYSFONTINFO* pThis, void* hFont); |
} 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. |
+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; |
/** |
@@ -217,7 +249,8 @@ DLLEXPORT const FPDF_CharsetFontMap* STDCALL FPDF_GetDefaultTTFMap(); |
* Function: FPDF_AddInstalledFont |
* Add a system font to the list in Foxit SDK. |
* Comments: |
- * This function is only called during the system font list building process. |
+ * This function is only called during the system font list building |
+ *process. |
* Parameters: |
* mapper - Opaque pointer to Foxit font mapper |
* face - The font face name |
@@ -225,13 +258,16 @@ DLLEXPORT const FPDF_CharsetFontMap* STDCALL FPDF_GetDefaultTTFMap(); |
* Return Value: |
* None. |
**/ |
-DLLEXPORT void STDCALL FPDF_AddInstalledFont(void* mapper, const char* face, int charset); |
+DLLEXPORT void STDCALL FPDF_AddInstalledFont(void* mapper, |
+ const char* face, |
+ int charset); |
/** |
* Function: FPDF_SetSystemFontInfo |
* Set the system font info interface into Foxit SDK |
* Comments: |
- * Platform support implementation should implement required methods of FFDF_SYSFONTINFO interface, |
+ * Platform support implementation should implement required methods of |
+ *FFDF_SYSFONTINFO interface, |
* then call this function during SDK initialization process. |
* Parameters: |
* pFontInfo - Pointer to a FPDF_SYSFONTINFO structure |
@@ -244,14 +280,18 @@ DLLEXPORT void STDCALL FPDF_SetSystemFontInfo(FPDF_SYSFONTINFO* pFontInfo); |
* Function: FPDF_GetDefaultSystemFontInfo |
* Get default system font info interface for current platform |
* Comments: |
- * For some platforms Foxit SDK implement a default version of system font info interface. |
- * The default implementation can be used in FPDF_SetSystemFontInfo function. |
+ * For some platforms Foxit SDK implement a default version of system |
+ *font info interface. |
+ * The default implementation can be used in FPDF_SetSystemFontInfo |
+ *function. |
* Parameters: |
* None |
* Return Value: |
- * Pointer to a FPDF_SYSFONTINFO structure describing the default interface. |
+ * Pointer to a FPDF_SYSFONTINFO structure describing the default |
+ *interface. |
* Or NULL if the platform doesn't have a default interface. |
- * Application should call FPDF_FreeMemory to free the returned pointer. |
+ * Application should call FPDF_FreeMemory to free the returned |
+ *pointer. |
**/ |
DLLEXPORT FPDF_SYSFONTINFO* STDCALL FPDF_GetDefaultSystemFontInfo(); |