1 /***************************************************************************/
5 /* The FreeType SFNT table loading service (specification). */
7 /* Copyright 2003, 2004, 2009, 2012 by */
8 /* David Turner, Robert Wilhelm, and Werner Lemberg. */
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. */
16 /***************************************************************************/
22 #include FT_INTERNAL_SERVICE_H
23 #include FT_TRUETYPE_TABLES_H
30 * SFNT table loading service.
33 #define FT_SERVICE_ID_SFNT_TABLE "sfnt-table"
37 * Used to implement FT_Load_Sfnt_Table().
40 (*FT_SFNT_TableLoadFunc)( FT_Face face,
47 * Used to implement FT_Get_Sfnt_Table().
50 (*FT_SFNT_TableGetFunc)( FT_Face face,
55 * Used to implement FT_Sfnt_Table_Info().
58 (*FT_SFNT_TableInfoFunc)( FT_Face face,
65 FT_DEFINE_SERVICE( SFNT_Table )
67 FT_SFNT_TableLoadFunc load_table;
68 FT_SFNT_TableGetFunc get_table;
69 FT_SFNT_TableInfoFunc table_info;
73 #ifndef FT_CONFIG_OPTION_PIC
75 #define FT_DEFINE_SERVICE_SFNT_TABLEREC( class_, load_, get_, info_ ) \
76 static const FT_Service_SFNT_TableRec class_ = \
81 #else /* FT_CONFIG_OPTION_PIC */
83 #define FT_DEFINE_SERVICE_SFNT_TABLEREC( class_, load_, get_, info_ ) \
85 FT_Init_Class_ ## class_( FT_Service_SFNT_TableRec* clazz ) \
87 clazz->load_table = load_; \
88 clazz->get_table = get_; \
89 clazz->table_info = info_; \
92 #endif /* FT_CONFIG_OPTION_PIC */
100 #endif /* __SVSFNT_H__ */