Commit Graph

920 Commits

Author SHA1 Message Date
Nikolay Sivov f2090cb415 dwrite/tests: Fix fallback builder test skip.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-22 15:13:06 +02:00
Nikolay Sivov c3252c3774 dwrite: Added custom IDWriteFontFallback stub.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-21 14:04:42 +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 39dbf09b3f dwrite/tests: Added a helper to initialize test text source.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-14 11:22:33 +02:00
Nikolay Sivov 096df5f5ba dwrite: Support DWRITE_TRIMMING_GRANULARITY_WORD mode.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-11 18:43:28 +02:00
Francois Gouget 2f86c81f7f dwrite: Factory_release_cached_fontface() is unused so remove it.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-08 16:23:14 +02:00
Nikolay Sivov 899c622934 dwrite: Fix 8bpp bitmap copy.
Spotted by Matteo.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-07 09:07:03 +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 55aedbffa6 dwrite: Handle 8bpp gray bitmaps for bitmap target.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-05 17:47:31 +02:00
Nikolay Sivov 0ea60ffecd dwrite: Fix proportional spacing method.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-28 14:57:10 +02:00
Nikolay Sivov 1df4e64bbf dwrite: Improve empty contours handling in GetGlyphRunOutline().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-25 08:06:55 +02:00
Nikolay Sivov 1b16af0062 dwrite: Remove unused call.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-25 08:06:42 +02:00
Nikolay Sivov cc49c40f05 dwrite: Set leading text alignment for default trimming sign.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-24 17:46:29 +02:00
Nikolay Sivov d58166d47c dwrite: Don't use drawing effect for trimming signs.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-24 17:46:25 +02:00
Nikolay Sivov 65014bcab5 dwrite/tests: A test to draw trimming sign with drawing effect.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-24 17:46:12 +02:00
Nikolay Sivov 7bac9a025a dwrite/tests: Some tests for system font set.
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 f85def7765 dwrite: Use safer method to set per-factory EUDC collection reference.
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 db9990653c dwrite: Use safer method to set per-factory system collection reference.
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 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 5a70c58acd dwrite: Set drawing effect for trimming sign.
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 7fd7960b9d dwrite: Use more readable names for spacing attributes.
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 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 448e9ce644 dwrite: Use newer enum version to avoid type mismatch (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-24 18:58:31 +02: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 ddb78d73ab dwrite/tests: Use empty text in line metrics test.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-19 19:13:30 +02:00
Nikolay Sivov f4b7e4b5ed dwrite: Added ability to specify multiple families per fallback range.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-19 19:13:30 +02:00
Nikolay Sivov d1199995bf dwrite: Trace user-provided OpenType feature set.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-18 20:43:31 +02:00
Nikolay Sivov cef8a52dea dwrite: Explicitly check rendering parameters pointer passed to DrawGlyphRun().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-17 22:24:05 +02:00
Nikolay Sivov 1e5b9d369b dwrite: Use antialias mode set for bitmap render target.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-17 22:24:01 +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
Jens Reyer b736dbe933 make_unicode: Update data tables to Unicode 10.0.0.
Signed-off-by: Jens Reyer <jre.winesim@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-13 11:44:41 +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
Alistair Leslie-Hughes 136d9928b6 dwrite/tests: Use standard wine_dbgstr_longlong.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-06 08:12:41 +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 842e2e5314 dwrite: Fix locale data buffer length passed to GetLocaleInfoEx().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-15 11:45:21 +02:00
Nikolay Sivov 74a9894819 dwrite/tests: Fix rendering mode variable type (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-15 11:11:38 +02:00
Nikolay Sivov af54ed51b0 dwrite: Fix compilation failure regarding nameless unions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-10 09:23:50 -05:00
Nikolay Sivov 5f7848595f dwrite: Initial support for number substitution.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-10 07:00:00 -05: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
Nikolay Sivov 901914519f dwrite/tests: Fully initialize call sequence test data (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-01 10:05:44 +02: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 0925006822 dwrite: Don't fail in opentype_get_font_strings_from_id if any of font strings got decoded.
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 ace830625d dwrite: Update overhangs rectangle on alignment changes.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-25 08:46:02 +02:00
Nikolay Sivov 7cb57e2ee8 dwrite: Extract supported image formats from 'sbix' table.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-25 08:45:57 +02:00
Nikolay Sivov 1b1488fda7 dwrite: Look for 'SVG ' table too when checking supported formats.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-24 10:02:30 +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 0344c19692 dwrite: Make CreateFontFaceFromHdc() properly fail on unsupported font format.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-19 20:02:54 +02:00
Nikolay Sivov ef31887c40 dwrite/tests: Initial tests for GetGlyphImageFormats().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-19 20:02:54 +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
Nikolay Sivov 74f6c99621 dwrite/tests: Initial tests for IDWriteInMemoryFontFileLoader.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-19 20:02:53 +02:00
Nikolay Sivov 4745565192 dwrite/tests: Test to show that canWrapLineAfter is not fixed up by disabled wrapping.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-19 20:02:53 +02:00
Nikolay Sivov 672ca3d3b8 dwrite: Consistently use common point and rect types.
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 a0b0fac31b dwrite/tests: Test locale name length in DrawGlyphRun().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-10 21:51:39 +02:00
Nikolay Sivov e258917a43 dwrite: Initial implementation of ComputeGlyphOrigins().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-07 18:05:48 +02:00
Nikolay Sivov abfc973c85 dwrite: Fix explicit levels returned for LRE and RLE control characters.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-05 16:17:28 +02:00
Nikolay Sivov 98a8989908 dwrite/tests: Some bidi resolution tests.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-05 16:17:28 +02:00
Nikolay Sivov 862503df70 dwrite/tests: Test number of lines for a failing drawing test.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-05 16:17:27 +02:00
Nikolay Sivov a42a9940cf dwrite: Classify direction control characters as complex.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-05 16:17:27 +02:00
Nikolay Sivov 1809ff9004 dwrite: Use user transform when rendering individual glyphs.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-04 14:54:48 +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 3d7fabf627 dwrite: Fix off by one error in glyph count adjustment.
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 7371325c04 dwrite/tests: Test glyph count for each DrawGlyphRun().
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 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 cfe0f33a4a dwrite/tests: Initial test for HasKerningPairs().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-20 14:04:07 +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 2175cdc306 dwrite: Added support for oblique simulation in bitmap rendering mode.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-13 19:28:57 +01:00
Nikolay Sivov 849b5dd96d dwrite: Set runHeight attribute for underlines.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-23 15:07:46 +01:00
Nikolay Sivov fd6e12af98 dwrite/tests: Test runHeight underline attribute with all available fonts.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-23 15:07:42 +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
Francois Gouget f9ef81b3c0 dwrite/tests: Add a __WINE_ALLOC_SIZE attribute to heap_alloc().
And standardize its parameter name.

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-16 08:31:09 +01:00
Nikolay Sivov e35e0f2b02 dwrite: Fix rendering mode enum conversion warnings.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-03 19:05:11 +01:00
Nikolay Sivov 9c238307cc dwrite: Get rid of assignment to self.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-03 19:05:10 +01:00
Nikolay Sivov cb0b088551 dwrite: Added support for uniform and proportional spacing methods.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-02 19:50:35 +01:00
Nikolay Sivov 3c494e82e3 dwrite: Keep content based line height and baseline separately.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-02 19:50:35 +01:00
Nikolay Sivov eb7edb249b dwrite/tests: Line metrics tests with uniform spacing.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-01 10:33:51 +01:00
Nikolay Sivov 9350e57322 dwrite/tests: More spacing tests with isDiacritic.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-01 10:33:50 +01:00
Nikolay Sivov b9230452ef dwrite/tests: Use shaping properties structure in tests data.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-01 10:33:47 +01:00
Nikolay Sivov b280c3bf2e dwrite: Improve line breaking logic.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-31 15:58:44 +01:00
Nikolay Sivov 76c31950fe dwrite: Added support for DWRITE_WORD_WRAPPING_CHARACTER mode.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-31 15:58:43 +01:00
André Hentschel e07e8293b9 dwrite: Remove dead initialization (clang).
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-31 08:52:02 +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 1e8f554ef9 dwrite: Initial support for line trimming signs.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-26 10:43:12 +01:00
Nikolay Sivov 82d7373318 dwrite: Restructure line wrapping logic, fix the way breaking position is selected.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-26 10:43:10 +01:00
Nikolay Sivov 3871981e3a dwrite: Invalidate layout on box changes.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-26 10:43:08 +01:00
Nikolay Sivov e9ff71f62b dwrite: Remove existing effective runs before evaluating them again.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-26 10:43:06 +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 669d033ee1 dwrite: Use OpenType 1.8 'hhea' table structure.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-25 11:26:27 +01:00
Nikolay Sivov 08a729fc15 dwrite: Use OpenType 1.8 'head' table structure.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-25 11:26:24 +01:00
Nikolay Sivov 274a82b33c dwrite: Let freetype face cache manage lifetime of requested file fragments.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-18 23:07:22 +01:00
Nikolay Sivov 6e356742e3 dwrite: Improve strikethrough and underline thickness extraction logic.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-20 13:02:05 +01:00
Nikolay Sivov 6d0fa4cebc dwrite: Fully initialize shared factory vtable.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-20 13:01:27 +01:00
Nikolay Sivov a7845c312e dwrite/tests: Run GetPanose() tests on all system fonts.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-15 11:29: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 bf23b8a529 dwrite: Use system default locale when filling LOGFONT.lfFaceName.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-07 14:50:19 +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 3ffa9ee082 dwrite/tests: Use defined symbols when testing LOGFONT fields values.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-05 11:46:33 +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 3316f90418 dwrite: Return zeroed fsCsb for OS/2 table of version 0.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-05 11:46:26 +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 4c7e136013 dwrite: Update script list with latest additions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-06 17:40:05 +01: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 1e8a706bc3 dwrite: Update file type and face type enums.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-06 17:39:39 +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 badccd8c7c dwrite/tests: Remove unnecessary font face creation.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-26 23:23:38 +09:00
Nikolay Sivov 1c7a1f8f27 dwrite: Fail stream creation on file mapping failure.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-26 23:23:38 +09:00
Nikolay Sivov 52bbc64a67 dwrite: Handle zero specified weight as normal.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-15 12:55:27 +09:00
Sebastian Lackner 1540a19359 dwrite: Fix font stretch name conversion table.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-15 12:55:25 +09:00
Nikolay Sivov ff57b1febb dwrite: Sanitize specified stretch value, valid range is [1, 9].
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-15 12:55:22 +09:00
Nikolay Sivov 36cce60f8d dwrite/tests: Fix indentation warnings on GCC 6.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-09 23:56:11 +09:00
Nikolay Sivov ff6f31de76 dwrite: Add missing return value check (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-04 09:07:32 -05:00
Michael Stefaniuc b8a3fabc0c dwrite/tests: Use SetRectEmpty() instead of memset().
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-01 20:38:55 -05:00
Nikolay Sivov fe2aa15516 dwrite: Added missing script tags.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-25 19:36:08 +09:00
Nikolay Sivov 43c61820fb dwrite: Update to DWRITE_LINE_METRICS1.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-25 19:36:06 +09:00
Nikolay Sivov 32c1ef019a dwrite: Only invalidate lines if line spacing changed.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-25 19:36:04 +09:00
Nikolay Sivov 9ec714db5d dwrite: Implement newer SetLineSpacing/GetLineSpacing.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-25 19:36:01 +09:00
Nikolay Sivov 4f01bee4c8 dwrite: Filter invalid weight in SetFontWeight().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-20 11:04:02 +09:00
Nikolay Sivov 02773e1f15 dwrite/tests: A couple of tests for matching with invalid font properties.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-20 11:04:00 +09:00
Nikolay Sivov 0973f4655a dwrite: Implement GetOverhangMetrics() for trimming sign.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-20 11:03:58 +09:00
Nikolay Sivov e5fb775142 dwrite: Implement SetTrimming() for layout.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-19 09:52:26 +09:00
Nikolay Sivov fee64bed45 dwrite: Validate CreateTextFormat() arguments.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-18 19:31:02 +09:00
Nikolay Sivov 84a36f27b8 dwrite: Use more intuitive naming for layout stages.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-18 19:30:59 +09:00
Nikolay Sivov 3fa7ff671c dwrite: Ignore fonts with dot-prefixed names.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-15 19:56:40 +09: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 c4d08275d0 dwrite: Check all 'vert' lookups, not just the first one.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-07 11:17:59 +09:00
Nikolay Sivov cedd95e2a8 dwrite: Fix recently added script properties.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-05 23:22:05 +09:00
Nikolay Sivov bf211623fd dwrite: Implement another CreateFontFace() variant.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-05 23:22:05 +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
Nikolay Sivov 90bcff0eae dwrite: Return some of font properties from IDWriteFontFace3 methods.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-05 23:22:04 +09:00
Nikolay Sivov 29abc7f172 dwrite: Keep original script for NO_VISUAL case.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-04 17:41:04 +09:00