1 /**************************************************************************** 2 * 3 * cffload.h 4 * 5 * OpenType & CFF data/program tables loader (specification). 6 * 7 * Copyright (C) 1996-2020 by 8 * David Turner, Robert Wilhelm, and Werner Lemberg. 9 * 10 * This file is part of the FreeType project, and may only be used, 11 * modified, and distributed under the terms of the FreeType project 12 * license, LICENSE.TXT. By continuing to use, modify, or distribute 13 * this file you indicate that you have read the license and 14 * understand and accept it fully. 15 * 16 */ 17 18 19 #ifndef CFFLOAD_H_ 20 #define CFFLOAD_H_ 21 22 23 #include <freetype/internal/cfftypes.h> 24 #include "cffparse.h" 25 #include <freetype/internal/cffotypes.h> /* for CFF_Face */ 26 27 28 FT_BEGIN_HEADER 29 30 FT_LOCAL( FT_UShort ) 31 cff_get_standard_encoding( FT_UInt charcode ); 32 33 34 FT_LOCAL( FT_String* ) 35 cff_index_get_string( CFF_Font font, 36 FT_UInt element ); 37 38 FT_LOCAL( FT_String* ) 39 cff_index_get_sid_string( CFF_Font font, 40 FT_UInt sid ); 41 42 43 FT_LOCAL( FT_Error ) 44 cff_index_access_element( CFF_Index idx, 45 FT_UInt element, 46 FT_Byte** pbytes, 47 FT_ULong* pbyte_len ); 48 49 FT_LOCAL( void ) 50 cff_index_forget_element( CFF_Index idx, 51 FT_Byte** pbytes ); 52 53 FT_LOCAL( FT_String* ) 54 cff_index_get_name( CFF_Font font, 55 FT_UInt element ); 56 57 58 FT_LOCAL( FT_UInt ) 59 cff_charset_cid_to_gindex( CFF_Charset charset, 60 FT_UInt cid ); 61 62 63 FT_LOCAL( FT_Error ) 64 cff_font_load( FT_Library library, 65 FT_Stream stream, 66 FT_Int face_index, 67 CFF_Font font, 68 CFF_Face face, 69 FT_Bool pure_cff, 70 FT_Bool cff2 ); 71 72 FT_LOCAL( void ) 73 cff_font_done( CFF_Font font ); 74 75 76 FT_LOCAL( FT_Error ) 77 cff_load_private_dict( CFF_Font font, 78 CFF_SubFont subfont, 79 FT_UInt lenNDV, 80 FT_Fixed* NDV ); 81 82 FT_LOCAL( FT_Byte ) 83 cff_fd_select_get( CFF_FDSelect fdselect, 84 FT_UInt glyph_index ); 85 86 FT_LOCAL( FT_Bool ) 87 cff_blend_check_vector( CFF_Blend blend, 88 FT_UInt vsindex, 89 FT_UInt lenNDV, 90 FT_Fixed* NDV ); 91 92 FT_LOCAL( FT_Error ) 93 cff_blend_build_vector( CFF_Blend blend, 94 FT_UInt vsindex, 95 FT_UInt lenNDV, 96 FT_Fixed* NDV ); 97 98 FT_LOCAL( void ) 99 cff_blend_clear( CFF_SubFont subFont ); 100 101 FT_LOCAL( FT_Error ) 102 cff_blend_doBlend( CFF_SubFont subfont, 103 CFF_Parser parser, 104 FT_UInt numBlends ); 105 106 #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT 107 FT_LOCAL( FT_Error ) 108 cff_get_var_blend( CFF_Face face, 109 FT_UInt *num_coords, 110 FT_Fixed* *coords, 111 FT_Fixed* *normalizedcoords, 112 FT_MM_Var* *mm_var ); 113 114 FT_LOCAL( void ) 115 cff_done_blend( CFF_Face face ); 116 #endif 117 118 119 FT_END_HEADER 120 121 #endif /* CFFLOAD_H_ */ 122 123 124 /* END */ 125