ReactOS 0.4.16-dev-959-g2ec3a19
ftmac.h
Go to the documentation of this file.
1/****************************************************************************
2 *
3 * ftmac.h
4 *
5 * Additional Mac-specific API.
6 *
7 * Copyright (C) 1996-2019 by
8 * Just van Rossum, 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/****************************************************************************
20 *
21 * NOTE: Include this file after `FT_FREETYPE_H` and after any
22 * Mac-specific headers (because this header uses Mac types such as
23 * 'Handle', 'FSSpec', 'FSRef', etc.)
24 *
25 */
26
27
28#ifndef FTMAC_H_
29#define FTMAC_H_
30
31
32#include <ft2build.h>
33
34
36
37
38 /* gcc-3.1 and later can warn about functions tagged as deprecated */
39#ifndef FT_DEPRECATED_ATTRIBUTE
40#if defined( __GNUC__ ) && \
41 ( ( __GNUC__ >= 4 ) || \
42 ( ( __GNUC__ == 3 ) && ( __GNUC_MINOR__ >= 1 ) ) )
43#define FT_DEPRECATED_ATTRIBUTE __attribute__(( deprecated ))
44#else
45#define FT_DEPRECATED_ATTRIBUTE
46#endif
47#endif
48
49
50 /**************************************************************************
51 *
52 * @section:
53 * mac_specific
54 *
55 * @title:
56 * Mac Specific Interface
57 *
58 * @abstract:
59 * Only available on the Macintosh.
60 *
61 * @description:
62 * The following definitions are only available if FreeType is compiled
63 * on a Macintosh.
64 *
65 */
66
67
68 /**************************************************************************
69 *
70 * @function:
71 * FT_New_Face_From_FOND
72 *
73 * @description:
74 * Create a new face object from a FOND resource.
75 *
76 * @inout:
77 * library ::
78 * A handle to the library resource.
79 *
80 * @input:
81 * fond ::
82 * A FOND resource.
83 *
84 * face_index ::
85 * Only supported for the -1 'sanity check' special case.
86 *
87 * @output:
88 * aface ::
89 * A handle to a new face object.
90 *
91 * @return:
92 * FreeType error code. 0~means success.
93 *
94 * @example:
95 * This function can be used to create @FT_Face objects from fonts that
96 * are installed in the system as follows.
97 *
98 * ```
99 * fond = GetResource( 'FOND', fontName );
100 * error = FT_New_Face_From_FOND( library, fond, 0, &face );
101 * ```
102 */
105 Handle fond,
106 FT_Long face_index,
107 FT_Face *aface )
109
110
111 /**************************************************************************
112 *
113 * @function:
114 * FT_GetFile_From_Mac_Name
115 *
116 * @description:
117 * Return an FSSpec for the disk file containing the named font.
118 *
119 * @input:
120 * fontName ::
121 * Mac OS name of the font (e.g., Times New Roman Bold).
122 *
123 * @output:
124 * pathSpec ::
125 * FSSpec to the file. For passing to @FT_New_Face_From_FSSpec.
126 *
127 * face_index ::
128 * Index of the face. For passing to @FT_New_Face_From_FSSpec.
129 *
130 * @return:
131 * FreeType error code. 0~means success.
132 */
135 FSSpec* pathSpec,
136 FT_Long* face_index )
138
139
140 /**************************************************************************
141 *
142 * @function:
143 * FT_GetFile_From_Mac_ATS_Name
144 *
145 * @description:
146 * Return an FSSpec for the disk file containing the named font.
147 *
148 * @input:
149 * fontName ::
150 * Mac OS name of the font in ATS framework.
151 *
152 * @output:
153 * pathSpec ::
154 * FSSpec to the file. For passing to @FT_New_Face_From_FSSpec.
155 *
156 * face_index ::
157 * Index of the face. For passing to @FT_New_Face_From_FSSpec.
158 *
159 * @return:
160 * FreeType error code. 0~means success.
161 */
164 FSSpec* pathSpec,
165 FT_Long* face_index )
167
168
169 /**************************************************************************
170 *
171 * @function:
172 * FT_GetFilePath_From_Mac_ATS_Name
173 *
174 * @description:
175 * Return a pathname of the disk file and face index for given font name
176 * that is handled by ATS framework.
177 *
178 * @input:
179 * fontName ::
180 * Mac OS name of the font in ATS framework.
181 *
182 * @output:
183 * path ::
184 * Buffer to store pathname of the file. For passing to @FT_New_Face.
185 * The client must allocate this buffer before calling this function.
186 *
187 * maxPathSize ::
188 * Lengths of the buffer `path` that client allocated.
189 *
190 * face_index ::
191 * Index of the face. For passing to @FT_New_Face.
192 *
193 * @return:
194 * FreeType error code. 0~means success.
195 */
198 UInt8* path,
199 UInt32 maxPathSize,
200 FT_Long* face_index )
202
203
204 /**************************************************************************
205 *
206 * @function:
207 * FT_New_Face_From_FSSpec
208 *
209 * @description:
210 * Create a new face object from a given resource and typeface index
211 * using an FSSpec to the font file.
212 *
213 * @inout:
214 * library ::
215 * A handle to the library resource.
216 *
217 * @input:
218 * spec ::
219 * FSSpec to the font file.
220 *
221 * face_index ::
222 * The index of the face within the resource. The first face has
223 * index~0.
224 * @output:
225 * aface ::
226 * A handle to a new face object.
227 *
228 * @return:
229 * FreeType error code. 0~means success.
230 *
231 * @note:
232 * @FT_New_Face_From_FSSpec is identical to @FT_New_Face except it
233 * accepts an FSSpec instead of a path.
234 */
237 const FSSpec *spec,
238 FT_Long face_index,
239 FT_Face *aface )
241
242
243 /**************************************************************************
244 *
245 * @function:
246 * FT_New_Face_From_FSRef
247 *
248 * @description:
249 * Create a new face object from a given resource and typeface index
250 * using an FSRef to the font file.
251 *
252 * @inout:
253 * library ::
254 * A handle to the library resource.
255 *
256 * @input:
257 * spec ::
258 * FSRef to the font file.
259 *
260 * face_index ::
261 * The index of the face within the resource. The first face has
262 * index~0.
263 * @output:
264 * aface ::
265 * A handle to a new face object.
266 *
267 * @return:
268 * FreeType error code. 0~means success.
269 *
270 * @note:
271 * @FT_New_Face_From_FSRef is identical to @FT_New_Face except it accepts
272 * an FSRef instead of a path.
273 */
276 const FSRef *ref,
277 FT_Long face_index,
278 FT_Face *aface )
280
281 /* */
282
283
285
286
287#endif /* FTMAC_H_ */
288
289
290/* END */
FT_Library library
Definition: cffdrivr.c:661
DWORD UInt32
Definition: chm_lib.c:104
#define UInt8
Definition: interfaces.hpp:75
#define FT_EXPORT(x)
Definition: ftconfig.h:481
#define FT_END_HEADER
Definition: ftheader.h:54
#define FT_BEGIN_HEADER
Definition: ftheader.h:36
FT_GetFile_From_Mac_ATS_Name(const char *fontName, FSSpec *pathSpec, FT_Long *face_index) FT_DEPRECATED_ATTRIBUTE
FT_GetFile_From_Mac_Name(const char *fontName, FSSpec *pathSpec, FT_Long *face_index) FT_DEPRECATED_ATTRIBUTE
FT_GetFilePath_From_Mac_ATS_Name(const char *fontName, UInt8 *path, UInt32 maxPathSize, FT_Long *face_index) FT_DEPRECATED_ATTRIBUTE
FT_New_Face_From_FSSpec(FT_Library library, const FSSpec *spec, FT_Long face_index, FT_Face *aface) FT_DEPRECATED_ATTRIBUTE
FT_New_Face_From_FSRef(FT_Library library, const FSRef *ref, FT_Long face_index, FT_Face *aface) FT_DEPRECATED_ATTRIBUTE
#define FT_DEPRECATED_ATTRIBUTE
Definition: ftmac.h:45
FT_New_Face_From_FOND(FT_Library library, Handle fond, FT_Long face_index, FT_Face *aface) FT_DEPRECATED_ATTRIBUTE
int FT_Error
Definition: fttypes.h:299
signed long FT_Long
Definition: fttypes.h:242
ULONG Handle
Definition: gdb_input.c:15
GLenum const GLvoid * fontName
Definition: glext.h:11715
Definition: send.c:48
#define const
Definition: zconf.h:233