Commit Graph

2029 Commits

Author SHA1 Message Date
Akihiro Sagawa 79ab7456ed gdi32: Fixup the internal ntmFlags for bitmap fonts.
The value is used not for APIs, but for our fake-bold implementation.

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>
2016-01-05 11:48:47 +01:00
Akihiro Sagawa 37fdc50097 gdi32/tests: Add font advance tests for synthetic bold face with scaling.
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>
2016-01-05 11:48:44 +01:00
Akihiro Sagawa 6cd42f3df7 gdi32/tests: Refactor test_fake_bold_font() to avoid code duplications.
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>
2016-01-05 11:48:41 +01:00
Nikolay Sivov 1aa53bc470 gdi32: Initialize 'param' field (Coverity).
For consistency with the rest of the code, initialize both
'free' and 'param' fields.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-22 10:46:35 +01:00
Andrey Melnikov d4d304f436 gdi32: Handle NULL filename in GetICMProfileA().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Andrey Melnikov <temnota.am@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-21 18:18:45 +01:00
Nikolay Sivov f0223182af gdi32/tests: Some tests for GetICMProfile().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-15 09:12:40 +01:00
Alexandre Julliard eddc4609ec gdi32: Fix StretchDIBits color mapping for monochrome bitmaps without a color table.
This is the equivalent of df924f6a8c for
the StretchDIBits case.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-04 21:56:20 +09:00
Alexandre Julliard 89f12fc101 gdi32: Periodically flush a window surface if the app is continuously painting.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-27 20:53:31 +09:00
Sebastian Lackner a1790df348 gdi32: Add check for NULL pointer in dibdrv_wglDescribePixelFormat.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-26 23:57:49 +09:00
Nikolay Sivov 0e92f07f41 gdi32/tests: Some empty string tests for GetTextExtentPoint.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-16 17:09:31 +09:00
Qian Hong e50cd3b06b gdi32: Initialize system font link registry.
Signed-off-by: Qian Hong <qhong@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-09 23:10:06 +09:00
Huw Davies 3d58c354ae gdi32: Take into account the mask's offset.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-03 21:11:26 +09:00
Anton Baskanov 18dc14ed9a gdi32: Return default palette entries from GetSystemPaletteEntries for non-palette-based devices.
Signed-off-by: Anton Baskanov <baskanov@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-21 19:19:09 +09:00
Dmitry Timoshkov d774442e8d gdi32: Fix heap corruption.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-21 00:25:34 +09:00
Sebastian Lackner 04bd68409a gdi32: Use RtlIsCriticalSectionLockedByThread to check lock owner.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-11 13:47:40 +09:00
Nikolay Sivov 819d36786e gdi32: Improve structure layout of data returned by GetFontRealizationInfo().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-09 13:00:32 +09:00
Aric Stewart fc94e5dd5f gdi32/tests: Mark Hebrew stock font test as different, like Arabic.
Signed-off-by: Aric Stewart <aric@codeweavers.com>
2015-10-06 00:01:56 +09:00
Michael Müller cde2fbb08e gdi32: Make BitBlt and StretchDIBits hotpatchable.
Signed-off-by: Michael Müller <michael@fds-team.de>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
2015-10-05 22:27:13 +09:00
Nikolay Sivov 6f7dfe2cea gdi32: Implement GetFontFileInfo().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2015-10-05 22:27:11 +09:00
Aric Stewart 781b88b7c5 gdi32/tests: Expand tests skipped in Arabic to also skip in Hebrew.
Signed-off-by: Aric Stewart <aric@codeweavers.com>
2015-10-01 23:29:57 +09:00
Nikolay Sivov 7f4c158a39 gdi32: Return font ids from GetFontRealizationInfo(). 2015-10-01 23:00:24 +09:00
Ken Thomases a05cdaa1b8 gdi32: Antialias fake bold or italic fonts regardless of GASP table.
If the client requests a bold typeface of a font which doesn't actually provide
a bold typeface, Wine fakes it using FT_Outline_Embolden().  Likewise, it fakes
italic by apply a shear transform.

These techniques work passably when antialiasing is in effect.  However, when
antialiasing is disabled at small sizes by the font's GASP table, the results
are horrible.  The glyphs have many spurs or appear furry.

On the theory that fonts disable antialiasing via the GASP table at small sizes
because hinting should produce pixel-perfect results and that that rationale is
voided by the application of procedural bolding or italicizing, we ignore the
GASP table and always antialias for fake bold or italic fonts.

There is a new registry setting to disable this and revert to the previous
behavior:

[HKEY_CURRENT_USER\Software\Wine\Fonts]
"AntialiasFakeBoldOrItalic"="n"

