Commit Graph

172 Commits

Author SHA1 Message Date
Nikolay Sivov 9808b91df7 dwrite: Update to IDWriteFontFace5.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-02 22:02:57 +01:00
Nikolay Sivov cd4101dbba dwrite: Update to IDWriteFontFallback1.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-09 10:44:22 +02:00
Nikolay Sivov 3360dfec40 dwrite: Update to IDWriteFontCollection3.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-08 13:48:39 +02:00
Nikolay Sivov c435eb5c51 dwrite: Sort localized strings by locale name.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-23 10:16:00 +02:00
Nikolay Sivov 421c83cd7b dwrite: Improve returned design glyph metrics.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-13 13:46:24 +02:00
Nikolay Sivov 808152b73b dwrite: Fix positions in outline mode.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-08 12:11:48 +01:00
Nikolay Sivov d1642df049 dwrite: Implement cursive attachment, GPOS lookup 3.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-04 15:38:19 +01:00
Nikolay Sivov 623f059b07 dwrite: Implement single adjustment, GPOS lookup 1.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-04 15:38:15 +01:00
Nikolay Sivov cb39c9853c dwrite: Implement masking with positional lookup flags.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-31 13:26:41 +01:00
Nikolay Sivov b57db6f8fe dwrite: Collect and sort positional lookups.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-31 13:26:32 +01:00
Nikolay Sivov 3d1d9a1def dwrite: Resolve script and language to apply positional features.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-31 13:26:27 +01:00
Nikolay Sivov d1c7348997 dwrite: Add a helper to get shaped glyph positions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-31 13:26:21 +01:00
Nikolay Sivov 2ca9aa16b2 dwrite: Validate 'VDMX' data before using it.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-29 10:20:50 +01:00
Nikolay Sivov e6967c513d dwrite: Validate 'CBLC' data before using it.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-29 10:20:45 +01:00
Nikolay Sivov 1ee9685003 dwrite: Validate 'COLR' data before using it.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-29 10:20:38 +01:00
Nikolay Sivov 1c99186c88 dwrite: Validate 'CPAL' data before using it.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-28 10:25:24 +01:00
Nikolay Sivov 471611b575 dwrite: Validate 'gasp' data before accessing it.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-28 10:25:22 +01:00
Nikolay Sivov 2dcb3c7451 dwrite: Validate font data when retrieving supported unicode ranges data.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-28 10:25:20 +01:00
Nikolay Sivov d933afc4a4 dwrite/layout: Improve overhangs metrics computation.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-25 23:09:08 +01:00
Nikolay Sivov 95a83bc942 dwrite: Use helper to trace 4 byte tags.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-25 23:09:08 +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
Michael Stefaniuc 962b31c80b include: Add a generic available ARRAY_SIZE().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-04 10:39:15 +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
Michael Stefaniuc b01b1383d9 dwrite: Use the global HeapAlloc() wrappers.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-30 10:00:03 +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
Nikolay Sivov 9bf92459d3 dwrite: Implement AnalyzeContainerType().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-09 15:24: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 3acbf50068 dwrite: Added IDWriteFontFallbackBuilder stub.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-20 20:04:27 +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 072a9b00cf dwrite: Split initial cluster computation by stage.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-24 08:41:19 +09: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 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 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 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
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 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 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
Francois Gouget e99d22fdcc dwrite: Add __WINE_ALLOC_SIZE attributes to heap_xxx() functions.
And standardize their parameter names.

Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-21 13:36:48 +01:00
Nikolay Sivov 426a5d4a5f dwrite: Implement GetOverhangMetrics().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-27 16:31:41 +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 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 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 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
Nikolay Sivov b6bb4c1b92 dwrite: Partially implement GetSystemFontCollection().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-08 11:52:58 +09:00
Nikolay Sivov e30607fdb0 dwrite: Implement HasVerticalGlyphVariants().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-05 23:22:04 +09:00