sdk-world v2026.11.05
PS2 SDK - world tier (copyleft-allowed, non-essential packages)
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-2025 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
23#ifndef SVSFNT_H_
24#define SVSFNT_H_
25
27#include <freetype/tttables.h>
28
29
30FT_BEGIN_HEADER
31
32
33 /*
34 * SFNT table loading service.
35 */
36
37#define FT_SERVICE_ID_SFNT_TABLE "sfnt-table"
38
39
40 /*
41 * Used to implement FT_Load_Sfnt_Table().
42 */
43 typedef FT_Error
44 (*FT_SFNT_TableLoadFunc)( FT_Face face,
45 FT_ULong tag,
46 FT_Long offset,
47 FT_Byte* buffer,
48 FT_ULong* length );
49
50 /*
51 * Used to implement FT_Get_Sfnt_Table().
52 */
53 typedef void*
54 (*FT_SFNT_TableGetFunc)( FT_Face face,
55 FT_Sfnt_Tag tag );
56
57
58 /*
59 * Used to implement FT_Sfnt_Table_Info().
60 */
61 typedef FT_Error
62 (*FT_SFNT_TableInfoFunc)( FT_Face face,
63 FT_UInt idx,
64 FT_ULong *tag,
65 FT_ULong *offset,
66 FT_ULong *length );
67
68
69 FT_DEFINE_SERVICE( SFNT_Table )
70 {
71 FT_SFNT_TableLoadFunc load_table;
72 FT_SFNT_TableGetFunc get_table;
73 FT_SFNT_TableInfoFunc table_info;
74 };
75
76
77#define FT_DEFINE_SERVICE_SFNT_TABLEREC( class_, load_, get_, info_ ) \
78 static const FT_Service_SFNT_TableRec class_ = \
79 { \
80 load_, get_, info_ \
81 };
82
83 /* */
84
85
86FT_END_HEADER
87
88
89#endif /* SVSFNT_H_ */
90
91
92/* END */