Nikolay Sivov
c4d9176196
dwrite: Recognize CFF2 table as CFF variant.
...
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
d8e42057e0
dwrite: Recognize CBLC/CBDT image formats.
...
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
c6a1fdcc0d
dwrite: Read whole table directory with a single call when looking for table entry.
...
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
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
4236c47023
dwrite/tests: Some more tests for in-memory loader.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-05 19:33:08 +02:00
Huw Davies
cd746afd0d
dwrite: Use the correct array index.
...
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-02 13:23:34 +02:00
Nikolay Sivov
3fbc00b593
dwrite: Consider inline objects overhang metrics for overall layout overhang metrics.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-02 10:14:13 +02:00
Jacek Caban
850b67f28f
dwrite: Properly free mappings in fontfallbackbuilder_Release.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-02 10:14:13 +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
8dc81ed2a4
dwrite: Implement AddMapping().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-22 15:13:17 +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
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
Nikolay Sivov
c38be91061
dwrite: Improve script mapping generation.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-04 17:41:00 +09:00
Marcus Meissner
64ccbcbf2f
dwrite: Use correct collection (Coverity).
...
Signed-off-by: Marcus Meissner <marcus@jet.franken.de>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-03 10:20:02 +09:00
Nikolay Sivov
bbb9bbdbdb
dwrite: Update line breaking algorithm according to Unicode 9.0.0 specification.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-23 12:02:09 +09:00
Nikolay Sivov
58e0972c5c
Update data tables to Unicode 9.0.0.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-22 22:09:28 +09:00
Nikolay Sivov
bee56c33c5
dwrite: Don't bother going through fallback for non-visual runs.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-17 12:23:49 +09:00
Nikolay Sivov
0e913c4abc
dwrite: Trace script name in shaping methods.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-17 00:09:20 +09:00
Nikolay Sivov
96cc50e1d0
dwrite/tests: Fix some leaks in tests (Valgrind).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-14 01:03:00 +09:00
Nikolay Sivov
f1079fe162
dwrite: Fix invalid read when building zero length text layout (Valgrind).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-14 01:02:59 +09:00
Nikolay Sivov
69caad4469
dwrite: Implement IDWriteFontFace3::GetRecommendedRenderingMode().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-07 12:32:21 +09:00
Nikolay Sivov
c43a3d48af
dwrite: Fix font data array leak on list release (Valgrind).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-30 11:10:24 +09:00
Nikolay Sivov
a940ab325a
dwrite: Resolve BNs and embedding and override formatting characters to preceding level.
...
Mirrors commit 71cabaa4b9
.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-21 00:53:51 +09:00
Nikolay Sivov
e0e937e19a
dwrite: Be prepared for 0 face_id passed to face requester.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-18 19:39:19 +09:00
Nikolay Sivov
474033a4b8
dwrite/tests: Remove unused functions (Clang).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-18 10:36:20 +09:00
Nikolay Sivov
a3e3dfcef2
dwrite/tests: Simplify refcount check a bit.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-18 10:36:14 +09:00
Nikolay Sivov
a935716f1d
dwrite/tests: Get rid of global script analysis variable.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-17 11:49:21 +09:00
Nikolay Sivov
cc610a0933
dwrite: Don't reset advances if original and modified advances are the same array.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-17 11:49:16 +09:00
Nikolay Sivov
7119c50940
dwrite/tests: Couple more tests for IDWriteNumberSubstitution creation.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-17 11:49:12 +09:00
Francois Gouget
b62c76207f
dwrite: Notify_factory_fallback_removed() is unused so remove it.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-16 15:32:30 +09:00
Nikolay Sivov
c5259f72e3
dwrite: Implement IDWriteFontFamily1::GetFontFaceReference().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-06 11:45:25 +09:00
Nikolay Sivov
e82cf8aa70
dwrite: Implement IDWriteFontList1::GetFontFaceReference().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-06 11:45:25 +09:00
Nikolay Sivov
51154acb6a
dwrite: Implement IDWriteFontList1::GetFont().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-06 11:45:25 +09:00
Nikolay Sivov
890312ccfd
dwrite: Validate simulation flags and fail face/reference creation.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-05 20:40:29 +09:00
Nikolay Sivov
bda5f57008
dwrite: Fix reference equality condition.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-05 20:40:24 +09:00
Nikolay Sivov
ca99107daa
dwrite/tests: A test for references returned from IDWriteFontFace3.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-05 20:40:20 +09:00
Nikolay Sivov
2b96276183
dwrite: Use common structure to pass stream/facetype/index data around.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-05 01:27:51 +09:00
Nikolay Sivov
5dc5bb7580
dwrite: Implement GetFontSignature().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-05 01:27:51 +09:00
Nikolay Sivov
dcfd21cfb2
dwrite: Make IDWriteGdiInterop1 a part of a factory.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-04 01:03:28 +09:00
Michael Stefaniuc
41729840e4
dwrite: Use SetRect() instead of open coding it.
...
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-05-04 01:03:28 +09:00
Michael Stefaniuc
a5e2bd5902
dwrite/tests: Use SetRect() instead of open coding it.
...
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-05-04 01:03:28 +09:00
Nikolay Sivov
5fb8acc536
dwrite: For object creation helpers with many arguments pack them in structures.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-27 19:43:08 +09:00
Louis Lenders
938cd952ad
dwrite: Print a FIXME only once in dwritetextanalyzer_AnalyzeNumberSubstitution.
...
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-26 21:36:13 +09:00
Nikolay Sivov
8a6c1d99c3
dwrite: Implement newer version of CreateFontFromLOGFONT().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-22 22:33:38 +09:00
Nikolay Sivov
d9c446050a
dwrite: Implement IDWriteFont3::GetFontFaceReference().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-21 15:34:44 +09:00
Nikolay Sivov
9777c77a57
dwrite: Implement IDWriteFont3::HasCharacter().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-21 15:34:44 +09:00
Nikolay Sivov
e7667fa2b7
dwrite: Fix IDWriteFont3 QueryInterface to respond to its own IID.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-21 15:34:43 +09:00
Nikolay Sivov
9d0bbb1364
dwrite: Implement IDWriteFontFaceReference::Equals().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-21 15:34:43 +09:00
Nikolay Sivov
fd06cc7c49
dwrite: Initial implementation of IDWriteFontFaceReference.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-20 16:55:08 +09:00
Nikolay Sivov
e55d407430
dwrite: Accept local loader in CreateCustomFontFileReference().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-20 16:55:06 +09:00
Nikolay Sivov
af18a09862
dwrite: Handle NULL path in CreateFontFileReference().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-20 16:55:04 +09:00
Nikolay Sivov
8b8098461d
dwrite/tests: Some basic tests for fontface references.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-20 16:55:01 +09:00
Nikolay Sivov
e48879b13f
dwrite/tests: Added GetFontSignature() test.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-20 16:54:59 +09:00
Nikolay Sivov
f9e257418e
dwrite: Update to IDWriteGdiInterop1.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-19 21:06:10 +09:00
Nikolay Sivov
897c1d03fa
dwrite: Fix IDWriteFactory3 methods order.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-19 21:06:10 +09:00
Nikolay Sivov
54b89a2942
dwrite: Implement GetFontFamily() for IDWriteFontCollection1.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-19 21:06:09 +09:00
Nikolay Sivov
ae85317b1d
dwrite: Update to IDWriteRenderingParams3.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-19 21:06:09 +09:00
Nikolay Sivov
886875f01e
dwrite/tests: Use existing macro to define font table tags.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-18 15:08:07 +09:00
Nikolay Sivov
0d77aaccf1
dwrite/tests: Test for lineGap metric.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-18 15:08:05 +09:00
Nikolay Sivov
c7a174f76b
dwrite/tests: Test for superscript/subscript font metrics.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-15 12:33:35 +09:00
Nikolay Sivov
726e82dde2
dwrite/tests: A test for glyphBox* metrics.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-15 01:14:27 +09:00
Nikolay Sivov
f0dd5a012d
dwrite: Only use fsSelection to switch to sTypo* metrics, remove table version check.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-13 21:43:03 +09:00
Nikolay Sivov
137030bf77
dwrite: Always return non-zero metrics for strikethrough/underline thickness.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-11 11:36:40 +09:00
Nikolay Sivov
f94447526a
dwrite/tests: Test underline/strikethrough metrics for all system fonts.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-11 11:36:38 +09:00
Nikolay Sivov
7cac7bb99f
dwrite: Always initialize context and font table pointers.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-01 18:34:26 +09:00
Nikolay Sivov
d04a54857c
dwrite: Update to IDWriteFactory3.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-28 21:51:14 +09:00
Nikolay Sivov
7c6dcab73f
dwrite: Use regular QI way to return interface client asked for.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-28 21:51:09 +09:00
Nikolay Sivov
6ff1f38ba2
dwrite: Update to IDWriteFontList1.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-09 18:40:53 +09:00
Nikolay Sivov
42de7a468c
dwrite: Remove flag marking system collections.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-09 18:40:51 +09:00
Nikolay Sivov
962f16e94b
dwrite: Update to IDWriteFontCollection1.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-09 18:40:49 +09:00
Nikolay Sivov
cf3e92994d
dwrite: Implement IDWriteFontFamily1::GetFont().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-09 18:40:47 +09:00
Nikolay Sivov
05e42a55ec
dwrite: Update to IDWriteFontFamily1.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-09 18:40:45 +09:00
Nikolay Sivov
fa6c255f8d
dwrite: Update to IDWriteFont3.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-07 23:36:58 +09:00
Nikolay Sivov
27ca16c7c9
dwrite: Use correct return code on allocation failure.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-07 23:36:55 +09:00
Nikolay Sivov
d27a792e48
dwrite: Implement HasCharacter() for a fontface.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-03 15:26:32 +09:00
Nikolay Sivov
77c5ed607a
dwrite: Update to IDWriteFontFace3.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-03 15:26:29 +09:00
Alexandre Julliard
0bbeaae678
make_unicode: Mark most data tables as hidden.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-25 00:25:01 +09:00
Nikolay Sivov
7276d5fac1
dwrite: Handle font data initialization failure when building collections.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-24 01:25:31 +09:00
Nikolay Sivov
a8a6f0bd86
dwrite: Trace GetPaletteEntries() failure (Coverity).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-22 17:37:10 +09:00
Nikolay Sivov
7dd90faaa3
dwrite: Fix Unknown/Common/Inherited script categories handling.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-19 11:08:00 +09:00
Nikolay Sivov
6992f86591
dwrite: Make SetBidiLevel() calls relative to initial text source position.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-19 11:06:57 +09:00
Frédéric Delanoy
4f1a8da1cd
dwrite/tests: Use todo_wine_if() in tests.
...
Signed-off-by: Frédéric Delanoy <frederic.delanoy@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-19 00:49:07 +09:00
Nikolay Sivov
c51212e55b
dwrite: Update to IDWriteTextFormat1.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-17 13:07:39 +09:00
Nikolay Sivov
5753e22d21
dwrite: Implement InvalidateLayout().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-17 13:07:33 +09:00
Nikolay Sivov
9efd13503d
dwrite: Update to IDWriteTextLayout3.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-17 13:07:28 +09:00
Nikolay Sivov
5ec7a860bf
dwrite: Always use system font collection to create fallback fonts.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-16 12:09:38 +09:00
Nikolay Sivov
1a92176b67
dwrite: Add fallback data for some of Japanese ranges.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-16 12:09:38 +09:00
Nikolay Sivov
fca83b0915
dwrite: Use itemizer hint to reset invisible run glyph count.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-16 12:09:38 +09:00
Nikolay Sivov
297b3d080a
dwrite: Force advances to zero for isZeroWidthSpace glyphs.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-16 12:09:38 +09:00
Nikolay Sivov
c7305c07af
dwrite: Suppress noisy message when parsing name records.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-15 13:41:32 +09:00
Nikolay Sivov
7fc7f2f074
dwrite: Use current layout fallback when creating run font faces.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-15 13:41:23 +09:00
Nikolay Sivov
5d17404287
dwrite: Initial implementation of MapCharacters().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-15 13:41:20 +09:00
Nikolay Sivov
2c29838b11
dwrite: Move local stream tracing to a separate channel.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-15 13:41:18 +09:00
Nikolay Sivov
4d512f9e4e
dwrite: Keep factory reference for each layout.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-15 13:41:16 +09:00
Nikolay Sivov
af206b1b2d
dwrite: Implement stub for system IDWriteFontFallback.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-15 13:41:13 +09:00
Charles Davis
dcca411ac3
dwrite: Fix typos, and fix definition of Mac LangCodes for Welsh and up.
...
Signed-off-by: Charles Davis <cdavis5x@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-12 23:07:30 +09:00
Nikolay Sivov
5a262d45dc
dwrite: Support font replacement registry settings.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-12 23:06:54 +09:00
Nikolay Sivov
38a99b2f25
dwrite: Add support for PFM files in Analyze().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-11 12:17:24 +09:00
Nikolay Sivov
e17e6e42d1
dwrite: Use enum members for class testing, simplify reseting to NI before applying Nx rules.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-11 01:26:42 +09:00
Nikolay Sivov
3d34f29b5c
dwrite: Add a helper to test for isolate class instead of relying on enum layout.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-11 01:26:42 +09:00
Nikolay Sivov
6389f41135
gdi32: Fix otmfsSelection to have italic style set in case of oblique simulation.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-09 23:27:13 +09:00
Nikolay Sivov
f26b4a3575
dwrite: Fetch all glyphs at once instead of locking/unlocking for every glyph.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-09 23:26:21 +09:00
Nikolay Sivov
ce526d15ec
dwrite: Support optional glyph offsets for color runs.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-09 23:26:16 +09:00
Nikolay Sivov
79fa94c3c2
dwrite/tests: Added a drawing test for run reordering case.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-09 23:26:11 +09:00
Nikolay Sivov
15485f538d
dwrite: Improve error handling in ConvertFontToLOGFONT() (Coverity).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-08 20:13:41 +09:00
Nikolay Sivov
8a4db9fd90
dwrite: Implement color glyph run decomposition.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-08 20:13:33 +09:00
Nikolay Sivov
2e927af328
dwrite: Implement IsColorFont().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-08 20:13:22 +09:00
Nikolay Sivov
63e1b3f545
dwrite: Don't create enumerator with invalid palette.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-08 20:13:12 +09:00
Nikolay Sivov
ec3c7d9d3a
dwrite: Accept platform 0 name records if there's nothing, else.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-08 20:12:48 +09:00
Nikolay Sivov
c506a52fac
dwrite/tests: Remove failing test line, we have skips for this now.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-05 20:34:45 +09:00
Nikolay Sivov
032e088c7d
dwrite: Recognize Type1 .pfb files in Analyze().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-05 13:53:48 +09:00
Nikolay Sivov
076b35362a
dwrite: Rework Analyze() to make it easier to extend.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-05 13:53:43 +09:00
Nikolay Sivov
788e1dc7a0
dwrite/tests: Skip tests if no English family name was returned.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-04 14:41:18 +09:00
Nikolay Sivov
b2a0fbc158
dwrite: Implement SetLineSpacing() for layout.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-03 21:56:57 +09:00
Nikolay Sivov
bac7e9c65e
dwrite: Implement SetFlowDirection() for layout.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-03 21:56:54 +09:00
Nikolay Sivov
fc4b4be528
dwrite: Invalidate layout on all cases of attribute change.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-03 21:56:52 +09:00
Nikolay Sivov
2b59029aa1
dwrite: Add a zero width line after last mandatory breakpoint.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-03 21:56:50 +09:00
Nikolay Sivov
20b5cdb1d4
dwrite/tests: Test that soft hyphen is not marked as a whitespace.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-02 14:39:22 +09:00
Nikolay Sivov
e7094551fe
dwrite: Release drawing effect after trimming sign Draw().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-02 14:39:20 +09:00
Nikolay Sivov
e94264e6bd
dwrite: Improve SetScriptAnalysis()/SetBidiLevel() tracing.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-02 14:39:17 +09:00
Nikolay Sivov
8d9bf23fc1
dwrite: Don't use BOOL values to set bit fields.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-02 14:39:14 +09:00
Nikolay Sivov
f84eaad8dc
dwrite: Fix newlineLength metric to include all newline chars at the end of the line.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-02 14:39:11 +09:00
Nikolay Sivov
567f83a317
dwrite: Remove some redundant includes.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-01 21:05:29 +09:00
Nikolay Sivov
0691af08c6
dwrite: Implement GetTextBeforePosition() for layout analysis source.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-01 21:05:24 +09:00
Nikolay Sivov
da7c3ef578
dwrite: Implement GetLocaleName() for layout analysis source.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-01 21:05:18 +09:00
Nikolay Sivov
978ca1565b
dwrite: Use regular refcounting pattern for layout internal sink/source interfaces.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-01 21:05:10 +09:00
Nikolay Sivov
a43fd70f4a
dwrite: Update callback analysis interfaces used by layout internally.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-01 21:05:06 +09:00
Nikolay Sivov
feca77fb0c
dwrite: Set isNewline cluster flag.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-29 21:25:17 +09:00
Nikolay Sivov
8b831b9d56
dwrite: Return NULL file pointer on CreateCustomFontFileReference() failure.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-29 21:25:16 +09:00
Nikolay Sivov
7dd4b9b74b
dwrite: Don't use BOOL defined values for fields that are not BOOL.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-28 13:44:58 +09:00
Nikolay Sivov
ef73b788e5
dwrite: Inline object origin is at top-left corner, not baseline.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-28 13:44:55 +09:00
Nikolay Sivov
fbcf15313d
dwrite: Return valid metrics for layout created on empty text.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-28 13:44:51 +09:00
Nikolay Sivov
df68743187
dwrite/tests: Some tests for layout based on empty text.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-28 13:44:48 +09:00
Nikolay Sivov
8485fa64ca
dwrite: Fix parameter validation in CreateTextLayout()/CreateGdiCompatibleTextLayout().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-28 13:44:44 +09:00
Nikolay Sivov
2c6799dfe2
dwrite: Line height/baseline includes lineGap as well.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-27 23:52:25 +09:00
Nikolay Sivov
3254a6b2d6
dwrite: Fix invalid cluster metrics array index access.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-27 23:52:17 +09:00
Nikolay Sivov
f27b99ec2f
dwrite: Implement DetermineMinWidth() using line breaking info.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-26 22:40:40 +09:00
Nikolay Sivov
2975ae9cbf
dwrite: Fix setting canWrapLineAfter cluster flag.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-26 22:40:37 +09:00
Nikolay Sivov
d171185062
dwrite: Reuse linebreaking isSoftHyphen flag for cluster metrics.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-26 22:40:34 +09:00
Nikolay Sivov
00766538c5
dwrite: Reuse linebreaking whitespace flag when filling cluster metrics.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-26 22:40:31 +09:00
Nikolay Sivov
0b7f857845
dwrite: Zero width space U+200b is not a whitespace from analyzer/layout point of view.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-26 22:40:27 +09:00
Nikolay Sivov
a62a9fcc1f
dwrite: Fix underline/strikethrough position adjustment caused by text alignment.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-25 16:11:44 +09:00
Nikolay Sivov
3fa5ebd014
dwrite: Remove useless assignment (Coverity).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-25 16:11:40 +09:00
Nikolay Sivov
2626f80b01
dwrite: Don't check for line overflow for DWRITE_WORD_WRAPPING_NO_WRAP mode.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-25 16:11:36 +09:00
Nikolay Sivov
10b843bb22
dwrite: Update line breaking logic with Unicode 8.0.0 modifications.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-25 16:11:31 +09:00
Nikolay Sivov
68c45de6ae
dwrite: Fix off by one issue in line breaking rule LB21a.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-25 16:11:27 +09:00
Nikolay Sivov
91df67df0c
dwrite: Cluster text position is relative to initial run.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-25 16:11:23 +09:00
Nikolay Sivov
eae84e7dde
dwrite: Return earlier from GetKerningPairAdjustments() when pair kerning is not supported.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-22 17:54:59 +09:00
Nikolay Sivov
ed3b5a42be
dwrite: Ask freetype once about kerning pairs support and monospaced property.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-22 17:54:59 +09:00
Nikolay Sivov
6024656f98
dwrite: Underline reading direction matches run direction.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-20 14:48:57 +09:00