gdi32: Fix lfWidth before caching the font to avoid duplicate entries in the cache.
[wine] / dlls / gdi32 / bidi16.c
1 /*
2  * Win16 BiDi functions
3  * Copyright 2000 Erez Volk
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18  *
19  * NOTE: Right now, most of these functions do nothing.
20  */
21
22 #include <stdarg.h>
23
24 #include "windef.h"
25 #include "winbase.h"
26 #include "wine/wingdi16.h"
27 #include "wine/debug.h"
28
29 WINE_DEFAULT_DEBUG_CHANNEL(gdi);
30
31 /***********************************************************************
32  *              RawTextOut   (GDI.530)
33  */
34 LONG WINAPI RawTextOut16(void) { FIXME("stub (no prototype)\n"); return 0; }
35
36 /***********************************************************************
37  *              RawExtTextOut   (GDI.531)
38  */
39 LONG WINAPI RawExtTextOut16(void) { FIXME("stub (no prototype)\n"); return 0; }
40
41 /***********************************************************************
42  *              RawGetTextExtent   (GDI.532)
43  */
44 LONG WINAPI RawGetTextExtent16(HDC16 hdc, LPCSTR lpszString, INT16 cbString ) {
45       FIXME("(%04hx, %p, %hd): stub\n", hdc, lpszString, cbString);
46       return 0;
47 }
48
49 /***********************************************************************
50  *              BiDiLayout   (GDI.536)
51  */
52 LONG WINAPI BiDiLayout16(void) { FIXME("stub (no prototype)\n"); return 0; }
53
54 /***********************************************************************
55  *              BiDiCreateTabString   (GDI.538)
56  */
57 LONG WINAPI BiDiCreateTabString16(void) { FIXME("stub (no prototype)\n"); return 0; }
58
59 /***********************************************************************
60  *              BiDiGlyphOut   (GDI.540)
61  */
62 LONG WINAPI BiDiGlyphOut16(void) { FIXME("stub (no prototype)\n"); return 0; }
63
64 /***********************************************************************
65  *              BiDiGetStringExtent   (GDI.543)
66  */
67 LONG WINAPI BiDiGetStringExtent16(void) { FIXME("stub (no prototype)\n"); return 0; }
68
69 /***********************************************************************
70  *              BiDiDeleteString   (GDI.555)
71  */
72 LONG WINAPI BiDiDeleteString16(void) { FIXME("stub (no prototype)\n"); return 0; }
73
74 /***********************************************************************
75  *              BiDiSetDefaults   (GDI.556)
76  */
77 LONG WINAPI BiDiSetDefaults16(void) { FIXME("stub (no prototype)\n"); return 0; }
78
79 /***********************************************************************
80  *              BiDiGetDefaults   (GDI.558)
81  */
82 LONG WINAPI BiDiGetDefaults16(void) { FIXME("stub (no prototype)\n"); return 0; }
83
84 /***********************************************************************
85  *              BiDiShape   (GDI.560)
86  */
87 LONG WINAPI BiDiShape16(void) { FIXME("stub (no prototype)\n"); return 0; }
88
89 /***********************************************************************
90  *              BiDiFontComplement   (GDI.561)
91  */
92 LONG WINAPI BiDiFontComplement16(void) { FIXME("stub (no prototype)\n"); return 0; }
93
94 /***********************************************************************
95  *              BiDiSetKashida   (GDI.564)
96  */
97 LONG WINAPI BiDiSetKashida16(void) { FIXME("stub (no prototype)\n"); return 0; }
98
99 /***********************************************************************
100  *              BiDiKExtTextOut   (GDI.565)
101  */
102 LONG WINAPI BiDiKExtTextOut16(void) { FIXME("stub (no prototype)\n"); return 0; }
103
104 /***********************************************************************
105  *              BiDiShapeEx   (GDI.566)
106  */
107 LONG WINAPI BiDiShapeEx16(void) { FIXME("stub (no prototype)\n"); return 0; }
108
109 /***********************************************************************
110  *              BiDiCreateStringEx   (GDI.569)
111  */
112 LONG WINAPI BiDiCreateStringEx16(void) { FIXME("stub (no prototype)\n"); return 0; }
113
114 /***********************************************************************
115  *              GetTextExtentRtoL   (GDI.571)
116  */
117 LONG WINAPI GetTextExtentRtoL16(void) { FIXME("stub (no prototype)\n"); return 0; }
118
119 /***********************************************************************
120  *              GetHDCCharSet   (GDI.572)
121  */
122 LONG WINAPI GetHDCCharSet16(void) { FIXME("stub (no prototype)\n"); return 0; }
123
124 /***********************************************************************
125  *              BiDiLayoutEx   (GDI.573)
126  */
127 LONG WINAPI BiDiLayoutEx16(void) { FIXME("stub (no prototype)\n"); return 0; }