xref: /reactos/dll/win32/fontsub/main.c (revision 40462c92)
1 /*
2  * Copyright 2014 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 #include <stdarg.h>
20 #include "windef.h"
21 #include "winbase.h"
22 #include "fontsub.h"
23 
24 #include "wine/debug.h"
25 
26 WINE_DEFAULT_DEBUG_CHANNEL(fontsub);
27 
28 BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
29 {
30     TRACE("%p,%x,%p\n", hinstDLL, fdwReason, lpvReserved);
31 
32     switch (fdwReason) {
33         case DLL_WINE_PREATTACH:
34             return FALSE;  /* prefer native version */
35         case DLL_PROCESS_ATTACH:
36             DisableThreadLibraryCalls(hinstDLL);
37             break;
38     }
39 
40     return TRUE;
41 }
42 
43 ULONG __cdecl CreateFontPackage(const unsigned char *src, const ULONG src_len, unsigned char **dest,
44     ULONG *dest_len, ULONG *written, const unsigned short flags, const unsigned short face_index,
45     const unsigned short format, const unsigned short lang, const unsigned short platform, const unsigned short encoding,
46     const unsigned short *keep_list, const unsigned short keep_len, CFP_ALLOCPROC allocproc,
47     CFP_REALLOCPROC reallocproc, CFP_FREEPROC freeproc, void *reserved)
48 {
49     FIXME("(%p %u %p %p %p %#x %u %u %u %u %u %p %u %p %p %p %p): stub\n", src, src_len, dest, dest_len,
50         written, flags, face_index, format, lang, platform, encoding, keep_list, keep_len, allocproc,
51         reallocproc, freeproc, reserved);
52 
53     if (format != TTFCFP_SUBSET)
54         return ERR_GENERIC;
55 
56     *dest = allocproc(src_len);
57     if (!*dest)
58         return ERR_MEM;
59 
60     memcpy(*dest, src, src_len);
61     *dest_len = src_len;
62     *written = src_len;
63 
64     return NO_ERROR;
65 }
66