Haru Free PDF Library
hpdf_encoder.h File Reference
#include "hpdf_consts.h"
#include "hpdf_streams.h"
Include dependency graph for hpdf_encoder.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  _HPDF_ParseText_Rec
 
struct  _HPDF_Encoder_Rec
 
struct  _HPDF_BasicEncoderAttr_Rec
 
struct  _HPDF_CidRange_Rec
 
struct  _HPDF_UnicodeMap_Rec
 
struct  _HPDF_CMapEncoderAttr_Rec
 

Macros

#define HPDF_ENCODER_SIG_BYTES   0x454E4344L
 
#define HPDF_ENCODING_FONT_SPECIFIC   "FontSpecific"
 
#define HPDF_ENCODING_STANDARD   "StandardEncoding"
 
#define HPDF_ENCODING_MAC_ROMAN   "MacRomanEncoding"
 
#define HPDF_ENCODING_WIN_ANSI   "WinAnsiEncoding"
 
#define HPDF_ENCODING_ISO8859_2   "ISO8859-2"
 
#define HPDF_ENCODING_ISO8859_3   "ISO8859-3"
 
#define HPDF_ENCODING_ISO8859_4   "ISO8859-4"
 
#define HPDF_ENCODING_ISO8859_5   "ISO8859-5"
 
#define HPDF_ENCODING_ISO8859_6   "ISO8859-6"
 
#define HPDF_ENCODING_ISO8859_7   "ISO8859-7"
 
#define HPDF_ENCODING_ISO8859_8   "ISO8859-8"
 
#define HPDF_ENCODING_ISO8859_9   "ISO8859-9"
 
#define HPDF_ENCODING_ISO8859_10   "ISO8859-10"
 
#define HPDF_ENCODING_ISO8859_11   "ISO8859-11"
 
#define HPDF_ENCODING_ISO8859_13   "ISO8859-13"
 
#define HPDF_ENCODING_ISO8859_14   "ISO8859-14"
 
#define HPDF_ENCODING_ISO8859_15   "ISO8859-15"
 
#define HPDF_ENCODING_ISO8859_16   "ISO8859-16"
 
#define HPDF_ENCODING_CP1250   "CP1250"
 
#define HPDF_ENCODING_CP1251   "CP1251"
 
#define HPDF_ENCODING_CP1252   "CP1252"
 
#define HPDF_ENCODING_CP1253   "CP1253"
 
#define HPDF_ENCODING_CP1254   "CP1254"
 
#define HPDF_ENCODING_CP1255   "CP1255"
 
#define HPDF_ENCODING_CP1256   "CP1256"
 
#define HPDF_ENCODING_CP1257   "CP1257"
 
#define HPDF_ENCODING_CP1258   "CP1258"
 
#define HPDF_ENCODING_KOI8_R   "KOI8-R"
 
#define char_NOTDEF   ".notdef"
 

Typedefs

typedef enum _HPDF_EncodingType HPDF_EncodingType
 
typedef struct _HPDF_ParseText_Rec HPDF_ParseText_Rec
 
typedef struct _HPDF_Encoder_RecHPDF_Encoder
 
typedef HPDF_ByteType(* HPDF_Encoder_ByteType_Func) (HPDF_Encoder encoder, HPDF_ParseText_Rec *state)
 
typedef HPDF_UNICODE(* HPDF_Encoder_ToUnicode_Func) (HPDF_Encoder encoder, HPDF_UINT16 code)
 
typedef char *(* HPDF_Encoder_EncodeText_Func) (HPDF_Encoder encoder, const char *text, HPDF_UINT len, HPDF_UINT *encoded_length)
 
typedef HPDF_STATUS(* HPDF_Encoder_Write_Func) (HPDF_Encoder encoder, HPDF_Stream out)
 
typedef HPDF_STATUS(* HPDF_Encoder_Init_Func) (HPDF_Encoder encoder)
 
typedef void(* HPDF_Encoder_Free_Func) (HPDF_Encoder encoder)
 
typedef struct _HPDF_Encoder_Rec HPDF_Encoder_Rec
 
