Edit

kc3-lang/freetype/src/cff/cffload.h

Branch :

  • Show log

    Commit

  • Author : Werner Lemberg
    Date : 2017-03-12 20:46:56
    Hash : 5eb0fd5e
    Message : [truetype] Store and use design coordinates also. * include/freetype/internal/services/svmm.h (FT_Get_Var_Blend_Func): Add `normalizedcoords' argument. * src/truetype/ttgxvar.h (GX_BlendRec): Add `coords' field to store the design coordinates of the current instance. Updated. * src/truetype/ttgxvar.c (TT_Set_MM_Blend): Move functionality to... (tt_set_mm_blend): ... New function. Convert data in `normalizedcoords' array to `coords' array on demand. (TT_Set_Var_Design): Store argument data in `coords' array. (TT_Get_Var_Design): Get data from `coords' array. (tt_get_var_blend): Updated. (tt_done_blend): Updated. * src/cff/cffload.c, src/cff/cffload.h (cff_get_var_blend): Updated. * src/cff/cf2ft.c (cf2_getNormalizedVector): Updated. * src/cff/cffobjs.c (cff_face_init): Updated.

  • src/cff/cffload.h
  • /***************************************************************************/
    /*                                                                         */
    /*  cffload.h                                                              */
    /*                                                                         */
    /*    OpenType & CFF data/program tables loader (specification).           */
    /*                                                                         */
    /*  Copyright 1996-2017 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.                                        */
    /*                                                                         */
    /***************************************************************************/
    
    
    #ifndef CFFLOAD_H_
    #define CFFLOAD_H_
    
    
    #include <ft2build.h>
    #include "cfftypes.h"
    #include "cffparse.h"
    #include "cffobjs.h"  /* for CFF_Face */
    
    
    FT_BEGIN_HEADER
    
      FT_LOCAL( FT_UShort )
      cff_get_standard_encoding( FT_UInt  charcode );
    
    
      FT_LOCAL( FT_String* )
      cff_index_get_string( CFF_Font  font,
                            FT_UInt   element );
    
      FT_LOCAL( FT_String* )
      cff_index_get_sid_string( CFF_Font  font,
                                FT_UInt   sid );
    
    
      FT_LOCAL( FT_Error )
      cff_index_access_element( CFF_Index  idx,
                                FT_UInt    element,
                                FT_Byte**  pbytes,
                                FT_ULong*  pbyte_len );
    
      FT_LOCAL( void )
      cff_index_forget_element( CFF_Index  idx,
                                FT_Byte**  pbytes );
    
      FT_LOCAL( FT_String* )
      cff_index_get_name( CFF_Font  font,
                          FT_UInt   element );
    
    
      FT_LOCAL( FT_UInt )
      cff_charset_cid_to_gindex( CFF_Charset  charset,
                                 FT_UInt      cid );
    
    
      FT_LOCAL( FT_UInt32 )
      cff_random( FT_UInt32  r );
    
      FT_LOCAL( FT_Error )
      cff_font_load( FT_Library  library,
                     FT_Stream   stream,
                     FT_Int      face_index,
                     CFF_Font    font,
                     CFF_Face    face,
                     FT_Bool     pure_cff,
                     FT_Bool     cff2 );
    
      FT_LOCAL( void )
      cff_font_done( CFF_Font  font );
    
    
      FT_LOCAL( FT_Error )
      cff_load_private_dict( CFF_Font     font,
                             CFF_SubFont  subfont,
                             FT_UInt      lenNDV,
                             FT_Fixed*    NDV );
    
      FT_LOCAL( FT_Byte )
      cff_fd_select_get( CFF_FDSelect  fdselect,
                         FT_UInt       glyph_index );
    
      FT_LOCAL( FT_Bool )
      cff_blend_check_vector( CFF_Blend  blend,
                              FT_UInt    vsindex,
                              FT_UInt    lenNDV,
                              FT_Fixed*  NDV );
    
      FT_LOCAL( FT_Error )
      cff_blend_build_vector( CFF_Blend  blend,
                              FT_UInt    vsindex,
                              FT_UInt    lenNDV,
                              FT_Fixed*  NDV );
    
      FT_LOCAL( void )
      cff_blend_clear( CFF_SubFont  subFont );
    
      FT_LOCAL( FT_Error )
      cff_blend_doBlend( CFF_SubFont  subfont,
                         CFF_Parser   parser,
                         FT_UInt      numBlends );
    
    #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
      FT_LOCAL( FT_Error )
      cff_get_var_blend( CFF_Face     face,
                         FT_UInt     *num_coords,
                         FT_Fixed*   *coords,
                         FT_Fixed*   *normalizedcoords,
                         FT_MM_Var*  *mm_var );
    
      FT_LOCAL( void )
      cff_done_blend( CFF_Face  face );
    #endif
    
    
    FT_END_HEADER
    
    #endif /* CFFLOAD_H_ */
    
    
    /* END */