xref: /reactos/sdk/include/psdk/fontsub.h (revision 8a978a17)
1 /*
2  * Copyright 2016 Nikolay Sivov for CodeWeavers
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17  */
18 
19 #ifndef __WINE_FONTSUB_H
20 #define __WINE_FONTSUB_H
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
26 typedef void *(__cdecl *CFP_ALLOCPROC)(size_t);
27 typedef void *(__cdecl *CFP_REALLOCPROC)(void *, size_t);
28 typedef void (__cdecl *CFP_FREEPROC)(void *);
29 
30 #define TTFCFP_SUBSET  0
31 #define TTFCFP_SUBSET1 1
32 #define TTFCFP_DELTA   2
33 
34 #define TTFCFP_UNICODE_PLATFORMID 0
35 #define TTFCFP_APPLE_PLATFORMID   1
36 #define TTFCFP_ISO_PLATFORMID     2
37 #define TTFCFP_MS_PLATFORMID      3
38 
39 #define TTFCFP_STD_MAC_CHAR_SET   0
40 #define TTFCFP_SYMBOL_CHAR_SET    0
41 #define TTFCFP_UNICODE_CHAR_SET   1
42 #define TTFCFP_DONT_CARE          0xffff
43 
44 #define TTFCFP_LANG_KEEP_ALL      0
45 
46 #define TTFCFP_FLAGS_SUBSET       0x0001
47 #define TTFCFP_FLAGS_COMPRESS     0x0002
48 #define TTFCFP_FLAGS_TTC          0x0004
49 #define TTFCFP_FLAGS_GLYPHLIST    0x0008
50 
51 #define ERR_GENERIC 1000
52 #define ERR_MEM     1005
53 
54 ULONG __cdecl CreateFontPackage(const unsigned char *src, const ULONG src_len, unsigned char **dest,
55     ULONG *dest_len, ULONG *written, const unsigned short flags, const unsigned short face_index,
56     const unsigned short format, const unsigned short lang, const unsigned short platform,
57     const unsigned short encoding, const unsigned short *keep_list, const unsigned short keep_len,
58     CFP_ALLOCPROC allocproc, CFP_REALLOCPROC reallocproc, CFP_FREEPROC freeproc, void *reserved);
59 
60 #ifdef __cplusplus
61 }
62 #endif
63 
64 #endif
65