1ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/***************************************************************************/
2ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*                                                                         */
3ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*  cffload.h                                                              */
4ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*                                                                         */
5ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*    OpenType & CFF data/program tables loader (specification).           */
6ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*                                                                         */
7ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann/*  Copyright 1996-2015 by                                                 */
8ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
9ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*                                                                         */
10ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*  This file is part of the FreeType project, and may only be used,       */
11ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*  modified, and distributed under the terms of the FreeType project      */
12ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
13ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*  this file you indicate that you have read the license and              */
14ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*  understand and accept it fully.                                        */
15ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*                                                                         */
16ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/***************************************************************************/
17ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
18ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
19ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#ifndef __CFFLOAD_H__
20ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#define __CFFLOAD_H__
21ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
22ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
23e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#include <ft2build.h>
24ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#include "cfftypes.h"
25ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
26ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
27ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFT_BEGIN_HEADER
28ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
29ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  FT_LOCAL( FT_UShort )
30ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  cff_get_standard_encoding( FT_UInt  charcode );
31ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
32ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
33ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  FT_LOCAL( FT_String* )
34ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  cff_index_get_string( CFF_Font  font,
35ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov                        FT_UInt   element );
36ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
37ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  FT_LOCAL( FT_String* )
38ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  cff_index_get_sid_string( CFF_Font  font,
39ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov                            FT_UInt   sid );
40ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
41ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
42ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  FT_LOCAL( FT_Error )
43ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  cff_index_access_element( CFF_Index  idx,
44ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov                            FT_UInt    element,
45ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov                            FT_Byte**  pbytes,
46ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov                            FT_ULong*  pbyte_len );
47ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
48ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  FT_LOCAL( void )
49ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  cff_index_forget_element( CFF_Index  idx,
50ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov                            FT_Byte**  pbytes );
51ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
52ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  FT_LOCAL( FT_String* )
53ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  cff_index_get_name( CFF_Font  font,
54ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov                      FT_UInt   element );
55ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
56ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
57ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  FT_LOCAL( FT_UInt )
58ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  cff_charset_cid_to_gindex( CFF_Charset  charset,
59ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov                             FT_UInt      cid );
60ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
61ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
62ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  FT_LOCAL( FT_Error )
63ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  cff_font_load( FT_Library library,
64ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov                 FT_Stream  stream,
65ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov                 FT_Int     face_index,
66ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov                 CFF_Font   font,
67ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov                 FT_Bool    pure_cff );
68ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
69ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  FT_LOCAL( void )
70ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  cff_font_done( CFF_Font  font );
71ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
72ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
73ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  FT_LOCAL( FT_Byte )
74ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  cff_fd_select_get( CFF_FDSelect  fdselect,
75ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov                     FT_UInt       glyph_index );
76ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
77ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
78ee451cb395940862dad63c85adfe8f2fd55e864cSvet GanovFT_END_HEADER
79ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
80ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov#endif /* __CFFLOAD_H__ */
81ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
82ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
83ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* END */
84