Ignore:
Timestamp:
Dec 3, 2006, 7:29:08 PM (15 years ago)
Author:
Eugene Romanenko
Message:

update to latest freetype cvs, (closes #76)

Location:
trunk/poppler/freetype2/include/freetype
Files:
1 added
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/poppler/freetype2/include/freetype/config/ftheader.h

    r150 r165  
    8989  /*    `FT_MULTIPLE_MASTERS_H' is a lot more meaningful than `ftmm.h').   */
    9090  /*                                                                       */
    91   /*    The second reason is that is allows for more flexibility in the    */
     91  /*    The second reason is that it allows for more flexibility in the    */
    9292  /*    way FreeType 2 is installed on a given system.                     */
    9393  /*                                                                       */
     
    223223   *
    224224   * @description:
    225    *   A macro used in #include statements to name the file containing types
     225   *   A macro used in #include statements to name the file containing type
    226226   *   definitions related to glyph images (i.e., bitmaps, outlines,
    227227   *   scan-converter parameters).
     
    283283   * @description:
    284284   *   A macro used in #include statements to name the file containing the
    285    *   API used to manage multiple @FT_Size objects per face.
     285   *   API which manages multiple @FT_Size objects per face.
    286286   *
    287287   */
     
    335335   * @description:
    336336   *   A macro used in #include statements to name the file containing the
    337    *   enumeration values used to identify name strings, languages,
    338    *   encodings, etc.  This file really contains a _large_ set of constant
    339    *   macro definitions, taken from the TrueType and OpenType
    340    *   specifications.
     337   *   enumeration values which identify name strings, languages, encodings,
     338   *   etc.  This file really contains a _large_ set of constant macro
     339   *   definitions, taken from the TrueType and OpenType specifications.
    341340   *
    342341   */
     
    364363   * @description:
    365364   *   A macro used in #include statements to name the file containing the
    366    *   definitions of TrueType four-byte `tags' used to identify blocks in
     365   *   definitions of TrueType four-byte `tags' which identify blocks in
    367366   *   SFNT-based font formats (i.e., TrueType and OpenType).
    368367   *
     
    378377   * @description:
    379378   *   A macro used in #include statements to name the file containing the
    380    *   definitions of an API to access BDF-specific strings from a face.
     379   *   definitions of an API which accesses BDF-specific strings from a
     380   *   face.
    381381   *
    382382   */
     
    391391   * @description:
    392392   *   A macro used in #include statements to name the file containing the
    393    *   definitions of an API to support for gzip-compressed files.
     393   *   definitions of an API which supports gzip-compressed files.
    394394   *
    395395   */
     
    404404   * @description:
    405405   *   A macro used in #include statements to name the file containing the
    406    *   definitions of an API to support for LZW-compressed files.
     406   *   definitions of an API which supports LZW-compressed files.
    407407   *
    408408   */
     
    417417   * @description:
    418418   *   A macro used in #include statements to name the file containing the
    419    *   definitions of an API to support Windows FNT files.
     419   *   definitions of an API which supports Windows FNT files.
    420420   *
    421421   */
     
    485485   *
    486486   *   It is used to define a cache for @FT_Glyph elements.  You can also
    487    *   see the API defined in @FT_CACHE_SMALL_BITMAPS_H if you only need to
     487   *   use the API defined in @FT_CACHE_SMALL_BITMAPS_H if you only need to
    488488   *   store small glyph bitmaps, as it will use less memory.
    489489   *
     
    569569   * @description:
    570570   *   A macro used in #include statements to name the file containing the
    571    *   optional FreeType 2 API used to access embedded `name' strings in
     571   *   optional FreeType 2 API which accesses embedded `name' strings in
    572572   *   SFNT-based font formats (i.e., TrueType and OpenType).
    573573   *
     
    583583   * @description:
    584584   *   A macro used in #include statements to name the file containing the
    585    *   optional FreeType 2 API used to validate OpenType tables (BASE, GDEF,
     585   *   optional FreeType 2 API which validates OpenType tables (BASE, GDEF,
    586586   *   GPOS, GSUB, JSTF).
    587587   *
     
    597597   * @description:
    598598   *   A macro used in #include statements to name the file containing the
    599    *   optional FreeType 2 API used to validate TrueTypeGX/AAT tables (feat,
     599   *   optional FreeType 2 API which validates TrueTypeGX/AAT tables (feat,
    600600   *   mort, morx, bsln, just, kern, opbd, trak, prop).
    601601   *
     
    611611   * @description:
    612612   *   A macro used in #include statements to name the file containing the
    613    *   FreeType 2 API used to access PFR-specific data.
     613   *   FreeType 2 API which accesses PFR-specific data.
    614614   *
    615615   */
     
    624624   * @description:
    625625   *   A macro used in #include statements to name the file containing the
    626    *   FreeType 2 API used to stroke outline path.
     626   *   FreeType 2 API which provides functions to stroke outline paths.
    627627   */
    628628#define FT_STROKER_H  <freetype/ftstroke.h>
     
    636636   * @description:
    637637   *   A macro used in #include statements to name the file containing the
    638    *   FreeType 2 API used to perform artificial obliquing and emboldening.
     638   *   FreeType 2 API which performs artificial obliquing and emboldening.
    639639   */
    640640#define FT_SYNTHESIS_H  <freetype/ftsynth.h>
     
    648648   * @description:
    649649   *   A macro used in #include statements to name the file containing the
    650    *   FreeType 2 API used to provide functions specific to the XFree86 and
     650   *   FreeType 2 API which provides functions specific to the XFree86 and
    651651   *   X.Org X11 servers.
    652652   */
     
    661661   * @description:
    662662   *   A macro used in #include statements to name the file containing the
    663    *   FreeType 2 API used to perform trigonometric computations (e.g.,
     663   *   FreeType 2 API which performs trigonometric computations (e.g.,
    664664   *   cosines and arc tangents).
    665665   */
    666666#define FT_TRIGONOMETRY_H  <freetype/fttrigon.h>
     667
     668
     669  /*************************************************************************
     670   *
     671   * @macro:
     672   *   FT_LCD_FILTER_H
     673   *
     674   * @description:
     675   *   A macro used in #include statements to name the file containing the
     676   *   FreeType 2 API which performs color filtering for subpixel rendering.
     677   */
     678#define FT_LCD_FILTER_H    <freetype/ftlcdfil.h>
    667679
    668680  /* */
  • trunk/poppler/freetype2/include/freetype/config/ftoption.h

    r150 r165  
    7878  /*************************************************************************/
    7979  /*                                                                       */
     80  /* Uncomment the line below if you want to activate sub-pixel rendering  */
     81  /* (a.k.a. LCD rendering, or ClearType) in this build of the library.    */
     82  /*                                                                       */
     83  /* Note that this feature is covered by several Microsoft patents        */
     84  /* and should not be activated in any default build of the library.      */
     85  /*                                                                       */
     86  /* This macro has no impact on the FreeType API, only on its             */
     87  /* _implementation_.  For example, using FT_RENDER_MODE_LCD when calling */
     88  /* FT_Render_Glyph still generates a bitmap that is 3 times larger than  */
     89  /* the original size; the difference will be that each triplet of        */
     90  /* subpixels has R=G=B.                                                  */
     91  /*                                                                       */
     92  /* This is done to allow FreeType clients to run unmodified, forcing     */
     93  /* them to display normal gray-level anti-aliased glyphs.                */
     94  /*                                                                       */
     95/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */
     96
     97
     98  /*************************************************************************/
     99  /*                                                                       */
    80100  /* Many compilers provide a non-ANSI 64-bit data type that can be used   */
    81101  /* by FreeType to speed up some computations.  However, this will create */
     
    573593
    574594
    575  /* */
     595  /* */
    576596
    577597  /*
     
    595615
    596616
     617  /*
     618   * This variable is defined if either unpatented or native TrueType
     619   * hinting is requested by the definitions above.
     620   */
     621#ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
     622#define  TT_USE_BYTECODE_INTERPRETER
     623#elif defined TT_CONFIG_OPTION_UNPATENTED_HINTING
     624#define  TT_USE_BYTECODE_INTERPRETER
     625#endif
     626
    597627FT_END_HEADER
    598628
  • trunk/poppler/freetype2/include/freetype/config/ftstdlib.h

    r150 r165  
    169169#include <setjmp.h>
    170170
    171 #define ft_jmp_buf  jmp_buf   /* note: this cannot be a typedef since */
    172                               /*       jmp_buf is defined as a macro  */
    173                               /*       on certain platforms           */
     171#define ft_jmp_buf     jmp_buf  /* note: this cannot be a typedef since */
     172                                /*       jmp_buf is defined as a macro  */
     173                                /*       on certain platforms           */
    174174
    175 #define ft_longjmp  longjmp   /* likewise        */
    176 #define ft_setjmp   setjmp    /* same thing here */
     175#define ft_longjmp     longjmp
     176#define ft_setjmp( b ) setjmp( *(jmp_buf*) &(b) )    /* same thing here */
    177177
    178178
  • trunk/poppler/freetype2/include/freetype/freetype.h

    r150 r165  
    914914    FT_Generic        generic;
    915915
    916     /*# the following are only relevant to scalable outlines */
     916    /*# The following member variables (down to `underline_thickness') */
     917    /*# are only relevant to scalable outlines; cf. @FT_Bitmap_Size    */
     918    /*# for bitmap fonts.                                              */
    917919    FT_BBox           bbox;
    918920
     
    12701272  /*    glyphs.  As this would be a definite performance hit, it is up to  */
    12711273  /*    client applications to perform such computations.                  */
     1274  /*                                                                       */
     1275  /*    The FT_Size_Metrics structure is valid for bitmap fonts also.      */
    12721276  /*                                                                       */
    12731277  typedef struct  FT_Size_Metrics_
     
    33083312#define FREETYPE_MAJOR  2
    33093313#define FREETYPE_MINOR  2
    3310 #define FREETYPE_PATCH  1
     3314#define FREETYPE_PATCH  2
    33113315
    33123316
     
    33463350                      FT_Int      *apatch );
    33473351
    3348 
    33493352  /* */
    33503353
  • trunk/poppler/freetype2/include/freetype/ftchapters.h

    r150 r165  
    5757/*    pfr_fonts                                                            */
    5858/*    winfnt_fonts                                                         */
     59/*    font_formats                                                         */
    5960/*                                                                         */
    6061/***************************************************************************/
  • trunk/poppler/freetype2/include/freetype/ftxf86.h

    r150 r165  
    55/*    Support functions for X11.                                           */
    66/*                                                                         */
    7 /*  Copyright 2002, 2003, 2004 by                                          */
     7/*  Copyright 2002, 2003, 2004, 2006 by                                    */
    88/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    99/*                                                                         */
     
    3232FT_BEGIN_HEADER
    3333
    34   /* this comment is intentionally disabled for now, to prevent this       */
    35   /* function from appearing in the API Reference.                         */
    3634
    37   /*@***********************************************************************/
     35  /*************************************************************************/
     36  /*                                                                       */
     37  /* <Section>                                                             */
     38  /*   font_formats                                                        */
     39  /*                                                                       */
     40  /* <Title>                                                               */
     41  /*   Font Formats                                                        */
     42  /*                                                                       */
     43  /* <Abstract>                                                            */
     44  /*   Getting the font format.                                            */
     45  /*                                                                       */
     46  /* <Description>                                                         */
     47  /*   The single function in this section can be used to get the font     */
     48  /*   format.  Note that this information is not needed normally;         */
     49  /*   however, there are special cases (like in PDF devices) where it is  */
     50  /*   important to differentiate, inspite of FreeType's uniform API.      */
     51  /*                                                                       */
     52  /*************************************************************************/
     53
     54
     55  /*************************************************************************/
    3856  /*                                                                       */
    3957  /* <Function>                                                            */
    40   /*    FT_Get_X11_Font_Format                                             */
     58  /*   FT_Get_X11_Font_Format                                              */
    4159  /*                                                                       */
    4260  /* <Description>                                                         */
    43   /*    Return a string describing the format of a given face as an X11    */
    44   /*    FONT_PROPERTY.  It should only be used by the FreeType 2 font      */
    45   /*    backend of the XFree86 font server.                                */
     61  /*   Return a string describing the format of a given face, using values */
     62  /*   which can be used as an X11 FONT_PROPERTY.  Possible values are     */
     63  /*   `TrueType', `Type 1', `BDF', `PCF', `Type 42', `CID Type 1', `CFF', */
     64  /*   `PFR', and `Windows FNT'.                                           */
    4665  /*                                                                       */
    4766  /* <Input>                                                               */
    48   /*    face :: Input face handle.                                         */
     67  /*   face ::                                                             */
     68  /*     Input face handle.                                                */
    4969  /*                                                                       */
    5070  /* <Return>                                                              */
    51   /*    Font format string.  NULL in case of error.                        */
     71  /*   Font format string.  NULL in case of error.                         */
    5272  /*                                                                       */
    5373  FT_EXPORT( const char* )
  • trunk/poppler/freetype2/include/freetype/internal/ftcalc.h

    r150 r165  
    7979
    8080
    81 #ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
     81#ifdef TT_USE_BYTECODE_INTERPRETER
    8282
    8383  /*************************************************************************/
     
    109109                      FT_Long  c );
    110110
    111 #endif /* TT_CONFIG_OPTION_BYTECODE_INTERPRETER */
     111#endif /* TT_USE_BYTECODE_INTERPRETER */
     112
     113
     114  /*
     115   *  Return -1, 0, or +1, depending on the orientation of a given corner.
     116   *  We use the Cartesian coordinate system, with positive vertical values
     117   *  going upwards.  The function returns +1 if the corner turns to the
     118   *  left, -1 to the right, and 0 for undecidable cases.
     119   */
     120  FT_BASE( FT_Int )
     121  ft_corner_orientation( FT_Pos  in_x,
     122                         FT_Pos  in_y,
     123                         FT_Pos  out_x,
     124                         FT_Pos  out_y );
     125
     126  /*
     127   *  Return TRUE if a corner is flat or nearly flat.  This is equivalent to
     128   *  saying that the angle difference between the `in' and `out' vectors is
     129   *  very small.
     130   */
     131  FT_BASE( FT_Int )
     132  ft_corner_is_flat( FT_Pos  in_x,
     133                     FT_Pos  in_y,
     134                     FT_Pos  out_x,
     135                     FT_Pos  out_y );
    112136
    113137
  • trunk/poppler/freetype2/include/freetype/internal/ftgloadr.h

    r150 r165  
    7070    FT_Outline   outline;       /* outline             */
    7171    FT_Vector*   extra_points;  /* extra points table  */
     72    FT_Vector*   extra_points2; /* second extra points table */
    7273    FT_UInt      num_subglyphs; /* number of subglyphs */
    7374    FT_SubGlyph  subglyphs;     /* subglyphs           */
  • trunk/poppler/freetype2/include/freetype/internal/ftobjs.h

    r150 r165  
    3030#include FT_RENDER_H
    3131#include FT_SIZES_H
     32#include FT_LCD_FILTER_H
    3233#include FT_INTERNAL_MEMORY_H
    3334#include FT_INTERNAL_GLYPH_LOADER_H
     
    211212  /*      this data when first opened.  This field exists only if          */
    212213  /*      @FT_CONFIG_OPTION_INCREMENTAL is defined.                        */
     214  /*                                                                       */
     215  /*    ignore_unpatented_hinter ::                                        */
     216  /*      This boolean flag instructs the glyph loader to ignore the       */
     217  /*      native font hinter, if one is found.  This is exclusively used   */
     218  /*      in the case when the unpatented hinter is compiled within the    */
     219  /*      library.                                                         */
    213220  /*                                                                       */
    214221  typedef struct  FT_Face_InternalRec_
     
    228235#endif
    229236
     237    FT_Bool             ignore_unpatented_hinter;
     238
    230239  } FT_Face_InternalRec;
    231240
     
    622631
    623632  /* Set this debug hook to a non-null pointer to force unpatented hinting */
    624   /* for all faces when both TT_CONFIG_OPTION_BYTECODE_INTERPRETER and     */
    625   /* TT_CONFIG_OPTION_UNPATENTED_HINTING are defined. this is only used    */
     633  /* for all faces when both TT_USE_BYTECODE_INTERPRETER and               */
     634  /* TT_CONFIG_OPTION_UNPATENTED_HINTING are defined.  This is only used   */
    626635  /* during debugging.                                                     */
    627636#define FT_DEBUG_HOOK_UNPATENTED_HINTING  1
     637
     638
     639  typedef void  (*FT_Bitmap_LcdFilterFunc)( FT_Bitmap*      bitmap,
     640                                            FT_Render_Mode  render_mode,
     641                                            FT_Library      library );
    628642
    629643
     
    701715    FT_DebugHook_Func  debug_hooks[4];
    702716
     717#ifdef FT_CONFIG_OPTION_SUBPIXEL_RENDERING
     718    FT_LcdFilter             lcd_filter;
     719    FT_Int                   lcd_extra;        /* number of extra pixels */
     720    FT_Byte                  lcd_weights[7];   /* filter weights, if any */
     721    FT_Bitmap_LcdFilterFunc  lcd_filter_func;  /* filtering callback     */
     722#endif
     723
    703724  } FT_LibraryRec;
    704725
  • trunk/poppler/freetype2/include/freetype/internal/ftvalid.h

    r150 r165  
    4040
    4141  /* handle to a validation object */
    42   typedef struct FT_ValidatorRec_*  FT_Validator;
     42  typedef struct FT_ValidatorRec_ volatile*  FT_Validator;
    4343
    4444
     
    9999                     FT_ValidationLevel  level );
    100100
     101  /* Do not use this. It's broken and will cause your validator to crash */
     102  /* if you run it on an invalid font.                                   */
    101103  FT_BASE( FT_Int )
    102104  ft_validator_run( FT_Validator  valid );
  • trunk/poppler/freetype2/include/freetype/internal/psaux.h

    r150 r165  
    155155    T1_TOKEN_TYPE_STRING,
    156156    T1_TOKEN_TYPE_ARRAY,
     157    T1_TOKEN_TYPE_KEY, /* aka `name' */
    157158
    158159    /* do not remove */
     
    200201    T1_FIELD_LOCATION_PRIVATE,
    201202    T1_FIELD_LOCATION_BBOX,
     203    T1_FIELD_LOCATION_LOADER,
     204    T1_FIELD_LOCATION_FACE,
     205    T1_FIELD_LOCATION_BLEND,
    202206
    203207    /* do not remove */
     
    225229    FT_UInt             count_offset; /* offset of element count for    */
    226230                                      /* arrays                         */
     231    FT_UInt             dict;         /* where we expect it             */
    227232  } T1_FieldRec;
    228233
    229 
    230 #define T1_NEW_SIMPLE_FIELD( _ident, _type, _fname ) \
    231           {                                          \
    232             _ident, T1CODE, _type,                   \
    233             0,                                       \
    234             FT_FIELD_OFFSET( _fname ),               \
    235             FT_FIELD_SIZE( _fname ),                 \
    236             0, 0                                     \
     234#define T1_FIELD_DICT_FONTDICT ( 1 << 0 ) /* also FontInfo and FDArray */
     235#define T1_FIELD_DICT_PRIVATE  ( 1 << 1 )
     236
     237
     238
     239#define T1_NEW_SIMPLE_FIELD( _ident, _type, _fname, _dict ) \
     240          {                                                 \
     241            _ident, T1CODE, _type,                          \
     242            0,                                              \
     243            FT_FIELD_OFFSET( _fname ),                      \
     244            FT_FIELD_SIZE( _fname ),                        \
     245            0, 0,                                           \
     246            _dict                                           \
    237247          },
    238248
    239 #define T1_NEW_CALLBACK_FIELD( _ident, _reader )    \
    240           {                                         \
    241             _ident, T1CODE, T1_FIELD_TYPE_CALLBACK, \
    242             (T1_Field_ParseFunc)_reader,            \
    243             0, 0,                                   \
    244             0, 0                                    \
     249#define T1_NEW_CALLBACK_FIELD( _ident, _reader, _dict ) \
     250          {                                             \
     251            _ident, T1CODE, T1_FIELD_TYPE_CALLBACK,     \
     252            (T1_Field_ParseFunc)_reader,                \
     253            0, 0,                                       \
     254            0, 0,                                       \
     255            _dict                                       \
    245256          },
    246257
    247 #define T1_NEW_TABLE_FIELD( _ident, _type, _fname, _max ) \
    248           {                                               \
    249             _ident, T1CODE, _type,                        \
    250             0,                                            \
    251             FT_FIELD_OFFSET( _fname ),                    \
    252             FT_FIELD_SIZE_DELTA( _fname ),                \
    253             _max,                                         \
    254             FT_FIELD_OFFSET( num_ ## _fname )             \
     258#define T1_NEW_TABLE_FIELD( _ident, _type, _fname, _max, _dict ) \
     259          {                                                      \
     260            _ident, T1CODE, _type,                               \
     261            0,                                                   \
     262            FT_FIELD_OFFSET( _fname ),                           \
     263            FT_FIELD_SIZE_DELTA( _fname ),                       \
     264            _max,                                                \
     265            FT_FIELD_OFFSET( num_ ## _fname ),                   \
     266            _dict                                                \
    255267          },
    256268
    257 #define T1_NEW_TABLE_FIELD2( _ident, _type, _fname, _max ) \
    258           {                                                \
    259             _ident, T1CODE, _type,                         \
    260             0,                                             \
    261             FT_FIELD_OFFSET( _fname ),                     \
    262             FT_FIELD_SIZE_DELTA( _fname ),                 \
    263             _max, 0                                        \
     269#define T1_NEW_TABLE_FIELD2( _ident, _type, _fname, _max, _dict ) \
     270          {                                                       \
     271            _ident, T1CODE, _type,                                \
     272            0,                                                    \
     273            FT_FIELD_OFFSET( _fname ),                            \
     274            FT_FIELD_SIZE_DELTA( _fname ),                        \
     275            _max, 0,                                              \
     276            _dict                                                 \
    264277          },
    265278
    266279
    267 #define T1_FIELD_BOOL( _ident, _fname )                             \
    268           T1_NEW_SIMPLE_FIELD( _ident, T1_FIELD_TYPE_BOOL, _fname )
    269 
    270 #define T1_FIELD_NUM( _ident, _fname )                                 \
    271           T1_NEW_SIMPLE_FIELD( _ident, T1_FIELD_TYPE_INTEGER, _fname )
    272 
    273 #define T1_FIELD_FIXED( _ident, _fname )                             \
    274           T1_NEW_SIMPLE_FIELD( _ident, T1_FIELD_TYPE_FIXED, _fname )
    275 
    276 #define T1_FIELD_FIXED_1000( _ident, _fname )                             \
    277           T1_NEW_SIMPLE_FIELD( _ident, T1_FIELD_TYPE_FIXED_1000, _fname )
    278 
    279 #define T1_FIELD_STRING( _ident, _fname )                             \
    280           T1_NEW_SIMPLE_FIELD( _ident, T1_FIELD_TYPE_STRING, _fname )
    281 
    282 #define T1_FIELD_KEY( _ident, _fname )                             \
    283           T1_NEW_SIMPLE_FIELD( _ident, T1_FIELD_TYPE_KEY, _fname )
    284 
    285 #define T1_FIELD_BBOX( _ident, _fname )                             \
    286           T1_NEW_SIMPLE_FIELD( _ident, T1_FIELD_TYPE_BBOX, _fname )
    287 
    288 
    289 #define T1_FIELD_NUM_TABLE( _ident, _fname, _fmax )                \
     280#define T1_FIELD_BOOL( _ident, _fname, _dict )                             \
     281          T1_NEW_SIMPLE_FIELD( _ident, T1_FIELD_TYPE_BOOL, _fname, _dict )
     282
     283#define T1_FIELD_NUM( _ident, _fname, _dict )                                 \
     284          T1_NEW_SIMPLE_FIELD( _ident, T1_FIELD_TYPE_INTEGER, _fname, _dict )
     285
     286#define T1_FIELD_FIXED( _ident, _fname, _dict )                             \
     287          T1_NEW_SIMPLE_FIELD( _ident, T1_FIELD_TYPE_FIXED, _fname, _dict )
     288
     289#define T1_FIELD_FIXED_1000( _ident, _fname, _dict )                     \
     290          T1_NEW_SIMPLE_FIELD( _ident, T1_FIELD_TYPE_FIXED_1000, _fname, \
     291                               _dict )
     292
     293#define T1_FIELD_STRING( _ident, _fname, _dict )                             \
     294          T1_NEW_SIMPLE_FIELD( _ident, T1_FIELD_TYPE_STRING, _fname, _dict )
     295
     296#define T1_FIELD_KEY( _ident, _fname, _dict )                             \
     297          T1_NEW_SIMPLE_FIELD( _ident, T1_FIELD_TYPE_KEY, _fname, _dict )
     298
     299#define T1_FIELD_BBOX( _ident, _fname, _dict )                             \
     300          T1_NEW_SIMPLE_FIELD( _ident, T1_FIELD_TYPE_BBOX, _fname, _dict )
     301
     302
     303#define T1_FIELD_NUM_TABLE( _ident, _fname, _fmax, _dict )         \
    290304          T1_NEW_TABLE_FIELD( _ident, T1_FIELD_TYPE_INTEGER_ARRAY, \
    291                               _fname, _fmax )
    292 
    293 #define T1_FIELD_FIXED_TABLE( _ident, _fname, _fmax )            \
     305                              _fname, _fmax, _dict )
     306
     307#define T1_FIELD_FIXED_TABLE( _ident, _fname, _fmax, _dict )     \
    294308          T1_NEW_TABLE_FIELD( _ident, T1_FIELD_TYPE_FIXED_ARRAY, \
    295                               _fname, _fmax )
    296 
    297 #define T1_FIELD_NUM_TABLE2( _ident, _fname, _fmax )                \
     309                              _fname, _fmax, _dict )
     310
     311#define T1_FIELD_NUM_TABLE2( _ident, _fname, _fmax, _dict )         \
    298312          T1_NEW_TABLE_FIELD2( _ident, T1_FIELD_TYPE_INTEGER_ARRAY, \
    299                                _fname, _fmax )
    300 
    301 #define T1_FIELD_FIXED_TABLE2( _ident, _fname, _fmax )            \
     313                               _fname, _fmax, _dict )
     314
     315#define T1_FIELD_FIXED_TABLE2( _ident, _fname, _fmax, _dict )     \
    302316          T1_NEW_TABLE_FIELD2( _ident, T1_FIELD_TYPE_FIXED_ARRAY, \
    303                                _fname, _fmax )
    304 
    305 #define T1_FIELD_CALLBACK( _ident, _name )       \
    306           T1_NEW_CALLBACK_FIELD( _ident, _name )
     317                               _fname, _fmax, _dict )
     318
     319#define T1_FIELD_CALLBACK( _ident, _name, _dict )       \
     320          T1_NEW_CALLBACK_FIELD( _ident, _name, _dict )
    307321
    308322
     
    684698    T1_Decoder_FuncsRec  funcs;
    685699
     700    FT_Int*              buildchar;
     701    FT_UInt              len_buildchar;
     702
    686703  } T1_DecoderRec;
    687704
     
    713730  } AFM_Parser_FuncsRec;
    714731
     732
    715733  typedef struct AFM_StreamRec_*  AFM_Stream;
     734
    716735
    717736  /*************************************************************************/
     
    802821  typedef PSAux_ServiceRec   PSAux_Interface;
    803822
     823
     824  /*************************************************************************/
     825  /*************************************************************************/
     826  /*****                                                               *****/
     827  /*****                 Some convenience functions                    *****/
     828  /*****                                                               *****/
     829  /*************************************************************************/
     830  /*************************************************************************/
     831
     832#define IS_PS_NEWLINE( ch ) \
     833  ( (ch) == '\r' ||         \
     834    (ch) == '\n' )
     835
     836#define IS_PS_SPACE( ch )  \
     837  ( (ch) == ' '         || \
     838    IS_PS_NEWLINE( ch ) || \
     839    (ch) == '\t'        || \
     840    (ch) == '\f'        || \
     841    (ch) == '\0' )
     842
     843#define IS_PS_SPECIAL( ch )       \
     844  ( (ch) == '/'                || \
     845    (ch) == '(' || (ch) == ')' || \
     846    (ch) == '<' || (ch) == '>' || \
     847    (ch) == '[' || (ch) == ']' || \
     848    (ch) == '{' || (ch) == '}' || \
     849    (ch) == '%'                )
     850
     851#define IS_PS_DELIM( ch )  \
     852  ( IS_PS_SPACE( ch )   || \
     853    IS_PS_SPECIAL( ch ) )
     854
     855#define IS_PS_DIGIT( ch )        \
     856  ( (ch) >= '0' && (ch) <= '9' )
     857
     858#define IS_PS_XDIGIT( ch )            \
     859  ( IS_PS_DIGIT( ch )              || \
     860    ( (ch) >= 'A' && (ch) <= 'F' ) || \
     861    ( (ch) >= 'a' && (ch) <= 'f' ) )
     862
     863#define IS_PS_BASE85( ch )       \
     864  ( (ch) >= '!' && (ch) <= 'u' )
     865
     866#define IS_PS_TOKEN( cur, limit, token )                                \
     867  ( (char)(cur)[0] == (token)[0]                                     && \
     868    ( (cur) + sizeof ( (token) ) == (limit) ||                          \
     869      ( (cur) + sizeof( (token) ) < (limit)          &&                 \
     870        IS_PS_DELIM( (cur)[sizeof ( (token) ) - 1] ) ) )             && \
     871    ft_strncmp( (char*)(cur), (token), sizeof ( (token) ) - 1 ) == 0 )
     872
     873
    804874FT_END_HEADER
    805875
  • trunk/poppler/freetype2/include/freetype/internal/services/svpscmap.h

    r150 r165  
    7676   */
    7777  typedef const char*
    78   (*PS_Glyph_NameFunc)( FT_Pointer  data,
    79                         FT_UInt     string_index );
     78  (*PS_GetGlyphNameFunc)( FT_Pointer  data,
     79                          FT_UInt     string_index );
     80
     81  /*
     82   *  A function used to release the glyph name returned by
     83   *  PS_GetGlyphNameFunc, when needed
     84   */
     85  typedef void
     86  (*PS_FreeGlyphNameFunc)( FT_Pointer  data,
     87                           const char*  name );
    8088
    8189  typedef FT_Error
    82   (*PS_Unicodes_InitFunc)( FT_Memory          memory,
    83                            PS_Unicodes        unicodes,
    84                            FT_UInt            num_glyphs,
    85                            PS_Glyph_NameFunc  get_glyph_name,
    86                            FT_Pointer         glyph_data );
     90  (*PS_Unicodes_InitFunc)( FT_Memory             memory,
     91                           PS_Unicodes           unicodes,
     92                           FT_UInt               num_glyphs,
     93                           PS_GetGlyphNameFunc   get_glyph_name,
     94                           PS_FreeGlyphNameFunc  free_glyph_name,
     95                           FT_Pointer            glyph_data );
    8796
    8897  typedef FT_UInt
  • trunk/poppler/freetype2/include/freetype/internal/t1types.h

    r150 r165  
    209209    PS_Blend        blend;
    210210
     211    /* undocumented, optional: indices of subroutines that express      */
     212    /* the NormalizeDesignVector and the ConvertDesignVector procedure, */
     213    /* respectively, as Type 2 charstrings; -1 if keywords not present  */
     214    FT_Int           ndv_idx;
     215    FT_Int           cdv_idx;
     216
     217    /* undocumented, optional: has the same meaning as len_buildchar */
     218    /* for Type 2 fonts; manipulated by othersubrs 19, 24, and 25    */
     219    FT_UInt          len_buildchar;
     220    FT_Int*          buildchar;
     221
    211222    /* since version 2.1 - interface to PostScript hinter */
    212223    const void*     pshinter;
  • trunk/poppler/freetype2/include/freetype/internal/tttypes.h

    r150 r165  
    14591459  /*     contours     :: The contours end points.                          */
    14601460  /*                                                                       */
     1461  /*     first_point  :: Offset of the current subglyph's first point.     */
     1462  /*                                                                       */
    14611463  typedef struct  TT_GlyphZoneRec_
    14621464  {
     
    14641466    FT_UShort   max_points;
    14651467    FT_UShort   max_contours;
    1466     FT_UShort   n_points;   /* number of points in zone    */
    1467     FT_Short    n_contours; /* number of contours          */
    1468 
    1469     FT_Vector*  org;        /* original point coordinates  */
    1470     FT_Vector*  cur;        /* current point coordinates   */
    1471 
    1472     FT_Byte*    tags;       /* current touch flags         */
    1473     FT_UShort*  contours;   /* contour end points          */
     1468    FT_UShort   n_points;    /* number of points in zone    */
     1469    FT_Short    n_contours;  /* number of contours          */
     1470
     1471    FT_Vector*  org;         /* original point coordinates  */
     1472    FT_Vector*  cur;         /* current point coordinates   */
     1473    FT_Vector*  orus;        /* original (unscaled) point coordinates */
     1474
     1475    FT_Byte*    tags;        /* current touch flags         */
     1476    FT_UShort*  contours;    /* contour end points          */
     1477
     1478    FT_UShort   first_point; /* offset of first (#0) point  */
    14741479
    14751480  } TT_GlyphZoneRec, *TT_GlyphZone;
     
    15221527    FT_Vector        pp4;
    15231528
     1529    /* since version 2.2.1 */
     1530    FT_Byte*         cursor;
     1531    FT_Byte*         limit;
     1532
    15241533  } TT_LoaderRec;
    15251534
  • trunk/poppler/freetype2/include/freetype/t1tables.h

    r150 r165  
    66/*    only).                                                               */
    77/*                                                                         */
    8 /*  Copyright 1996-2001, 2002, 2003, 2004 by                               */
     8/*  Copyright 1996-2001, 2002, 2003, 2004, 2006 by                         */
    99/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
    1010/*                                                                         */
     
    257257    FT_BBox*         bboxes    [T1_MAX_MM_DESIGNS + 1];
    258258
     259    /* since 2.2.2 */
     260
     261    /* undocumented, optional: the default design instance;   */
     262    /* corresponds to default_weight_vector --                */
     263    /* num_default_design_vector == 0 means it is not present */
     264    /* in the font and associated metrics files               */
     265    FT_UInt          default_design_vector[T1_MAX_MM_DESIGNS];
     266    FT_UInt          num_default_design_vector;
     267
    259268  } PS_BlendRec, *PS_Blend;
    260269
Note: See TracChangeset for help on using the changeset viewer.