typedef enum _HPDF_BaseEncodings HPDF_BaseEncodings
 
typedef struct _HPDF_BasicEncoderAttr_RecHPDF_BasicEncoderAttr
 
typedef struct _HPDF_BasicEncoderAttr_Rec HPDF_BasicEncoderAttr_Rec
 
typedef HPDF_BOOL(* HPDF_CMapEncoder_ByteType_Func) (HPDF_Encoder encoder, HPDF_BYTE b)
 
typedef struct _HPDF_CidRange_Rec HPDF_CidRange_Rec
 
typedef struct _HPDF_UnicodeMap_Rec HPDF_UnicodeMap_Rec
 
typedef struct _HPDF_CMapEncoderAttr_RecHPDF_CMapEncoderAttr
 
typedef struct _HPDF_CMapEncoderAttr_Rec HPDF_CMapEncoderAttr_Rec
 

Enumerations

enum  _HPDF_EncodingType {
  HPDF_STANDARD_ENCODING = 0 , HPDF_MAC_ROMAN_ENCODING , HPDF_WIN_ANSI_ENCODING , HPDF_FONT_SPECIFIC ,
  HPDF_ENCODING_EOF
}
 
enum  _HPDF_BaseEncodings {
  HPDF_BASE_ENCODING_STANDARD , HPDF_BASE_ENCODING_WIN_ANSI , HPDF_BASE_ENCODING_MAC_ROMAN , HPDF_BASE_ENCODING_FONT_SPECIFIC ,
  HPDF_BASE_ENCODING_EOF
}
 

Functions

HPDF_STATUS HPDF_Encoder_Validate (HPDF_Encoder encoder)
 
void HPDF_Encoder_SetParseText (HPDF_Encoder encoder, HPDF_ParseText_Rec *state, const HPDF_BYTE *text, HPDF_UINT len)
 
HPDF_ByteType HPDF_Encoder_ByteType (HPDF_Encoder encoder, HPDF_ParseText_Rec *state)
 
HPDF_UNICODE HPDF_Encoder_ToUnicode (HPDF_Encoder encoder, HPDF_UINT16 code)
 
void HPDF_Encoder_Free (HPDF_Encoder encoder)
 
HPDF_Encoder HPDF_BasicEncoder_New (HPDF_MMgr mmgr, const char *encoding_name)
 
void HPDF_BasicEncoder_Free (HPDF_Encoder encoder)
 
HPDF_STATUS HPDF_BasicEncoder_Write (HPDF_Encoder encoder, HPDF_Stream out)
 
HPDF_UNICODE HPDF_BasicEncoder_ToUnicode (HPDF_Encoder encoder, HPDF_UINT16 code)
 
HPDF_Encoder HPDF_CMapEncoder_New (HPDF_MMgr mmgr, char *name, HPDF_Encoder_Init_Func init_fn)
 
HPDF_STATUS HPDF_CMapEncoder_InitAttr (HPDF_Encoder encoder)
 
void HPDF_CMapEncoder_Free (HPDF_Encoder encoder)
 
HPDF_STATUS HPDF_CMapEncoder_Write (HPDF_Encoder encoder, HPDF_Stream out)
 
HPDF_UNICODE HPDF_CMapEncoder_ToUnicode (HPDF_Encoder encoder, HPDF_UINT16 code)
 
HPDF_UINT16 HPDF_CMapEncoder_ToCID (HPDF_Encoder encoder, HPDF_UINT16 code)
 
HPDF_STATUS HPDF_CMapEncoder_SetParseText (HPDF_Encoder encoder, HPDF_ParseText_Rec *state, const HPDF_BYTE *text, HPDF_UINT len)
 
HPDF_ByteType HPDF_CMapEncoder_ByteType (HPDF_Encoder encoder, HPDF_ParseText_Rec *state)
 
HPDF_STATUS HPDF_CMapEncoder_AddCMap (HPDF_Encoder encoder, const HPDF_CidRange_Rec *range)
 
