pshrec.c File Reference

#include <ft2build.h>
#include "pshrec.h"
#include "pshalgo.h"
#include "pshnterr.h"

Go to the source code of this file.

Defines

#define FT_COMPONENT   trace_pshrec

Functions

static void ps_hint_table_done (PS_Hint_Table table, FT_Memory memory)
static FT_Error ps_hint_table_ensure (PS_Hint_Table table, FT_UInt count, FT_Memory memory)
static FT_Error ps_hint_table_alloc (PS_Hint_Table table, FT_Memory memory, PS_Hint *ahint)
static void ps_mask_done (PS_Mask mask, FT_Memory memory)
static FT_Error ps_mask_ensure (PS_Mask mask, FT_UInt count, FT_Memory memory)
static FT_Int ps_mask_test_bit (PS_Mask mask, FT_Int idx)
static void ps_mask_clear_bit (PS_Mask mask, FT_Int idx)
static FT_Error ps_mask_set_bit (PS_Mask mask, FT_Int idx, FT_Memory memory)
static void ps_mask_table_done (PS_Mask_Table table, FT_Memory memory)
static FT_Error ps_mask_table_ensure (PS_Mask_Table table, FT_UInt count, FT_Memory memory)
static FT_Error ps_mask_table_alloc (PS_Mask_Table table, FT_Memory memory, PS_Mask *amask)
static FT_Error ps_mask_table_last (PS_Mask_Table table, FT_Memory memory, PS_Mask *amask)
static FT_Error ps_mask_table_set_bits (PS_Mask_Table table, const FT_Byte *source, FT_UInt bit_pos, FT_UInt bit_count, FT_Memory memory)
static FT_Int ps_mask_table_test_intersect (PS_Mask_Table table, FT_Int index1, FT_Int index2)
static FT_Error ps_mask_table_merge (PS_Mask_Table table, FT_Int index1, FT_Int index2, FT_Memory memory)
static FT_Error ps_mask_table_merge_all (PS_Mask_Table table, FT_Memory memory)
static void ps_dimension_done (PS_Dimension dimension, FT_Memory memory)
static void ps_dimension_init (PS_Dimension dimension)
static void ps_dimension_end_mask (PS_Dimension dim, FT_UInt end_point)
static FT_Error ps_dimension_reset_mask (PS_Dimension dim, FT_UInt end_point, FT_Memory memory)
static FT_Error ps_dimension_set_mask_bits (PS_Dimension dim, const FT_Byte *source, FT_UInt source_pos, FT_UInt source_bits, FT_UInt end_point, FT_Memory memory)
static FT_Error ps_dimension_add_t1stem (PS_Dimension dim, FT_Int pos, FT_Int len, FT_Memory memory, FT_Int *aindex)
static FT_Error ps_dimension_add_counter (PS_Dimension dim, FT_Int hint1, FT_Int hint2, FT_Int hint3, FT_Memory memory)
static FT_Error ps_dimension_end (PS_Dimension dim, FT_UInt end_point, FT_Memory memory)
 ps_hints_done (PS_Hints hints)
 ps_hints_init (PS_Hints hints, FT_Memory memory)
static void ps_hints_open (PS_Hints hints, PS_Hint_Type hint_type)
static void ps_hints_stem (PS_Hints hints, FT_Int dimension, FT_UInt count, FT_Long *stems)
static void ps_hints_t1stem3 (PS_Hints hints, FT_Int dimension, FT_Fixed *stems)
static void ps_hints_t1reset (PS_Hints hints, FT_UInt end_point)
static void ps_hints_t2mask (PS_Hints hints, FT_UInt end_point, FT_UInt bit_count, const FT_Byte *bytes)
static void ps_hints_t2counter (PS_Hints hints, FT_UInt bit_count, const FT_Byte *bytes)
static FT_Error ps_hints_close (PS_Hints hints, FT_UInt end_point)
static void t1_hints_open (T1_Hints hints)
static void t1_hints_stem (T1_Hints hints, FT_Int dimension, FT_Fixed *coords)
 t1_hints_funcs_init (T1_Hints_FuncsRec *funcs)
static void t2_hints_open (T2_Hints hints)
static void t2_hints_stems (T2_Hints hints, FT_Int dimension, FT_Int count, FT_Fixed *coords)
 t2_hints_funcs_init (T2_Hints_FuncsRec *funcs)


Define Documentation

#define FT_COMPONENT   trace_pshrec

Definition at line 31 of file pshrec.c.


Function Documentation

static FT_Error ps_dimension_add_counter ( PS_Dimension  dim,
FT_Int  hint1,
FT_Int  hint2,
FT_Int  hint3,
FT_Memory  memory 
) [static]

