Imported Upstream version 2.13.2
[platform/upstream/freetype2.git] / src / psaux / cffdecode.h
1 /****************************************************************************
2  *
3  * cffdecode.h
4  *
5  *   PostScript CFF (Type 2) decoding routines (specification).
6  *
7  * Copyright (C) 2017-2023 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 CFFDECODE_H_
20 #define CFFDECODE_H_
21
22
23 #include <freetype/internal/psaux.h>
24
25
26 FT_BEGIN_HEADER
27
28   FT_LOCAL( void )
29   cff_decoder_init( CFF_Decoder*                     decoder,
30                     TT_Face                          face,
31                     CFF_Size                         size,
32                     CFF_GlyphSlot                    slot,
33                     FT_Bool                          hinting,
34                     FT_Render_Mode                   hint_mode,
35                     CFF_Decoder_Get_Glyph_Callback   get_callback,
36                     CFF_Decoder_Free_Glyph_Callback  free_callback );
37
38   FT_LOCAL( FT_Error )
39   cff_decoder_prepare( CFF_Decoder*  decoder,
40                        CFF_Size      size,
41                        FT_UInt       glyph_index );
42
43
44   FT_LOCAL( FT_Int )
45   cff_lookup_glyph_by_stdcharcode( CFF_Font  cff,
46                                    FT_Int    charcode );
47
48
49 #ifdef CFF_CONFIG_OPTION_OLD_ENGINE
50   FT_LOCAL( FT_Error )
51   cff_decoder_parse_charstrings( CFF_Decoder*  decoder,
52                                  FT_Byte*      charstring_base,
53                                  FT_ULong      charstring_len,
54                                  FT_Bool       in_dict );
55 #endif
56
57
58 FT_END_HEADER
59
60 #endif
61
62
63 /* END */