HPDF_STATUS HPDF_CMapEncoder_AddNotDefRange (HPDF_Encoder encoder, HPDF_CidRange_Rec range)
 
HPDF_STATUS HPDF_CMapEncoder_AddCodeSpaceRange (HPDF_Encoder encoder, HPDF_CidRange_Rec range)
 
void HPDF_CMapEncoder_SetUnicodeArray (HPDF_Encoder encoder, const HPDF_UnicodeMap_Rec *array1)
 
HPDF_STATUS HPDF_CMapEncoder_AddJWWLineHead (HPDF_Encoder encoder, const HPDF_UINT16 *code)
 
HPDF_BOOL HPDF_Encoder_CheckJWWLineHead (HPDF_Encoder encoder, const HPDF_UINT16 code)
 
const char * HPDF_UnicodeToGryphName (HPDF_UNICODE unicode)
 
HPDF_UNICODE HPDF_GryphNameToUnicode (const char *gryph_name)
 

Macro Definition Documentation

◆ char_NOTDEF

#define char_NOTDEF   ".notdef"

◆ HPDF_ENCODER_SIG_BYTES

#define HPDF_ENCODER_SIG_BYTES   0x454E4344L

◆ HPDF_ENCODING_CP1250

#define HPDF_ENCODING_CP1250   "CP1250"

◆ HPDF_ENCODING_CP1251

#define HPDF_ENCODING_CP1251   "CP1251"

◆ HPDF_ENCODING_CP1252

#define HPDF_ENCODING_CP1252   "CP1252"

◆ HPDF_ENCODING_CP1253

#define HPDF_ENCODING_CP1253   "CP1253"

◆ HPDF_ENCODING_CP1254

#define HPDF_ENCODING_CP1254   "CP1254"

◆ HPDF_ENCODING_CP1255

#define HPDF_ENCODING_CP1255   "CP1255"

◆ HPDF_ENCODING_CP1256

#define HPDF_ENCODING_CP1256   "CP1256"

◆ HPDF_ENCODING_CP1257

#define HPDF_ENCODING_CP1257   "CP1257"

◆ HPDF_ENCODING_CP1258

#define HPDF_ENCODING_CP1258   "CP1258"

◆ HPDF_ENCODING_FONT_SPECIFIC

#define HPDF_ENCODING_FONT_SPECIFIC   "FontSpecific"

◆ HPDF_ENCODING_ISO8859_10

#define HPDF_ENCODING_ISO8859_10   "ISO8859-10"

◆ HPDF_ENCODING_ISO8859_11

#define HPDF_ENCODING_ISO8859_11   "ISO8859-11"

◆ HPDF_ENCODING_ISO8859_13

#define HPDF_ENCODING_ISO8859_13   "ISO8859-13"

◆ HPDF_ENCODING_ISO8859_14

#define HPDF_ENCODING_ISO8859_14   "ISO8859-14"

◆ HPDF_ENCODING_ISO8859_15

#define HPDF_ENCODING_ISO8859_15   "ISO8859-15"

◆ HPDF_ENCODING_ISO8859_16

#define HPDF_ENCODING_ISO8859_16   "ISO8859-16"

◆ HPDF_ENCODING_ISO8859_2

#define HPDF_ENCODING_ISO8859_2   "ISO8859-2"

◆ HPDF_ENCODING_ISO8859_3

#define HPDF_ENCODING_ISO8859_3   "ISO8859-3"

◆ HPDF_ENCODING_ISO8859_4

#define HPDF_ENCODING_ISO8859_4   "ISO8859-4"

◆ HPDF_ENCODING_ISO8859_5

#define HPDF_ENCODING_ISO8859_5   "ISO8859-5"

◆ HPDF_ENCODING_ISO8859_6

#define HPDF_ENCODING_ISO8859_6   "ISO8859-6"

◆ HPDF_ENCODING_ISO8859_7

#define HPDF_ENCODING_ISO8859_7   "ISO8859-7"

◆ HPDF_ENCODING_ISO8859_8

#define HPDF_ENCODING_ISO8859_8   "ISO8859-8"

◆ HPDF_ENCODING_ISO8859_9

