gdiplus: Create the FontFamily before checking for duplicates.
[wine.git] / include / t2embapi.h
blob38d69007253f2559011a93647a41ba0e5855f117
1 /*
2 * Copyright (c) 2009 Andrew Nguyen
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.
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.
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
19 #ifndef __WINE_T2EMBAPI_H
20 #define __WINE_T2EMBAPI_H
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
26 #define CHARSET_UNICODE 1
27 #define CHARSET_DEFAULT 1
28 #define CHARSET_SYMBOL 2
29 #define CHARSET_GLYPHIDX 3
31 #define LICENSE_INSTALLABLE 0x0000
32 #define LICENSE_DEFAULT 0x0000
33 #define LICENSE_NOEMBEDDING 0x0002
34 #define LICENSE_PREVIEWPRINT 0x0004
35 #define LICENSE_EDITABLE 0x0008
37 #define TTLOAD_PRIVATE 0x0001
39 /* Possible return values. */
40 #define E_NONE __MSABI_LONG(0x0000)
41 #define E_API_NOTIMPL __MSABI_LONG(0x0001)
42 #define E_HDCINVALID __MSABI_LONG(0x0006)
43 #define E_NOFREEMEMORY __MSABI_LONG(0x0007)
44 #define E_NOTATRUETYPEFONT __MSABI_LONG(0x000a)
45 #define E_ERRORACCESSINGFONTDATA __MSABI_LONG(0x000c)
46 #define E_ERRORACCESSINGFACENAME __MSABI_LONG(0x000d)
47 #define E_FACENAMEINVALID __MSABI_LONG(0x0113)
48 #define E_PERMISSIONSINVALID __MSABI_LONG(0x0117)
49 #define E_PBENABLEDINVALID __MSABI_LONG(0x0118)
51 typedef ULONG (WINAPIV * READEMBEDPROC)(void*,void*,ULONG);
52 typedef ULONG (WINAPIV * WRITEEMBEDPROC)(void*,void*,ULONG);
54 typedef struct
56 unsigned short usStructSize;
57 unsigned short usRefStrSize;
58 unsigned short *pusRefStr;
59 } TTLOADINFO;
61 typedef struct
63 unsigned short usStructSize;
64 unsigned short usRootStrSize;
65 unsigned short *pusRootStr;
66 } TTEMBEDINFO;
68 LONG WINAPI TTLoadEmbeddedFont(HANDLE*,ULONG,ULONG*,ULONG,ULONG*,READEMBEDPROC,
69 LPVOID,LPWSTR,LPSTR,TTLOADINFO*);
70 LONG WINAPI TTDeleteEmbeddedFont(HANDLE,ULONG,ULONG*);
72 /* embedding privileges */
73 #define EMBED_PREVIEWPRINT 1
74 #define EMBED_EDITABLE 2
75 #define EMBED_INSTALLABLE 3
76 #define EMBED_NOEMBEDDING 4
78 LONG WINAPI TTGetEmbeddingType(HDC, ULONG*);
79 LONG WINAPI TTIsEmbeddingEnabledForFacename(LPCSTR facename, BOOL *enabled);
80 LONG WINAPI TTIsEmbeddingEnabled(HDC hdc, BOOL *enabled);
82 #ifdef __cplusplus
84 #endif
86 #endif