Hash :
c3b21608
        
        Author :
  
        
        Date :
2001-12-05T01:22:05
        
      
Formatting. Cleaning up of ChangeLog. * docs/license.txt: s/X Windows/X Window System/. * src/raster/ftraster.c: Fix definition condition of MEM_Set(). * src/smooth/ftgrays.c (M_Y): Change value to 192. * src/base/ftdbgmem.c (ft_mem_table_destroy): Fix printf() parameter. Remove unused variable. * src/cache/ftcimage.c (ftc_image_node_init, ftc_image_node_compare): Remove unused variables. * src/cache/ftcsbits.c (ftc_sbit_node_weight): Remove unused variable. * src/raster/ftraster.c (MEM_Set): Move definition down to avoid compiler warning. * src/autohint/ahhint.c (ah_hinter_hint_edges): Use UNUSED() to avoid compiler warnings. * src/pcf/pcfread.c (tableNames): Use `const'. (pcf_read_TOC): Change counter name to avoid compiler warning. Use `const'. * src/pshinter/pshrec.c (ps_hints_close): Remove redundant declaration. * src/pshinter/pshalgo1.c (psh1_hint_table_init): Rename variables to avoid shadowing. * src/pshinter/pshalgo2.c (psh2_hint_table_activate_mask): Ditto. * src/type1/t1objs.h: Remove double declarations of `T1_Size_Init()' and `T1_Size_Done()'.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178
/***************************************************************************/
/*                                                                         */
/*  pshrec.h                                                               */
/*                                                                         */
/*    Postscript (Type1/Type2) hints recorder (specification).             */
/*                                                                         */
/*  Copyright 2001 by                                                      */
/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
/*                                                                         */
/*  This file is part of the FreeType project, and may only be used,       */
/*  modified, and distributed under the terms of the FreeType project      */
/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
/*  this file you indicate that you have read the license and              */
/*  understand and accept it fully.                                        */
/*                                                                         */
/***************************************************************************/
  /**************************************************************************/
  /*                                                                        */
  /*  The functions defined here are called from the Type 1, CID and CFF    */
  /*  font drivers to record the hints of a given character/glyph.          */
  /*                                                                        */
  /*  The hints are recorded in a unified format, and are later processed   */
  /*  by the "optimizer" and "fitter" to adjust the outlines to the pixel   */
  /*  grid.                                                                 */
  /*                                                                        */
  /**************************************************************************/
#ifndef __PSHREC_H__
#define __PSHREC_H__
#include <ft2build.h>
#include FT_INTERNAL_POSTSCRIPT_HINTS_H
#include "pshglob.h"
FT_BEGIN_HEADER
  /*************************************************************************/
  /*************************************************************************/
  /*****                                                               *****/
  /*****                 GLYPH HINTS RECORDER INTERNALS                *****/
  /*****                                                               *****/
  /*************************************************************************/
  /*************************************************************************/
  /* handle to hint record */
  typedef struct PS_HintRec_*  PS_Hint;
  /* hint types */
  typedef enum
  {
    PS_HINT_TYPE_1 = 1,
    PS_HINT_TYPE_2 = 2
  } PS_Hint_Type;
  /* hint flags */
  typedef enum
  {
    PS_HINT_FLAG_GHOST  = 1,
    PS_HINT_FLAG_BOTTOM = 2
  } PS_Hint_Flags;
  /* hint descriptor */
  typedef struct  PS_HintRec_
  {
    FT_Int   pos;
    FT_Int   len;
    FT_UInt  flags;
  } PS_HintRec;
#define ps_hint_is_active( x )  ( (x)->flags & PS_HINT_FLAG_ACTIVE )
#define ps_hint_is_ghost( x )   ( (x)->flags & PS_HINT_FLAG_GHOST  )
#define ps_hint_is_bottom( x )  ( (x)->flags & PS_HINT_FLAG_BOTTOM )
  /* hints table descriptor */
  typedef struct  PS_Hint_TableRec_
  {
    FT_UInt  num_hints;
    FT_UInt  max_hints;
    PS_Hint  hints;
  } PS_Hint_TableRec, *PS_Hint_Table;
  /* hint and counter mask descriptor */
  typedef struct  PS_MaskRec_
  {
    FT_UInt   num_bits;
    FT_UInt   max_bits;
    FT_Byte*  bytes;
    FT_UInt   end_point;
  } PS_MaskRec, *PS_Mask;
  /* masks and counters table descriptor */
  typedef struct  PS_Mask_TableRec_
  {
    FT_UInt  num_masks;
    FT_UInt  max_masks;
    PS_Mask  masks;
  } PS_Mask_TableRec, *PS_Mask_Table;
 /* dimension-specific hints descriptor */
  typedef struct  PS_DimensionRec_
  {
    PS_Hint_TableRec  hints;
    PS_Mask_TableRec  masks;
    PS_Mask_TableRec  counters;
  } PS_DimensionRec, *PS_Dimension;
  /* magic value used within PS_HintsRec */
#define PS_HINTS_MAGIC  0x68696e74   /* "hint" */
  /* glyph hints descriptor */
  typedef struct  PS_HintsRec_
  {
    FT_Memory        memory;
    FT_Error         error;
    FT_UInt32        magic;
    PS_Hint_Type     hint_type;
    PS_DimensionRec  dimension[2];
  } PS_HintsRec, *PS_Hints;
  /* */
  /* initialize hints recorder */
  FT_LOCAL FT_Error
  ps_hints_init( PS_Hints   hints,
                 FT_Memory  memory );
  /* finalize hints recorder */
  FT_LOCAL void
  ps_hints_done( PS_Hints  hints );
  /* initialize Type1 hints recorder interface */
  FT_LOCAL void
  t1_hints_funcs_init( T1_Hints_FuncsRec*  funcs );
  /* initialize Type2 hints recorder interface */
  FT_LOCAL void
  t2_hints_funcs_init( T2_Hints_FuncsRec*  funcs );
#ifdef DEBUG_HINTER
  extern PS_Hints  ps_debug_hints;
  extern  int      ps_debug_no_horz_hints;
  extern  int      ps_debug_no_vert_hints;
#endif
 /* */
FT_END_HEADER
#endif /* __PS_HINTER_RECORD_H__ */
/* END */