Definition at line 714 of file pshrec.c.

References PS_DimensionRec_::counters, if(), PS_Mask_TableRec_::masks, PS_Mask_TableRec_::num_masks, ps_mask_set_bit(), ps_mask_table_alloc(), and ps_mask_test_bit().

Referenced by ps_hints_t1stem3().

static FT_Error ps_dimension_add_t1stem ( PS_Dimension  dim,
FT_Int  pos,
FT_Int  len,
FT_Memory  memory,
FT_Int aindex 
) [static]

Definition at line 643 of file pshrec.c.

References flags, PS_Hint_TableRec_::hints, PS_DimensionRec_::hints, if(), mask, PS_DimensionRec_::masks, max, PS_Hint_TableRec_::num_hints, PS_HINT_FLAG_BOTTOM, PS_HINT_FLAG_GHOST, ps_hint_table_alloc(), ps_mask_set_bit(), and ps_mask_table_last().

Referenced by ps_hints_stem(), and ps_hints_t1stem3().

static void ps_dimension_done ( PS_Dimension  dimension,
FT_Memory  memory 
) [static]

Definition at line 536 of file pshrec.c.

References PS_DimensionRec_::counters, PS_DimensionRec_::hints, PS_DimensionRec_::masks, ps_hint_table_done(), and ps_mask_table_done().

Referenced by ps_hints_done().

static FT_Error ps_dimension_end ( PS_Dimension  dim,
FT_UInt  end_point,
FT_Memory  memory 
) [static]

Definition at line 763 of file pshrec.c.

References PS_DimensionRec_::counters, ps_dimension_end_mask(), and ps_mask_table_merge_all().

Referenced by ps_hints_close().

static void ps_dimension_end_mask ( PS_Dimension  dim,
FT_UInt  end_point 
) [static]

Definition at line 582 of file pshrec.c.

References mask, PS_Mask_TableRec_::masks, PS_DimensionRec_::masks, and PS_Mask_TableRec_::num_masks.

Referenced by ps_dimension_end(), and ps_dimension_reset_mask().

static void ps_dimension_init ( PS_Dimension  dimension  )  [static]

Definition at line 547 of file pshrec.c.

References PS_DimensionRec_::counters, PS_DimensionRec_::hints, PS_DimensionRec_::masks, PS_Hint_TableRec_::num_hints, and PS_Mask_TableRec_::num_masks.

Referenced by ps_hints_open().

static FT_Error ps_dimension_reset_mask ( PS_Dimension  dim,
FT_UInt  end_point,
FT_Memory  memory 
) [static]

Definition at line 600 of file pshrec.c.

References mask, PS_DimensionRec_::masks, ps_dimension_end_mask(), and ps_mask_table_alloc().

Referenced by ps_dimension_set_mask_bits(), and ps_hints_t1reset().

static FT_Error ps_dimension_set_mask_bits ( PS_Dimension  dim,
const FT_Byte source,
FT_UInt  source_pos,
FT_UInt  source_bits,
FT_UInt  end_point,
FT_Memory  memory 
) [static]

Definition at line 617 of file pshrec.c.

References PS_DimensionRec_::masks, ps_dimension_reset_mask(), and ps_mask_table_set_bits().

Referenced by ps_hints_t2counter(), and ps_hints_t2mask().

static FT_Error ps_hint_table_alloc ( PS_Hint_Table  table,
FT_Memory  memory,
PS_Hint ahint 
) [static]

Definition at line 82 of file pshrec.c.

References error, and ps_hint_table_ensure().

Referenced by ps_dimension_add_t1stem().

static void ps_hint_table_done ( PS_Hint_Table  table,
FT_Memory  memory 
) [static]

Definition at line 50 of file pshrec.c.

References FT_FREE.

Referenced by ps_dimension_done().

static FT_Error ps_hint_table_ensure ( PS_Hint_Table  table,
FT_UInt  count,
FT_Memory  memory 
) [static]

Definition at line 61 of file pshrec.c.

References error, FT_PAD_CEIL, and FT_RENEW_ARRAY.

Referenced by ps_hint_table_alloc().

static FT_Error ps_hints_close ( PS_Hints  hints,
FT_UInt  end_point 
) [static]

Definition at line 1087 of file pshrec.c.

References PS_HintsRec_::dimension, PS_HintsRec_::error, PS_HintsRec_::memory, and ps_dimension_end().

Referenced by t1_hints_funcs_init(), and t2_hints_funcs_init().

ps_hints_done ( PS_Hints  hints  ) 

Definition at line 786 of file pshrec.c.

