Reactos
at master 288 lines 7.9 kB view raw
1#ifndef __T2EMBED_API_H 2#define __T2EMBED_API_H 3 4#ifndef CHARSET_UNICODE 5#define CHARSET_UNICODE 1 6#define CHARSET_DEFAULT 1 7#define CHARSET_SYMBOL 2 8#define CHARSET_GLYPHIDX 3 9#endif 10 11#ifndef EMBED_PREVIEWPRINT 12#define EMBED_PREVIEWPRINT 1 13#define EMBED_EDITABLE 2 14#define EMBED_INSTALLABLE 3 15#define EMBED_NOEMBEDDING 4 16#endif 17 18#ifndef LICENSE_INSTALLABLE 19#define LICENSE_INSTALLABLE 0x0 20#define LICENSE_DEFAULT 0x0 21#define LICENSE_NOEMBEDDING 0x2 22#define LICENSE_PREVIEWPRINT 0x4 23#define LICENSE_EDITABLE 0x8 24#endif 25 26#ifndef TTEMBED_RAW 27#define TTEMBED_RAW 0x0 28#define TTEMBED_SUBSET 0x1 29#define TTEMBED_TTCOMPRESSED 0x4 30#define TTEMBED_FAILIFVARIATIONSIMULATED 0x10 31#define TTEMBED_EMBEDEUDC 0x20 32#define TTEMBED_VALIDATIONTESTS 0x40 33#define TTEMBED_WEBOBJECT 0x80 34#define TTEMBED_ENCRYPTDATA 0x10000000 35#endif 36 37#ifndef E_NONE 38#define E_NONE 0x0 39#endif 40 41#define E_API_NOTIMPL 0x0001L 42 43#ifndef E_CHARCODECOUNTINVALID 44#define E_CHARCODECOUNTINVALID 0x2 45#define E_CHARCODESETINVALID 0x3 46#define E_DEVICETRUETYPEFONT 0x4 47#define E_HDCINVALID 0x6 48#define E_NOFREEMEMORY 0x7 49#define E_FONTREFERENCEINVALID 0x8 50#define E_NOTATRUETYPEFONT 0xA 51#define E_ERRORACCESSINGFONTDATA 0xC 52#define E_ERRORACCESSINGFACENAME 0xD 53#define E_ERRORUNICODECONVERSION 0x11 54#define E_ERRORCONVERTINGCHARS 0x12 55#define E_EXCEPTION 0x13 56#define E_RESERVEDPARAMNOTNULL 0x14 57#define E_CHARSETINVALID 0x15 58#define E_WIN32S_NOTSUPPORTED 0x16 59#define E_FILE_NOT_FOUND 0x17 60#define E_TTC_INDEX_OUT_OF_RANGE 0x18 61#define E_INPUTPARAMINVALID 0x19 62#endif 63 64#ifndef E_ERRORCOMPRESSINGFONTDATA 65#define E_ERRORCOMPRESSINGFONTDATA 0x100 66#define E_FONTDATAINVALID 0x102 67#define E_NAMECHANGEFAILED 0x103 68#define E_FONTNOTEMBEDDABLE 0x104 69#define E_PRIVSINVALID 0x105 70#define E_SUBSETTINGFAILED 0x106 71#define E_READFROMSTREAMFAILED 0x107 72#define E_SAVETOSTREAMFAILED 0x108 73#define E_NOOS2 0x109 74#define E_T2NOFREEMEMORY 0x10A 75#define E_ERRORREADINGFONTDATA 0x10B 76#define E_FLAGSINVALID 0x10C 77#define E_ERRORCREATINGFONTFILE 0x10D 78#define E_FONTALREADYEXISTS 0x10E 79#define E_FONTNAMEALREADYEXISTS 0x10F 80#define E_FONTINSTALLFAILED 0x110 81#define E_ERRORDECOMPRESSINGFONTDATA 0x111 82#define E_ERRORACCESSINGEXCLUDELIST 0x112 83#define E_FACENAMEINVALID 0x113 84#define E_STREAMINVALID 0x114 85#define E_STATUSINVALID 0x115 86#define E_PRIVSTATUSINVALID 0x116 87#define E_PERMISSIONSINVALID 0x117 88#define E_PBENABLEDINVALID 0x118 89#define E_SUBSETTINGEXCEPTION 0x119 90#define E_SUBSTRING_TEST_FAIL 0x11A 91#define E_FONTVARIATIONSIMULATED 0x11B 92#define E_FONTVALIDATEFAIL 0x11C 93#define E_FONTFAMILYNAMENOTINFULL 0x11D 94#endif 95 96#ifndef E_ADDFONTFAILED 97#define E_ADDFONTFAILED 0x200 98#define E_COULDNTCREATETEMPFILE 0x201 99#define E_FONTFILECREATEFAILED 0x203 100#define E_WINDOWSAPI 0x204 101#define E_FONTFILENOTFOUND 0x205 102#define E_RESOURCEFILECREATEFAILED 0x206 103#define E_ERROREXPANDINGFONTDATA 0x207 104#define E_ERRORGETTINGDC 0x208 105#define E_EXCEPTIONINDECOMPRESSION 0x209 106#define E_EXCEPTIONINCOMPRESSION 0x20A 107#endif 108 109#ifdef __cplusplus 110extern "C" { 111#endif 112 113typedef unsigned long(WINAPIV *WRITEEMBEDPROC) 114( 115 void* lpvWriteStream, 116 const void* lpvBuffer, 117 const unsigned long cbBuffer 118); 119 120typedef unsigned long(WINAPIV *READEMBEDPROC) 121( 122 void* lpvReadStream, 123 void* lpvBuffer, 124 const unsigned long cbBuffer 125); 126 127 128typedef struct 129{ 130 unsigned long ulStructSize; 131 long lTestFromSize; 132 long lTestToSize; 133 unsigned long ulCharSet; 134 unsigned short usReserved1; 135 unsigned short usCharCodeCount; 136 unsigned short* pusCharCodeSet; 137} TTVALIDATIONTESTPARAMS; 138 139typedef struct 140{ 141 unsigned long ulStructSize; 142 long lTestFromSize; 143 long lTestToSize; 144 unsigned long ulCharSet; 145 unsigned short usReserved1; 146 unsigned short usCharCodeCount; 147 unsigned long* pulCharCodeSet; 148} TTVALIDATIONTESTPARAMSEX; 149 150typedef struct 151{ 152 unsigned short usStructSize; 153 unsigned short usRootStrSize; 154 unsigned short *pusRootStr; 155} TTEMBEDINFO; 156 157typedef struct 158{ 159 unsigned short usStructSize; 160 unsigned short usRefStrSize; 161 unsigned short *pusRefStr; 162} TTLOADINFO; 163 164LONG 165WINAPI 166TTCharToUnicode(HDC hDC, 167 UCHAR* pucCharCodes, 168 ULONG ulCharCodeSize, 169 USHORT* pusShortCodes, 170 ULONG ulShortCodeSize, 171 ULONG ulFlags); 172 173LONG 174WINAPI 175TTDeleteEmbeddedFont(HANDLE hFontReference, 176 ULONG ulFlags, 177 ULONG* pulStatus); 178 179LONG 180WINAPI 181TTEmbedFont(HDC hDC, 182 ULONG ulFlags, 183 ULONG ulCharSet, 184 ULONG* pulPrivStatus, 185 ULONG* pulStatus, 186 WRITEEMBEDPROC lpfnWriteToStream, 187 LPVOID lpvWriteStream, 188 USHORT* pusCharCodeSet, 189 USHORT usCharCodeCount, 190 USHORT usLanguage, 191 TTEMBEDINFO* pTTEmbedInfo); 192 193LONG 194WINAPI 195TTEmbedFontFromFileA(HDC hDC, 196 LPCSTR szFontFileName, 197 USHORT usTTCIndex, 198 ULONG ulFlags, 199 ULONG ulCharSet, 200 ULONG* pulPrivStatus, 201 ULONG* pulStatus, 202 WRITEEMBEDPROC lpfnWriteToStream, 203 LPVOID lpvWriteStream, 204 USHORT* pusCharCodeSet, 205 USHORT usCharCodeCount, 206 USHORT usLanguage, 207 TTEMBEDINFO* pTTEmbedInfo); 208 209LONG 210WINAPI 211TTEnableEmbeddingForFacename(LPSTR lpszFacename, 212 BOOL bEnable); 213 214LONG 215WINAPI 216TTGetEmbeddedFontInfo(ULONG ulFlags, 217 ULONG* pulPrivStatus, 218 ULONG ulPrivs, 219 ULONG* pulStatus, 220 READEMBEDPROC lpfnReadFromStream, 221 LPVOID lpvReadStream, 222 TTLOADINFO* pTTLoadInfo); 223 224LONG 225WINAPI 226TTGetEmbeddingType(HDC hDC, 227 ULONG* pulPrivStatus); 228 229LONG 230WINAPI 231TTIsEmbeddingEnabled(HDC hDC, 232 BOOL* pbEnabled); 233 234LONG 235WINAPI 236TTIsEmbeddingEnabledForFacename(LPCSTR lpszFacename, 237 BOOL* pbEnabled); 238 239LONG 240WINAPI 241TTLoadEmbeddedFont(HANDLE *phFontReference, 242 ULONG ulFlags, 243 ULONG* pulPrivStatus, 244 ULONG ulPrivs, 245 ULONG* pulStatus, 246 READEMBEDPROC lpfnReadFromStream, 247 LPVOID lpvReadStream, 248 LPWSTR szWinFamilyName, 249 LPSTR szMacFamilyName, 250 TTLOADINFO* pTTLoadInfo); 251 252LONG 253WINAPI 254TTRunValidationTests(HDC hDC, 255 TTVALIDATIONTESTPARAMS* pTestParam); 256 257LONG 258WINAPI 259TTEmbedFontEx(HDC hDC, 260 ULONG ulFlags, 261 ULONG ulCharSet, 262 ULONG* pulPrivStatus, 263 ULONG* pulStatus, 264 WRITEEMBEDPROC lpfnWriteToStream, 265 LPVOID lpvWriteStream, 266 ULONG* pulCharCodeSet, 267 USHORT usCharCodeCount, 268 USHORT usLanguage, 269 TTEMBEDINFO* pTTEmbedInfo); 270 271LONG 272WINAPI 273TTRunValidationTestsEx(HDC hDC, 274 TTVALIDATIONTESTPARAMSEX* pTestParam); 275 276LONG 277WINAPI 278TTGetNewFontName(HANDLE* phFontReference, 279 LPWSTR szWinFamilyName, 280 long cchMaxWinName, 281 LPSTR szMacFamilyName, 282 long cchMaxMacName); 283 284#ifdef __cplusplus 285 } 286#endif 287 288#endif /* __T2EMBED_API_H */