/***************************************************************************/ | |
/* */ | |
/* t1load.h */ | |
/* */ | |
/* Type 1 font loader (specification). */ | |
/* */ | |
/* Copyright 1996-2015 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 __T1LOAD_H__ | |
#define __T1LOAD_H__ | |
#include <ft2build.h> | |
#include FT_INTERNAL_STREAM_H | |
#include FT_INTERNAL_POSTSCRIPT_AUX_H | |
#include FT_MULTIPLE_MASTERS_H | |
#include "t1parse.h" | |
FT_BEGIN_HEADER | |
typedef struct T1_Loader_ | |
{ | |
T1_ParserRec parser; /* parser used to read the stream */ | |
FT_Int num_chars; /* number of characters in encoding */ | |
PS_TableRec encoding_table; /* PS_Table used to store the */ | |
/* encoding character names */ | |
FT_Int num_glyphs; | |
PS_TableRec glyph_names; | |
PS_TableRec charstrings; | |
PS_TableRec swap_table; /* For moving .notdef glyph to index 0. */ | |
FT_Int num_subrs; | |
PS_TableRec subrs; | |
FT_Bool fontdata; | |
FT_UInt keywords_encountered; /* T1_LOADER_ENCOUNTERED_XXX */ | |
} T1_LoaderRec, *T1_Loader; | |
/* treatment of some keywords differs depending on whether */ | |
/* they precede or follow certain other keywords */ | |
#define T1_PRIVATE ( 1 << 0 ) | |
#define T1_FONTDIR_AFTER_PRIVATE ( 1 << 1 ) | |
FT_LOCAL( FT_Error ) | |
T1_Open_Face( T1_Face face ); | |
#ifndef T1_CONFIG_OPTION_NO_MM_SUPPORT | |
FT_LOCAL( FT_Error ) | |
T1_Get_Multi_Master( T1_Face face, | |
FT_Multi_Master* master ); | |
FT_LOCAL_DEF( FT_Error ) | |
T1_Get_MM_Var( T1_Face face, | |
FT_MM_Var* *master ); | |
FT_LOCAL( FT_Error ) | |
T1_Set_MM_Blend( T1_Face face, | |
FT_UInt num_coords, | |
FT_Fixed* coords ); | |
FT_LOCAL( FT_Error ) | |
T1_Set_MM_Design( T1_Face face, | |
FT_UInt num_coords, | |
FT_Long* coords ); | |
FT_LOCAL_DEF( FT_Error ) | |
T1_Set_Var_Design( T1_Face face, | |
FT_UInt num_coords, | |
FT_Fixed* coords ); | |
FT_LOCAL( void ) | |
T1_Done_Blend( T1_Face face ); | |
#endif /* !T1_CONFIG_OPTION_NO_MM_SUPPORT */ | |
FT_END_HEADER | |
#endif /* __T1LOAD_H__ */ | |
/* END */ |