From 2eacfecd2504abcf6362766ba76bb4cfbc01e99e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Alex=20Villac=C3=ADs=20Lasso?= <a_villacis@palosanto.com>
Date: Mon, 21 Feb 2005 20:43:59 +0000
Subject: [PATCH] Implemented GetGlyphOutline16.

---
 dlls/gdi/font.c  | 13 -------------
 dlls/gdi/gdi16.c | 21 +++++++++++++++++++++
 2 files changed, 21 insertions(+), 13 deletions(-)

diff --git a/dlls/gdi/font.c b/dlls/gdi/font.c
index bf97ff96ff0..eaa654235c7 100644
--- a/dlls/gdi/font.c
+++ b/dlls/gdi/font.c
@@ -1923,19 +1923,6 @@ BOOL WINAPI GetCharABCWidthsW( HDC hdc, UINT firstChar, UINT lastChar,
 }
 
 
-/***********************************************************************
- *           GetGlyphOutline    (GDI.309)
- */
-DWORD WINAPI GetGlyphOutline16( HDC16 hdc, UINT16 uChar, UINT16 fuFormat,
-                                LPGLYPHMETRICS16 lpgm, DWORD cbBuffer,
-                                LPVOID lpBuffer, const MAT2 *lpmat2 )
-{
-    FIXME("(%04x, '%c', %04x, %p, %ld, %p, %p): stub\n",
-	  hdc, uChar, fuFormat, lpgm, cbBuffer, lpBuffer, lpmat2 );
-    return ~0UL; /* failure */
-}
-
-
 /***********************************************************************
  *           GetGlyphOutlineA    (GDI32.@)
  */
diff --git a/dlls/gdi/gdi16.c b/dlls/gdi/gdi16.c
index 6e40079a377..1a478df0305 100644
--- a/dlls/gdi/gdi16.c
+++ b/dlls/gdi/gdi16.c
@@ -1718,6 +1718,27 @@ BOOL16 WINAPI GetCharABCWidths16( HDC16 hdc, UINT16 firstChar, UINT16 lastChar,
 }
 
 
+/***********************************************************************
+ *           GetGlyphOutline    (GDI.309)
+ */
+DWORD WINAPI GetGlyphOutline16( HDC16 hdc, UINT16 uChar, UINT16 fuFormat,
+                                LPGLYPHMETRICS16 lpgm, DWORD cbBuffer,
+                                LPVOID lpBuffer, const MAT2 *lpmat2 )
+{
+    DWORD ret;
+    GLYPHMETRICS gm32;
+
+    ret = GetGlyphOutlineA( HDC_32(hdc), uChar, fuFormat, &gm32, cbBuffer, lpBuffer, lpmat2);
+    lpgm->gmBlackBoxX = gm32.gmBlackBoxX;
+    lpgm->gmBlackBoxY = gm32.gmBlackBoxY;
+    lpgm->gmptGlyphOrigin.x = gm32.gmptGlyphOrigin.x;
+    lpgm->gmptGlyphOrigin.y = gm32.gmptGlyphOrigin.y;
+    lpgm->gmCellIncX = gm32.gmCellIncX;
+    lpgm->gmCellIncY = gm32.gmCellIncY;
+    return ret;
+}
+
+
 /***********************************************************************
  *           CreateScalableFontResource   (GDI.310)
  */
-- 
GitLab