c628a7dfba
The code simply uses the MM functions from the `truetype' module. Everything is guarded with TT_CONFIG_OPTION_GX_VAR_SUPPORT. * include/freetype/internal/tttypes.h (TT_Face): New field `mm'. * src/cff/cffdrivr.c: Include FT_SERVICE_MULTIPLE_MASTERS_H. (cff_set_mm_blend, cff_get_mm_blend, cff_get_mm_var, cff_set_var_design, cff_get_var_design): New functions. (cff_service_multi_masters): New service. (cff_services): Updated. * src/cff/cffload.c (cff_get_var_blend, cff_done_blend): New functions. * src/cff/cffload.h: Updated. * src/cff/cffpic.h (CFF_SERVICE_MULTI_MASTERS_GET): New macro. * src/sfnt/sfobjs.c: Include FT_SERVICE_MULTIPLE_MASTERS_H. (sfnt_init_face): Initialize `face->mm'.
95 lines
2.8 KiB
C
95 lines
2.8 KiB
C
/***************************************************************************/
|
|
/* */
|
|
/* cffload.h */
|
|
/* */
|
|
/* OpenType & CFF data/program tables loader (specification). */
|
|
/* */
|
|
/* Copyright 1996-2016 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"
|
|
|
|
|
|
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_Error )
|
|
cff_font_load( FT_Library library,
|
|
FT_Stream stream,
|
|
FT_Int face_index,
|
|
CFF_Font font,
|
|
FT_Bool pure_cff );
|
|
|
|
FT_LOCAL( void )
|
|
cff_font_done( CFF_Font font );
|
|
|
|
|
|
FT_LOCAL( FT_Byte )
|
|
cff_fd_select_get( CFF_FDSelect fdselect,
|
|
FT_UInt glyph_index );
|
|
|
|
|
|
#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_LOCAL( void )
|
|
cff_done_blend( CFF_Face face );
|
|
#endif
|
|
|
|
|
|
FT_END_HEADER
|
|
|
|
#endif /* CFFLOAD_H_ */
|
|
|
|
|
|
/* END */
|