Author: dchapyshev Date: Wed Apr 22 12:51:09 2009 New Revision: 40644
URL: http://svn.reactos.org/svn/reactos?rev=40644&view=rev Log: - Add Font Embedding Dll (it is necessary for Iron and Chrome)
Added: trunk/reactos/dll/win32/t2embed/ (with props) trunk/reactos/dll/win32/t2embed/t2embed.c (with props) trunk/reactos/dll/win32/t2embed/t2embed.rbuild (with props) trunk/reactos/dll/win32/t2embed/t2embed.rc (with props) trunk/reactos/dll/win32/t2embed/t2embed.spec (with props) trunk/reactos/include/psdk/t2embapi.h (with props) Modified: trunk/reactos/baseaddress.rbuild trunk/reactos/boot/bootdata/packages/reactos.dff trunk/reactos/dll/win32/win32.rbuild
Modified: trunk/reactos/baseaddress.rbuild URL: http://svn.reactos.org/svn/reactos/trunk/reactos/baseaddress.rbuild?rev=4064... ============================================================================== --- trunk/reactos/baseaddress.rbuild [iso-8859-1] (original) +++ trunk/reactos/baseaddress.rbuild [iso-8859-1] Wed Apr 22 12:51:09 2009 @@ -13,6 +13,7 @@ <property name="BASEADDRESS_WLANAPI" value="0x470F0000" /> <property name="BASEADDRESS_PIDGEN" value="0x473e0000" /> <property name="BASEADDRESS_DWMAPI" value="0x4A3F0000" /> + <property name="BASEADDRESS_T2EMBED" value="0x4b310000" /> <property name="BASEADDRESS_LOADPERF" value="0x4B920000" /> <property name="BASEADDRESS_MPRAPI" value="0x4C400000" /> <property name="BASEADDRESS_MSFTEDIT" value="0x4b460000" />
Modified: trunk/reactos/boot/bootdata/packages/reactos.dff URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/packages/reac... ============================================================================== --- trunk/reactos/boot/bootdata/packages/reactos.dff [iso-8859-1] (original) +++ trunk/reactos/boot/bootdata/packages/reactos.dff [iso-8859-1] Wed Apr 22 12:51:09 2009 @@ -412,6 +412,7 @@ dll\win32\sti\sti.dll 1 dll\win32\sxs\sxs.dll 1 dll\win32\syssetup\syssetup.dll 1 +dll\win32\t2embed\t2embed.dll 1 dll\win32\tapi32\tapi32.dll 1 dll\win32\tapiui\tapiui.dll 1 dll\win32\traffic\traffic.dll 1
Propchange: trunk/reactos/dll/win32/t2embed/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Wed Apr 22 12:51:09 2009 @@ -1,0 +1,2 @@ +([Ii]ssue|[Bb]ug)s? #?(\d+)(,? ?#?(\d+))*(,? ?(and |or )?#?(\d+))? +(\d+)
Propchange: trunk/reactos/dll/win32/t2embed/ ------------------------------------------------------------------------------ bugtraq:message = See issue #%BUGID% for more details.
Propchange: trunk/reactos/dll/win32/t2embed/ ------------------------------------------------------------------------------ bugtraq:url = http://www.reactos.org/bugzilla/show_bug.cgi?id=%BUGID%
Propchange: trunk/reactos/dll/win32/t2embed/ ------------------------------------------------------------------------------ tsvn:logminsize = 10
Added: trunk/reactos/dll/win32/t2embed/t2embed.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/t2embed/t2embed.c... ============================================================================== --- trunk/reactos/dll/win32/t2embed/t2embed.c (added) +++ trunk/reactos/dll/win32/t2embed/t2embed.c [iso-8859-1] Wed Apr 22 12:51:09 2009 @@ -1,0 +1,205 @@ +/* + * PROJECT: Font Embedding Dll + * FILE: dll\win32\t2embed\t2embed.c + * PURPOSE: Main file + * PROGRAMMERS: Dmitry Chapyshev (dmitry@reactos.org) + */ + +#include <windows.h> +#include <t2embapi.h> +#include "wine/debug.h" + +WINE_DEFAULT_DEBUG_CHANNEL(t2embed); + +LONG +WINAPI +TTCharToUnicode(HDC hDC, + UCHAR* pucCharCodes, + ULONG ulCharCodeSize, + USHORT* pusShortCodes, + ULONG ulShortCodeSize, + ULONG ulFlags) +{ + UNIMPLEMENTED; + return E_NONE; +} + +LONG +WINAPI +TTDeleteEmbeddedFont(HANDLE hFontReference, + ULONG ulFlags, + ULONG* pulStatus) +{ + UNIMPLEMENTED; + return E_NONE; +} + +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) +{ + UNIMPLEMENTED; + return E_NONE; +} + +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) +{ + UNIMPLEMENTED; + return E_NONE; +} + +LONG +WINAPI +TTEnableEmbeddingForFacename(LPSTR lpszFacename, + BOOL bEnable) +{ + UNIMPLEMENTED; + return E_NONE; +} + +LONG +WINAPI +TTGetEmbeddedFontInfo(ULONG ulFlags, + ULONG* pulPrivStatus, + ULONG ulPrivs, + ULONG* pulStatus, + READEMBEDPROC lpfnReadFromStream, + LPVOID lpvReadStream, + TTLOADINFO* pTTLoadInfo) +{ + UNIMPLEMENTED; + return E_NONE; +} + +LONG +WINAPI +TTGetEmbeddingType(HDC hDC, + ULONG* pulPrivStatus) +{ + UNIMPLEMENTED; + return E_NONE; +} + +LONG +WINAPI +TTIsEmbeddingEnabled(HDC hDC, + BOOL* pbEnabled) +{ + UNIMPLEMENTED; + return E_NONE; +} + +LONG +WINAPI +TTIsEmbeddingEnabledForFacename(LPSTR lpszFacename, + BOOL* pbEnabled) +{ + UNIMPLEMENTED; + return E_NONE; +} + +LONG +WINAPI +TTLoadEmbeddedFont(HANDLE *phFontReference, + ULONG ulFlags, + ULONG* pulPrivStatus, + ULONG ulPrivs, + ULONG* pulStatus, + READEMBEDPROC lpfnReadFromStream, + LPVOID lpvReadStream, + LPWSTR szWinFamilyName, + LPSTR szMacFamilyName, + TTLOADINFO* pTTLoadInfo) +{ + UNIMPLEMENTED; + return E_NONE; +} + +LONG +WINAPI +TTRunValidationTests(HDC hDC, + TTVALIDATIONTESTPARAMS* pTestParam) +{ + UNIMPLEMENTED; + return E_NONE; +} + +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) +{ + UNIMPLEMENTED; + return E_NONE; +} + +LONG +WINAPI +TTRunValidationTestsEx(HDC hDC, + TTVALIDATIONTESTPARAMSEX* pTestParam) +{ + UNIMPLEMENTED; + return E_NONE; +} + +LONG +WINAPI +TTGetNewFontName(HANDLE* phFontReference, + LPWSTR szWinFamilyName, + long cchMaxWinName, + LPSTR szMacFamilyName, + long cchMaxMacName) +{ + UNIMPLEMENTED; + return E_NONE; +} + + +BOOL +WINAPI +DllMain(IN HINSTANCE hinstDLL, + IN DWORD dwReason, + IN LPVOID lpvReserved) +{ + switch (dwReason) + { + case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(hinstDLL); + break; + } + + return TRUE; +}
Propchange: trunk/reactos/dll/win32/t2embed/t2embed.c ------------------------------------------------------------------------------ svn:eol-style = native
Added: trunk/reactos/dll/win32/t2embed/t2embed.rbuild URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/t2embed/t2embed.r... ============================================================================== --- trunk/reactos/dll/win32/t2embed/t2embed.rbuild (added) +++ trunk/reactos/dll/win32/t2embed/t2embed.rbuild [iso-8859-1] Wed Apr 22 12:51:09 2009 @@ -1,0 +1,13 @@ +<module name="t2embed" type="win32dll" baseaddress="${BASEADDRESS_T2EMBED}" installbase="system32" installname="t2embed.dll" unicode="yes"> + <importlibrary definition="t2embed.spec" /> + <include base="t2embed">.</include> + <include base="ReactOS">include/reactos/wine</include> + <library>kernel32</library> + <library>gdi32</library> + <library>user32</library> + <library>advapi32</library> + <library>version</library> + <library>wine</library> + <file>t2embed.c</file> + <file>t2embed.rc</file> +</module>
Propchange: trunk/reactos/dll/win32/t2embed/t2embed.rbuild ------------------------------------------------------------------------------ svn:eol-style = native
Added: trunk/reactos/dll/win32/t2embed/t2embed.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/t2embed/t2embed.r... ============================================================================== --- trunk/reactos/dll/win32/t2embed/t2embed.rc (added) +++ trunk/reactos/dll/win32/t2embed/t2embed.rc [iso-8859-1] Wed Apr 22 12:51:09 2009 @@ -1,0 +1,7 @@ +#include <windows.h> + +#define REACTOS_VERSION_DLL +#define REACTOS_STR_FILE_DESCRIPTION "Font Embedding Dll\0" +#define REACTOS_STR_INTERNAL_NAME "t2embed\0" +#define REACTOS_STR_ORIGINAL_FILENAME "t2embed.dll\0" +#include <reactos/version.rc>
Propchange: trunk/reactos/dll/win32/t2embed/t2embed.rc ------------------------------------------------------------------------------ svn:eol-style = native
Added: trunk/reactos/dll/win32/t2embed/t2embed.spec URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/t2embed/t2embed.s... ============================================================================== --- trunk/reactos/dll/win32/t2embed/t2embed.spec (added) +++ trunk/reactos/dll/win32/t2embed/t2embed.spec [iso-8859-1] Wed Apr 22 12:51:09 2009 @@ -1,0 +1,25 @@ +@ stdcall TTCharToUnicode(ptr ptr long ptr long long) +@ stdcall TTDeleteEmbeddedFont(ptr long ptr) +@ stdcall TTEmbedFont(ptr long long ptr ptr ptr ptr ptr long long ptr) +@ stdcall TTEmbedFontFromFileA(ptr str long long long ptr ptr ptr ptr ptr long long ptr) +@ stdcall TTEnableEmbeddingForFacename(str long) +@ stdcall TTGetEmbeddedFontInfo(long ptr long ptr ptr ptr ptr) +@ stdcall TTGetEmbeddingType(ptr ptr) +@ stdcall TTIsEmbeddingEnabled(ptr ptr) +@ stdcall TTIsEmbeddingEnabledForFacename(str ptr) +@ stdcall TTLoadEmbeddedFont(ptr long ptr long ptr ptr ptr wstr str ptr) +@ stdcall TTRunValidationTests(ptr ptr) +@ stub _TTCharToUnicode@24 +@ stub _TTDeleteEmbeddedFont@12 +@ stub _TTEmbedFont@44 +@ stub _TTEmbedFontFromFileA@52 +@ stub _TTEnableEmbeddingForFacename@8 +@ stub _TTGetEmbeddedFontInfo@28 +@ stub _TTGetEmbeddingType@8 +@ stub _TTIsEmbeddingEnabled@8 +@ stub _TTIsEmbeddingEnabledForFacename@8 +@ stub _TTLoadEmbeddedFont@40 +@ stub _TTRunValidationTests@8 +@ stdcall TTEmbedFontEx(ptr long long ptr ptr ptr ptr ptr long long ptr) +@ stdcall TTRunValidationTestsEx(ptr ptr) +@ stdcall TTGetNewFontName(ptr wstr long str long)
Propchange: trunk/reactos/dll/win32/t2embed/t2embed.spec ------------------------------------------------------------------------------ svn:eol-style = native
Modified: trunk/reactos/dll/win32/win32.rbuild URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/win32.rbuild?rev=... ============================================================================== --- trunk/reactos/dll/win32/win32.rbuild [iso-8859-1] (original) +++ trunk/reactos/dll/win32/win32.rbuild [iso-8859-1] Wed Apr 22 12:51:09 2009 @@ -511,6 +511,9 @@ <directory name="syssetup"> <xi:include href="syssetup/syssetup.rbuild" /> </directory> +<directory name="t2embed"> + <xi:include href="t2embed/t2embed.rbuild" /> +</directory> <directory name="tapi32"> <xi:include href="tapi32/tapi32.rbuild" /> </directory>
Added: trunk/reactos/include/psdk/t2embapi.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/t2embapi.h?rev... ============================================================================== --- trunk/reactos/include/psdk/t2embapi.h (added) +++ trunk/reactos/include/psdk/t2embapi.h [iso-8859-1] Wed Apr 22 12:51:09 2009 @@ -1,0 +1,286 @@ +#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 + +#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(LPSTR 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 */
Propchange: trunk/reactos/include/psdk/t2embapi.h ------------------------------------------------------------------------------ svn:eol-style = native