5eb0fd5e97
* 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.
129 lines
3.9 KiB
C
129 lines
3.9 KiB
C
/***************************************************************************/
|
|
/* */
|
|
/* 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 */
|