Commit Graph

2684 Commits

Author SHA1 Message Date
Rémi Bernon 37c72ce2d6 gdi32: Ignore Type 1 fonts in fontconfig enumeration.
Instead of loading the font with FreeType to discard it right away.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-20 19:01:04 +01:00
Michael Stefaniuc 236fa496da gdi32/uniscribe: Use wide-char string literals.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-16 11:25:18 +01:00
Rémi Bernon c475e5b40c gdi32: Rewrite find_any_face using the rbtree.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-13 13:13:19 +01:00
Rémi Bernon ec646de3aa gdi32: Rewrite find_face_from_filename using the rbtree.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-13 13:13:16 +01:00
Rémi Bernon 5cdd011f4e gdi32: Index font families by name in an rbtree.
Keeping them sorted with the vertical / default family rules.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-13 13:13:12 +01:00
Sven Baars ca96e04637 gdi32/tests: Fix a compiler warning.
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-12 13:58:53 +01:00
Haoyang Chen abd0cddc5f gdi32: Avoid exceeding the actual bitmap height.
The bottom-up case is handled earlier on.  For the top-down
case, 'lines' is left untouched.

Signed-off-by: Haoyang Chen <chenhaoyang@uniontech.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-12 13:58:33 +01:00
Francois Gouget dd51cd8d00 gdi32/tests: Avoid a D3DKMTOpenAdapterFromHdc() crash on Windows 10 >= 2004.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-10 17:19:44 +01:00
Nikolay Sivov b9178da586 gdi32: Merge in Uniscribe functionality.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-09 20:15:11 +01:00
Rémi Bernon cb1ff768ac gdi32: Implement GdiDllInitialize stub.
This is required by several Call of Duty games that are calling this
directly after loading gdi32.dll from disk.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48171
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-06 18:20:32 +01:00
Akihiro Sagawa 308a0cf72d gdi32: Fix font rendering issue when child font is used.
Otherwise, freetype_get_glyph_outline() fails at FT_Load_Glyph due to
combination of base_font's ft_face and child font's glyph index.

