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
Nikolay Sivov
adfd1ad2ce
dwrite: Underline origin is always at the left run boundary.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-20 14:48:53 +09:00
Nikolay Sivov
ff8f129af6
dwrite: Use callback freetype API to implement GetGlyphRunOutline().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-19 20:48:07 +09:00
Nikolay Sivov
f586683e78
dwrite/tests: A test to compare font metrics with bold simulation and without.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-18 14:19:18 +09:00
Nikolay Sivov
d4438dae93
dwrite: Fix comment typos.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-18 14:19:09 +09:00
Nikolay Sivov
ac7954b7b9
dwrite: Always initialize out pointers.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-15 23:53:06 +09:00
Nikolay Sivov
0874c7be15
dwrite: Store locale name range attribute in lower case.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-15 15:11:10 +09:00
Nikolay Sivov
c5fce83f3d
dwrite: Implement support for underlines.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-15 15:11:04 +09:00
Nikolay Sivov
943fb2c071
dwrite: Scale strikethrough thickness and position with current font size.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-14 16:32:56 +09:00
Nikolay Sivov
261563f28e
dwrite: Handle bitmap allocation error when rendering to bitmap target.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-14 16:32:52 +09:00
Nikolay Sivov
18b0ca3fe3
dwrite: Fix strikethrough baseline origin.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-13 16:05:02 +09:00
Nikolay Sivov
1a8e957b19
dwrite: Pass drawing effect to renderer in DrawStrikethrough().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-13 16:04:56 +09:00
Nikolay Sivov
2b5928b228
dwrite: Pass drawing effect to renderer in DrawGlyphRun().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-13 16:04:50 +09:00
Nikolay Sivov
c0fb6f436b
dwrite: Keep underlines in separate list.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-13 16:04:46 +09:00
Nikolay Sivov
a4562cca50
dwrite: Start new effective run on strikethrough, underline or effect change.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-13 16:04:39 +09:00
Nikolay Sivov
0f67df657d
dwrite: Fix a leak on error path.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-11 23:05:51 +09:00
Nikolay Sivov
f6862b13b7
dwrite: Make position snapping more compact.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-11 23:05:49 +09:00
Nikolay Sivov
74f00fa17d
dwrite: Consistently use explicit float literals.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-11 23:05:46 +09:00
Nikolay Sivov
b1094bc7d7
dwrite: Store locale name in lower case for text format.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-09 17:30:03 +09:00
Nikolay Sivov
f8a228d261
dwrite/tests: Some tests for drawing underlines.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-09 17:30:03 +09:00
Nikolay Sivov
57bfebfc80
dwrite: Implement EUDC font collection.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-29 17:11:51 +01:00
Nikolay Sivov
ead6905ddb
dwrite/tests: Some tests for SetUnderline().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-29 17:11:46 +01:00
Nikolay Sivov
8165cba0f8
dwrite/tests: Fix test failures on older versions.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-29 17:11:42 +01:00
Nikolay Sivov
b02e61c4b3
dwrite: Fix identical ranges merging.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-25 14:07:39 +01:00
Nikolay Sivov
3c16587ed4
dwrite: Locale layout ranged attribute is case-insensitive.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-25 14:07:37 +01:00
Nikolay Sivov
6ba2c25d45
dwrite: Store optical alignment property.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-25 14:07:35 +01:00
Nikolay Sivov
3905ed8c47
dwrite: Store last line wrapping property.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-25 14:07:33 +01:00
Nikolay Sivov
7a83be7bd2
dwrite: Optimize for the most common case of layout object initialization.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-25 14:07:30 +01:00
Nikolay Sivov
e9d4725326
dwrite: Store per-range typography property.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-25 14:07:28 +01:00
Nikolay Sivov
f845cca0dc
dwrite/tests: One more test for duplicates in IDWriteTypography.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-25 14:07:21 +01:00
Nikolay Sivov
2bdf470177
dwrite/tests: Some tests for fallback builder.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-10 00:12:43 +09:00
Nikolay Sivov
55e53648b4
dwrite/tests: Some tests for MapCharacters().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-09 00:53:41 +09:00
Nikolay Sivov
19eaed6a38
dwrite: Return face count of 1 for CFF file type.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-18 00:29:49 +09:00
Nikolay Sivov
446fddb122
dwrite/tests: Remove unused assignment (Clang).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-12 11:29:22 +09:00
Nikolay Sivov
c4b894db63
dwrite: Remove a couple of dead assignments (Clang).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-12 11:29:09 +09:00
Nikolay Sivov
a5127f5fc5
dwrite/tests: Simple test to show that run analysis instances are not reused.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-04 14:41:40 +09:00
Nikolay Sivov
b6f1e74ced
dwrite: Apply run reading direction to advances and offsets on analysis creation.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-04 14:41:40 +09:00
Nikolay Sivov
d3b6b437ed
dwrite: When assembling run bitmap combine instead of overwriting.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-03 13:47:18 +09:00
Nikolay Sivov
170e31a8b2
dwrite: Added support for transform in glyph run analysis.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-03 00:33:27 +09:00
Nikolay Sivov
5da26de7c3
dwrite: Store origin, advances and offsets as vectors for run analysis.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-03 00:33:26 +09:00
Nikolay Sivov
6cc62d09bb
dwrite: Store transform analysis was created with.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-03 00:33:26 +09:00
Nikolay Sivov
4afb30c544
dwrite/tests: Fixed some leaks (Valgrind).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-29 21:20:08 +09:00
Nikolay Sivov
9441b26dc5
dwrite: Fail earlier in TranslateColorGlyphRun() for fonts without color info.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-29 21:20:07 +09:00
Nikolay Sivov
d829c50cbe
dwrite: Fix streams and files pointer arrays leak (Valgrind).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-29 21:20:07 +09:00
Nikolay Sivov
edea5fc342
dwrite: Fix analysis leak on error path.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-29 10:53:55 +09:00
Nikolay Sivov
ad88407c93
dwrite/tests: Add missing return value test (PVS-Studio).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-28 12:45:03 +09:00
Nikolay Sivov
ce6f6f7421
dwrite: Use dpiX/dpiY argument in GetRecommendedRenderingMode().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-28 12:45:03 +09:00
Nikolay Sivov
5e1c0315a1
dwrite/tests: Some tests for GetRecommendedRenderingMode() with different ppdip values.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-27 21:45:19 +09:00
Nikolay Sivov
08a3e4f29f
dwrite: Respect transform when calculating glyph advances for run analysis.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-20 00:30:37 +09:00
Nikolay Sivov
9389bcdb51
dwrite: Set bitmap target ppdip factor from context dpi.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-20 00:30:37 +09:00
Nikolay Sivov
d36a16ea10
dwrite: Scale run origin by given ppdip run analysis was created with.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-20 00:30:37 +09:00
Nikolay Sivov
2fdee67dd2
dwrite: Scale glyph run analysis advances and offsets with ppdip factor.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-20 00:30:37 +09:00
Nikolay Sivov
a23b395e87
dwrite: Use given ppdip factor in GetAlphaTextureBounds().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-16 19:56:26 +09:00
Nikolay Sivov
83d484834d
dwrite: Return strictly 0/1 for BOOL return type (PVS-Studio).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-13 22:20:47 +09:00
Nikolay Sivov
4b6a7e78e9
dwrite: Avoid HRESULT codes for BOOL retval methods (PVS-Studio).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-13 22:20:44 +09:00
Nikolay Sivov
925dc6da8f
dwrite: Ignore embedded bitmaps when asked for outline.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-11 13:46:50 +09:00
Nikolay Sivov
819d36786e
gdi32: Improve structure layout of data returned by GetFontRealizationInfo().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-09 13:00:32 +09:00
Nikolay Sivov
f2b830ec76
dwrite: Properly implement CreateFontFaceFromHdc().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2015-10-06 22:19:53 +09:00
Nikolay Sivov
e8c1cf4402
Update data tables to Unicode 8.0.0.
2015-10-02 15:37:05 +09:00
Nikolay Sivov
5cb954aa6a
dwrite: Handle fonts with broken usWinDescent values.
2015-10-01 16:29:44 +09:00
Nikolay Sivov
20e6181304
dwrite: Print font table tag in string form in traces.
2015-09-15 22:51:03 +09:00
Nikolay Sivov
37d10af966
dwrite/tests: Some tests for TranslateColorGlyphRun().
2015-09-10 18:10:36 +09:00
Nikolay Sivov
b55e599a4d
dwrite: Implement GetFontCollection() for matching list.
2015-09-08 21:59:15 +09:00
Nikolay Sivov
9c19898217
dwrite: Implement GetFont() for matching list.
2015-09-08 21:59:15 +09:00
Nikolay Sivov
42a99a8de5
dwrite: Track face styles added to a family.
2015-09-08 21:59:15 +09:00
Nikolay Sivov
6dd9cdca4b
dwrite: Return stub IDWriteFontList from GetMatchingFonts().
2015-09-08 21:59:15 +09:00
Nikolay Sivov
8747fa2b9f
dwrite/tests: Fix some test failures on Win10.
2015-09-04 18:18:31 +09:00
Nikolay Sivov
fe848b26c7
dwrite: Make CreateFontFace() fail with DWRITE_E_FILEFORMAT for supported types in case of type mismatch.
2015-09-04 18:18:29 +09:00
Nikolay Sivov
b4ce95c1ab
dwrite: Make sure same files are scanned once when building font collection.
2015-09-04 15:10:18 +09:00
Nikolay Sivov
30108c730e
dwrite: Increase a number of allocated family slots for system collection.
2015-09-03 14:49:56 +09:00
Nikolay Sivov
7581b11d2b
dwrite: Remove GetFaceNames() hack for simulated case.
2015-09-03 14:49:55 +09:00
Nikolay Sivov
a10d75e597
dwrite: Add simulated oblique faces.
2015-09-03 14:49:53 +09:00
Nikolay Sivov
e38d9bc68e
dwrite: Add simulated bold faces for each family when appropriate.
2015-09-03 14:49:51 +09:00
Nikolay Sivov
a22d5ed948
dwrite: Force reported English family/face names to resolved values.
2015-09-01 19:27:07 +09:00
Nikolay Sivov
9a6b0750c7
dwrite: Recognize semi light weight patterns.
2015-08-31 17:18:32 +09:00
Nikolay Sivov
c0ab20caf9
dwrite: Implement family and face name resolution.
2015-08-31 17:18:31 +09:00
Francois Gouget
f87491d5cd
dwrite: Make opentype_get_font_strings_from_id() static.
2015-08-29 14:27:43 +09:00
Nikolay Sivov
26fbbdc48b
dwrite: Implement grayscale rendering mode.
2015-08-27 21:43:46 +09:00
Nikolay Sivov
3f4a284f58
dwrite: Bitmap buffer is zeroed on allocation, no need to do it again.
2015-08-27 17:10:22 +09:00
Nikolay Sivov
2c4ba8a008
dwrite: Cleanup rendering interface with freetype.
2015-08-27 17:10:20 +09:00
Nikolay Sivov
f52ef006cd
dwrite: Use proper pixel format when accessing dib memory directly.
2015-08-24 18:41:35 +09:00
Nikolay Sivov
b9f05239d2
dwrite: Return advances using freetype cache system.
2015-08-24 18:41:34 +09:00
Nikolay Sivov
4a1e6227ed
dwrite: Handle QI failure (Coverity).
2015-08-24 08:23:09 +09:00
Nikolay Sivov
3ffe6ab0bb
dwrite: Handle failure when getting texture bounds (Coverity).
2015-08-24 08:23:06 +09:00
Nikolay Sivov
4c12157c34
dwrite/tests: Fix analyzer test failures on Win10.
2015-08-21 14:33:33 +09:00
Nikolay Sivov
8dd0738b1c
dwrite/tests: Fix layout test failure on Win10.
2015-08-21 14:33:31 +09:00
Nikolay Sivov
1f54400bbf
dwrite: Protect from space-only strings when trimming away spaces.
2015-08-19 20:19:56 +09:00
Nikolay Sivov
6b98b9ac70
dwrite: Extract and resolve font weight from name string.
2015-08-19 20:19:56 +09:00
Nikolay Sivov
4a399b7677
dwrite: Implement font stretch resolution.
2015-08-19 20:19:56 +09:00
Nikolay Sivov
5185906006
dwrite: Implement font style resolution from name strings.
2015-08-18 14:30:37 +09:00
Nikolay Sivov
433b7c04c7
dwrite: Use aliased outline threshold for GDI target.
2015-08-17 14:52:22 +09:00
Nikolay Sivov
204d46c674
dwrite: Implement outline mode for DrawGlyphRun().
2015-08-17 14:52:20 +09:00
Nikolay Sivov
22a65466b3
dwrite/tests: Some tests for target hdc mode/transform.
2015-08-13 15:04:16 +09:00
Nikolay Sivov
2ac68e91a4
dwrite: Improve face name extraction.
2015-08-13 15:04:14 +09:00
Nikolay Sivov
fb013d7acd
dwrite: Fix family name extraction order.
2015-08-13 15:04:12 +09:00
Nikolay Sivov
f5f025f1dd
dwrite: Use better font matching algorithm based on weight/stretch/style triples.
2015-08-12 22:53:04 +09:00
Nikolay Sivov
785c592ada
dwrite: Improve the way font weight is set with both OS/2 and 'head' values.
2015-08-12 22:53:02 +09:00
Nikolay Sivov
123c7cde07
dwrite: Set font stretch from 'head' table as a fallback.
2015-08-12 22:53:00 +09:00
Nikolay Sivov
4b4674bea8
dwrite: Use OS/2 table data to set font style, make it preferable.
2015-08-12 22:52:57 +09:00
Nikolay Sivov
c7d1b91154
dwrite: Fix font table tag tracing.
2015-08-12 22:52:55 +09:00
Nikolay Sivov
e1f353663a
dwrite: Fix IsColorFont() return type for IDWriteFont2.
2015-08-07 14:18:03 +09:00
Nikolay Sivov
93d24de308
dwrite: Added IDWriteColorGlyphRunEnumerator stub.
2015-08-07 14:18:01 +09:00
Nikolay Sivov
fd35a1af6a
dwrite: Implement GetPaletteEntries().
2015-08-07 14:17:58 +09:00
Nikolay Sivov
4df29eb02f
dwrite/tests: Basic test for GetPaletteEntries().
2015-08-07 14:17:56 +09:00
Nikolay Sivov
5734c2ed98
dwrite: Implement GetPaletteEntryCount().
2015-08-07 14:17:53 +09:00
Nikolay Sivov
20571725f3
dwrite: Implement GetColorPaletteCount().
2015-08-07 14:17:51 +09:00
Nikolay Sivov
14e4996f6c
dwrite: Implement CreateGlyphRunAnalysis() from IDWriteFactory2.
2015-08-07 14:17:48 +09:00
Nikolay Sivov
8133684816
dwrite: Use right charmap for symbol encoding.
2015-08-07 00:05:06 +09:00
Nikolay Sivov
ab7c65ae43
dwrite: Implement IsSymbolFont().
2015-08-07 00:05:04 +09:00
Nikolay Sivov
7540fa5a1a
dwrite: Properly initialize LOGFONT returned from ConvertFontToLOGFONT().
2015-08-07 00:05:01 +09:00
Nikolay Sivov
6597453403
dwrite: Release run info as soon as it's rendered to save some memory.
2015-08-04 12:21:59 +02:00
Nikolay Sivov
720c430594
dwrite: Advances and offsets are optional for IDWriteGlyphRunAnalysis.
2015-08-04 12:21:58 +02:00
Nikolay Sivov
dc75b34ddf
dwrite: Fix outline translation before rendering.
2015-08-03 10:58:06 +02:00
Nikolay Sivov
44c301c584
dwrite: Implement DrawGlyphRun().
2015-07-31 12:07:28 +02:00
Nikolay Sivov
e08b77b0a9
dwrite: Implement CreateAlphaTexture().
2015-07-31 12:07:26 +02:00
Nikolay Sivov
6d1f47902b
dwrite: Translate rendered bitmap bounds to given origin.
2015-07-31 12:07:23 +02:00
Nikolay Sivov
5137aaa9c9
dwrite: Implement parameter validation for CreateAlphaTexture().
2015-07-29 21:44:01 +02:00
Nikolay Sivov
b50416aa5f
dwrite: Implement GetAlphaTextureBounds().
2015-07-29 21:44:01 +02:00
Nikolay Sivov
2c6eca8682
dwrite: Implement GetAlphaBlendParams().
2015-07-29 20:57:04 +02:00
Nikolay Sivov
fb35557db9
dwrite: Store run info for IDWriteGlyphRunAnalysis instance.
2015-07-29 20:57:02 +02:00
Nikolay Sivov
e877cfbcfa
dwrite: Implement GetRecommendedRenderingMode().
2015-07-28 13:41:45 +02:00
Nikolay Sivov
aac3a069e4
dwrite/tests: Some tests for GetRecommendedRenderingMode().
2015-07-28 13:41:45 +02:00
Nikolay Sivov
5178c8b111
dwrite: Update cached bitmap size on Resize() as well.
2015-07-22 15:16:05 +02:00
Nikolay Sivov
a66ba8957e
dwrite: Bitmap render target uses top-down DIB.
2015-07-22 15:15:58 +02:00
André Hentschel
b4b65d8284
dwrite: Remove unused initializer (Clang).
2015-07-22 07:24:35 +02:00
Nikolay Sivov
491e84a771
dwrite/tests: Some tests for isNewline clusters.
2015-07-20 20:56:04 +02:00
Nikolay Sivov
c8b0c80365
dwrite: Round centered alignment shift for compatible layouts.
2015-07-20 20:56:04 +02:00
Nikolay Sivov
a718a9a5ca
dwrite/tests: Some tests for bounds returned by GetAlphaTextureBounds().
2015-07-20 20:56:04 +02:00
Nikolay Sivov
5231715d31
dwrite: Improve parameter validation in GetGdiCompatibleGlyphAdvances(), add some tests.
2015-07-20 20:56:04 +02:00
Nikolay Sivov
2655ac5f93
dwrite: Aliased texture could only be requested for aliased rendering mode.
2015-07-17 19:28:04 +09:00
Nikolay Sivov
42ed6ddd30
dwrite: Fix vector transformation in GetGlyphOrientationTransform().
2015-07-16 19:22:39 +09:00
Nikolay Sivov
2132a060ea
dwrite: Round advances returned from GetGdiCompatibleGlyphPlacements().
2015-07-16 19:22:37 +09:00
Nikolay Sivov
a92390f707
dwrite/tests: Some tests for CreateGdiCompatibleTextLayout().
2015-07-16 19:22:35 +09:00
Nikolay Sivov
e68c6389b1
dwrite: Properly pass measuring mode to renderer.
2015-07-16 19:22:33 +09:00
Nikolay Sivov
a3f2b6b856
dwrite: Partial implementation of GetGdiCompatibleGlyphMetrics().
2015-07-16 16:29:46 +09:00
Nikolay Sivov
e94d977006
dwrite: Partially implement GetGdiCompatibleGlyphAdvances().
2015-07-15 23:19:13 +09:00
Nikolay Sivov
f46aa66ca7
dwrite: Fix transform matrix usage for pixel snapping.
2015-07-15 16:56:53 +09:00
Nikolay Sivov
a32168bc49
dwrite/tests: Fix trimming sign instance leak (Valgrind).
2015-07-14 17:07:46 +09:00
Nikolay Sivov
0b64f24030
dwrite: Make sure explicit levels are always initialized (Valgrind).
2015-07-14 17:07:43 +09:00
Nikolay Sivov
2b59cf84be
dwrite: Fix EndFigure notification in GetGlyphRunOutline().
2015-07-13 14:45:18 +09:00
Nikolay Sivov
fda08897e4
dwrite: Remove excessive tracing when forwarding to IDWriteTextFormat1.
2015-07-13 14:45:16 +09:00
Nikolay Sivov
04ae4bfb2c
dwrite: Implement GetMetrics() for trimming sign.
2015-07-13 14:45:15 +09:00
Nikolay Sivov
e6d5c03fde
dwrite: Handle negative emsize in GetGdiCompatibleMetrics().
2015-07-13 14:45:13 +09:00
Nikolay Sivov
2f79a876f9
dwrite: Implement SetWordWrapping() for layout.
2015-07-13 14:45:11 +09:00
Nikolay Sivov
cf5d9848d8
dwrite: Check GetGdiCompatibleMetrics() return value (Coverity).
2015-07-13 14:45:08 +09:00
Nikolay Sivov
66efbbbae2
dwrite: Implement pixel snapping in Draw().
2015-07-13 14:44:59 +09:00
Sebastian Lackner
402caa632b
dwrite: Avoid dereferencing NULL pointer for fonts without VDMX.
2015-07-13 14:44:49 +09:00
Nikolay Sivov
0dcc9ead9e
dwrite: Properly set run origin in DWRITE_READING_DIRECTION_RIGHT_TO_LEFT case.
2015-07-09 23:17:44 +09:00
Nikolay Sivov
8201fa14c9
dwrite: Fix alignment shifts in RTL case.
2015-07-09 23:17:44 +09:00
Nikolay Sivov
6d52bc59c0
dwrite: Implement SetReadingDirection() for layout.
2015-07-09 23:17:44 +09:00
Nikolay Sivov
849bb99b76
dwrite: Implement GetGdiCompatibleMetrics().
2015-07-08 19:12:12 +09:00
Bernhard Übelacker
119501fee8
dwrite: Call RegEnumValueW with value and val_count parameters.
2015-07-08 16:02:24 +09:00
Nikolay Sivov
9375b06c3a
dwrite/tests: Extend GetGdiCompatibleMetrics() test to test DWRITE_FONT_METRICS1 as well.
2015-07-07 16:52:21 +09:00
Nikolay Sivov
50bf5fca34
dwrite: Implement GetPanose().
2015-07-07 16:52:21 +09:00
Nikolay Sivov
bb0c6f74a5
dwrite: Implement centered text alignment.
2015-07-07 16:52:20 +09:00
Nikolay Sivov
f039e15182
dwrite: Remove a couple of useless checks.
2015-07-07 16:52:20 +09:00
Huw Davies
bbf5b249ca
dwrite/tests: Add tests for GetGdiCompatibleMetrics.
2015-07-06 17:09:48 +09:00
Nikolay Sivov
b49f9f609a
dwrite/tests: Test that pair kerning affects shaping.
2015-07-06 15:13:22 +09:00
Nikolay Sivov
862ac80a0d
dwrite: Implement paragraph alignment.
2015-07-06 15:13:20 +09:00
Nikolay Sivov
44c135dd17
dwrite: Implement leading and trailing text alignment modes.
2015-07-06 15:13:18 +09:00
Nikolay Sivov
de46f610fe
dwrite: Make it possible to set text alignment on created layout.
2015-07-06 15:13:16 +09:00
Nikolay Sivov
7a64715be3
dwrite: Remove separate line count layout field.
2015-07-06 15:13:14 +09:00
Nikolay Sivov
8b566b1da7
dwrite: Reset calculated text height before updating it.
2015-07-03 22:58:07 +09:00