[FONTSUB] Import from Wine Staging 1.9.13. CORE-11219
[reactos.git] / reactos / sdk / include / psdk / fontsub.h
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