References ps_dimension_done().

Referenced by ps_hinter_done().

ps_hints_init ( PS_Hints  hints,
FT_Memory  memory 
)

Definition at line 800 of file pshrec.c.

References FT_MEM_ZERO.

Referenced by ps_hinter_init().

static void ps_hints_open ( PS_Hints  hints,
PS_Hint_Type  hint_type 
) [static]

Definition at line 811 of file pshrec.c.

References PS_HintsRec_::dimension, PS_HintsRec_::error, FT_TRACE0, PS_HintsRec_::hint_type, ps_dimension_init(), PS_HINT_TYPE_1, and PS_HINT_TYPE_2.

Referenced by t1_hints_open(), and t2_hints_open().

static void ps_hints_stem ( PS_Hints  hints,
FT_Int  dimension,
FT_UInt  count,
FT_Long stems 
) [static]

Definition at line 837 of file pshrec.c.

References PS_HintsRec_::dimension, PS_HintsRec_::error, FT_ERROR, FT_TRACE0, PS_HintsRec_::hint_type, PS_HintsRec_::memory, NULL, ps_dimension_add_t1stem(), PS_HINT_TYPE_1, and PS_HINT_TYPE_2.

Referenced by t1_hints_stem(), and t2_hints_stems().

static void ps_hints_t1reset ( PS_Hints  hints,
FT_UInt  end_point 
) [static]

Definition at line 956 of file pshrec.c.

References PS_HintsRec_::dimension, PS_HintsRec_::error, PS_HintsRec_::hint_type, PS_HintsRec_::memory, ps_dimension_reset_mask(), and PS_HINT_TYPE_1.

Referenced by t1_hints_funcs_init().

static void ps_hints_t1stem3 ( PS_Hints  hints,
FT_Int  dimension,
FT_Fixed stems 
) [static]

Definition at line 893 of file pshrec.c.

References PS_HintsRec_::dimension, PS_HintsRec_::error, FIXED_TO_INT, FT_ERROR, FT_TRACE0, PS_HintsRec_::hint_type, PS_HintsRec_::memory, ps_dimension_add_counter(), ps_dimension_add_t1stem(), and PS_HINT_TYPE_1.

Referenced by t1_hints_funcs_init().

static void ps_hints_t2counter ( PS_Hints  hints,
FT_UInt  bit_count,
const FT_Byte bytes 
) [static]

Definition at line 1041 of file pshrec.c.

References PS_HintsRec_::dimension, PS_HintsRec_::error, FT_TRACE0, PS_DimensionRec_::hints, PS_HintsRec_::memory, PS_Hint_TableRec_::num_hints, and ps_dimension_set_mask_bits().

Referenced by t2_hints_funcs_init().

static void ps_hints_t2mask ( PS_Hints  hints,
FT_UInt  end_point,
FT_UInt  bit_count,
const FT_Byte bytes 
) [static]

Definition at line 995 of file pshrec.c.

References PS_HintsRec_::dimension, PS_HintsRec_::error, FT_TRACE0, PS_DimensionRec_::hints, PS_HintsRec_::memory, PS_Hint_TableRec_::num_hints, and ps_dimension_set_mask_bits().

Referenced by t2_hints_funcs_init().

static void ps_mask_clear_bit ( PS_Mask  mask,
FT_Int  idx 
) [static]

Definition at line 169 of file pshrec.c.

References mask, p, and x80.

Referenced by ps_mask_table_merge().

static void ps_mask_done ( PS_Mask  mask,
FT_Memory  memory 
) [static]

Definition at line 124 of file pshrec.c.

References FT_FREE, and mask.

Referenced by ps_mask_table_done().

static FT_Error ps_mask_ensure ( PS_Mask  mask,
FT_UInt  count,
FT_Memory  memory 
) [static]

Definition at line 136 of file pshrec.c.

References error, FT_PAD_CEIL, FT_RENEW_ARRAY, and mask.

Referenced by ps_mask_set_bit(), ps_mask_table_merge(), and ps_mask_table_set_bits().

static FT_Error ps_mask_set_bit ( PS_Mask  mask,
FT_Int  idx,
FT_Memory  memory 
) [static]

Definition at line 185 of file pshrec.c.

References error, mask, p, ps_mask_ensure(), and x80.

Referenced by ps_dimension_add_counter(), and ps_dimension_add_t1stem().

static FT_Error ps_mask_table_alloc ( PS_Mask_Table  table,
FT_Memory  memory,
PS_Mask amask 
) [static]

Definition at line 254 of file pshrec.c.

References error, mask, and ps_mask_table_ensure().

