t2embed: Add stub for _TTEmbedFont (try 2)

André Hentschel nerv at dawncrow.de
Wed Mar 2 08:49:33 CST 2011


As Dmitry mentioned in wine-devel or better explained at http://bugs.winehq.org/show_bug.cgi?id=26178#c8
---
 dlls/t2embed/main.c       |   13 +++++++++++++
 dlls/t2embed/t2embed.spec |    2 +-
 include/t2embapi.h        |    8 ++++++++
 3 files changed, 22 insertions(+), 1 deletions(-)

diff --git a/dlls/t2embed/main.c b/dlls/t2embed/main.c
index 6d12eff..b086531 100644
--- a/dlls/t2embed/main.c
+++ b/dlls/t2embed/main.c
@@ -60,6 +60,19 @@ LONG WINAPI TTLoadEmbeddedFont(HANDLE *phFontReference, ULONG ulFlags,
     return E_API_NOTIMPL;
 }
 
+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)
+{
+    FIXME("(%p 0x%08x 0x%08x %p %p %p %p %p %u %u %p) stub\n", hDC,
+          ulFlags, ulCharSet, pulPrivStatus, pulStatus, lpfnWriteToStream,
+          lpvWriteStream, pusCharCodeSet, usCharCodeCount, usLanguage,
+          pTTEmbedInfo);
+
+    return E_API_NOTIMPL;
+}
+
 LONG WINAPI TTGetEmbeddingType(HDC hDC, ULONG *status)
 {
     FIXME("(%p %p) stub\n", hDC, status);
diff --git a/dlls/t2embed/t2embed.spec b/dlls/t2embed/t2embed.spec
index 2566fa2..729a71b 100644
--- a/dlls/t2embed/t2embed.spec
+++ b/dlls/t2embed/t2embed.spec
@@ -11,7 +11,7 @@
 @ stub TTRunValidationTests
 @ stub _TTCharToUnicode at 24
 @ stub _TTDeleteEmbeddedFont at 12
-@ stub _TTEmbedFont at 44
+@ stdcall _TTEmbedFont at 44(ptr long long ptr ptr ptr ptr ptr long long ptr)
 @ stub _TTEmbedFontFromFileA at 52
 @ stub _TTEnableEmbeddingForFacename at 8
 @ stub _TTGetEmbeddedFontInfo at 28
diff --git a/include/t2embapi.h b/include/t2embapi.h
index d0ddef2..151bfc1 100644
--- a/include/t2embapi.h
+++ b/include/t2embapi.h
@@ -28,6 +28,7 @@ extern "C" {
 #define E_API_NOTIMPL                       0x0001L
 
 typedef ULONG (WINAPIV * READEMBEDPROC)(void*,void*,ULONG);
+typedef ULONG (WINAPIV * WRITEEMBEDPROC)(void*,void*,ULONG);
 
 typedef struct
 {
@@ -36,6 +37,13 @@ typedef struct
     unsigned short *pusRefStr;
 } TTLOADINFO;
 
+typedef struct
+{
+    unsigned short usStructSize;
+    unsigned short usRootStrSize;
+    unsigned short *pusRootStr;
+} TTEMBEDINFO;
+
 LONG WINAPI TTLoadEmbeddedFont(HANDLE*,ULONG,ULONG*,ULONG,ULONG*,READEMBEDPROC,
                                LPVOID,LPWSTR,LPSTR,TTLOADINFO*);
 
-- 

Best Regards, André Hentschel



More information about the wine-patches mailing list