Commit Graph

287 Commits

Author SHA1 Message Date
Nikolay Sivov d19e34d8f0 dwrite: Release file streams when building collections.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-31 16:17:36 +01:00
Nikolay Sivov 7e0d10250c dwrite: Multiply run analysis transform by dpi scale factor.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-16 15:24:39 +02:00
Nikolay Sivov f3908ad676 dwrite: Support IDWriteFontList1 for font families.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-22 00:05:26 +02:00
Nikolay Sivov d31651b705 dwrite: Use ARRAY_SIZE() macro.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-21 09:24:48 +01:00
Nikolay Sivov aa9fc63514 dwrite: Reuse streams when initializing font data and creating faces.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-18 15:37:48 +02:00
Huw Davies 625293289c dwrite: Avoid using RegQueryInfoKey().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-16 15:26:40 +02:00
Nikolay Sivov fb8226f639 dwrite: Implement IDWriteInMemoryFontFileLoader.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-06 21:48:49 +02:00
Nikolay Sivov 43c16a25eb dwrite: Use single per-process local file loader.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-25 22:21:41 +02:00
Nikolay Sivov e1a41faf76 dwrite: Add warning message for unsupported interfaces.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-22 15:13:10 +02:00
Nikolay Sivov c4917bdbdf dwrite: Use 8bpp bitmaps in grayscale mode.
Problem analyzed by Kimmo Myllyvirta.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-05 17:47:34 +02:00
Nikolay Sivov 0a63390841 dwrite: Validate buffer size passed to CreateAlphaTexture() against analysis texture type.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-05 17:47:32 +02:00
Nikolay Sivov eb212c1939 dwrite: Simplify GetFontSignature().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-20 09:20:54 +09:00
Nikolay Sivov b93d9d93e7 dwrite: Added a helper to check for supported characters.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-20 09:20:51 +09:00
Nikolay Sivov fb5079d887 dwrite: Protect cached fontface list when accessed from multiple threads.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-20 09:20:48 +09:00
Nikolay Sivov addd8e69ff dwrite: Fix cache entry use-after-free (Valgrind).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-20 18:55:25 +02:00
Nikolay Sivov d06443d659 dwrite: Print missing table message as a trace.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-20 18:55:21 +02:00
Nikolay Sivov e1f191e343 dwrite: Improve rendering parameters validation.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-17 22:23:50 +02:00
Nikolay Sivov 18fe44c7af dwrite: Avoid repeated method calls during run rendering.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-11 18:25:36 +02:00
Nikolay Sivov 7524db8937 dwrite: Grab font data reference when adding replacement.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-30 11:14:44 +02:00
Nikolay Sivov a7aca059f2 dwrite: Update to IDWriteFactory5.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-07 16:20:50 -05:00
Piotr Caban 4d02f2fed6 dwrite: Fix EUDC font collection use after free issue.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-27 19:00:25 +02:00
Piotr Caban e98cdc3215 dwrite: Don't crash on uninitialized cached and factory fields in dwritefontface_Release.
The function may be called with the fields uninitialized from
create_fontface when init_font_data fails.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-27 19:00:25 +02:00
Nikolay Sivov b0f50e7e5b dwrite: Partially implement GetGlyphImageFormats().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-21 13:58:13 +02:00
Nikolay Sivov 9bf9a9590a dwrite: Added a helper to avoid extra traces from one method calling another.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-20 18:58:46 +02:00
Nikolay Sivov 5b07cfc13e dwrite: Handle allocation failure when duplicating reference key.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-20 18:58:46 +02:00
Nikolay Sivov 533d3b904e dwrite: Trace QueryInterface fontface calls on failure (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-19 20:02:53 +02:00
Michael Stefaniuc 5a4cb67db9 dwrite: Use SetRectEmpty() instead of memset().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-12 19:03:14 +02:00
Nikolay Sivov d5d863597d dwrite: Fix file object leak.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-11 14:59:25 +02:00
Nikolay Sivov f5b6563bec dwrite: Pass index directly to font and family creation helpers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-11 14:59:24 +02:00
Nikolay Sivov be5a4656bd dwrite: Improve font objects refcounting.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-11 14:59:21 +02:00
Nikolay Sivov b66f187e24 dwrite: Use scaled font size in glyph run analysis.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-04 14:54:46 +02:00
Nikolay Sivov da697572dc dwrite: Use transformed glyph origins in glyph run analysis.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-04 14:54:44 +02:00
Nikolay Sivov cc25929d3a dwrite: Added missing max bitmap size initialization.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-03 12:00:04 +02:00
Nikolay Sivov 89d074a3fc dwrite: Allocate glyph buffer once per run rendering pass.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-30 22:06:32 +02:00
Nikolay Sivov a46b81a478 dwrite: Simplify requested texture type validation in IDWriteGlyphRunAnalysis.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-30 22:06:32 +02:00
Nikolay Sivov 82509d7c15 dwrite: Handle allocation failure for main run bitmap.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-23 15:14:46 +01:00
Nikolay Sivov c3b108e54b dwrite: Fix a typo to actually return kerning pair adjustments.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-15 22:06:38 +01:00
Nikolay Sivov 1188579cb5 dwrite: Use version neutral variable name.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-15 22:06:36 +01:00
Nikolay Sivov 7d18bbe860 dwrite: Added support for bold simulation.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-15 22:06:34 +01:00
Nikolay Sivov c32a19f198 dwrite: Implement another variant of CreateGlyphRunAnalysis().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-26 10:43:03 +01:00
Nikolay Sivov 93829e4b2b dwrite: Fix a typo in assertion condition (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-12 19:14:19 +01:00
Nikolay Sivov c22b2192e5 dwrite: Improve ConvertFontFaceToLOGFONT using same logic IDWriteFont uses.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-07 14:50:29 +01:00
Nikolay Sivov 17586e3082 dwrite: Improve face name returned by ConvertFontToLOGFONT().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-05 11:46:35 +01:00
Nikolay Sivov da11bee6c7 dwrite: Improve lfWeight values returned by ConvertFontToLOGFONT().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-05 11:46:31 +01:00
Nikolay Sivov a7fd13c244 dwrite: Fix lfItalic flag as returned by ConvertFontToLOGFONT().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-05 11:46:28 +01:00
Nikolay Sivov 93ac04d608 dwrite: Skip entries prefixed with '@' in system font file enumerator.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-02 11:43:14 +01:00
Nikolay Sivov 89565b5e1e dwrite: Make it clear that wine_dbgstr_longlong() output is in hex.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-16 13:20:17 -06:00
Nikolay Sivov 9103ee4c66 dwrite: Set fontface pointer and font size for returned color glyph run.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-06 17:39:41 +01:00
Nikolay Sivov 9bf1114d71 dwrite: Update to IDWriteFontFace4.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-30 17:07:38 +01:00
Nikolay Sivov 988cf549fc dwrite: Update to IDWriteFactory4.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-11 16:59:33 +02:00