ReactOS  0.4.14-dev-50-g13bb5e2
GetGlyphOutline.c
Go to the documentation of this file.
1 /*
2  * PROJECT: ReactOS api tests
3  * LICENSE: GPL - See COPYING in the top level directory
4  * PURPOSE: Test for GetGlyphOutline
5  * PROGRAMMERS: Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
6  */
7 
8 #include "precomp.h"
9 
10 typedef struct TEST_ENTRY
11 {
23 } TEST_ENTRY;
24 
25 static const MAT2 s_mat = { {0,1}, {0,0}, {0,0}, {0,1} };
26 
27 static BYTE s_ab[512];
28 
29 #define WCH0 0
30 #define WCH1 0xFFFF
31 #define WCH2 L'A'
32 #define WCH3 L'T'
33 #define WCH4 L'g'
34 #define WCH5 L'.'
35 
36 static const TEST_ENTRY s_entries[] =
37 {
38  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH0, GGO_METRICS, FALSE, { 0 } },
39  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH1, GGO_METRICS, FALSE, { 0 } },
40  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH2, GGO_METRICS, FALSE, { 0 } },
41  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH3, GGO_METRICS, FALSE, { 0 } },
42  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH4, GGO_METRICS, FALSE, { 0 } },
43  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH5, GGO_METRICS, FALSE, { 0 } },
44  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH0, GGO_METRICS, FALSE, { 0 }, 1, s_ab },
45  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH1, GGO_METRICS, FALSE, { 0 }, 1, s_ab },
46  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH2, GGO_METRICS, FALSE, { 0 }, 1, s_ab },
47  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH3, GGO_METRICS, FALSE, { 0 }, 1, s_ab },
48  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH4, GGO_METRICS, FALSE, { 0 }, 1, s_ab },
49  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH5, GGO_METRICS, FALSE, { 0 }, 1, s_ab },
50  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH0, GGO_METRICS, FALSE, { 0 }, 512, s_ab },
51  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH1, GGO_METRICS, FALSE, { 0 }, 512, s_ab },
52  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH2, GGO_METRICS, FALSE, { 0 }, 512, s_ab },
53  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH3, GGO_METRICS, FALSE, { 0 }, 512, s_ab },
54  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH4, GGO_METRICS, FALSE, { 0 }, 512, s_ab },
55  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH5, GGO_METRICS, FALSE, { 0 }, 512, s_ab },
56  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH0, GGO_BITMAP, FALSE, { 0 }, },
57  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH1, GGO_BITMAP, FALSE, { 0 }, },
58  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH2, GGO_BITMAP, FALSE, { 0 }, },
59  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH3, GGO_BITMAP, FALSE, { 0 }, },
60  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH4, GGO_BITMAP, FALSE, { 0 }, },
61  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH5, GGO_BITMAP, FALSE, { 0 }, },
62  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH0, GGO_BITMAP, FALSE, { 0 }, 1, s_ab },
63  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH1, GGO_BITMAP, FALSE, { 0 }, 1, s_ab },
64  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH2, GGO_BITMAP, FALSE, { 0 }, 1, s_ab },
65  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH3, GGO_BITMAP, FALSE, { 0 }, 1, s_ab },
66  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH4, GGO_BITMAP, FALSE, { 0 }, 1, s_ab },
67  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH5, GGO_BITMAP, FALSE, { 0 }, 1, s_ab },
68  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH0, GGO_BITMAP, FALSE, { 0 }, 512, s_ab },
69  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH1, GGO_BITMAP, FALSE, { 0 }, 512, s_ab },
70  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH2, GGO_BITMAP, FALSE, { 0 }, 512, s_ab },
71  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH3, GGO_BITMAP, FALSE, { 0 }, 512, s_ab },
72  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH4, GGO_BITMAP, FALSE, { 0 }, 512, s_ab },
73  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH5, GGO_BITMAP, FALSE, { 0 }, 512, s_ab },
74 
75  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH0, GGO_METRICS, FALSE, { 0 } },
76  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH1, GGO_METRICS, FALSE, { 0 } },
77  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH2, GGO_METRICS, FALSE, { 0 } },
78  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH3, GGO_METRICS, FALSE, { 0 } },
79  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH4, GGO_METRICS, FALSE, { 0 } },
80  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH5, GGO_METRICS, FALSE, { 0 } },
81  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH0, GGO_METRICS, FALSE, { 0 }, 1, s_ab },
82  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH1, GGO_METRICS, FALSE, { 0 }, 1, s_ab },
83  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH2, GGO_METRICS, FALSE, { 0 }, 1, s_ab },
84  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH3, GGO_METRICS, FALSE, { 0 }, 1, s_ab },
85  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH4, GGO_METRICS, FALSE, { 0 }, 1, s_ab },
86  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH5, GGO_METRICS, FALSE, { 0 }, 1, s_ab },
87  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH0, GGO_METRICS, FALSE, { 0 }, 512, s_ab },
88  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH1, GGO_METRICS, FALSE, { 0 }, 512, s_ab },
89  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH2, GGO_METRICS, FALSE, { 0 }, 512, s_ab },
90  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH3, GGO_METRICS, FALSE, { 0 }, 512, s_ab },
91  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH4, GGO_METRICS, FALSE, { 0 }, 512, s_ab },
92  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH5, GGO_METRICS, FALSE, { 0 }, 512, s_ab },
93  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH0, GGO_BITMAP, FALSE, { 0 }, },
94  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH1, GGO_BITMAP, FALSE, { 0 }, },
95  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH2, GGO_BITMAP, FALSE, { 0 }, },
96  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH3, GGO_BITMAP, FALSE, { 0 }, },
97  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH4, GGO_BITMAP, FALSE, { 0 }, },
98  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH5, GGO_BITMAP, FALSE, { 0 }, },
99  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH0, GGO_BITMAP, FALSE, { 0 }, 1, s_ab },
100  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH1, GGO_BITMAP, FALSE, { 0 }, 1, s_ab },
101  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH2, GGO_BITMAP, FALSE, { 0 }, 1, s_ab },
102  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH3, GGO_BITMAP, FALSE, { 0 }, 1, s_ab },
103  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH4, GGO_BITMAP, FALSE, { 0 }, 1, s_ab },
104  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH5, GGO_BITMAP, FALSE, { 0 }, 1, s_ab },
105  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH0, GGO_BITMAP, FALSE, { 0 }, 512, s_ab },
106  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH1, GGO_BITMAP, FALSE, { 0 }, 512, s_ab },
107  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH2, GGO_BITMAP, FALSE, { 0 }, 512, s_ab },
108  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH3, GGO_BITMAP, FALSE, { 0 }, 512, s_ab },
109  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH4, GGO_BITMAP, FALSE, { 0 }, 512, s_ab },
110  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH5, GGO_BITMAP, FALSE, { 0 }, 512, s_ab },
111 
112  { __LINE__, L"Tahoma", -12, 20, 0xDEADBEEF, WCH0, GGO_METRICS, TRUE, { 1, 1, { 0, 0 }, 4, 0 }, },
113  { __LINE__, L"Tahoma", -12, 36, 0xDEADBEEF, WCH1, GGO_METRICS, TRUE, { 9, 9, { 2, 9 }, 12, 0 }, },
114  { __LINE__, L"Tahoma", -12, 28, 0xDEADBEEF, WCH2, GGO_METRICS, TRUE, { 7, 9, { 0, 9 }, 8, 0 }, },
115  { __LINE__, L"Tahoma", -12, 28, 0xDEADBEEF, WCH3, GGO_METRICS, TRUE, { 7, 9, { 0, 9 }, 8, 0 }, },
116  { __LINE__, L"Tahoma", -12, 28, 0xDEADBEEF, WCH4, GGO_METRICS, TRUE, { 6, 9, { 0, 7 }, 7, 0 }, },
117  { __LINE__, L"Tahoma", -12, 20, 0xDEADBEEF, WCH5, GGO_METRICS, TRUE, { 1, 2, { 1, 2 }, 4, 0 }, },
118  { __LINE__, L"Tahoma", -12, 20, 0xDEADBEEF, WCH0, GGO_METRICS, TRUE, { 1, 1, { 0, 0 }, 4, 0 }, 1, s_ab },
119  { __LINE__, L"Tahoma", -12, 36, 0xDEADBEEF, WCH1, GGO_METRICS, TRUE, { 9, 9, { 2, 9 }, 12, 0 }, 1, s_ab },
120  { __LINE__, L"Tahoma", -12, 28, 0xDEADBEEF, WCH2, GGO_METRICS, TRUE, { 7, 9, { 0, 9 }, 8, 0 }, 1, s_ab },
121  { __LINE__, L"Tahoma", -12, 28, 0xDEADBEEF, WCH3, GGO_METRICS, TRUE, { 7, 9, { 0, 9 }, 8, 0 }, 1, s_ab },
122  { __LINE__, L"Tahoma", -12, 28, 0xDEADBEEF, WCH4, GGO_METRICS, TRUE, { 6, 9, { 0, 7 }, 7, 0 }, 1, s_ab },
123  { __LINE__, L"Tahoma", -12, 20, 0xDEADBEEF, WCH5, GGO_METRICS, TRUE, { 1, 2, { 1, 2 }, 4, 0 }, 1, s_ab },
124  { __LINE__, L"Tahoma", -12, 20, 0xDEADBEEF, WCH0, GGO_METRICS, TRUE, { 1, 1, { 0, 0 }, 4, 0 }, 512, s_ab },
125  { __LINE__, L"Tahoma", -12, 36, 0xDEADBEEF, WCH1, GGO_METRICS, TRUE, { 9, 9, { 2, 9 }, 12, 0 }, 512, s_ab },
126  { __LINE__, L"Tahoma", -12, 28, 0xDEADBEEF, WCH2, GGO_METRICS, TRUE, { 7, 9, { 0, 9 }, 8, 0 }, 512, s_ab },
127  { __LINE__, L"Tahoma", -12, 28, 0xDEADBEEF, WCH3, GGO_METRICS, TRUE, { 7, 9, { 0, 9 }, 8, 0 }, 512, s_ab },
128  { __LINE__, L"Tahoma", -12, 28, 0xDEADBEEF, WCH4, GGO_METRICS, TRUE, { 6, 9, { 0, 7 }, 7, 0 }, 512, s_ab },
129  { __LINE__, L"Tahoma", -12, 20, 0xDEADBEEF, WCH5, GGO_METRICS, TRUE, { 1, 2, { 1, 2 }, 4, 0 }, 512, s_ab },
130  { __LINE__, L"Tahoma", -12, 0, 0xDEADBEEF, WCH0, GGO_BITMAP, TRUE, { 1, 1, { 0, 0 }, 4, 0 }, },
131  { __LINE__, L"Tahoma", -12, 36, 0xDEADBEEF, WCH1, GGO_BITMAP, TRUE, { 9, 9, { 2, 9 }, 12, 0 }, },
132  { __LINE__, L"Tahoma", -12, 36, 0xDEADBEEF, WCH2, GGO_BITMAP, TRUE, { 7, 9, { 0, 9 }, 8, 0 }, },
133  { __LINE__, L"Tahoma", -12, 36, 0xDEADBEEF, WCH3, GGO_BITMAP, TRUE, { 7, 9, { 0, 9 }, 8, 0 }, },
134  { __LINE__, L"Tahoma", -12, 36, 0xDEADBEEF, WCH4, GGO_BITMAP, TRUE, { 6, 9, { 0, 7 }, 7, 0 }, },
135  { __LINE__, L"Tahoma", -12, 8, 0xDEADBEEF, WCH5, GGO_BITMAP, TRUE, { 1, 2, { 1, 2 }, 4, 0 }, },
136  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH0, GGO_BITMAP, TRUE, { 0xCDCDCDCD, 0xCDCDCDCD, { 0xCDCDCDCD, 0xCDCDCDCD }, 0xCDCD, 0xCDCD }, 1, s_ab },
137  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH1, GGO_BITMAP, TRUE, { 0xCDCDCDCD, 0xCDCDCDCD, { 0xCDCDCDCD, 0xCDCDCDCD }, 0xCDCD, 0xCDCD }, 1, s_ab },
138  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH2, GGO_BITMAP, TRUE, { 0xCDCDCDCD, 0xCDCDCDCD, { 0xCDCDCDCD, 0xCDCDCDCD }, 0xCDCD, 0xCDCD }, 1, s_ab },
139  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH3, GGO_BITMAP, TRUE, { 0xCDCDCDCD, 0xCDCDCDCD, { 0xCDCDCDCD, 0xCDCDCDCD }, 0xCDCD, 0xCDCD }, 1, s_ab },
140  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH4, GGO_BITMAP, TRUE, { 0xCDCDCDCD, 0xCDCDCDCD, { 0xCDCDCDCD, 0xCDCDCDCD }, 0xCDCD, 0xCDCD }, 1, s_ab },
141  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH5, GGO_BITMAP, TRUE, { 0xCDCDCDCD, 0xCDCDCDCD, { 0xCDCDCDCD, 0xCDCDCDCD }, 0xCDCD, 0xCDCD }, 1, s_ab },
142  { __LINE__, L"Tahoma", -12, GDI_ERROR, 0xDEADBEEF, WCH0, GGO_BITMAP, TRUE, { 0xCDCDCDCD, 0xCDCDCDCD, { 0xCDCDCDCD, 0xCDCDCDCD }, 0xCDCD, 0xCDCD }, 1, s_ab },
143  { __LINE__, L"Tahoma", -12, 36, 0xDEADBEEF, WCH1, GGO_BITMAP, TRUE, { 9, 9, { 2, 9 }, 12, 0 }, 512, s_ab },
144  { __LINE__, L"Tahoma", -12, 36, 0xDEADBEEF, WCH2, GGO_BITMAP, TRUE, { 7, 9, { 0, 9 }, 8, 0 }, 512, s_ab },
145  { __LINE__, L"Tahoma", -12, 36, 0xDEADBEEF, WCH3, GGO_BITMAP, TRUE, { 7, 9, { 0, 9 }, 8, 0 }, 512, s_ab },
146  { __LINE__, L"Tahoma", -12, 36, 0xDEADBEEF, WCH4, GGO_BITMAP, TRUE, { 6, 9, { 0, 7 }, 7, 0 }, 512, s_ab },
147  { __LINE__, L"Tahoma", -12, 8, 0xDEADBEEF, WCH5, GGO_BITMAP, TRUE, { 1, 2, { 1, 2 }, 4, 0 }, 512, s_ab },
148 
149  { __LINE__, L"Tahoma", -14, 20, 0xDEADBEEF, WCH0, GGO_METRICS, TRUE, { 1, 1, { 0, 0 }, 5, 0 }, },
150  { __LINE__, L"Tahoma", -14, 40, 0xDEADBEEF, WCH1, GGO_METRICS, TRUE, { 11, 11, { 2, 11 }, 14, 0 }, },
151  { __LINE__, L"Tahoma", -14, 28, 0xDEADBEEF, WCH2, GGO_METRICS, TRUE, { 7, 10, { 0, 10 }, 8, 0 }, },
152  { __LINE__, L"Tahoma", -14, 36, 0xDEADBEEF, WCH3, GGO_METRICS, TRUE, { 9, 10, { -1, 10 }, 8, 0 }, },
153  { __LINE__, L"Tahoma", -14, 28, 0xDEADBEEF, WCH4, GGO_METRICS, TRUE, { 7, 11, { 0, 8 }, 8, 0 }, },
154  { __LINE__, L"Tahoma", -14, 20, 0xDEADBEEF, WCH5, GGO_METRICS, TRUE, { 1, 2, { 1, 2 }, 4, 0 }, },
155  { __LINE__, L"Tahoma", -14, 20, 0xDEADBEEF, WCH0, GGO_METRICS, TRUE, { 1, 1, { 0, 0 }, 5, 0 }, 1, s_ab },
156  { __LINE__, L"Tahoma", -14, 40, 0xDEADBEEF, WCH1, GGO_METRICS, TRUE, { 11, 11, { 2, 11 }, 14, 0 }, 1, s_ab },
157  { __LINE__, L"Tahoma", -14, 28, 0xDEADBEEF, WCH2, GGO_METRICS, TRUE, { 7, 10, { 0, 10 }, 8, 0 }, 1, s_ab },
158  { __LINE__, L"Tahoma", -14, 36, 0xDEADBEEF, WCH3, GGO_METRICS, TRUE, { 9, 10, { -1, 10 }, 8, 0 }, 1, s_ab },
159  { __LINE__, L"Tahoma", -14, 28, 0xDEADBEEF, WCH4, GGO_METRICS, TRUE, { 7, 11, { 0, 8 }, 8, 0 }, 1, s_ab },
160  { __LINE__, L"Tahoma", -14, 20, 0xDEADBEEF, WCH5, GGO_METRICS, TRUE, { 1, 2, { 1, 2 }, 4, 0 }, 1, s_ab },
161  { __LINE__, L"Tahoma", -14, 20, 0xDEADBEEF, WCH0, GGO_METRICS, TRUE, { 1, 1, { 0, 0 }, 5, 0 }, 512, s_ab },
162  { __LINE__, L"Tahoma", -14, 40, 0xDEADBEEF, WCH1, GGO_METRICS, TRUE, { 11, 11, { 2, 11 }, 14, 0 }, 512, s_ab },
163  { __LINE__, L"Tahoma", -14, 28, 0xDEADBEEF, WCH2, GGO_METRICS, TRUE, { 7, 10, { 0, 10 }, 8, 0 }, 512, s_ab },
164  { __LINE__, L"Tahoma", -14, 36, 0xDEADBEEF, WCH3, GGO_METRICS, TRUE, { 9, 10, { -1, 10 }, 8, 0 }, 512, s_ab },
165  { __LINE__, L"Tahoma", -14, 28, 0xDEADBEEF, WCH4, GGO_METRICS, TRUE, { 7, 11, { 0, 8 }, 8, 0 }, 512, s_ab },
166  { __LINE__, L"Tahoma", -14, 20, 0xDEADBEEF, WCH5, GGO_METRICS, TRUE, { 1, 2, { 1, 2 }, 4, 0 }, 512, s_ab },
167  { __LINE__, L"Tahoma", -14, 0, 0xDEADBEEF, WCH0, GGO_BITMAP, TRUE, { 1, 1, { 0, 0 }, 5, 0 }, },
168  { __LINE__, L"Tahoma", -14, 44, 0xDEADBEEF, WCH1, GGO_BITMAP, TRUE, { 11, 11, { 2, 11 }, 14, 0 }, },
169  { __LINE__, L"Tahoma", -14, 40, 0xDEADBEEF, WCH2, GGO_BITMAP, TRUE, { 7, 10, { 0, 10 }, 8, 0 }, },
170  { __LINE__, L"Tahoma", -14, 40, 0xDEADBEEF, WCH3, GGO_BITMAP, TRUE, { 9, 10, { -1, 10 }, 8, 0 }, },
171  { __LINE__, L"Tahoma", -14, 0x2C, 0xDEADBEEF, WCH4, GGO_BITMAP, TRUE, { 7, 11, { 0, 8 }, 8, 0 }, },
172  { __LINE__, L"Tahoma", -14, 0x8, 0xDEADBEEF, WCH5, GGO_BITMAP, TRUE, { 1, 2, { 1, 2 }, 4, 0 }, },
173  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH0, GGO_BITMAP, TRUE, { 0xCDCDCDCD, 0xCDCDCDCD, { 0xCDCDCDCD, 0xCDCDCDCD }, 0xCDCD, 0xCDCD }, 1, s_ab },
174  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH1, GGO_BITMAP, TRUE, { 0xCDCDCDCD, 0xCDCDCDCD, { 0xCDCDCDCD, 0xCDCDCDCD }, 0xCDCD, 0xCDCD }, 1, s_ab },
175  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH2, GGO_BITMAP, TRUE, { 0xCDCDCDCD, 0xCDCDCDCD, { 0xCDCDCDCD, 0xCDCDCDCD }, 0xCDCD, 0xCDCD }, 1, s_ab },
176  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH3, GGO_BITMAP, TRUE, { 0xCDCDCDCD, 0xCDCDCDCD, { 0xCDCDCDCD, 0xCDCDCDCD }, 0xCDCD, 0xCDCD }, 1, s_ab },
177  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH4, GGO_BITMAP, TRUE, { 0xCDCDCDCD, 0xCDCDCDCD, { 0xCDCDCDCD, 0xCDCDCDCD }, 0xCDCD, 0xCDCD }, 1, s_ab },
178  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH5, GGO_BITMAP, TRUE, { 0xCDCDCDCD, 0xCDCDCDCD, { 0xCDCDCDCD, 0xCDCDCDCD }, 0xCDCD, 0xCDCD }, 1, s_ab },
179  { __LINE__, L"Tahoma", -14, GDI_ERROR, 0xDEADBEEF, WCH0, GGO_BITMAP, TRUE, { 0xCDCDCDCD, 0xCDCDCDCD, { 0xCDCDCDCD, 0xCDCDCDCD }, 0xCDCD, 0xCDCD }, 512, s_ab },
180  { __LINE__, L"Tahoma", -14, 44, 0xDEADBEEF, WCH1, GGO_BITMAP, TRUE, { 11, 11, { 2, 11 }, 14, 0 }, 512, s_ab },
181  { __LINE__, L"Tahoma", -14, 40, 0xDEADBEEF, WCH2, GGO_BITMAP, TRUE, { 7, 10, { 0, 10 }, 8, 0 }, 512, s_ab },
182  { __LINE__, L"Tahoma", -14, 40, 0xDEADBEEF, WCH3, GGO_BITMAP, TRUE, { 9, 10, { -1, 10 }, 8, 0 }, 512, s_ab },
183  { __LINE__, L"Tahoma", -14, 0x2C, 0xDEADBEEF, WCH4, GGO_BITMAP, TRUE, { 7, 11, { 0, 8 }, 8, 0 }, 512, s_ab },
184  { __LINE__, L"Tahoma", -14, 0x8, 0xDEADBEEF, WCH5, GGO_BITMAP, TRUE, { 1, 2, { 1, 2 }, 4, 0 }, 512, s_ab },
185 
186  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH0, GGO_METRICS, FALSE, { 0 }, },
187  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH1, GGO_METRICS, FALSE, { 0 }, },
188  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH2, GGO_METRICS, FALSE, { 0 }, },
189  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH3, GGO_METRICS, FALSE, { 0 }, },
190  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH4, GGO_METRICS, FALSE, { 0 }, },
191  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH5, GGO_METRICS, FALSE, { 0 }, },
192  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH0, GGO_METRICS, FALSE, { 0 }, 1, s_ab },
193  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH1, GGO_METRICS, FALSE, { 0 }, 1, s_ab },
194  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH2, GGO_METRICS, FALSE, { 0 }, 1, s_ab },
195  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH3, GGO_METRICS, FALSE, { 0 }, 1, s_ab },
196  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH4, GGO_METRICS, FALSE, { 0 }, 1, s_ab },
197  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH5, GGO_METRICS, FALSE, { 0 }, 1, s_ab },
198  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH0, GGO_METRICS, FALSE, { 0 }, 512, s_ab },
199  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH1, GGO_METRICS, FALSE, { 0 }, 512, s_ab },
200  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH2, GGO_METRICS, FALSE, { 0 }, 512, s_ab },
201  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH3, GGO_METRICS, FALSE, { 0 }, 512, s_ab },
202  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH4, GGO_METRICS, FALSE, { 0 }, 512, s_ab },
203  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH5, GGO_METRICS, FALSE, { 0 }, 512, s_ab },
204  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH0, GGO_BITMAP, FALSE, { 0 }, },
205  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH1, GGO_BITMAP, FALSE, { 0 }, },
206  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH2, GGO_BITMAP, FALSE, { 0 }, },
207  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH3, GGO_BITMAP, FALSE, { 0 }, },
208  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH4, GGO_BITMAP, FALSE, { 0 }, },
209  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH5, GGO_BITMAP, FALSE, { 0 }, },
210  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH0, GGO_BITMAP, FALSE, { 0 }, 1, s_ab },
211  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH1, GGO_BITMAP, FALSE, { 0 }, 1, s_ab },
212  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH2, GGO_BITMAP, FALSE, { 0 }, 1, s_ab },
213  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH3, GGO_BITMAP, FALSE, { 0 }, 1, s_ab },
214  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH4, GGO_BITMAP, FALSE, { 0 }, 1, s_ab },
215  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH5, GGO_BITMAP, FALSE, { 0 }, 1, s_ab },
216  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH0, GGO_BITMAP, FALSE, { 0 }, 512, s_ab },
217  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH1, GGO_BITMAP, FALSE, { 0 }, 512, s_ab },
218  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH2, GGO_BITMAP, FALSE, { 0 }, 512, s_ab },
219  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH3, GGO_BITMAP, FALSE, { 0 }, 512, s_ab },
220  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH4, GGO_BITMAP, FALSE, { 0 }, 512, s_ab },
221  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH5, GGO_BITMAP, FALSE, { 0 }, 512, s_ab },
222 
223  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH0, GGO_METRICS, FALSE, { 0 }, },
224  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH1, GGO_METRICS, FALSE, { 0 }, },
225  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH2, GGO_METRICS, FALSE, { 0 }, },
226  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH3, GGO_METRICS, FALSE, { 0 }, },
227  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH4, GGO_METRICS, FALSE, { 0 }, },
228  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH5, GGO_METRICS, FALSE, { 0 }, },
229  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH0, GGO_METRICS, FALSE, { 0 }, 1, s_ab },
230  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH1, GGO_METRICS, FALSE, { 0 }, 1, s_ab },
231  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH2, GGO_METRICS, FALSE, { 0 }, 1, s_ab },
232  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH3, GGO_METRICS, FALSE, { 0 }, 1, s_ab },
233  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH4, GGO_METRICS, FALSE, { 0 }, 1, s_ab },
234  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH5, GGO_METRICS, FALSE, { 0 }, 1, s_ab },
235  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH0, GGO_METRICS, FALSE, { 0 }, 512, s_ab },
236  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH1, GGO_METRICS, FALSE, { 0 }, 512, s_ab },
237  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH2, GGO_METRICS, FALSE, { 0 }, 512, s_ab },
238  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH3, GGO_METRICS, FALSE, { 0 }, 512, s_ab },
239  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH4, GGO_METRICS, FALSE, { 0 }, 512, s_ab },
240  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH5, GGO_METRICS, FALSE, { 0 }, 512, s_ab },
241  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH0, GGO_BITMAP, FALSE, { 0 }, },
242  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH1, GGO_BITMAP, FALSE, { 0 }, },
243  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH2, GGO_BITMAP, FALSE, { 0 }, },
244  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH3, GGO_BITMAP, FALSE, { 0 }, },
245  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH4, GGO_BITMAP, FALSE, { 0 }, },
246  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH5, GGO_BITMAP, FALSE, { 0 }, },
247  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH0, GGO_BITMAP, FALSE, { 0 }, 1, s_ab },
248  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH1, GGO_BITMAP, FALSE, { 0 }, 1, s_ab },
249  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH2, GGO_BITMAP, FALSE, { 0 }, 1, s_ab },
250  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH3, GGO_BITMAP, FALSE, { 0 }, 1, s_ab },
251  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH4, GGO_BITMAP, FALSE, { 0 }, 1, s_ab },
252  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH5, GGO_BITMAP, FALSE, { 0 }, 1, s_ab },
253  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH0, GGO_BITMAP, FALSE, { 0 }, 512, s_ab },
254  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH1, GGO_BITMAP, FALSE, { 0 }, 512, s_ab },
255  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH2, GGO_BITMAP, FALSE, { 0 }, 512, s_ab },
256  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH3, GGO_BITMAP, FALSE, { 0 }, 512, s_ab },
257  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH4, GGO_BITMAP, FALSE, { 0 }, 512, s_ab },
258  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH5, GGO_BITMAP, FALSE, { 0 }, 512, s_ab },
259 
260  { __LINE__, L"Marlett", -12, 24, 0xDEADBEEF, WCH0, GGO_METRICS, TRUE, { 5, 8, { 0, 8 }, 6, 0 }, },
261  { __LINE__, L"Marlett", -12, 24, 0xDEADBEEF, WCH1, GGO_METRICS, TRUE, { 5, 8, { 0, 8 }, 6, 0 }, },
262  { __LINE__, L"Marlett", -12, 24, 0xDEADBEEF, WCH2, GGO_METRICS, TRUE, { 5, 8, { 0, 8 }, 6, 0 }, },
263  { __LINE__, L"Marlett", -12, 24, 0xDEADBEEF, WCH3, GGO_METRICS, TRUE, { 5, 8, { 0, 8 }, 6, 0 }, },
264  { __LINE__, L"Marlett", -12, 28, 0xDEADBEEF, WCH4, GGO_METRICS, TRUE, { 8, 9, { 2, 11 }, 12, 0 }, },
265  { __LINE__, L"Marlett", -12, 24, 0xDEADBEEF, WCH5, GGO_METRICS, TRUE, { 5, 8, { 0, 8 }, 6, 0 }, },
266  { __LINE__, L"Marlett", -12, 24, 0xDEADBEEF, WCH0, GGO_METRICS, TRUE, { 5, 8, { 0, 8 }, 6, 0 }, 1, s_ab },
267  { __LINE__, L"Marlett", -12, 24, 0xDEADBEEF, WCH1, GGO_METRICS, TRUE, { 5, 8, { 0, 8 }, 6, 0 }, 1, s_ab },
268  { __LINE__, L"Marlett", -12, 24, 0xDEADBEEF, WCH2, GGO_METRICS, TRUE, { 5, 8, { 0, 8 }, 6, 0 }, 1, s_ab },
269  { __LINE__, L"Marlett", -12, 24, 0xDEADBEEF, WCH3, GGO_METRICS, TRUE, { 5, 8, { 0, 8 }, 6, 0 }, 1, s_ab },
270  { __LINE__, L"Marlett", -12, 28, 0xDEADBEEF, WCH4, GGO_METRICS, TRUE, { 8, 9, { 2, 11 }, 12, 0 }, 1, s_ab },
271  { __LINE__, L"Marlett", -12, 24, 0xDEADBEEF, WCH5, GGO_METRICS, TRUE, { 5, 8, { 0, 8 }, 6, 0 }, 1, s_ab },
272  { __LINE__, L"Marlett", -12, 24, 0xDEADBEEF, WCH0, GGO_METRICS, TRUE, { 5, 8, { 0, 8 }, 6, 0 }, 512, s_ab },
273  { __LINE__, L"Marlett", -12, 24, 0xDEADBEEF, WCH1, GGO_METRICS, TRUE, { 5, 8, { 0, 8 }, 6, 0 }, 512, s_ab },
274  { __LINE__, L"Marlett", -12, 24, 0xDEADBEEF, WCH2, GGO_METRICS, TRUE, { 5, 8, { 0, 8 }, 6, 0 }, 512, s_ab },
275  { __LINE__, L"Marlett", -12, 24, 0xDEADBEEF, WCH3, GGO_METRICS, TRUE, { 5, 8, { 0, 8 }, 6, 0 }, 512, s_ab },
276  { __LINE__, L"Marlett", -12, 28, 0xDEADBEEF, WCH4, GGO_METRICS, TRUE, { 8, 9, { 2, 11 }, 12, 0 }, 512, s_ab },
277  { __LINE__, L"Marlett", -12, 24, 0xDEADBEEF, WCH5, GGO_METRICS, TRUE, { 5, 8, { 0, 8 }, 6, 0 }, 512, s_ab },
278  { __LINE__, L"Marlett", -12, 32, 0xDEADBEEF, WCH0, GGO_BITMAP, TRUE, { 5, 8, { 0, 8 }, 6, 0 }, },
279  { __LINE__, L"Marlett", -12, 32, 0xDEADBEEF, WCH1, GGO_BITMAP, TRUE, { 5, 8, { 0, 8 }, 6, 0 }, },
280  { __LINE__, L"Marlett", -12, 32, 0xDEADBEEF, WCH2, GGO_BITMAP, TRUE, { 5, 8, { 0, 8 }, 6, 0 }, },
281  { __LINE__, L"Marlett", -12, 32, 0xDEADBEEF, WCH3, GGO_BITMAP, TRUE, { 5, 8, { 0, 8 }, 6, 0 }, },
282  { __LINE__, L"Marlett", -12, 36, 0xDEADBEEF, WCH4, GGO_BITMAP, TRUE, { 8, 9, { 2, 11 }, 12, 0 }, },
283  { __LINE__, L"Marlett", -12, 32, 0xDEADBEEF, WCH5, GGO_BITMAP, TRUE, { 5, 8, { 0, 8 }, 6, 0 }, },
284  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH0, GGO_BITMAP, TRUE, { 0xCDCDCDCD, 0xCDCDCDCD, { 0xCDCDCDCD, 0xCDCDCDCD }, 0xCDCD, 0xCDCD }, 1, s_ab },
285  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH1, GGO_BITMAP, TRUE, { 0xCDCDCDCD, 0xCDCDCDCD, { 0xCDCDCDCD, 0xCDCDCDCD }, 0xCDCD, 0xCDCD }, 1, s_ab },
286  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH2, GGO_BITMAP, TRUE, { 0xCDCDCDCD, 0xCDCDCDCD, { 0xCDCDCDCD, 0xCDCDCDCD }, 0xCDCD, 0xCDCD }, 1, s_ab },
287  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH3, GGO_BITMAP, TRUE, { 0xCDCDCDCD, 0xCDCDCDCD, { 0xCDCDCDCD, 0xCDCDCDCD }, 0xCDCD, 0xCDCD }, 1, s_ab },
288  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH4, GGO_BITMAP, TRUE, { 0xCDCDCDCD, 0xCDCDCDCD, { 0xCDCDCDCD, 0xCDCDCDCD }, 0xCDCD, 0xCDCD }, 1, s_ab },
289  { __LINE__, L"Marlett", -12, GDI_ERROR, 0xDEADBEEF, WCH5, GGO_BITMAP, TRUE, { 0xCDCDCDCD, 0xCDCDCDCD, { 0xCDCDCDCD, 0xCDCDCDCD }, 0xCDCD, 0xCDCD }, 1, s_ab },
290  { __LINE__, L"Marlett", -12, 32, 0xDEADBEEF, WCH0, GGO_BITMAP, TRUE, { 5, 8, { 0, 8 }, 6, 0 }, 512, s_ab },
291  { __LINE__, L"Marlett", -12, 32, 0xDEADBEEF, WCH1, GGO_BITMAP, TRUE, { 5, 8, { 0, 8 }, 6, 0 }, 512, s_ab },
292  { __LINE__, L"Marlett", -12, 32, 0xDEADBEEF, WCH2, GGO_BITMAP, TRUE, { 5, 8, { 0, 8 }, 6, 0 }, 512, s_ab },
293  { __LINE__, L"Marlett", -12, 32, 0xDEADBEEF, WCH3, GGO_BITMAP, TRUE, { 5, 8, { 0, 8 }, 6, 0 }, 512, s_ab },
294  { __LINE__, L"Marlett", -12, 36, 0xDEADBEEF, WCH4, GGO_BITMAP, TRUE, { 8, 9, { 2, 11 }, 12, 0 }, 512, s_ab },
295  { __LINE__, L"Marlett", -12, 32, 0xDEADBEEF, WCH5, GGO_BITMAP, TRUE, { 5, 8, { 0, 8 }, 6, 0 }, 512, s_ab },
296 
297  { __LINE__, L"Marlett", -14, 28, 0xDEADBEEF, WCH0, GGO_METRICS, TRUE, { 6, 9, { 0, 9 }, 7, 0 }, },
298  { __LINE__, L"Marlett", -14, 28, 0xDEADBEEF, WCH1, GGO_METRICS, TRUE, { 6, 9, { 0, 9 }, 7, 0 }, },
299  { __LINE__, L"Marlett", -14, 28, 0xDEADBEEF, WCH2, GGO_METRICS, TRUE, { 6, 9, { 0, 9 }, 7, 0 }, },
300  { __LINE__, L"Marlett", -14, 28, 0xDEADBEEF, WCH3, GGO_METRICS, TRUE, { 6, 9, { 0, 9 }, 7, 0 }, },
301  { __LINE__, L"Marlett", -14, 36, 0xDEADBEEF, WCH4, GGO_METRICS, TRUE, { 10, 10, { 2, 12 }, 14, 0 }, },
302  { __LINE__, L"Marlett", -14, 28, 0xDEADBEEF, WCH5, GGO_METRICS, TRUE, { 6, 9, { 0, 9 }, 7, 0 }, },
303  { __LINE__, L"Marlett", -14, 28, 0xDEADBEEF, WCH0, GGO_METRICS, TRUE, { 6, 9, { 0, 9 }, 7, 0 }, 1, s_ab },
304  { __LINE__, L"Marlett", -14, 28, 0xDEADBEEF, WCH1, GGO_METRICS, TRUE, { 6, 9, { 0, 9 }, 7, 0 }, 1, s_ab },
305  { __LINE__, L"Marlett", -14, 28, 0xDEADBEEF, WCH2, GGO_METRICS, TRUE, { 6, 9, { 0, 9 }, 7, 0 }, 1, s_ab },
306  { __LINE__, L"Marlett", -14, 28, 0xDEADBEEF, WCH3, GGO_METRICS, TRUE, { 6, 9, { 0, 9 }, 7, 0 }, 1, s_ab },
307  { __LINE__, L"Marlett", -14, 36, 0xDEADBEEF, WCH4, GGO_METRICS, TRUE, { 10, 10, { 2, 12 }, 14, 0 }, 1, s_ab },
308  { __LINE__, L"Marlett", -14, 28, 0xDEADBEEF, WCH5, GGO_METRICS, TRUE, { 6, 9, { 0, 9 }, 7, 0 }, 1, s_ab },
309  { __LINE__, L"Marlett", -14, 28, 0xDEADBEEF, WCH0, GGO_METRICS, TRUE, { 6, 9, { 0, 9 }, 7, 0 }, 512, s_ab },
310  { __LINE__, L"Marlett", -14, 28, 0xDEADBEEF, WCH1, GGO_METRICS, TRUE, { 6, 9, { 0, 9 }, 7, 0 }, 512, s_ab },
311  { __LINE__, L"Marlett", -14, 28, 0xDEADBEEF, WCH2, GGO_METRICS, TRUE, { 6, 9, { 0, 9 }, 7, 0 }, 512, s_ab },
312  { __LINE__, L"Marlett", -14, 28, 0xDEADBEEF, WCH3, GGO_METRICS, TRUE, { 6, 9, { 0, 9 }, 7, 0 }, 512, s_ab },
313  { __LINE__, L"Marlett", -14, 36, 0xDEADBEEF, WCH4, GGO_METRICS, TRUE, { 10, 10, { 2, 12 }, 14, 0 }, 512, s_ab },
314  { __LINE__, L"Marlett", -14, 28, 0xDEADBEEF, WCH5, GGO_METRICS, TRUE, { 6, 9, { 0, 9 }, 7, 0 }, 512, s_ab },
315  { __LINE__, L"Marlett", -14, 36, 0xDEADBEEF, WCH0, GGO_BITMAP, TRUE, { 6, 9, { 0, 9 }, 7, 0 }, },
316  { __LINE__, L"Marlett", -14, 36, 0xDEADBEEF, WCH1, GGO_BITMAP, TRUE, { 6, 9, { 0, 9 }, 7, 0 }, },
317  { __LINE__, L"Marlett", -14, 36, 0xDEADBEEF, WCH2, GGO_BITMAP, TRUE, { 6, 9, { 0, 9 }, 7, 0 }, },
318  { __LINE__, L"Marlett", -14, 36, 0xDEADBEEF, WCH3, GGO_BITMAP, TRUE, { 6, 9, { 0, 9 }, 7, 0 }, },
319  { __LINE__, L"Marlett", -14, 40, 0xDEADBEEF, WCH4, GGO_BITMAP, TRUE, { 10, 10, { 2, 12 }, 14, 0 }, },
320  { __LINE__, L"Marlett", -14, 36, 0xDEADBEEF, WCH5, GGO_BITMAP, TRUE, { 6, 9, { 0, 9 }, 7, 0 }, },
321  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH0, GGO_BITMAP, TRUE, { 0xCDCDCDCD, 0xCDCDCDCD, { 0xCDCDCDCD, 0xCDCDCDCD }, 0xCDCD, 0xCDCD }, 1, s_ab },
322  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH1, GGO_BITMAP, TRUE, { 0xCDCDCDCD, 0xCDCDCDCD, { 0xCDCDCDCD, 0xCDCDCDCD }, 0xCDCD, 0xCDCD }, 1, s_ab },
323  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH2, GGO_BITMAP, TRUE, { 0xCDCDCDCD, 0xCDCDCDCD, { 0xCDCDCDCD, 0xCDCDCDCD }, 0xCDCD, 0xCDCD }, 1, s_ab },
324  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH3, GGO_BITMAP, TRUE, { 0xCDCDCDCD, 0xCDCDCDCD, { 0xCDCDCDCD, 0xCDCDCDCD }, 0xCDCD, 0xCDCD }, 1, s_ab },
325  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH4, GGO_BITMAP, TRUE, { 0xCDCDCDCD, 0xCDCDCDCD, { 0xCDCDCDCD, 0xCDCDCDCD }, 0xCDCD, 0xCDCD }, 1, s_ab },
326  { __LINE__, L"Marlett", -14, GDI_ERROR, 0xDEADBEEF, WCH5, GGO_BITMAP, TRUE, { 0xCDCDCDCD, 0xCDCDCDCD, { 0xCDCDCDCD, 0xCDCDCDCD }, 0xCDCD, 0xCDCD }, 1, s_ab },
327  { __LINE__, L"Marlett", -14, 36, 0xDEADBEEF, WCH0, GGO_BITMAP, TRUE, { 6, 9, { 0, 9 }, 7, 0 }, 512, s_ab },
328  { __LINE__, L"Marlett", -14, 36, 0xDEADBEEF, WCH1, GGO_BITMAP, TRUE, { 6, 9, { 0, 9 }, 7, 0 }, 512, s_ab },
329  { __LINE__, L"Marlett", -14, 36, 0xDEADBEEF, WCH2, GGO_BITMAP, TRUE, { 6, 9, { 0, 9 }, 7, 0 }, 512, s_ab },
330  { __LINE__, L"Marlett", -14, 36, 0xDEADBEEF, WCH3, GGO_BITMAP, TRUE, { 6, 9, { 0, 9 }, 7, 0 }, 512, s_ab },
331  { __LINE__, L"Marlett", -14, 40, 0xDEADBEEF, WCH4, GGO_BITMAP, TRUE, { 10, 10, { 2, 12 }, 14, 0 }, 512, s_ab },
332  { __LINE__, L"Marlett", -14, 36, 0xDEADBEEF, WCH5, GGO_BITMAP, TRUE, { 6, 9, { 0, 9 }, 7, 0 }, 512, s_ab },
333 };
334 
335 void DoEntry(const TEST_ENTRY *pEntry)
336 {
337  LOGFONTW lf;
338  HFONT hFont;
339  HDC hDC;
340  HGDIOBJ hFontOld;
341 
342  ZeroMemory(&lf, sizeof(lf));
343 
344  lf.lfHeight = pEntry->lfHeight;
346  lstrcpyW(lf.lfFaceName, pEntry->lfFaceName);
347 
348  hFont = CreateFontIndirectW(&lf);
349  ok(hFont != NULL, "hFont was NULL\n");
350  if (hFont == NULL)
351  {
352  skip("Line %d: skipped because hFont == NULL\n", pEntry->line);
353  return;
354  }
355 
357  ok(hDC != NULL, "hDC was NULL\n");
358  if (hDC == NULL)
359  {
360  skip("Line %d: skipped because hDC == NULL\n", pEntry->line);
362  return;
363  }
364 
365  hFontOld = SelectObject(hDC, hFont);
366  ok(hFontOld != NULL, "SelectObject failed\n");
367  if (hFontOld == NULL)
368  {
369  skip("Line %d: skipped because SelectObject failed\n", pEntry->line);
370  }
371  else
372  {
373  DWORD dwRet, dwError;
374  GLYPHMETRICS gm;
375 
376  SetLastError(0xDEADBEEF);
377 
378  if (pEntry->bMetrics)
379  {
380  FillMemory(&gm, sizeof(gm), 0xCD);
381  dwRet = GetGlyphOutlineW(hDC, pEntry->wch, pEntry->uFormat, &gm, pEntry->cbBuffer, pEntry->lpvBuffer, &s_mat);
382  }
383  else
384  {
385  dwRet = GetGlyphOutlineW(hDC, pEntry->wch, pEntry->uFormat, NULL, pEntry->cbBuffer, pEntry->lpvBuffer, &s_mat);
386  }
387  dwError = GetLastError();
388 
389  ok(dwRet == pEntry->dwRet, "Line %d: dwRet expected 0x%lX, was 0x%lX\n", pEntry->line, pEntry->dwRet, dwRet);
390  ok(dwError == pEntry->dwError, "Line %d: dwError expected 0x%lX, was 0x%lX\n", pEntry->line, pEntry->dwError, dwError);
391 
392  if (pEntry->bMetrics)
393  {
394  ok(gm.gmBlackBoxX == pEntry->gm.gmBlackBoxX, "Line %d: gm.gmBlackBoxX expected 0x%X, was 0x%X\n", pEntry->line, pEntry->gm.gmBlackBoxX, gm.gmBlackBoxX);
395  ok(gm.gmBlackBoxY == pEntry->gm.gmBlackBoxY, "Line %d: gm.gmBlackBoxY expected 0x%X, was 0x%X\n", pEntry->line, pEntry->gm.gmBlackBoxY, gm.gmBlackBoxY);
396  ok(gm.gmptGlyphOrigin.x == pEntry->gm.gmptGlyphOrigin.x, "Line %d: gm.gmptGlyphOrigin.x expected %ld, was %ld\n", pEntry->line, pEntry->gm.gmptGlyphOrigin.x, gm.gmptGlyphOrigin.x);
397  ok(gm.gmptGlyphOrigin.y == pEntry->gm.gmptGlyphOrigin.y, "Line %d: gm.gmptGlyphOrigin.y expected %ld, was %ld\n", pEntry->line, pEntry->gm.gmptGlyphOrigin.y, gm.gmptGlyphOrigin.y);
398  ok(gm.gmCellIncX == pEntry->gm.gmCellIncX, "Line %d: gm.gmCellIncX expected %d, was %d\n", pEntry->line, pEntry->gm.gmCellIncX, gm.gmCellIncX);
399  ok(gm.gmCellIncY == pEntry->gm.gmCellIncY, "Line %d: gm.gmCellIncY expected %d, was %d\n", pEntry->line, pEntry->gm.gmCellIncY, gm.gmCellIncY);
400  }
401  SelectObject(hDC, hFontOld);
402  }
403 
405  DeleteDC(hDC);
406 }
407 
409 {
411  for (i = 0; i < count; ++i)
412  {
413  DoEntry(&s_entries[i]);
414  }
415 }
DWORD dwError
#define TRUE
Definition: types.h:120
#define GGO_METRICS
Definition: wingdi.h:847
long y
Definition: polytest.cpp:48
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
long x
Definition: polytest.cpp:48
static const MAT2 s_mat
GLuint GLuint GLsizei count
Definition: gl.h:1545
GLYPHMETRICS gm
LONG lfHeight
Definition: dimm.idl:59
BYTE lfCharSet
Definition: dimm.idl:67
static HDC
Definition: imagelist.c:92
#define WCH0
#define ARRAYSIZE(array)
Definition: filtermapper.c:47
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
Definition: dc.c:1497
DWORD WINAPI GetLastError(VOID)
Definition: except.c:1059
#define ZeroMemory
Definition: winbase.h:1635
BOOL WINAPI DeleteObject(_In_ HGDIOBJ)
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
short gmCellIncY
Definition: wingdi.h:2441
static const TEST_ENTRY s_entries[]
Definition: wingdi.h:2467
#define DEFAULT_CHARSET
Definition: wingdi.h:383
#define WCH2
int32_t INT
Definition: typedefs.h:56
HFONT hFont
Definition: main.c:53
#define GGO_BITMAP
Definition: wingdi.h:848
void DoEntry(const TEST_ENTRY *pEntry)
DWORD cbBuffer
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
struct TEST_ENTRY TEST_ENTRY
#define WCH4
unsigned int BOOL
Definition: ntddk_ex.h:94
long LONG
Definition: pedump.c:60
DWORD WINAPI GetGlyphOutlineW(_In_ HDC hdc, _In_ UINT uChar, _In_ UINT fuFormat, _Out_ LPGLYPHMETRICS lpgm, _In_ DWORD cjBuffer, _Out_writes_bytes_opt_(cjBuffer) LPVOID pvBuffer, _In_ CONST MAT2 *lpmat2)
smooth NULL
Definition: ftsmooth.c:416
HFONT WINAPI CreateFontIndirectW(_In_ const LOGFONTW *)
#define GetGlyphOutline
Definition: wingdi.h:4458
UINT uFormat
static BYTE s_ab[512]
#define WCH5
BOOL bMetrics
POINT gmptGlyphOrigin
Definition: wingdi.h:2439
DWORD dwRet
__wchar_t WCHAR
Definition: xmlstorage.h:180
INT line
unsigned long DWORD
Definition: ntddk_ex.h:95
WCHAR wch
#define FillMemory(BUF, SIZ, MASK)
Definition: strucsup.c:31
#define SetLastError(x)
Definition: compat.h:409
Definition: DPtoLP.c:32
static const WCHAR L[]
Definition: oid.c:1250
#define WCH3
unsigned char BYTE
Definition: mem.h:68
short gmCellIncX
Definition: wingdi.h:2440
LPCWSTR lfFaceName
static HDC hDC
Definition: 3dtext.c:33
ULONG_PTR SIZE_T
Definition: typedefs.h:78
#define lstrcpyW
Definition: compat.h:406
BOOL WINAPI DeleteDC(_In_ HDC)
#define ok(value,...)
Definition: atltest.h:57
LONG lfHeight
UINT gmBlackBoxY
Definition: wingdi.h:2438
unsigned int UINT
Definition: ndis.h:50
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
#define skip(...)
Definition: atltest.h:64
UINT gmBlackBoxX
Definition: wingdi.h:2437
WCHAR lfFaceName[LF_FACESIZE]
Definition: dimm.idl:72
LPVOID lpvBuffer
#define GDI_ERROR
Definition: wingdi.h:1308
START_TEST(GetGlyphOutline)
#define WCH1