XenevaOS
Loading...
Searching...
No Matches
svsfnt.h
Go to the documentation of this file.
1/****************************************************************************
2 *
3 * svsfnt.h
4 *
5 * The FreeType SFNT table loading service (specification).
6 *
7 * Copyright (C) 2003-2019 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 SVSFNT_H_
20#define SVSFNT_H_
21
22#include FT_INTERNAL_SERVICE_H
23#include FT_TRUETYPE_TABLES_H
24
25
27
28
29 /*
30 * SFNT table loading service.
31 */
32
33#define FT_SERVICE_ID_SFNT_TABLE "sfnt-table"
34
35
36 /*
37 * Used to implement FT_Load_Sfnt_Table().
38 */
39 typedef FT_Error
41 FT_ULong tag,
42 FT_Long offset,
43 FT_Byte* buffer,
44 FT_ULong* length );
45
46 /*
47 * Used to implement FT_Get_Sfnt_Table().
48 */
49 typedef void*
50 (*FT_SFNT_TableGetFunc)( FT_Face face,
51 FT_Sfnt_Tag tag );
52
53
54 /*
55 * Used to implement FT_Sfnt_Table_Info().
56 */
57 typedef FT_Error
59 FT_UInt idx,
60 FT_ULong *tag,
61 FT_ULong *offset,
62 FT_ULong *length );
63
64
65 FT_DEFINE_SERVICE( SFNT_Table )
66 {
67 FT_SFNT_TableLoadFunc load_table;
68 FT_SFNT_TableGetFunc get_table;
69 FT_SFNT_TableInfoFunc table_info;
70 };
71
72
73#define FT_DEFINE_SERVICE_SFNT_TABLEREC( class_, load_, get_, info_ ) \
74 static const FT_Service_SFNT_TableRec class_ = \
75 { \
76 load_, get_, info_ \
77 };
78
79 /* */
80
81
83
84
85#endif /* SVSFNT_H_ */
86
87
88/* END */
#define FT_END_HEADER
Definition ftheader.h:54
#define FT_BEGIN_HEADER
Definition ftheader.h:36
#define FT_DEFINE_SERVICE(name)
Definition ftserv.h:480
unsigned long FT_ULong
Definition fttypes.h:253
unsigned char FT_Byte
Definition fttypes.h:154
int FT_Error
Definition fttypes.h:299
signed long FT_Long
Definition fttypes.h:242
unsigned int FT_UInt
Definition fttypes.h:231
Definition freetype.h:1042
void *(* FT_SFNT_TableGetFunc)(FT_Face face, FT_Sfnt_Tag tag)
Definition svsfnt.h:50
FT_Error(* FT_SFNT_TableLoadFunc)(FT_Face face, FT_ULong tag, FT_Long offset, FT_Byte *buffer, FT_ULong *length)
Definition svsfnt.h:40
FT_Error(* FT_SFNT_TableInfoFunc)(FT_Face face, FT_UInt idx, FT_ULong *tag, FT_ULong *offset, FT_ULong *length)
Definition svsfnt.h:58
enum FT_Sfnt_Tag_ FT_Sfnt_Tag