#define HPDF_ENCODING_ISO8859_9   "ISO8859-9"

◆ HPDF_ENCODING_KOI8_R

#define HPDF_ENCODING_KOI8_R   "KOI8-R"

◆ HPDF_ENCODING_MAC_ROMAN

#define HPDF_ENCODING_MAC_ROMAN   "MacRomanEncoding"

◆ HPDF_ENCODING_STANDARD

#define HPDF_ENCODING_STANDARD   "StandardEncoding"

◆ HPDF_ENCODING_WIN_ANSI

#define HPDF_ENCODING_WIN_ANSI   "WinAnsiEncoding"

Typedef Documentation

◆ HPDF_BaseEncodings

◆ HPDF_BasicEncoderAttr

◆ HPDF_BasicEncoderAttr_Rec

◆ HPDF_CidRange_Rec

◆ HPDF_CMapEncoder_ByteType_Func

typedef HPDF_BOOL(* HPDF_CMapEncoder_ByteType_Func) (HPDF_Encoder encoder, HPDF_BYTE b)

◆ HPDF_CMapEncoderAttr

◆ HPDF_CMapEncoderAttr_Rec

◆ HPDF_Encoder

◆ HPDF_Encoder_ByteType_Func

typedef HPDF_ByteType(* HPDF_Encoder_ByteType_Func) (HPDF_Encoder encoder, HPDF_ParseText_Rec *state)

◆ HPDF_Encoder_EncodeText_Func

typedef char*(* HPDF_Encoder_EncodeText_Func) (HPDF_Encoder encoder, const char *text, HPDF_UINT len, HPDF_UINT *encoded_length)

◆ HPDF_Encoder_Free_Func

typedef void(* HPDF_Encoder_Free_Func) (HPDF_Encoder encoder)

◆ HPDF_Encoder_Init_Func

typedef HPDF_STATUS(* HPDF_Encoder_Init_Func) (HPDF_Encoder encoder)

◆ HPDF_Encoder_Rec

◆ HPDF_Encoder_ToUnicode_Func

typedef HPDF_UNICODE(* HPDF_Encoder_ToUnicode_Func) (HPDF_Encoder encoder, HPDF_UINT16 code)

◆ HPDF_Encoder_Write_Func

typedef HPDF_STATUS(* HPDF_Encoder_Write_Func) (HPDF_Encoder encoder, HPDF_Stream out)

◆ HPDF_EncodingType

◆ HPDF_ParseText_Rec

◆ HPDF_UnicodeMap_Rec

Enumeration Type Documentation

◆ _HPDF_BaseEncodings

Enumerator
HPDF_BASE_ENCODING_STANDARD 
HPDF_BASE_ENCODING_WIN_ANSI 
HPDF_BASE_ENCODING_MAC_ROMAN 
HPDF_BASE_ENCODING_FONT_SPECIFIC 
HPDF_BASE_ENCODING_EOF 

◆ _HPDF_EncodingType

Enumerator
HPDF_STANDARD_ENCODING 
HPDF_MAC_ROMAN_ENCODING 
HPDF_WIN_ANSI_ENCODING 
HPDF_FONT_SPECIFIC 
HPDF_ENCODING_EOF 

Function Documentation

◆ HPDF_BasicEncoder_Free()

void HPDF_BasicEncoder_Free ( HPDF_Encoder  encoder)

◆ HPDF_BasicEncoder_New()

HPDF_Encoder HPDF_BasicEncoder_New ( HPDF_MMgr  mmgr,
const char *  encoding_name 
)

◆ HPDF_BasicEncoder_ToUnicode()

HPDF_UNICODE HPDF_BasicEncoder_ToUnicode ( HPDF_Encoder  encoder,
HPDF_UINT16  code 
)

◆ HPDF_BasicEncoder_Write()

HPDF_STATUS HPDF_BasicEncoder_Write ( HPDF_Encoder  encoder,
HPDF_Stream  out 
)

◆ HPDF_CMapEncoder_AddCMap()

