Commit Graph

573 Commits (0f94756728591338dffa569bba9017a28386d70e)

Author SHA1 Message Date
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