Referenced by ps_dimension_add_counter(), ps_dimension_reset_mask(), and ps_mask_table_last().

static void ps_mask_table_done ( PS_Mask_Table  table,
FT_Memory  memory 
) [static]

Definition at line 215 of file pshrec.c.

References FT_FREE, mask, and ps_mask_done().

Referenced by ps_dimension_done().

static FT_Error ps_mask_table_ensure ( PS_Mask_Table  table,
FT_UInt  count,
FT_Memory  memory 
) [static]

Definition at line 233 of file pshrec.c.

References error, FT_PAD_CEIL, and FT_RENEW_ARRAY.

Referenced by ps_mask_table_alloc().

static FT_Error ps_mask_table_last ( PS_Mask_Table  table,
FT_Memory  memory,
PS_Mask amask 
) [static]

Definition at line 286 of file pshrec.c.

References error, mask, and ps_mask_table_alloc().

Referenced by ps_dimension_add_t1stem(), and ps_mask_table_set_bits().

static FT_Error ps_mask_table_merge ( PS_Mask_Table  table,
FT_Int  index1,
FT_Int  index2,
FT_Memory  memory 
) [static]

Definition at line 406 of file pshrec.c.

References PS_MaskRec_::bytes, dummy, PS_MaskRec_::end_point, error, ft_memmove, FT_TRACE0, PS_MaskRec_::num_bits, ps_mask_clear_bit(), ps_mask_ensure(), read, and write.

Referenced by ps_mask_table_merge_all().

static FT_Error ps_mask_table_merge_all ( PS_Mask_Table  table,
FT_Memory  memory 
) [static]

Definition at line 498 of file pshrec.c.

References error, ps_mask_table_merge(), and ps_mask_table_test_intersect().

Referenced by ps_dimension_end().

static FT_Error ps_mask_table_set_bits ( PS_Mask_Table  table,
const FT_Byte source,
FT_UInt  bit_pos,
FT_UInt  bit_count,
FT_Memory  memory 
) [static]

Definition at line 313 of file pshrec.c.

References error, mask, ps_mask_ensure(), ps_mask_table_last(), read, val, and write.

Referenced by ps_dimension_set_mask_bits().

static FT_Int ps_mask_table_test_intersect ( PS_Mask_Table  table,
FT_Int  index1,
FT_Int  index2 
) [static]

Definition at line 374 of file pshrec.c.

References PS_MaskRec_::bytes, PS_MaskRec_::num_bits, p1(), and p2().

Referenced by ps_mask_table_merge_all().

static FT_Int ps_mask_test_bit ( PS_Mask  mask,
FT_Int  idx 
) [static]

Definition at line 157 of file pshrec.c.

References mask.

Referenced by ps_dimension_add_counter().

t1_hints_funcs_init ( T1_Hints_FuncsRec funcs  ) 

Definition at line 1145 of file pshrec.c.

References FT_MEM_ZERO, ps_hints_apply(), ps_hints_close(), ps_hints_t1reset(), ps_hints_t1stem3(), t1_hints_open(), and t1_hints_stem().

Referenced by ps_hinter_init().

static void t1_hints_open ( T1_Hints  hints  )  [static]

Definition at line 1124 of file pshrec.c.

References PS_HINT_TYPE_1, and ps_hints_open().

Referenced by t1_hints_funcs_init().

static void t1_hints_stem ( T1_Hints  hints,
FT_Int  dimension,
FT_Fixed coords 
) [static]

Definition at line 1130 of file pshrec.c.

References FIXED_TO_INT, FT_Pos, and ps_hints_stem().

Referenced by t1_hints_funcs_init().

t2_hints_funcs_init ( T2_Hints_FuncsRec funcs  ) 

Definition at line 1211 of file pshrec.c.

References FT_MEM_ZERO, ps_hints_apply(), ps_hints_close(), ps_hints_t2counter(), ps_hints_t2mask(), t2_hints_open(), and t2_hints_stems().

Referenced by ps_hinter_init().

static void t2_hints_open ( T2_Hints  hints  )  [static]

Definition at line 1167 of file pshrec.c.

References PS_HINT_TYPE_2, and ps_hints_open().

Referenced by t2_hints_funcs_init().

static void t2_hints_stems ( T2_Hints  hints,
FT_Int  dimension,
FT_Int  count,
FT_Fixed coords 
) [static]

Definition at line 1174 of file pshrec.c.

References FIXED_TO_INT, FT_Pos, n, ps_hints_stem(), total, and y.

Referenced by t2_hints_funcs_init().


Generated on Tue Jul 5 15:58:25 2011 for ROOT_528-00b_version by  doxygen 1.5.1