Dmitry Timoshkov
b9307cfa61
gdiplus: Create FontFamily objects only once for the FontCollection.
...
.Net 4.7+ depends on this behaviour and expects to be able to do pointer
equality tests for FontFamily objects.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-02 16:21:45 +01:00
Alexandre Julliard
a22d613321
gdiplus: Build with msvcrt.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-05 08:32:33 +02:00
Sven Baars
3d5036e317
gdiplus: Fix a memory leak (Valgrind).
...
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-19 22:13:44 +01:00
Nikolay Sivov
455de70201
gdiplus: Skip failed font family when building system collection.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-01 21:50:57 +01:00
Nikolay Sivov
4aaa94111b
gdiplus: Return actual code on failed attempt to add a font.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-01 21:50:57 +01:00
Nikolay Sivov
8463159344
gdiplus: Use ARRAY_SIZE() macro.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-14 23:51:27 +02:00
Fabian Maurer
89366f740f
gdiplus: In GdipPrivateAddMemoryFont allow loading fonts with long names.
...
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-30 20:44:33 +01:00
Owen Rudge
36c9ac3968
gdiplus: Check for null in GdipGetFontHeight.
...
Signed-off-by: Owen Rudge <orudge@codeweavers.com>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-08 21:40:31 +01:00
Vincent Povirk
50185949d8
gdiplus: Create the FontFamily before checking for duplicates.
...
Sometimes GdipCreateFontFamilyFromName stores a different name in the
GpFontFamily object, which breaks the duplicate check.
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-02 11:43:03 +01:00
Vincent Povirk
0d6a4b06f9
gdiplus: Don't include rotated fonts in the installed font collection.
...
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-02 11:42:57 +01:00
Sebastian Lackner
ffa467691d
gdiplus: Use helper function for remaining HeapFree calls.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-29 10:49:20 +09:00
Sebastian Lackner
ff1b209be8
gdiplus: Use helper function for HeapAlloc calls.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-29 10:49:14 +09:00
Sebastian Lackner
aa70a90c6e
gdiplus: Do not use GdipAlloc and GdipFree in internal functions.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-11 13:44:22 +09:00
Dmitry Timoshkov
50b6b376cb
gdi32: EnumFontFamilies should enumerate substituted fonts only when directly asked for.
2015-07-17 19:29:10 +09:00
Vincent Povirk
137128fa50
gdiplus: Fonts in UnitWorld shouldn't be scaled to the page unit.
2015-03-23 16:20:39 +09:00
Nikolay Sivov
62502d0670
gdiplus: Properly delete a DC.
2014-04-21 10:40:09 +02:00
Dmitry Timoshkov
e7f6d77919
gdiplus: Implement GdipPrivateAddFontFile.
2013-11-06 12:01:55 +01:00
Piotr Caban
f37027a947
gdiplus: Add support for more string formats while getting font name.
2013-07-08 15:15:43 +02:00
Dmitry Timoshkov
97b92fe12c
gdiplus: Use an off-screen DC for font enumeration.
2013-02-20 18:21:18 +01:00
Dmitry Timoshkov
0a81a34643
gdiplus: Avoid GdipCloneMatrix calls for the graphics transformation matrix.
2012-11-07 11:58:27 +01:00
Dmitry Timoshkov
84ea75f1c6
gdiplus: GdipGetLogFont should use device scale and transform when appropriate.
2012-10-26 16:48:53 +02:00
Dmitry Timoshkov
71eb164482
gdiplus: Move internal helper get_log_fontW() out of public GdipGetLogFontW() export.
2012-10-26 16:47:01 +02:00
Dmitry Timoshkov
691be74f17
gdiplus: Take into account font substitution in GdipCreateFontFromLogfont.
2012-09-27 20:49:37 +02:00
Dmitry Timoshkov
65a966de76
gdiplus: Take into account font substitution in GdipCreateFontFamilyFromName.
2012-09-27 20:49:29 +02:00
Dmitry Timoshkov
f8b1154226
gdiplus: GdipGetLogFontW should transform returned font height using font and device unit/resolution/scale.
2012-08-14 16:41:55 +02:00
Dmitry Timoshkov
9288acda1d
gdiplus: GdipGetFontHeight should convert height from font to device units.
2012-07-18 17:17:38 +02:00
Dmitry Timoshkov
ed8a3304c4
gdiplus: Factor out units_to_pixels() helper.
2012-07-18 17:17:31 +02:00
Dmitry Timoshkov
ac38e69a92
gdiplus: Accept wider range of fonts.
2012-06-14 19:16:00 +02:00
Dmitry Timoshkov
a4f79c347e
gdiplus: Use font emSize to map to pixel size instead of using gdi32 font metrics.
2012-05-21 11:34:37 +02:00
Dmitry Timoshkov
5e4d64d18e
gdiplus: Create 'const' friendly internal entries for font APIs.
2012-05-14 17:49:02 +02:00
Dmitry Timoshkov
83e88af325
gdiplus: Fetch font family metrics from truetype font data.
2012-05-11 15:43:42 +02:00
Dmitry Timoshkov
c626528a91
gdiplus: Use OUTLINETEXTMETRIC instead of LOGFONT to store GpFont metrics.
2012-05-11 15:42:09 +02:00
Dmitry Timoshkov
915cd7b5b2
gdiplus: Use appropriate accessors to calculate font height instead of accessing GpFont internals directly.
2012-05-11 15:40:41 +02:00
Dmitry Timoshkov
54b69043eb
gdiplus: Derive GpFont from GpFontFamily.
2012-05-09 12:03:33 +02:00
Dmitry Timoshkov
542e30b531
gdiplus: Add more traces to font APIs.
2012-05-01 14:45:38 +02:00
Dmitry Timoshkov
1e12570d72
gdiplus: Use symbolic name of the font style.
2012-04-24 19:10:42 +02:00
Dmitry Timoshkov
e43fce0da9
gdiplus: Do not rely on an enumerated font size being equal to otmEMSquare.
2012-04-24 18:42:17 +02:00
Dmitry Timoshkov
44ec1a2e52
gdiplus: Use symbolic names of font styles.
2012-04-23 11:40:52 +02:00
Dmitry Timoshkov
9b5b04c1c1
gdiplus: Avoid saving negative values in pixel_size and emSize.
2012-04-23 11:40:37 +02:00
Francois Gouget
4c13e84a7c
gdiplus: Use Liberation Mono as a fallback for Courier New for the monospace family.
2011-09-13 11:27:42 +02:00
Vincent Povirk
11f0662c60
gdiplus: Don't settle on a font size until absolutely necessary.
...
When we create a new font, we should store its height in a REAL field so
we don't have to round it. Further, when we calculate the width, we should
base the calculation on the metrics of a font at the height we will use, to
prevent rounding errors when the graphics transform will enlarge the font.
2011-04-05 13:36:56 +02:00
Vincent Povirk
ca5b5d2a05
gdiplus: Fall back to Liberation Serif if Times New Roman is missing.
2011-03-30 13:28:04 +02:00
Francois Gouget
769dcd8447
gdiplus: Make load_ttf_name_id() static.
2011-03-16 14:14:23 +01:00
Maarten Lankhorst
8794f8f708
gdiplus: Implement in-memory font storage.
2011-02-22 12:27:59 +01:00
Vincent Povirk
cb21d1caf4
gdiplus: Don't rely on an HDC in GdipGetFontHeight.
2010-11-01 11:33:31 +01:00
Vincent Povirk
5694825ae3
gdiplus: Return copies of fonts from GdipGetFontCollectionFamilyList.
2010-07-19 14:49:07 +02:00
Vincent Povirk
b7c9adcd06
gdiplus: Implement GdipIsStyleAvailable.
2010-05-10 10:02:24 +02:00
Vincent Povirk
531219f84d
gdiplus: Do not create FontFamilies for bitmap fonts.
2010-04-16 12:01:42 +02:00
Vincent Povirk
049aa8dacd
gdiplus: Ensure GdipGetGenericFontFamilySansSerif returns a truetype font.
2010-04-16 12:01:39 +02:00
Vincent Povirk
541d7a5ab2
gdiplus: Print the GdipGetFamilyName FIXME only once.
2010-04-09 18:35:00 +02:00