Signed-off-by: Ken Thomases <ken@codeweavers.com>
2015-10-01 16:31:54 +09:00
Nikolay Sivov af5884ffe5 gdi32/freetype: Handle fonts with broken usWinDescent values. 2015-10-01 16:29:40 +09:00
Nikolay Sivov efb8afcfdc gdi32/tests: Avoid excessive traces for fonts with OS/2 version 4 tables. 2015-09-11 16:05:23 +09:00
Alexandre Julliard 58fe3afff5 gdi32: Add an intermediate pointer to avoid a compiler warning. 2015-09-10 19:47:24 +09:00
Gerald Pfeifer 775de7922e gdi32: Avoid two cases of shift overflow in get_glyph_indices. 2015-09-08 15:10:59 +09:00
Alistair Leslie-Hughes 8348c0ebe0 gdi32/tests: Add enhanced metafile GetPath test. 2015-09-01 21:12:10 +09:00
Nikolay Sivov 7889b17425 gdi32: Added GetFontRealizationInfo() export. 2015-09-01 19:28:16 +09:00
Nikolay Sivov adb0f582e0 gdi32/tests: Add names to data structure GetFontRealizationInfo returns, explicitly test with older variant fields. 2015-09-01 19:27:20 +09:00
Huw Davies 5021e91940 gdi32/tests: 64-bit GetFontFileInfo may fail with error ERROR_NOACCESS. 2015-08-20 20:35:20 +09:00
Huw Davies 76c321d5e6 gdi32: Add tests for GetFontRealizationInfo, GetFontFileInfo and GetFontFileData. 2015-08-17 14:52:15 +09:00
Francois Gouget f8a7d6ed74 Assorted spelling fixes. 2015-08-07 23:50:48 +09:00
Daniel Lehman 22c51eeabf gdi32: Check for NULL pointer in GetOutlineTextMetrics. 2015-07-28 13:41:46 +02:00
Dmitry Timoshkov 50b6b376cb gdi32: EnumFontFamilies should enumerate substituted fonts only when directly asked for. 2015-07-17 19:29:10 +09:00
Dmitry Timoshkov 5289c9fd92 gdi32: Add a test for enumerating substituted fonts.
EnumFontFamilies(NULL) should not enumerate substituted fonts,
but EnumFontFamilies("MS Shell Dlg") should do.
2015-07-17 19:28:32 +09:00
Jactry Zeng c015447d07 gdi32: Add multiple font replacement support. 2015-07-17 16:40:29 +09:00
Jactry Zeng cb59350ed9 gdi32: Add a helper to map font replacement. 2015-07-17 16:40:29 +09:00
Nikolay Sivov d5c9a8a57a gdi32: Clarify offsets and sizes in vdmx table lookup code. 2015-06-30 14:36:41 +09:00
Nikolay Sivov 7ebdd58556 gdi32: Add a separate helper to load FT_Short values (Coverity). 2015-06-29 19:07:45 +09:00
Nikolay Sivov 885394bb0a gdi32/freetype: Properly handle loading of FT_Long-sized types (Valgrind). 2015-06-22 19:16:48 +09:00
Huw Davies c81ff0f8cf gdi32/tests: Japanese Win 7 uses MS Shell Dlg as its default GUI font. 2015-06-19 20:14:38 +09:00
Huw Davies 002cf965e1 gdi32/tests: Fix Courier test on Arabic locales. 2015-06-18 21:41:02 +09:00
Nikolay Sivov ce58518c6e gdi32: Return GCP_USEKERNING if font has kerning pairs support. 2015-06-08 15:29:53 +09:00
Thomas Faller 9244cac3af gdi32: Prevent unneeded operations by flag check. 2015-06-04 15:57:41 +09:00
Huw Davies 0c1f329053 gdi32: Prevent the underline / strikeout width getting rounded to zero. 2015-05-19 19:24:43 +09:00
Francois Gouget 150d920310 gdi32/tests: Silence some font traces that generate too many lines. 2015-05-11 15:19:04 +09:00
Patrick Rudolph d2a91a3aed gdi32: Add stub functions. 2015-04-17 17:32:46 +09:00
Bruno Jesus 5c323a540c gdi32: Support negative count values in GetBitmapBits. 2015-04-08 16:23:49 +09:00
Thomas Faber 8a390c8661 gdi32: Avoid uninitialized variable use in EnumEnhMetaFile (MSVC). 2015-03-30 20:05:16 +09:00
Michael Stefaniuc 8293cf33e0 gdi32: Remove double parentheses, not a misplaced pair (PVS-Studio). 2015-03-06 20:32:00 +09:00