HPDF_STATUS HPDF_CMapEncoder_AddCMap ( HPDF_Encoder  encoder,
const HPDF_CidRange_Rec range 
)

◆ HPDF_CMapEncoder_AddCodeSpaceRange()

HPDF_STATUS HPDF_CMapEncoder_AddCodeSpaceRange ( HPDF_Encoder  encoder,
HPDF_CidRange_Rec  range 
)

◆ HPDF_CMapEncoder_AddJWWLineHead()

HPDF_STATUS HPDF_CMapEncoder_AddJWWLineHead ( HPDF_Encoder  encoder,
const HPDF_UINT16 code 
)

◆ HPDF_CMapEncoder_AddNotDefRange()

HPDF_STATUS HPDF_CMapEncoder_AddNotDefRange ( HPDF_Encoder  encoder,
HPDF_CidRange_Rec  range 
)

◆ HPDF_CMapEncoder_ByteType()

HPDF_ByteType HPDF_CMapEncoder_ByteType ( HPDF_Encoder  encoder,
HPDF_ParseText_Rec state 
)

◆ HPDF_CMapEncoder_Free()

void HPDF_CMapEncoder_Free ( HPDF_Encoder  encoder)

◆ HPDF_CMapEncoder_InitAttr()

HPDF_STATUS HPDF_CMapEncoder_InitAttr ( HPDF_Encoder  encoder)

◆ HPDF_CMapEncoder_New()

HPDF_Encoder HPDF_CMapEncoder_New ( HPDF_MMgr  mmgr,
char *  name,
HPDF_Encoder_Init_Func  init_fn 
)

◆ HPDF_CMapEncoder_SetParseText()

HPDF_STATUS HPDF_CMapEncoder_SetParseText ( HPDF_Encoder  encoder,
HPDF_ParseText_Rec state,
const HPDF_BYTE text,
HPDF_UINT  len 
)

◆ HPDF_CMapEncoder_SetUnicodeArray()

void HPDF_CMapEncoder_SetUnicodeArray ( HPDF_Encoder  encoder,
const HPDF_UnicodeMap_Rec array1 
)

◆ HPDF_CMapEncoder_ToCID()

HPDF_UINT16 HPDF_CMapEncoder_ToCID ( HPDF_Encoder  encoder,
HPDF_UINT16  code 
)

◆ HPDF_CMapEncoder_ToUnicode()

HPDF_UNICODE HPDF_CMapEncoder_ToUnicode ( HPDF_Encoder  encoder,
HPDF_UINT16  code 
)

◆ HPDF_CMapEncoder_Write()

HPDF_STATUS HPDF_CMapEncoder_Write ( HPDF_Encoder  encoder,
HPDF_Stream  out 
)

◆ HPDF_Encoder_ByteType()

HPDF_ByteType HPDF_Encoder_ByteType ( HPDF_Encoder  encoder,
HPDF_ParseText_Rec state 
)

◆ HPDF_Encoder_CheckJWWLineHead()

HPDF_BOOL HPDF_Encoder_CheckJWWLineHead ( HPDF_Encoder  encoder,
const HPDF_UINT16  code 
)

◆ HPDF_Encoder_Free()

void HPDF_Encoder_Free ( HPDF_Encoder  encoder)

◆ HPDF_Encoder_SetParseText()

void HPDF_Encoder_SetParseText ( HPDF_Encoder  encoder,
HPDF_ParseText_Rec state,
const HPDF_BYTE text,
HPDF_UINT  len 
)

◆ HPDF_Encoder_ToUnicode()

HPDF_UNICODE HPDF_Encoder_ToUnicode ( HPDF_Encoder  encoder,
HPDF_UINT16  code 
)

◆ HPDF_Encoder_Validate()

HPDF_STATUS HPDF_Encoder_Validate ( HPDF_Encoder  encoder)

◆ HPDF_GryphNameToUnicode()

HPDF_UNICODE HPDF_GryphNameToUnicode ( const char *  gryph_name)

◆ HPDF_UnicodeToGryphName()

const char* HPDF_UnicodeToGryphName ( HPDF_UNICODE  unicode)