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
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
);
56 unsigned short usStructSize
;
57 unsigned short usRefStrSize
;
58 unsigned short *pusRefStr
;
63 unsigned short usStructSize
;
64 unsigned short usRootStrSize
;
65 unsigned short *pusRootStr
;
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
);