Fixes a regression introduced by 044315c0b3.

Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-06 17:34:27 +01:00
Alexandre Julliard a56487732e gdi32: Initialize the font gamma ramp with the other font options.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-06 17:34:27 +01:00
Alexandre Julliard b1d920bb9f gdi32: Use wide-character string literals.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-06 17:34:27 +01:00
Alexandre Julliard aa90a5969f gdi32: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-05 10:44:16 +01:00
Alexandre Julliard 60ef5b0182 gdi32: Move OSMesa support to the Unix library.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-05 10:41:12 +01:00
Alexandre Julliard 3cfafab38b gdi32: Move FreeType support to a new Unix library.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-05 10:32:04 +01:00
Alexandre Julliard 54a01ea1ec gdi32: Use ntdll functions for heap allocations.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-05 10:31:02 +01:00
Alexandre Julliard 013f1033c0 gdi32: Use ntdll functions for locale support.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-05 10:30:56 +01:00
Alexandre Julliard acc1f6545f gdi32: Use ntdll functions for DOS<->Unix path conversions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-05 10:30:50 +01:00
Alexandre Julliard 8db165000d gdi32: Use ntdll functions for codepage conversions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-05 10:06:26 +01:00
Alexandre Julliard fd9e1612d9 gdi32: Use FT_MulDiv() instead of the kernel32 function.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-05 10:01:32 +01:00
Alexandre Julliard 8768f60527 gdi32: Store scale as an integer.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-05 09:59:32 +01:00
Alexandre Julliard fe6bb5f723 gdi32: Don't abort enumeration if a font fails to load.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-05 09:59:22 +01:00
Alexandre Julliard e1b193d8ba gdi32: Make a few definitions private to font.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-04 21:11:44 +01:00
Alexandre Julliard 53acdd5a8a gdi32: Move the SelectFont() implementation out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-04 21:11:44 +01:00
Alexandre Julliard 3b87839ec9 gdi32: Move the rest of the font matching code out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-04 21:11:44 +01:00
Alexandre Julliard 4cddf0d47d gdi32: Move the handling of font family fallbacks out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-04 21:11:44 +01:00
Alexandre Julliard caf0b9c082 gdi32: Add some helper functions for font matching.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-04 21:11:44 +01:00
Alexandre Julliard 6c5dc58a82 gdi32: Move the remove_font() function out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-04 21:11:44 +01:00
Alexandre Julliard 000e32f183 gdi32: Update the Windows font registry keys only when they have changed.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-03 14:53:34 +01:00
Alexandre Julliard a6f0349e84 gdi32: Add a helper function to create a face.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-03 14:53:34 +01:00
Alexandre Julliard 19d13d0004 gdi32: Move the font cache out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-03 11:26:39 +01:00
Alexandre Julliard a84c60ed2a gdi32: Add a separate backend function to load the font list.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-03 11:26:12 +01:00
Alexandre Julliard fc44dcdd03 gdi32: Move the font list reordering out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-03 11:25:47 +01:00
Alexandre Julliard de63a647d5 gdi32: Move the default AA flags handling out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-03 11:25:30 +01:00
Alexandre Julliard 356ad03fcf gdi32: Move the font enumeration out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-02 16:01:23 +01:00
Alexandre Julliard c9b21a5707 gdi32: Add a helper function to create a font from a face.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-02 16:01:23 +01:00
Alexandre Julliard ef77b38888 gdi32: Move the dumping of the font list out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-02 16:01:23 +01:00
Alexandre Julliard 8d4336c5fa gdi32: Move the creation of the child font list out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-02 16:01:22 +01:00
Alexandre Julliard bc19adf474 gdi32: Move the font link support out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-31 18:33:33 +01:00
Alexandre Julliard 74ea8d8c42 gdi32: Make the family replacement point to the family object.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-30 14:40:11 +01:00
Alexandre Julliard d27a9d77ee gdi32: Move the loading of font replacements out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-30 14:40:11 +01:00
Alexandre Julliard 5537f38e97 gdi32: Move the face data structure out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-30 14:35:47 +01:00
Alexandre Julliard 6a1cdd98fa gdi32: Move the font family list out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-30 14:22:51 +01:00
Alexandre Julliard 7e51cc8308 gdi32: Move the font substitution list out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-30 14:15:55 +01:00
Alexandre Julliard 402281b668 gdi32: Add a helper to get the FreeType face and cleanup private data.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-29 20:19:12 +01:00
Alexandre Julliard 044315c0b3 gdi32: Move the glyph index mapping for GetGlyphOutline() out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-29 20:19:12 +01:00
Alexandre Julliard 54bdbd3c03 gdi32: Store child font objects directly on the child font list.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-29 15:39:29 +01:00
Alexandre Julliard 8631506270 gdi32: Move the GSUB table support out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-29 15:39:18 +01:00
Alexandre Julliard 72272d0088 gdi32: Move part of the GetCharWidthInfo() implementation out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-28 10:14:01 +01:00
Alexandre Julliard 3749449943 gdi32: Move part of the GetFontUnicodeRanges() implementation out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-28 10:13:53 +01:00
Alexandre Julliard ed9114c118 gdi32: Move the CreateScalableFontResource() implementation out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-27 14:26:06 +01:00
Alexandre Julliard 5772b064ac gdi32: Allocate the backend font data in the load_font() helper.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-27 14:25:32 +01:00
Alexandre Julliard 0bf2c11d43 gdi32: Add a helper to load a font without using a face.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-27 14:10:41 +01:00
Alexandre Julliard 7b291a094d gdi32: Move the loading of filesystem fonts out of freetype.c.
The fonts Path value now expects DOS paths.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-27 10:27:32 +01:00
Alexandre Julliard 2c1a42bc67 gdi32: Move the loading of registry fonts out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-27 10:27:20 +01:00
Alexandre Julliard 131d3b1f5d gdi32: Move the loading of system fonts out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-27 10:27:06 +01:00
Alexandre Julliard f6d9908e48 gdi32: Move the AddFontMemResourceEx() implementation out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-26 12:05:19 +01:00
Alexandre Julliard 047bf25223 gdi32: Move the Add/RemoveFontResource() implementation out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-26 12:04:36 +01:00
Alexandre Julliard f3a75923a6 gdi32: Move the fonts directory helper functions out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-26 12:03:21 +01:00
Alexandre Julliard df335e3405 gdi32: Move the kerning pairs data into the generic font structure.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-26 11:50:07 +01:00
Alexandre Julliard e0872b6424 gdi32: Move the text metrics cache into the generic font structure.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-26 11:43:24 +01:00
Alexandre Julliard a89595a259 gdi32: Set the font file name directly at creation time.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-26 11:37:03 +01:00
Alexandre Julliard a13492b376 gdi32: Don't bother caching the font type.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-23 20:16:53 +02:00
Alexandre Julliard 5bdc6e0fe6 gdi32: Move the GetGlyphIndices() implementation out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-22 22:02:02 +02:00
Alexandre Julliard 2d15ea5012 gdi32: Move the GetFontFileData() implementation out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-22 11:57:48 +02:00
Alexandre Julliard a3b08dd3f3 gdi32: Move the get_glyph_outline() helper to the font function interface.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-22 11:56:47 +02:00
Alexandre Julliard 26f8b4a7bc gdi32: Move the font critical section out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-22 11:54:35 +02:00
Alexandre Julliard b3d55e2ce5 gdi32: Move the glyph metrics cache out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-22 11:51:07 +02:00
Alexandre Julliard c44c347dd5 gdi32: Move more font metrics information to the generic font structure.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-22 11:49:33 +02:00
Alexandre Julliard 35f5e65197 gdi32: Move the font realization information out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-21 11:05:28 +02:00
Alexandre Julliard 6c94c0b04f gdi32: Move the font charset information out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-21 11:04:35 +02:00
Alexandre Julliard ecba0d2bbb gdi32: Move the font name information out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-21 11:03:51 +02:00
Alexandre Julliard d26462b52a gdi32: Move the font file information out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-21 11:02:48 +02:00
Alexandre Julliard 82c140f1a6 gdi32: Move the font cache list out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-21 11:01:50 +02:00
Alexandre Julliard d7a54394d4 gdi32: Move the realized font handle allocation out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-21 10:59:51 +02:00
Alexandre Julliard 3e7f8aa272 gdi32: Move the other exported freetype functions to the font backend table.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-20 22:54:02 +02:00
Alexandre Julliard 46ab536f87 gdi32: Move the font driver out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-20 22:54:02 +02:00
Alexandre Julliard b6c099cda6 gdi32: Store face data as a single binary value in the registry cache.
This is faster than a bunch of separate string values.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-06 21:47:55 +02:00
Alexandre Julliard 14395c8535 gdi32: Compare DOS filenames instead of Unix stat information for font files.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-06 16:34:02 +02:00
Alexandre Julliard f51fe9ead3 gdi32: Store the face filename as a DOS path.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-06 15:33:39 +02:00
Alexandre Julliard 29d35db9a5 gdi32: Move font codepage setup out of freetype.c.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-30 16:08:21 +02:00
Arkadiusz Hiler 45aee6375d gdi32: Limit GetGlyphOutlineW(uChar) to a WORD.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45400
Signed-off-by: Arkadiusz Hiler <ahiler@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-29 12:01:57 +02:00
Piotr Caban 2370e7b9a1 gdi32: Share font_gamma_ramp structure between all DCs.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-24 16:41:24 +02:00
Rémi Bernon a404eb7272 gdi32: Use explicit CDECL in gdi_image_bits.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-22 11:29:54 +02:00
Rémi Bernon d560182624 gdi32: Look for another secondary font family name.
If English is the current locale, or if the primary langid does not
have a name in the font (in which case the English name is used), look
for another non-English name.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-21 12:54:36 +02:00
Rémi Bernon d3ba3ca2d0 gdi32/tests: Add test fonts with names in several languages.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-21 12:54:30 +02:00
Alexandre Julliard a204ad557d makefiles: Expand makedep path at compile time.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-09 20:30:31 +02:00
Rémi Bernon 74357b7d97 gdi32: Compare full name before discarding faces.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-08 21:20:39 +02:00
Rémi Bernon 68ad3162f0 gdi32: Use fixed size array for family and english name.
This stops stealing pointer ownership, and will also make sure the TRACE
messages contain the truncated family names, that are actually compared.

