Commit Graph

1116 Commits

Author SHA1 Message Date
Nikolay Sivov e03febf2a2 dwrite: Add a stub Arabic shaper.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-21 20:46:13 +01:00
Nikolay Sivov 142c06e55e dwrite: Set script id in shaping context.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-21 20:46:13 +01:00
Nikolay Sivov dc9f12170c dwrite: Add font set builder stub.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-21 20:46:13 +01:00
Nikolay Sivov 239530e8a8 dwrite/tests: Add some tests for text format properties.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-21 20:46:13 +01:00
Nikolay Sivov 612652bb9c dwrite: Zero initialize font data structure.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-21 20:46:13 +01:00
Nikolay Sivov 5197fd7c91 dwrite: Zero-initialize run analysis object structure.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-20 22:11:07 +01:00
Nikolay Sivov 94b367e3e9 dwrite: Fix feature mask for non-global features.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-20 22:11:04 +01:00
Nikolay Sivov 9ec274083f dwrite/layout: Fail to create layouts with negative size.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-20 11:20:57 +01:00
Haoyang Chen b5dbd180b4 dwrite/layout: Handle NULL format in CreateEllipsisTrimmingSign().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-18 22:46:37 +01:00
Nikolay Sivov 6ebbf619cb dwrite: Use table access helpers for reading names.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-18 22:46:37 +01:00
Nikolay Sivov 590d5b535c dwrite: Set joiners mode for gsub case.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-18 22:46:37 +01:00
Nikolay Sivov db55f74b3a dwrite: Use joiner modes for matching.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-18 22:46:37 +01:00
Nikolay Sivov 8b419d29df dwrite: Propagate joiners mode to iterators.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-18 22:46:37 +01:00
Nikolay Sivov 9118160524 dwrite: Set lookup flags for joiners.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-18 22:46:37 +01:00
Alexandre Julliard 9d7a710fc0 dwrite: Avoid a compiler warning when FreeType is missing.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-23 22:07:50 +01:00
Nikolay Sivov 4539525c07 dwrite: Add a notice regarding HarfBuzz.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-22 17:26:33 +01:00
Nikolay Sivov 24508594ba dwrite: Use consistent trace format for rendering object.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 19:08:04 +01:00
Nikolay Sivov 62b6b9a952 dwrite: Use consistent trace format for font data access objects.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 19:08:04 +01:00
Nikolay Sivov 87d6e45514 dwrite: Use consistent trace format for rendering parameters object.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 15:39:40 +01:00
Nikolay Sivov 3112144223 dwrite: Use consistent trace format for strings object.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 15:39:35 +01:00
Nikolay Sivov 8726091836 dwrite: Remove explicit lookup type check in GetVerticalGlyphVariants().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 15:39:32 +01:00
Nikolay Sivov 240567a8b3 dwrite/shaping: Merge extension subtables handling with existing helper.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 15:39:26 +01:00
Alexandre Julliard 6ca76dc5e7 include: Remove some no longer used Unicode functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-02 15:38:25 +01:00
Nikolay Sivov b3c27c4792 dwrite: Use font data access helpers when reading metrics tables.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 13:30:08 +01:00
Nikolay Sivov feefc6a908 dwrite/font: Reimplement HasVerticalGlyphVariants() flag using general shaping logic.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 13:30:06 +01:00
Nikolay Sivov 40d30cf454 dwrite/gdiinterop: Use consistent traces for the interop object.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 13:30:03 +01:00
Nikolay Sivov 061372438e dwrite/gdiinterop: Use consistent trace format for the bitmap render target.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 13:30:00 +01:00
Nikolay Sivov 5f219eccd5 dwrite/font: Use consistent traces for the font object.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 13:29:57 +01:00
Nikolay Sivov 44e444487f dwrite/layout: Use consistent tracing format for default trimming sign.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 19:01:56 +01:00
Nikolay Sivov a067d119bd dwrite/layout: Zero-initialize initial runs and ranges.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 19:01:56 +01:00
Nikolay Sivov 03897554c0 dwrite/layout: Zero-initialize layout structure.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 19:01:56 +01:00
Nikolay Sivov 2903090ecc dwrite/layout: Zero-initialize format structure.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 19:01:56 +01:00
Nikolay Sivov 2a74ed80be dwrite/layout: Keep automatic axes property.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 19:01:56 +01:00
Nikolay Sivov ab94abb14f dwrite: Add partial implementation for IDWriteFontFace5::Equals().
Issue with missing method spotted by Brendan Shanks.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-21 19:07:55 +02:00
Nikolay Sivov f5e342b2a6 dwrite: Simplify ligature substitution handler.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 16:28:02 +02:00
Nikolay Sivov 5909ab5303 dwrite: Simplify alternate substitution handler.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 16:28:00 +02:00
Nikolay Sivov 78ea46f6a9 dwrite: Simplify multiple substitution handler.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 16:27:58 +02:00
Nikolay Sivov a13469374f dwrite: Simplify single substitution handler.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 16:27:56 +02:00
Nikolay Sivov 0a0872910b dwrite: Add missing script tags.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 00:05:44 +02:00
Nikolay Sivov 122cac563d dwrite: Use mark array helper in mark to mark attachment handler.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 00:05:44 +02:00
Nikolay Sivov 81d8a0980b dwrite: Use mark array helper in mark to base attachment handler.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 00:05:44 +02:00
Nikolay Sivov 240305660a dwrite: Implement mark to ligature attachment (GPOS lookup 5).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 00:05:44 +02:00
Nikolay Sivov c928c1cbd8 dwrite: Use single table pointer in GPOS handlers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 00:05:44 +02:00
Nikolay Sivov 51d4e5c134 dwrite: Remove some unused types.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-17 00:05:44 +02:00
Nikolay Sivov b2d9d552c0 dwrite: Keep current lookup feature mask in context.
Lookups referenced from context-based lookups need to have access to
original feature mask, set it once instead of propagating it on every
recursive call. It's used for input matching and parametrized cases
like alternate substitutions.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-12 17:16:26 +02:00
Jacek Caban ce4083eccc dwrite: Use BitScanReverse instead of dwrite_log2i.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-11 15:52:38 +02:00
Jacek Caban f5e67202cc dwrite: Use BitScanForward instead of dwrite_ctz.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-11 15:52:28 +02:00
Nikolay Sivov c440d87464 dwrite: Implement another GetFontFamily() variant.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-11 15:51:19 +02:00
Nikolay Sivov 292dff589e dwrite: Implement ligature substitution.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-11 15:51:19 +02:00
Nikolay Sivov cd9f374879 dwrite: Normalize glyph data before passing it to matching function.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-11 15:51:18 +02:00