sdk-world v2026.11.05
PS2 SDK - world tier (copyleft-allowed, non-essential packages)
Loading...
Searching...
No Matches
afmparse.h
Go to the documentation of this file.
1/****************************************************************************
2 *
3 * afmparse.h
4 *
5 * AFM parser (specification).
6 *
7 * Copyright (C) 2006-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 AFMPARSE_H_
24#define AFMPARSE_H_
25
26
28
29
30FT_BEGIN_HEADER
31
32
33 FT_LOCAL( FT_Error )
34 afm_parser_init( AFM_Parser parser,
35 FT_Memory memory,
36 FT_Byte* base,
37 FT_Byte* limit );
38
39
40 FT_LOCAL( void )
41 afm_parser_done( AFM_Parser parser );
42
43
44 FT_LOCAL( FT_Error )
45 afm_parser_parse( AFM_Parser parser );
46
47
48 enum AFM_ValueType_
49 {
50 AFM_VALUE_TYPE_STRING,
51 AFM_VALUE_TYPE_NAME,
52 AFM_VALUE_TYPE_FIXED, /* real number */
53 AFM_VALUE_TYPE_INTEGER,
54 AFM_VALUE_TYPE_BOOL,
55 AFM_VALUE_TYPE_INDEX /* glyph index */
56 };
57
58
59 typedef struct AFM_ValueRec_
60 {
61 enum AFM_ValueType_ type;
62 union
63 {
64 char* s;
65 FT_Fixed f;
66 FT_Int i;
67 FT_UInt u;
68 FT_Bool b;
69
70 } u;
71
72 } AFM_ValueRec, *AFM_Value;
73
74#define AFM_MAX_ARGUMENTS 5
75
76 FT_LOCAL( FT_Int )
77 afm_parser_read_vals( AFM_Parser parser,
78 AFM_Value vals,
79 FT_Int n );
80
81 /* read the next key from the next line or column */
82 FT_LOCAL( char* )
83 afm_parser_next_key( AFM_Parser parser,
84 FT_Bool line,
85 FT_Offset* len );
86
87FT_END_HEADER
88
89#endif /* AFMPARSE_H_ */
90
91
92/* END */