mirror of
https://github.com/YACReader/yacreader
synced 2025-07-19 05:24:57 -04:00
Update pdfium for windows
This commit is contained in:
456
dependencies/pdfium/win/public/fpdf_sysfontinfo.h
vendored
456
dependencies/pdfium/win/public/fpdf_sysfontinfo.h
vendored
@ -1,4 +1,4 @@
|
||||
// Copyright 2014 PDFium Authors. All rights reserved.
|
||||
// Copyright 2014 The PDFium Authors
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
@ -7,10 +7,13 @@
|
||||
#ifndef PUBLIC_FPDF_SYSFONTINFO_H_
|
||||
#define PUBLIC_FPDF_SYSFONTINFO_H_
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
// clang-format off
|
||||
// NOLINTNEXTLINE(build/include)
|
||||
#include "fpdfview.h"
|
||||
|
||||
/* Character sets for the font */
|
||||
// Character sets for the font
|
||||
#define FXFONT_ANSI_CHARSET 0
|
||||
#define FXFONT_DEFAULT_CHARSET 1
|
||||
#define FXFONT_SYMBOL_CHARSET 2
|
||||
@ -18,13 +21,20 @@
|
||||
#define FXFONT_HANGEUL_CHARSET 129
|
||||
#define FXFONT_GB2312_CHARSET 134
|
||||
#define FXFONT_CHINESEBIG5_CHARSET 136
|
||||
#define FXFONT_GREEK_CHARSET 161
|
||||
#define FXFONT_VIETNAMESE_CHARSET 163
|
||||
#define FXFONT_HEBREW_CHARSET 177
|
||||
#define FXFONT_ARABIC_CHARSET 178
|
||||
#define FXFONT_CYRILLIC_CHARSET 204
|
||||
#define FXFONT_THAI_CHARSET 222
|
||||
#define FXFONT_EASTERNEUROPEAN_CHARSET 238
|
||||
|
||||
/* Font pitch and family flags */
|
||||
// Font pitch and family flags
|
||||
#define FXFONT_FF_FIXEDPITCH (1 << 0)
|
||||
#define FXFONT_FF_ROMAN (1 << 4)
|
||||
#define FXFONT_FF_SCRIPT (4 << 4)
|
||||
|
||||
/* Typical weight values */
|
||||
// Typical weight values
|
||||
#define FXFONT_FW_NORMAL 400
|
||||
#define FXFONT_FW_BOLD 700
|
||||
|
||||
@ -33,84 +43,74 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Interface: FPDF_SYSFONTINFO
|
||||
* Interface for getting system font information and font mapping
|
||||
*/
|
||||
// Interface: FPDF_SYSFONTINFO
|
||||
// Interface for getting system font information and font mapping
|
||||
typedef struct _FPDF_SYSFONTINFO {
|
||||
/**
|
||||
* Version number of the interface. Currently must be 1.
|
||||
**/
|
||||
// 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
|
||||
*/
|
||||
// Method: Release
|
||||
// Give implementation a chance to release any data after the
|
||||
// interface is no longer used.
|
||||
// Interface Version:
|
||||
// 1
|
||||
// Implementation Required:
|
||||
// No
|
||||
// Parameters:
|
||||
// pThis - Pointer to the interface structure itself
|
||||
// Return Value:
|
||||
// None
|
||||
// Comments:
|
||||
// Called by PDFium during the final cleanup process.
|
||||
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
|
||||
*/
|
||||
// Method: EnumFonts
|
||||
// Enumerate all fonts installed on the system
|
||||
// Interface Version:
|
||||
// 1
|
||||
// Implementation Required:
|
||||
// No
|
||||
// Parameters:
|
||||
// pThis - Pointer to the interface structure itself
|
||||
// pMapper - An opaque pointer to internal font mapper, used
|
||||
// when calling FPDF_AddInstalledFont().
|
||||
// Return Value:
|
||||
// None
|
||||
// Comments:
|
||||
// Implementations should call FPDF_AddInstalledFont() function for
|
||||
// each font found. Only TrueType/OpenType and Type1 fonts are
|
||||
// accepted by PDFium.
|
||||
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 - Obsolete: this parameter is now ignored.
|
||||
* Return Value:
|
||||
* An opaque pointer for font handle, or NULL if system mapping is
|
||||
*not supported.
|
||||
**/
|
||||
// Method: MapFont
|
||||
// Use the system font mapper to get a font handle from requested
|
||||
// parameters.
|
||||
// Interface Version:
|
||||
// 1
|
||||
// Implementation Required:
|
||||
// Required if GetFont method is not implemented.
|
||||
// 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 - Obsolete: this parameter is now ignored.
|
||||
// Return Value:
|
||||
// An opaque pointer for font handle, or NULL if system mapping is
|
||||
// not supported.
|
||||
// Comments:
|
||||
// If the system supports native font mapper (like Windows),
|
||||
// implementation can implement this method to get a font handle.
|
||||
// Otherwise, PDFium will do the mapping and then call GetFont
|
||||
// method. Only TrueType/OpenType and Type1 fonts are accepted
|
||||
// by PDFium.
|
||||
void* (*MapFont)(struct _FPDF_SYSFONTINFO* pThis,
|
||||
int weight,
|
||||
FPDF_BOOL bItalic,
|
||||
@ -119,192 +119,194 @@ typedef struct _FPDF_SYSFONTINFO {
|
||||
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.
|
||||
**/
|
||||
// Method: GetFont
|
||||
// Get a handle to a particular font by its internal ID
|
||||
// Interface Version:
|
||||
// 1
|
||||
// Implementation Required:
|
||||
// Required if MapFont method is not implemented.
|
||||
// Return Value:
|
||||
// An opaque pointer for font handle.
|
||||
// Parameters:
|
||||
// pThis - Pointer to the interface structure itself
|
||||
// face - Typeface name in system local encoding.
|
||||
// Comments:
|
||||
// If the system mapping not supported, PDFium will do the font
|
||||
// mapping and use this method to get a 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.
|
||||
**/
|
||||
// Method: GetFontData
|
||||
// Get font data from a font
|
||||
// Interface Version:
|
||||
// 1
|
||||
// Implementation Required:
|
||||
// Yes
|
||||
// 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), or 0 for the whole 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.
|
||||
// Comments:
|
||||
// Can read either the full font file, or a particular
|
||||
// TrueType/OpenType table.
|
||||
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.
|
||||
**/
|
||||
// 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.
|
||||
**/
|
||||
// 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
|
||||
**/
|
||||
// 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.
|
||||
**/
|
||||
// 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.
|
||||
**/
|
||||
// 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.
|
||||
// Note:
|
||||
// Once FPDF_GetDefaultTTFMapCount() and FPDF_GetDefaultTTFMapEntry() are no
|
||||
// longer experimental, this API will be marked as deprecated.
|
||||
// See https://crbug.com/348468114
|
||||
FPDF_EXPORT const FPDF_CharsetFontMap* FPDF_CALLCONV 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.
|
||||
* Parameters:
|
||||
* mapper - Opaque pointer to Foxit font mapper
|
||||
* face - The font face name
|
||||
* charset - Font character set. See above defined constants.
|
||||
* Return Value:
|
||||
* None.
|
||||
**/
|
||||
// Experimental API.
|
||||
//
|
||||
// Function: FPDF_GetDefaultTTFMapCount
|
||||
// Returns the number of entries in the default character set to TT Font name
|
||||
// map.
|
||||
// Parameters:
|
||||
// None.
|
||||
// Return Value:
|
||||
// The number of entries in the map.
|
||||
FPDF_EXPORT size_t FPDF_CALLCONV FPDF_GetDefaultTTFMapCount();
|
||||
|
||||
// Experimental API.
|
||||
//
|
||||
// Function: FPDF_GetDefaultTTFMapEntry
|
||||
// Returns an entry in the default character set to TT Font name map.
|
||||
// Parameters:
|
||||
// index - The index to the entry in the map to retrieve.
|
||||
// Return Value:
|
||||
// A pointer to the entry, if it is in the map, or NULL if the index is out
|
||||
// of bounds.
|
||||
FPDF_EXPORT const FPDF_CharsetFontMap* FPDF_CALLCONV
|
||||
FPDF_GetDefaultTTFMapEntry(size_t index);
|
||||
|
||||
// Function: FPDF_AddInstalledFont
|
||||
// Add a system font to the list in PDFium.
|
||||
// Comments:
|
||||
// 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
|
||||
// charset - Font character set. See above defined constants.
|
||||
// Return Value:
|
||||
// None.
|
||||
FPDF_EXPORT void FPDF_CALLCONV 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,
|
||||
* then call this function during SDK initialization process.
|
||||
* Parameters:
|
||||
* pFontInfo - Pointer to a FPDF_SYSFONTINFO structure
|
||||
* Return Value:
|
||||
* None
|
||||
**/
|
||||
// Function: FPDF_SetSystemFontInfo
|
||||
// Set the system font info interface into PDFium
|
||||
// Parameters:
|
||||
// pFontInfo - Pointer to a FPDF_SYSFONTINFO structure
|
||||
// Return Value:
|
||||
// None
|
||||
// Comments:
|
||||
// Platform support implementation should implement required methods of
|
||||
// FFDF_SYSFONTINFO interface, then call this function during PDFium
|
||||
// initialization process.
|
||||
//
|
||||
// Call this with NULL to tell PDFium to stop using a previously set
|
||||
// |FPDF_SYSFONTINFO|.
|
||||
FPDF_EXPORT void FPDF_CALLCONV
|
||||
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.
|
||||
* Parameters:
|
||||
* None
|
||||
* Return Value:
|
||||
* 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_FreeDefaultSystemFontInfo to free the
|
||||
*returned pointer.
|
||||
**/
|
||||
// Function: FPDF_GetDefaultSystemFontInfo
|
||||
// Get default system font info interface for current platform
|
||||
// Parameters:
|
||||
// None
|
||||
// Return Value:
|
||||
// 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_FreeDefaultSystemFontInfo to free the
|
||||
// returned pointer.
|
||||
// Comments:
|
||||
// For some platforms, PDFium implements a default version of system
|
||||
// font info interface. The default implementation can be passed to
|
||||
// FPDF_SetSystemFontInfo().
|
||||
FPDF_EXPORT FPDF_SYSFONTINFO* FPDF_CALLCONV FPDF_GetDefaultSystemFontInfo();
|
||||
|
||||
/**
|
||||
* Function: FPDF_FreeDefaultSystemFontInfo
|
||||
* Free a default system font info interface
|
||||
* Comments:
|
||||
* This function should be called on the output from
|
||||
*FPDF_SetSystemFontInfo once it is no longer needed by the client.
|
||||
* Parameters:
|
||||
* pFontInfo - Pointer to a FPDF_SYSFONTINFO structure
|
||||
* Return Value:
|
||||
* None
|
||||
**/
|
||||
// Function: FPDF_FreeDefaultSystemFontInfo
|
||||
// Free a default system font info interface
|
||||
// Parameters:
|
||||
// pFontInfo - Pointer to a FPDF_SYSFONTINFO structure
|
||||
// Return Value:
|
||||
// None
|
||||
// Comments:
|
||||
// This function should be called on the output from
|
||||
// FPDF_GetDefaultSystemFontInfo() once it is no longer needed.
|
||||
FPDF_EXPORT void FPDF_CALLCONV
|
||||
FPDF_FreeDefaultSystemFontInfo(FPDF_SYSFONTINFO* pFontInfo);
|
||||
|
||||
|
Reference in New Issue
Block a user