[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/libraries/tcpdf/fonts/ttf2ufm/ttf2ufm-src/ -> global.h (source)

   1  /*
   2   * see COPYRIGHT
   3   */
   4  
   5  
   6  /* options */
   7  
   8  extern int      encode;    /* encode the resulting file */
   9  extern int      pfbflag;    /* produce compressed file */
  10  extern int      wantafm;    /* want to see .afm instead of .t1a on stdout */
  11  extern int      correctvsize;    /* try to correct the vertical size of characters */
  12  extern int      wantuid;    /* user wants UniqueID entry in the font */
  13  extern int      allglyphs;    /* convert all glyphs, not only 256 of them */
  14  extern int      warnlevel;    /* the level of permitted warnings */
  15  extern int      forcemap; /* do mapping even on non-Unicode fonts */
  16  /* options - maximal limits */
  17  extern int      max_stemdepth;    /* maximal depth of stem stack in interpreter */
  18  /* options - debugging */
  19  extern int      absolute;    /* print out in absolute values */
  20  extern int      reverse;    /* reverse font to Type1 path directions */
  21  /* options - suboptions of Outline Processing */
  22  extern int      optimize;    /* enables space optimization */
  23  extern int      smooth;    /* enable smoothing of outlines */
  24  extern int      transform;    /* enables transformation to 1000x1000 matrix */
  25  extern int      hints;    /* enables autogeneration of hints */
  26  extern int      subhints;    /* enables autogeneration of substituted hints */
  27  extern int      trybold;    /* try to guess whether the font is bold */
  28  extern int      correctwidth;    /* try to correct the character width */
  29  extern int      vectorize;    /* vectorize the bitmaps */
  30  extern int      use_autotrace;    /* use the autotrace library on bitmap */
  31  /* options - suboptions of File Generation */
  32  extern int      gen_pfa;    /* generate the font file */
  33  extern int      gen_afm;    /* generate the metrics file */
  34  extern int      gen_dvienc;    /* generate the dvips encoding file */
  35  
  36  /* not quite options to select a particular source encoding */
  37  extern int      force_pid; /* specific platform id */
  38  extern int      force_eid; /* specific encoding id */
  39  
  40  /* other globals */
  41  extern FILE    *null_file, *pfa_file, *afm_file, *ufm_file, *dvienc_file;
  42  extern int      numglyphs;
  43  
  44  /* warnings */
  45  
  46  #define WARNING_1    if(warnlevel >= 1)
  47  #define WARNING_2    if(warnlevel >= 2)
  48  #define WARNING_3    if(warnlevel >= 3)
  49  #define WARNING_4    if(warnlevel >= 4)
  50  
  51  /*
  52   * Bitmap control macros
  53   */
  54  
  55  #define BITMAP_BYTES(size)    (((size)+7)>>3)
  56  #define DEF_BITMAP(name, size)    unsigned char name[BITMAP_BYTES(size)]
  57  #define SET_BITMAP(name, bit)    ( name[(bit)>>3] |= (1<<((bit)&7)) )
  58  #define CLR_BITMAP(name, bit)    ( name[(bit)>>3] &= ~(1<<((bit)&7)) )
  59  #define IS_BITMAP(name, bit)    ( name[(bit)>>3] & (1<<((bit)&7)) )
  60  
  61  /* debugging */
  62  
  63  /* debug flags */
  64  #define DEBUG_UNICODE    0x00000001 /* unicode to 8-bit code conversion */
  65  #define DEBUG_MAINSTEMS    0x00000002 /* glyph-wide main stem generation */
  66  #define DEBUG_SUBSTEMS    0x00000004 /* substituted stem generation */
  67  #define DEBUG_STEMS    (DEBUG_MAINSTEMS|DEBUG_SUBSTEMS)
  68  #define DEBUG_REVERSAL    0x00000008 /* reversal of the paths */
  69  #define DEBUG_FIXCVDIR    0x00000010 /* fixcvdir() */
  70  #define DEBUG_STEMOVERLAP    0x00000020 /* stemoverlap() */
  71  #define DEBUG_BLUESTEMS    0x00000040 /* markbluestems() */
  72  #define DEBUG_STRAIGHTEN    0x00000080 /* markbluestems() */
  73  #define DEBUG_EXTMAP    0x00000100 /* parsing of external map */
  74  #define DEBUG_TOINT    0x00000200 /* conversion of path to integer */
  75  #define DEBUG_BUILDG    0x00000400 /* building of glyph path */
  76  #define DEBUG_QUAD    0x00000800 /* splitting curves by quadrants */
  77  #define DEBUG_SQEQ    0x00001000 /* square equation solver */
  78  #define DEBUG_COMPOSITE    0x00002000 /* handling of composite glyphs */
  79  #define DEBUG_FCONCISE    0x00004000 /* normalization of curves */
  80  #define DEBUG_FT        0x00008000 /* FreeType front-end */
  81  #define DEBUG_BITMAP    0x00010000 /* conversion from bitmap */
  82  #define DEBUG_DISABLED    0x80000000 /* special flag: temporary disable debugging */
  83  
  84  /* at what we want to look now */
  85  #ifndef DEBUG
  86  #    define DEBUG (0)
  87  #endif
  88  
  89  /* uncomment the next line if debugging data is wanted for one glyph only */
  90  /* #define DBG_GLYPH    "C118"  /* */
  91  
  92  #if DEBUG==0
  93  #    define ISDBG(name)    (0)
  94  #    define ENABLEDBG(condition) (0)
  95  #    define DISABLEDBG(condition) (0)
  96  #else
  97      extern int debug; /* collection of the flags */
  98  /* this ISDBG will only work on ANSI C, not K&R */
  99  #    define ISDBG(name)    ( (debug & DEBUG_DISABLED) ? 0 : (debug & (DEBUG_##name)) )
 100  #    define ENABLEDBG(condition) ( (condition) ? (debug&=~DEBUG_DISABLED) : 0 )
 101  #    define DISABLEDBG(condition) ( (condition) ? (debug|=DEBUG_DISABLED) : 0 )
 102  #endif
 103  
 104  #ifdef DBG_GLYPH
 105  #    define DBG_TO_GLYPH(g) DISABLEDBG( strcmp( (g)->name, DBG_GLYPH ) )
 106  #    define DBG_FROM_GLYPH(g) ENABLEDBG(1)
 107  #else
 108  #    define DBG_TO_GLYPH(g) (0)
 109  #    define DBG_FROM_GLYPH(g) (0)
 110  #endif
 111  
 112  /* prototypes */
 113  int iscale( int val);
 114  double fscale( double val);
 115  int unicode_rev_lookup( int unival);
 116  void bmp_outline( GLYPH *g, int scale, char *bmap,
 117      int xsz, int ysz, int xoff, int yoff);
 118  int isign( int x);
 119  int fsign( double x);
 120  char *dupcnstring( unsigned char *s, int len);
 121  
 122  /* global metrics for a font */
 123  
 124  struct font_metrics {
 125      /* post */
 126      double    italic_angle;
 127      short    underline_position;
 128      short    underline_thickness;
 129      short    is_fixed_pitch;
 130  
 131      /* hhea */
 132      short    ascender; 
 133      short    descender;
 134  
 135      /* head */
 136      unsigned short    units_per_em;
 137      short   bbox[4];
 138  
 139      /* name */
 140      char    *name_copyright;
 141      char    *name_family;
 142      char    *name_style;
 143      char    *name_full;
 144      char    *name_version;
 145      char    *name_ps;
 146  
 147      /* other */
 148      int        force_bold;
 149  };
 150  
 151  /* size of the encoding table - glyphs beyond 255 are actually unnumbered */
 152  
 153  #define ENCTABSZ    1024
 154  
 155  /* switch table structure for front-ends */
 156  
 157  #define MAXSUFFIX    10
 158  
 159  struct frontsw {
 160      char  *name; /* name of the front end */
 161      char  *descr; /* description of the front end */
 162      char  *suffix[MAXSUFFIX]; /* possible file name suffixes */
 163  
 164      void  (*open)(char *fname, char *arg); /* open font file */
 165      void  (*close)(void); /* close font file */
 166      int   (*nglyphs)(void); /* get the number of glyphs */
 167      int   (*glnames)(GLYPH *glyphs); /* get the names of glyphs */
 168      void  (*glmetrics)(GLYPH *glyphs); /* get the metrics of glyphs */
 169      int   (*glenc)(GLYPH *glyphs, int *enc, int *unimap); /* get the encoding */
 170      void  (*fnmetrics)(struct font_metrics *fm); /* get the font metrics */
 171      void  (*glpath)(int glyphno, GLYPH *glyphs); /* get the glyph path */
 172      void  (*kerning)(GLYPH *glyph_list); /* extract the kerning data */
 173  };


Generated: Fri Nov 28 20:08:37 2014 Cross-referenced by PHPXref 0.7.1