reactos/sdk/include/psdk/t2embapi.h
2021-06-11 15:33:08 +03:00

289 lines
7.8 KiB
C

#ifndef __T2EMBED_API_H
#define __T2EMBED_API_H
#ifndef CHARSET_UNICODE
#define CHARSET_UNICODE 1
#define CHARSET_DEFAULT 1
#define CHARSET_SYMBOL 2
#define CHARSET_GLYPHIDX 3
#endif
#ifndef EMBED_PREVIEWPRINT
#define EMBED_PREVIEWPRINT 1
#define EMBED_EDITABLE 2
#define EMBED_INSTALLABLE 3
#define EMBED_NOEMBEDDING 4
#endif
#ifndef LICENSE_INSTALLABLE
#define LICENSE_INSTALLABLE 0x0
#define LICENSE_DEFAULT 0x0
#define LICENSE_NOEMBEDDING 0x2
#define LICENSE_PREVIEWPRINT 0x4
#define LICENSE_EDITABLE 0x8
#endif
#ifndef TTEMBED_RAW
#define TTEMBED_RAW 0x0
#define TTEMBED_SUBSET 0x1
#define TTEMBED_TTCOMPRESSED 0x4
#define TTEMBED_FAILIFVARIATIONSIMULATED 0x10
#define TTEMBED_EMBEDEUDC 0x20
#define TTEMBED_VALIDATIONTESTS 0x40
#define TTEMBED_WEBOBJECT 0x80
#define TTEMBED_ENCRYPTDATA 0x10000000
#endif
#ifndef E_NONE
#define E_NONE 0x0
#endif
#define E_API_NOTIMPL 0x0001L
#ifndef E_CHARCODECOUNTINVALID
#define E_CHARCODECOUNTINVALID 0x2
#define E_CHARCODESETINVALID 0x3
#define E_DEVICETRUETYPEFONT 0x4
#define E_HDCINVALID 0x6
#define E_NOFREEMEMORY 0x7
#define E_FONTREFERENCEINVALID 0x8
#define E_NOTATRUETYPEFONT 0xA
#define E_ERRORACCESSINGFONTDATA 0xC
#define E_ERRORACCESSINGFACENAME 0xD
#define E_ERRORUNICODECONVERSION 0x11
#define E_ERRORCONVERTINGCHARS 0x12
#define E_EXCEPTION 0x13
#define E_RESERVEDPARAMNOTNULL 0x14
#define E_CHARSETINVALID 0x15
#define E_WIN32S_NOTSUPPORTED 0x16
#define E_FILE_NOT_FOUND 0x17
#define E_TTC_INDEX_OUT_OF_RANGE 0x18
#define E_INPUTPARAMINVALID 0x19
#endif
#ifndef E_ERRORCOMPRESSINGFONTDATA
#define E_ERRORCOMPRESSINGFONTDATA 0x100
#define E_FONTDATAINVALID 0x102
#define E_NAMECHANGEFAILED 0x103
#define E_FONTNOTEMBEDDABLE 0x104
#define E_PRIVSINVALID 0x105
#define E_SUBSETTINGFAILED 0x106
#define E_READFROMSTREAMFAILED 0x107
#define E_SAVETOSTREAMFAILED 0x108
#define E_NOOS2 0x109
#define E_T2NOFREEMEMORY 0x10A
#define E_ERRORREADINGFONTDATA 0x10B
#define E_FLAGSINVALID 0x10C
#define E_ERRORCREATINGFONTFILE 0x10D
#define E_FONTALREADYEXISTS 0x10E
#define E_FONTNAMEALREADYEXISTS 0x10F
#define E_FONTINSTALLFAILED 0x110
#define E_ERRORDECOMPRESSINGFONTDATA 0x111
#define E_ERRORACCESSINGEXCLUDELIST 0x112
#define E_FACENAMEINVALID 0x113
#define E_STREAMINVALID 0x114
#define E_STATUSINVALID 0x115
#define E_PRIVSTATUSINVALID 0x116
#define E_PERMISSIONSINVALID 0x117
#define E_PBENABLEDINVALID 0x118
#define E_SUBSETTINGEXCEPTION 0x119
#define E_SUBSTRING_TEST_FAIL 0x11A
#define E_FONTVARIATIONSIMULATED 0x11B
#define E_FONTVALIDATEFAIL 0x11C
#define E_FONTFAMILYNAMENOTINFULL 0x11D
#endif
#ifndef E_ADDFONTFAILED
#define E_ADDFONTFAILED 0x200
#define E_COULDNTCREATETEMPFILE 0x201
#define E_FONTFILECREATEFAILED 0x203
#define E_WINDOWSAPI 0x204
#define E_FONTFILENOTFOUND 0x205
#define E_RESOURCEFILECREATEFAILED 0x206
#define E_ERROREXPANDINGFONTDATA 0x207
#define E_ERRORGETTINGDC 0x208
#define E_EXCEPTIONINDECOMPRESSION 0x209
#define E_EXCEPTIONINCOMPRESSION 0x20A
#endif
#ifdef __cplusplus
extern "C" {
#endif
typedef unsigned long(WINAPIV *WRITEEMBEDPROC)
(
void* lpvWriteStream,
const void* lpvBuffer,
const unsigned long cbBuffer
);
typedef unsigned long(WINAPIV *READEMBEDPROC)
(
void* lpvReadStream,
void* lpvBuffer,
const unsigned long cbBuffer
);
typedef struct
{
unsigned long ulStructSize;
long lTestFromSize;
long lTestToSize;
unsigned long ulCharSet;
unsigned short usReserved1;
unsigned short usCharCodeCount;
unsigned short* pusCharCodeSet;
} TTVALIDATIONTESTPARAMS;
typedef struct
{
unsigned long ulStructSize;
long lTestFromSize;
long lTestToSize;
unsigned long ulCharSet;
unsigned short usReserved1;
unsigned short usCharCodeCount;
unsigned long* pulCharCodeSet;
} TTVALIDATIONTESTPARAMSEX;
typedef struct
{
unsigned short usStructSize;
unsigned short usRootStrSize;
unsigned short *pusRootStr;
} TTEMBEDINFO;
typedef struct
{
unsigned short usStructSize;
unsigned short usRefStrSize;
unsigned short *pusRefStr;
} TTLOADINFO;
LONG
WINAPI
TTCharToUnicode(HDC hDC,
UCHAR* pucCharCodes,
ULONG ulCharCodeSize,
USHORT* pusShortCodes,
ULONG ulShortCodeSize,
ULONG ulFlags);
LONG
WINAPI
TTDeleteEmbeddedFont(HANDLE hFontReference,
ULONG ulFlags,
ULONG* pulStatus);
LONG
WINAPI
TTEmbedFont(HDC hDC,
ULONG ulFlags,
ULONG ulCharSet,
ULONG* pulPrivStatus,
ULONG* pulStatus,
WRITEEMBEDPROC lpfnWriteToStream,
LPVOID lpvWriteStream,
USHORT* pusCharCodeSet,
USHORT usCharCodeCount,
USHORT usLanguage,
TTEMBEDINFO* pTTEmbedInfo);
LONG
WINAPI
TTEmbedFontFromFileA(HDC hDC,
LPCSTR szFontFileName,
USHORT usTTCIndex,
ULONG ulFlags,
ULONG ulCharSet,
ULONG* pulPrivStatus,
ULONG* pulStatus,
WRITEEMBEDPROC lpfnWriteToStream,
LPVOID lpvWriteStream,
USHORT* pusCharCodeSet,
USHORT usCharCodeCount,
USHORT usLanguage,
TTEMBEDINFO* pTTEmbedInfo);
LONG
WINAPI
TTEnableEmbeddingForFacename(LPSTR lpszFacename,
BOOL bEnable);
LONG
WINAPI
TTGetEmbeddedFontInfo(ULONG ulFlags,
ULONG* pulPrivStatus,
ULONG ulPrivs,
ULONG* pulStatus,
READEMBEDPROC lpfnReadFromStream,
LPVOID lpvReadStream,
TTLOADINFO* pTTLoadInfo);
LONG
WINAPI
TTGetEmbeddingType(HDC hDC,
ULONG* pulPrivStatus);
LONG
WINAPI
TTIsEmbeddingEnabled(HDC hDC,
BOOL* pbEnabled);
LONG
WINAPI
TTIsEmbeddingEnabledForFacename(LPCSTR lpszFacename,
BOOL* pbEnabled);
LONG
WINAPI
TTLoadEmbeddedFont(HANDLE *phFontReference,
ULONG ulFlags,
ULONG* pulPrivStatus,
ULONG ulPrivs,
ULONG* pulStatus,
READEMBEDPROC lpfnReadFromStream,
LPVOID lpvReadStream,
LPWSTR szWinFamilyName,
LPSTR szMacFamilyName,
TTLOADINFO* pTTLoadInfo);
LONG
WINAPI
TTRunValidationTests(HDC hDC,
TTVALIDATIONTESTPARAMS* pTestParam);
LONG
WINAPI
TTEmbedFontEx(HDC hDC,
ULONG ulFlags,
ULONG ulCharSet,
ULONG* pulPrivStatus,
ULONG* pulStatus,
WRITEEMBEDPROC lpfnWriteToStream,
LPVOID lpvWriteStream,
ULONG* pulCharCodeSet,
USHORT usCharCodeCount,
USHORT usLanguage,
TTEMBEDINFO* pTTEmbedInfo);
LONG
WINAPI
TTRunValidationTestsEx(HDC hDC,
TTVALIDATIONTESTPARAMSEX* pTestParam);
LONG
WINAPI
TTGetNewFontName(HANDLE* phFontReference,
LPWSTR szWinFamilyName,
long cchMaxWinName,
LPSTR szMacFamilyName,
long cchMaxMacName);
#ifdef __cplusplus
}
#endif
#endif /* __T2EMBED_API_H */