Also rename the fields to make them consistent with most Wine internal
coding style.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-08 21:20:39 +02:00
Rémi Bernon a968b1f668 gdi32: Rename StyleName to style_name for consistency.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-08 21:20:39 +02:00
Rémi Bernon f360057e2f gdi32: Build full name from family + style when missing.
Also add full name in TRACE messages. The gdi32 family not always
matches the real font family, as we match only LF_FACESIZE chars, so it
could make traces confusing.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-08 21:20:39 +02:00
Rémi Bernon cc6951574a gdi32: Rewrite prepend_at helper as get_vertical_name.
And only prepend '@'' if it's not already there.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-08 21:20:39 +02:00
Rémi Bernon 01d82af4a3 gdi32: Introduce ft_face_get_family/style_name helpers.
And use them directly instead of get_family_names.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-08 21:20:39 +02:00
Rémi Bernon afc857436a gdi32/tests: Test extended TTF font names and collisions.
This shows that although Windows is only matching family names up to
LF_FACESIZE chars, and that it doesn't match against the preferred /
typographic family names and styles, it still keeps the faces separate
when the full names don't match. Wine incorrectly discard one of them.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-08 21:20:39 +02:00
Rémi Bernon e07eb13ae8 gdi32: Only trace new faces when they are added.
Instead of every time they don't match another face.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-03 15:20:07 +02:00
Shawn M. Chapla 4e4b1d1406 gdi32: Implement EMR_POLYDRAW16 playback.
Signed-off-by: Shawn M. Chapla <schapla@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-27 11:25:09 +02:00
Shawn M. Chapla 84d2cf02ed gdi32: Pass correct pointer to PolyDraw during EMR_POLYDRAW playback.
Signed-off-by: Shawn M. Chapla <schapla@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-27 11:25:07 +02:00
Serge Gautherie 743ed29af5 winapi_test: Update generated.c files.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-14 22:04:03 +02:00
Zhiyi Zhang ee1880a756 gdi32/tests: Zero initialize DEVMODE before passing it to EnumDisplaySettings().
Zero initialize DEVMODE before passing it to EnumDisplaySettings(), which may write beyond the end
of the DEVMODE structure on Windows because the dmDriverExtra field is uninitialized.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-11 18:06:36 +02:00
Serge Gautherie 99c0ab2ea1 winapi_test: Restore horizontal alignment of macro defines.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-10 21:26:15 +02:00
Dmitry Timoshkov cb511b82bd gdi32: Add support for GCP_USEKERNING to GetCharacterPlacement().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-09 17:39:24 +02:00
Gijs Vermeulen 53d54af817 gdi32: Fix some test failures when not using X11.
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-09 17:39:08 +02:00
Zhiyi Zhang 0a2d6378d8 gdi32: Support LUID in D3DKMTOpenAdapterFromGdiDisplayName().
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-11 18:12:56 +02:00
Zhiyi Zhang f0ebaffc6a gdi32/tests: Remove tests for VidPnSourceId.
VidPnSourceId may be zero for non-primary adapters.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-10 22:40:50 +02:00
Gabriel Ivăncescu 7bb5b074b5 gdi32: Skip scan conversion on overflow.
Fixes a regression introduced by 9bc6f004ce,
which broke when REGION_CreateEdgeTable overflowed.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 21:23:33 +02:00
Huw Davies 31605eb417 gdi32: Move the scan conversion to a helper function.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 21:23:33 +02:00
Akihiro Sagawa 9aec1ef3c1 gdi32: Add a vertical font replacement if it's a DBCS font.
For example, if one maps MS Gothic to a font, also map @MS Gothic to
that font.

Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-04 13:50:28 +02:00
Akihiro Sagawa f3c682edb9 gdi32: Handle vertical faces in the fontconfig fallback.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48440
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-04 13:50:25 +02:00
Alexandre Julliard aa90ed6df6 gdi32: Return 0 char width for missing glyphs.
Fixes a test failure with Emoji font:
font.c:7147: Test failed: Noto Color Emoji: mismatched widths 2145357798/1.33654768e+008

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-02 15:09:35 +02:00
Alexandre Julliard b0e2d046fc opengl32: Make wgl driver entry points WINAPI.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-23 13:33:20 +02:00
Alexandre Julliard 0a12f25869 gdi32: Use Windows paths to read Wine font directories.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-17 13:57:35 +02:00
Alexandre Julliard da604dce34 gdi32: Use Windows paths in add/remove_font_resource().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-17 13:57:35 +02:00
Alexandre Julliard 907aaf9e72 gdi32: Use standard dlopen() instead of the libwine wrappers.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-06 21:21:41 +02:00
Serge Gautherie d0fd12b909 include: Remove now useless forced WINVER defines.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-19 13:15:16 +01:00
Francois Gouget a909baeb4e tests: Report all errors when failing to wait for a child process.
Report the line number where the test failed to wait for the child so
one can identify which child process did not behave as expected.
Also wait_child_process() is meant for the general case so report
all non-crash error cases as test failures so they are accounted for.
Omit the "winetest_" prefix to match the other Wine test functions and
so the underlying winetest_wait_child_process() function can be wrapped
with the usual line-capturing macros.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48651
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-17 10:51:44 +01:00
Serge Gautherie aa384d3642 tools: Remove 0x0501 API versions forced by winapi_test.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-13 20:10:44 +01:00
Alexandre Julliard b83af7c763 unicode: Update data tables to Unicode 13.0.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-13 13:23:11 +01:00
Nikolay Sivov 0f51b732e4 gdi32/tests: Reduce some tracing noise in font tests.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-26 22:33:38 +01:00
Francois Gouget 0e7392040c gdi32/tests: Remove unnecessary metafile handle traces.
Tracing the handle values is not useful and increases the test report
size.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-25 23:43:18 +01:00
Sven Baars 3c49e3e4c7 gdi32: Handle 0 count in GetCharacterPlacementW.
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-18 11:14:27 +01:00
Sven Baars 7ef3d8015a gdi32/tests: Add some more GetCharacterPlacement tests.
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-18 11:14:22 +01:00
Akihiro Sagawa bf06e25f6a gdi32: Fix function names in comments.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-11 22:39:59 +01:00
Alexandre Julliard 44ce5d9283 unicode: Support fetching a zip containining the data files.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-09 09:48:42 +01:00
Nikolay Sivov dc9267dc1c gdi32: Retry with hinting disabled if glyph load failed in hinted mode.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-05 21:27:29 +01:00
Chip Davis 012d996b83 gdi32: Add D3DKMTSetQueuedLimit() stub.
Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-29 20:33:24 +01:00
Alexandre Julliard f17a228d45 unicode: Try harder to reuse subsequences when compressing data arrays.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-28 19:26:13 +01:00
André Hentschel 2100353861 gdi32: Fix some spec file entries.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-08 22:45:09 +01:00
Nikolay Sivov 8ab39efe0a gdi32/tests: Remove workarounds for SetLayout().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-08 21:11:59 +01:00
Nikolay Sivov 9db0d76322 gdi32/tests: Remove some workarounds in font tests.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-08 21:11:50 +01:00
Zebediah Figura fef352cb81 gdi32/tests: Clarify return values from IntersectClipRect() and ExcludeClipRect().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-06 20:52:27 +01:00
Zebediah Figura 35f112d0e4 gdi32/tests: Separate and expand tests for GetClipBox().
Fixes test failures on multi-monitor machines.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-06 20:52:24 +01:00
Nikolay Sivov 624ed18b1f Update to Unicode 12.1.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 23:47:45 +01:00
Francois Gouget 40f5cffadd gdi32/tests: CloseMetaFile() no longer destroys the metafile hdc.
Windows 10 1507 still deleted it but 1607 no longer does.

Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-28 20:45:46 +01:00
Jeff Smith 22a4b3fc7e gdi32/tests: Reserve sufficient room for DIB data.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48054
Signed-off-by: Jeff Smith <whydoubt@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-26 15:38:32 +01:00
Francois Gouget 389d110545 gdi32/tests: Fix a copy/paste error in an ok() message.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-25 20:47:43 +01:00
Sven Baars c9f15c20f9 gdi32/tests: Remove the D3DKMTCreateDCFromMemory test with Width = 0.
This test fails with STATUS_INVALID_PARAMETER on Windows 7+.

Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-21 10:06:13 +01:00
Sven Baars 742249e91e gdi32/tests: Fix some test SetDIBitsToDevice RLE8 test failures on Windows 2008+.
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-20 23:03:21 +01:00
Sven Baars 0e1720813c gdi32/tests: Remove some Win9x workarounds from the clipping tests.
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-12 21:39:40 +01:00
Sven Baars 7979b87963 gdi32/tests: Update expected ExtCreateRegion behavior to represent newer Windows.
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-12 21:39:40 +01:00
Zhiyi Zhang 644d00d540 winex11.drv: Implement X11DRV_D3DKMTCheckVidPnExclusiveOwnership.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-22 23:04:27 +02:00
Zhiyi Zhang e08dd25f32 winex11.drv: Implement X11DRV_D3DKMTSetVidPnSourceOwner.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-22 23:04:27 +02:00
Zhiyi Zhang 354359197b gdi32: Add D3DKMTSetVidPnSourceOwner and D3DKMTCheckVidPnExclusiveOwnership stubs.
D3DKMTSetVidPnSourceOwner needs to be implemented in the graphics drivers
because we need to maintain the VidPN source ownership information list
in the graphics drivers. For example, the graphics drivers need to release the
exclusive ownership when a new window is moved to a monitor which has been taken
exclusive ownership.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-22 23:04:27 +02:00
Zhiyi Zhang 95c66d690f gdi32: Support multiple monitors in D3DKMTOpenAdapterFromGdiDisplayName.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-22 23:04:27 +02:00
Paul Gofman 81484b24f4 gdi32: Collapse relative paths inside true type fonts file names in registry.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-17 10:49:18 +02:00
Zebediah Figura 068093f1aa gdi32: Implement GetCharWidthFloat().
Needed by Cygwin's mintty.exe.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-17 10:49:09 +02:00
Zhiyi Zhang acd801d3e5 gdi32/tests: Add CreateDC tests.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-19 22:07:53 +02:00
Zhiyi Zhang 9cffe80fdc gdi32/tests: Fix a test failure on Win10 1809.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-19 22:07:53 +02:00
Francois Gouget f9b04a72a9 gdi32: Fix the spelling of some comments.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-16 22:58:42 +02:00
Alex Henrie 1fcae3c260 gdi32: Handle HeapAlloc failure in SetEnhMetaFileBits (scan-build).
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-12 22:47:45 +02:00
Michael Stefaniuc dccbd6a949 gdi32: Remove useless casts to self.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-12 09:32:21 +02:00
Michael Stefaniuc 0ae101080b gdi32/tests: Remove useless casts to self.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-12 09:32:13 +02:00
Alistair Leslie-Hughes 5373f7264c gdi32: Add D3DKMTQueryStatistics stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47074
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-02 10:52:03 +02:00
Huw Davies 0b66af673e gdi32: Use the correct type for the final parameter of FSOpenResourceFile().
This is SInt16 for 32-bit, but int for 64-bit.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-31 08:26:19 +02:00
Alexandre Julliard 4a902de213 gdi32: Make GDI driver functions cdecl.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-06 21:47:58 +02:00
Ken Thomases 7c2d5a7c25 gdi32: Also accept "\\.\DISPLAY<n>" devices names with <n> other than 1 as display devices.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-25 13:22:17 +02:00
Zhiyi Zhang 955549c4ca gdi32: Implement D3DKMTDestroyDevice.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-06 13:08:45 +02:00
Zhiyi Zhang 733a92df4b gdi32: Implement D3DKMTCreateDevice.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-06 13:08:33 +02:00
Zhiyi Zhang 344556f7d5 gdi32: Implement D3DKMTCloseAdapter.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-06 13:08:12 +02:00
Zhiyi Zhang d37030528e gdi32: Implement D3DKMTOpenAdapterFromGdiDisplayName.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-06 13:08:06 +02:00
Zhiyi Zhang 4f201cfcc9 gdi32/tests: Add D3DKMTCheckOcclusion tests.
Mostly to show that D3DKMTCheckOcclusion is mainly composed of
ownership checks rather than actually window occlusion. Also
composition status doesn't affect its behavior despite MSDN
say so.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-28 12:06:46 +02:00
Zhiyi Zhang bf3e32b5b0 gdi32/tests: Add D3DKMTSetVidPnSourceOwner tests.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-24 12:30:04 +02:00
Zhiyi Zhang af7f3ecd3b gdi32/tests: Add D3DKMTCheckVidPnExclusiveOwnership tests.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-24 12:30:04 +02:00
Zhiyi Zhang 13f649fde5 gdi32/tests: Add D3DKMTDestroyDevice tests.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-24 12:30:04 +02:00
Zhiyi Zhang c7e4e45761 gdi32/tests: Add D3DKMTCreateDevice tests.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-24 12:30:04 +02:00
Zhiyi Zhang 5fdf401fc1 gdi32/tests: Add D3DKMTCloseAdapter tests.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-24 12:30:04 +02:00
Zhiyi Zhang b6072314e5 gdi32/tests: Add D3DKMTOpenAdapterFromHdc tests.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-24 12:30:04 +02:00
Zhiyi Zhang 012d9bbc23 gdi32/tests: Add D3DKMTOpenAdapterFromGdiDisplayName tests.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-24 12:30:04 +02:00
Alexandre Julliard c52b2f1284 make_unicode: Remove duplicate DECLSPEC_HIDDEN.
Spotted by Matteo Bruni.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-24 11:25:38 +02:00
Fabian Maurer 9bc6f004ce gdi32: CreatePolyPolygonRgn() returns an empty region when the area is empty.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46655
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-22 19:16:05 +02:00
Alexandre Julliard ef07087f47 gdi32: Use the same BiDi direction table as usp10.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-22 19:16:05 +02:00
Alexandre Julliard 333e6b3c69 make_unicode: Avoid including wine/unicode.h in generated files.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-22 19:16:05 +02:00
Nikolay Sivov 13364151a4 tools: Update to Unicode 12.0.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-29 18:46:25 +02:00
Michael Stefaniuc 89327da738 gdi32/tests: Avoid the comma operator.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-10 11:13:37 +02:00
Akihiro Sagawa eca601d7bb gdi32/tests: Add tests for GetCharWidthInfo().
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-09 15:46:03 +02:00
Akihiro Sagawa 1128587fd2 gdi32: Implement GetCharWidthInfo().
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-09 15:46:03 +02:00
Piotr Caban 541c8d271e gdi32: Don't use strcasecmp.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-09 15:46:03 +02:00
Alexandre Julliard 3d6febc997 include: Get rid of the DPRINTF() macro.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-08 19:34:44 +02:00
Michael Stefaniuc fe7dcc2908 gdi32: Remove unused return value of init_system_links().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-14 23:52:59 +01:00
Louis Lenders d150cc192e gdi32: Add D3DKMTCloseAdapter() stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46571
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-14 17:43:16 +01:00
Francois Gouget 5f79b5f6e5 gdi32: Fix the FreeType case in a comment.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-12 20:32:41 +01:00
Byeongsik Jeon c666a45560 gdi32: Add a workaround for Freetype < 2.8.1 using v40 FT_LOAD_TARGET_MONO.
Freetype < 2.8.1 v40 has incorrect advance widths and rendering issues.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=41639
Signed-off-by: Byeongsik Jeon <bsjeon@hanmail.net>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-19 13:10:22 +01:00
Dmitry Timoshkov c4a5485295 wineps.drv: PostScript header should be written by StartDoc instead of StartPage.
Otherwise a being created file has wrong signature if an application
directly injects PostScript code. This patch fixes printing from
Adobe PageMaker.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-13 19:45:24 +01:00
Dmitry Timoshkov 7338641e89 wineps.drv: Add stubs for escapes required by Adobe PageMaker.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-13 19:45:24 +01:00
Sergio Gómez Del Real c20285218b gdi32/dibdrv: Clip segment points to dib rect in wide_line_segment().
Signed-off-by: Sergio Gómez Del Real <sdelreal@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-11 11:52:00 +01:00
Byeongsik Jeon 9d92acaa56 gdi32: Add a helper macro for FreeType version check.
Signed-off-by: Byeongsik Jeon <bsjeon@hanmail.net>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-08 12:11:29 +01:00
Byeongsik Jeon 17080cc1f2 gdi32: Add helper functions to get GGO glyph bitmap.
Signed-off-by: Byeongsik Jeon <bsjeon@hanmail.net>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-08 12:11:26 +01:00
Byeongsik Jeon fe5f0ebf0c gdi32: Add helper functions to compute the glyph metrics.
Signed-off-by: Byeongsik Jeon <bsjeon@hanmail.net>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-08 12:11:24 +01:00
Byeongsik Jeon 6c32ce64e9 gdi32: Add helper functions to cache the glyph metrics.
Signed-off-by: Byeongsik Jeon <bsjeon@hanmail.net>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-08 12:11:21 +01:00
Byeongsik Jeon fcfbb00cb1 gdi32: Add a helper function to get the transform matrices.
Signed-off-by: Byeongsik Jeon <bsjeon@hanmail.net>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-07 16:33:35 +01:00
Byeongsik Jeon 40a7c5a8a8 gdi32: Fix vertical rotation.
Missed from cf891b04a0.

Signed-off-by: Byeongsik Jeon <bsjeon@hanmail.net>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-07 16:33:24 +01:00
Michael Stefaniuc 0aea7fc915 gdi32: Avoid TRUE : FALSE conditional expressions.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-06 10:48:04 +01:00
Huw Davies 870db3b25a gdi32/tests: Korean and Chinese machines may use MS Shell Dlg as their default GUI font.
This is an extension of commit c81ff0f8cf.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=35573
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-14 17:25:49 +01:00
Nikolay Sivov a67120f06d gdi32/tests: Fix copy-paste issue with test message (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-07 10:47:20 -06:00
Nikolay Sivov dfcd8f85f1 gdi32: Fix fontconfig objects leak (Valgrind).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-24 14:54:59 +01:00
Huw Davies f59755755e gdi32: Try to update the default families with fonts that exist.
Based on a patch by Akihiro Sagawa.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46285
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46244
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-20 15:34:01 +01:00
Daniel Lehman 3b8fde3f08 gdi32: Fix memory leak (Valgrind).
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-20 15:34:01 +01:00
Huw Davies 54e3bf12cd gdi32: Fix building with versions of fontconfig < 2.11.0.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46296
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-19 14:31:17 +01:00
Dmitry Timoshkov 7933f7beef gdi32: Trace full contents of DOCINFO in StartDoc.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-10 12:21:09 +01:00
Dmitry Timoshkov 9ad2d036aa gdi32/tests: Add a simple test for printing to a PostScript device.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-10 12:21:07 +01:00
Nikolay Sivov cfcfcadfcb gdi32: Fix function prototype when building without freetype.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-03 10:56:25 +01:00
Alex Henrie 235063d862 gdi32: Turn variable 'fake_nameW' into a static constant.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-03 10:49:01 +01:00
Dmitry Timoshkov 007414ec65 gdi32/tests: Explicitly test BeginPath() return value in the metafile path tests.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-29 15:46:19 +01:00
Dmitry Timoshkov 3e9da621a2 gdi32: ExtTextOut on a path with bitmap font selected shouldn't fail.
This just leads to empty path generated.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-29 15:46:12 +01:00
Dmitry Timoshkov 1886ef1419 gdi32/tests: Add some additional tests for ExtExtOut on a path for an EMF DC.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-29 15:46:04 +01:00
Dmitry Timoshkov 57c44885e5 gdi32: Improve detection of symbol charset for old truetype fonts.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=33117
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-29 15:45:43 +01:00
Akihiro Sagawa 11ab9ff7b3 gdi32: Try Fontconfig substitutions when the font face is missing.
This improves font selection. With this patch, we can choose a decent
font family by Fontconfig.

Otherwise, Wine chooses some fonts based on supported charset, e.g. Droid
Sans Fallback. Droid Sans Fallback supports various scripts including
Japanese. However, as it's a fallback font, it doesn't have Latin alphabet
glyphs. If the font is chosen, typically Japanese Ubuntu environment, users
see a lot of squares instead of Latin alphabets.

This patch asks Fontconfig for the best font for the current locale. If the
font is returned and matches requested charset, the font is used. If failure,
it fallbacks to existing procedure.

Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-29 10:04:49 +01:00
Nikolay Sivov 2d6a23bef6 gdi32: Implement GetFontFileData().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-21 20:33:16 +01:00
Nikolay Sivov 93eca9e919 gdi32: Set data size for fonts created from memory.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-21 20:10:57 +01:00
Nikolay Sivov 03ccce70b5 gdi32: Improve GetFontFileInfo() compatibility.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-21 20:10:52 +01:00
Nikolay Sivov 65ef40bff7 gdi32/tests: Run memory resource font test in a child process.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-21 20:10:21 +01:00
Byeongsik Jeon 590c8b82c8 gdi32: Fix the linked child font bold, italic style correctly.
Signed-off-by: Byeongsik Jeon <bsjeon@hanmail.net>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-19 22:42:41 +01:00
Byeongsik Jeon 7da7930a10 gdi32: Specify the suitable hinting flags explicitly.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=41639
Signed-off-by: Byeongsik Jeon <bsjeon@hanmail.net>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-13 10:43:43 +01:00
Nikolay Sivov ce3e220c26 gdi32/tests: Fix some test failures on newer Win10 releases.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-13 10:43:40 +01:00
Byeongsik Jeon 2b52474fdd gdi32: Respect the FC_ANTIALIAS setting for the FC_RGBA_NONE case.
Signed-off-by: Byeongsik Jeon <bsjeon@hanmail.net>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-29 14:49:25 +01:00
Byeongsik Jeon af90ab3259 gdi32: Remove the code that doesn't work as intended around FcFontList().
Signed-off-by: Byeongsik Jeon <bsjeon@hanmail.net>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-29 14:49:24 +01:00
Byeongsik Jeon 2fe859b8ef gdi32: Support other settings for obtaining the default_aa_flags value.
Signed-off-by: Byeongsik Jeon <bsjeon@hanmail.net>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-29 11:30:06 +01:00
André Hentschel e64cd493d2 gdi32: Spelling fixes in a comment.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-23 15:28:58 +02:00
Byeongsik Jeon 649dd1292d gdi32: Support the gamma correction for the subpixel rendering.
Signed-off-by: Byeongsik Jeon <bsjeon@hanmail.net>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-22 22:36:43 +02:00
Akihiro Sagawa 9f458df88c gdi32: Adjust destination coordinates in some special cases.
When the source rectangle needs to flip and it doesn't fit in the
source device area, the destination image is flipped but the
destination area isn't flipped.  GdiAlphaBlend doesn't support
mirroring, the above isn't applicable.

Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 13:55:14 +02:00
Akihiro Sagawa 566b92320c gdi32: Fix negative width/height handling in stretch bitblt family.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 13:55:05 +02:00
Akihiro Sagawa 71c9a8f3ca gdi32/tests: Add more stretch bitblt tests.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 13:54:46 +02:00
Akihiro Sagawa bdfbd32e85 gdi32: Use the helper function to order the points of a rectangle.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-12 09:48:29 +02:00
Byeongsik Jeon fe6d35f3cb gdi32: Move the 'if' branch out of the loop.
Signed-off-by: Byeongsik Jeon <bsjeon@hanmail.net>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-10 17:43:32 +02:00
Byeongsik Jeon 11d68d05a7 gdi32: Remove unnecessary operations.
The rgb part works from text rendering to alpha value.
The '24' part is an unnecessary operation.

Signed-off-by: Byeongsik Jeon <bsjeon@hanmail.net>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-10 17:43:20 +02:00
Byeongsik Jeon 66e446c5ec gdi32: Improves the subpixel rendering availability for FreeType 2.8.1+.
FreeType 2.8.1+ implemented its own subpixel rendering.
So FT_Err_Uniplemented_Feature check is not the reliable way.

Signed-off-by: Byeongsik Jeon <bsjeon@hanmail.net>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-09 12:38:22 +02:00
Michael Stefaniuc fb7a8d92fd gdi32: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-08 12:46:18 +02:00
Michael Stefaniuc 02b7f00a11 gdi32: Avoid a variable holding an ARRAY_SIZE.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-08 12:46:14 +02:00
Alex Henrie 47ab490427 gdi32: Avoid using GCC's typeof extension.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-21 23:58:56 +02:00
Alexandre Julliard d99f682118 gdi32: Don't return screen resolution on printer devices.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-05 19:52:31 +02:00
Alexandre Julliard d0579649c1 gdi32: Fall back to GetSystemMetrics() for the virtual desktop size.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-22 12:57:00 +02:00
Alexandre Julliard 6d395fcca4 gdi32: Fall back to GetSystemMetrics() for the screen size.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-22 11:46:10 +02:00
Daniel Lehman e976e179ae gdi32: Update edgetable limits with top and bottom.
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-18 14:13:43 +02:00
Daniel Lehman 418514820f gdi32/tests: Add test for clipped polygon.
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-18 14:13:43 +02:00
Michael Müller 96721e4291 gdi32: Treat lpResults as optional in GetCharacterPlacement.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-16 10:04:09 +02:00
Alexandre Julliard 766287ad6a server: Return the surface rect as top clipping rect.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-11 15:45:11 +02:00
Alex Henrie 478a3d64ef gdi32: Add DECLSPEC_HOTPATCH to GetDIBits.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45199
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-06 19:44:27 +02:00
Nikolay Sivov d4eeb162bb tools: Update to Unicode 11.0.0.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-03 12:01:40 +02:00
Michael Stefaniuc 314a276f19 gdi32/tests: Use the available ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-26 13:29:10 +02:00
Dmitry Timoshkov c1f742021f gdi32: For symbol fonts check whether the char has been converted to Unicode.
This means that Unicode versions of text functions can use the result
of a A->W conversion under CP_ACP.

It's required so that the following will work:
  hfont = CreateFont("Wingdings", SYMBOL_CHARSET);
  SendMessageA(hwnd, WM_SETFONT, hfont);
  SendMessageA(hwnd, WM_SETTEXT, textA);

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-22 12:45:33 +02:00
Zebediah Figura 7527ab493e gdi32/tests: Test writing to the default palette.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-22 12:45:00 +02:00
Alex Henrie 7c57461d29 gdi32: Fix memory leak on error in PATH_WidenPath (Coverity).
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-04 14:22:36 +02:00
Alex Henrie e3648c7a61 gdi32: Avoid awkward cast in GetGlyphOutlineA (Coverity).
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-01 20:01:28 +02:00
Vincent Povirk b6da3547d8 gdi32: Check that emf records are within the file.
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-09 15:55:01 +02:00
Vincent Povirk 8d2676fd14 gdi32: Check for truncated EMF files.
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-09 15:54:08 +02:00
Alexandre Julliard 60085f4e36 gdi32: Scale stock fonts based on the DPI awareness.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-12 13:50:01 +02:00
Alexandre Julliard 31967ef51d gdi32: Take DPI awareness into account for the LOGPIXELSX/Y device caps.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-12 13:26:31 +02:00
Alexandre Julliard 0188dc7da8 gdi32: Clip the computed region to the DIB rectangle in PolyPolygon().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-04 15:43:52 +02:00
Alexandre Julliard 737a113c10 gdi32: Add a helper function to retrieve the DIB rectangle.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-04 15:43:52 +02:00
Alexandre Julliard 99b64f7432 gdi32: Build the region object directly instead of making a copy in CreatePolyPolygonRgn.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-04 15:43:51 +02:00